数据类型转换
当数据类型不一样时,将发生数据类型转换。
自动数据类型转换(隐式)
1.特点:代码不需要进行特殊处理,自动完成。
2.规则:数据范围从小到大。
强制类型转换(显式)
1.特点:代码需要进行特殊的格式处理,不能自动完成
2.格式:范围小的类型 范围小的变量名 = (范围小的类型)原本范围大的数据;
注意事项:
1.强制类型转换一般不推荐使用,因为有可能发生精度损失。数据溢出
2.byte/short/char这三种类型都可以发生数学运算,例如加法”+“
3.byte/short/char这三种类型在运算的时候,都会被首先提升成int类型,然后再计算
4.boolean类型不能发生数据类型转换
自动数据类型转换
强制类型转换
常见ASCII码表
运算符
四则运算当中的加号‘+’有常见的三种用法:
1.对于数值来说,那就是加法
2.对于字符串char类型来说,在计算之前,char会被提升为int,然后再计算
char类型字符,和int类型数字,之间的对照关系表:ASCII,Unicode
3.对于字符串String(首字母大写,并不是关键字)来说,加号代表字符串连结操作
赋值运算符的一些注意事项:
1.只有变量才能使用赋值运算符,常量不能进行赋值
2复合赋值运算符中隐含了一个强制类型转换
比较运算符的一些注意事项:
1.比较运算符的结果一定是一个boolean值,成立就是true,不成立就是false
2.如果进行多次判断,不能连着写。 如数学当中的写法 1<x<3 程序当中【不允许】这种写法
逻辑运算符注意事项:
1.与"&&",或“||”,具有短路效果;如果根据左边已经可以判断最终结果,那么右边的代码将不再执行,从而节省一定的性能
2.逻辑运算符只能用于boolean值,与或需要左右各自有一个boolean值,但是取反只要有唯一的一个boolean值即可
3与或两种运算符,如果有多个条件,可以连续写
两个条件:条件A && 条件B
多个条件:条件A && 条件B && 条件C
一元运算符:只需要一个数据就可以进行操作的运算符。例如:取反!、自增++、自减–
二元运算符:需要两个数据才可以进行操作的运算符,例如:加法+,赋值=
三元运算符:需要三个数据才可以进行操作的运算符(格式:
数据类型 变量名称 = 条件判断? 表达式A :表达式B;)
三元运算符流程:
首先判断条件是否成立:
如果成立为true,那么将表达式A的值赋给左侧的变量
如果不成立为false,那么将表达式B的值赋给左侧的变量
二者选其一
注意事项:
1.必须同时保证表达式A和表达式B都符合左侧数据类型的要求
2.三元运算符的结果必须被使用
在给变量进行赋值的时候,如果右侧的表达式当中全都是常量没有任何变量
那么编译器javac将会直接将若干个常量表达式计算得到结果
short result = 5+8;//等号右边全部都是常量,没有任何变量参与运算
编译之后,得到的.class字节码文件当中相当于【直接就是】;
short result = 13;
右侧的常量结果数值,没有超过左侧范围,所以正确
这称为“编译器的常量优化”
方法
方法的调用
方法其实就是若干语句的功能集合。
参数:进入方法的数据
返回值:就是从方法中出来的数据
定义方法的完整格式:
修饰符 返回值类型 方法名称(参数类型 参数名称,…){
方法体;
return 返回值;
}
修饰符:现阶段的固定写法,public static
返回值类型:也就是方法最终产生的数据结果是什么类型
方法名称:方法的名字,规则和变量一样,小驼峰
参数类型:进入方法的数据是什么类型
参数名称:进入方法的数据对应的变量名称
方法体:方法需要做的事情,若干行代码
return:两个作用,第一停止当前方法,第二将后面的返回值还给调用处
返回值:方法执行后最终产生的数据结果(必须和方法名称前的“返回值类型”保持对应)
定义一个两个int数字相加的方法
三要素:
返回值类型:int
方法名称:sum
参数列表:int a,int b
方法的三种调用格式:
1.单独调用:方法名称(参数);
2.打印调用:System.out.println(方法名称(参数));
3.赋值调用:数据类型 变量名称 = 方法名称(参数);
方法调用的流程:
1.从调用处找到原方法
2.参数传递
3.执行方法体
4.带着返回值回到方法的调用处
注意事项:
1.对于有返回值的方法,可以使用单独调用,打印调用或赋值调用
2.但是对于无返回值的方法,只能使用单独调用 ,不能使用打印调用或赋值调用
使用方法的时候,注意事项:
1.方法应该定义在类当中,但是不能在方法当中再定义方法,不能嵌套
2.方法定义前后顺序无所谓
3.方法定义之后不会执行,如果希望执行,一定要调用:单独调用、打印调用、赋值调用
4.如果方法有返回值,必须写上“return 返回值”,不能没有
5.return后边的返回值数据,必须和方法的返回值类型对应起来
6.对于一个void没有返回值的方法,不能写return后面的返回值,只能写return自己
7.对于void方法中最后一行的return可以省略不写
8.一个方法中可以有多个return语句,但是必须保证同时只有一个会被执行到,两个return不能连写
方法的重载(Overload): 多个方法的名称一样,但是参数列表不一样
方法重载的注意事项:
方法重载与下列因素相关:
1.参数个数不同
2.参数类型不同
3.参数的多类型顺序不同
方法重载与下列因素无关:
1.与参数的名称无关
2.与方法的返回值类型无关