数据类型转换
当数据类型不一样时,会发生数据类型转换。
自动类型转换(隐式)
1.特点:代码不需要进行特殊处理,自动完成。
2.规则:数据范围从小到大。(与字节数不一定相关)
强制类型转换(显式)
1.特点:代码需要进行特殊的格式处理,不能自动完成。
2.格式:范围小的类型 范围小的变量名 = (范围小的类型 原本范围的的数据;
注意事项
1.强制类型转换一般不推荐使用,因为有可能发生精度损失、数据溢出。
2.byte/short/char这三种类型都可以发生数学运算。
3.byte/short/char这三种类型在运算的时候,都会被首先提升成为int类型,然后再计算。
4.boolean类型不能发生数据类型转换。
数字和字符的对照关系表(编码表):
ASCII码表:
American Standard Code for Information Interchange,美国信息交换标准代码。
48 '0'
65 'A'
97 'a'
Unicode码表:
万国码。也是数字和符号的对照关系,开头0-127部分与ASCII码表完全一样,但从128开始包含更多字符。
运算符
运算符:进行特定操作的符号。
表达式:用运算符连起来的式子。
算数运算符
四则运算
加:+
常见的三种用法:
1.对于数值来说,就是加法。
2.对于字符char来说,在计算之前char会被提升成为int,然后再计算。
3.对于字符串String(首字母大写,不是关键字)来说,加号代表字符串连接操作。
【任何数据类型和字符串进行连接的时候,结果都会变成字符串】
减:-
乘:*
除:/
取模(取余数)
符号:%
在整数的除法中才有意义。
注意事项
一旦运算当中有不同类型的数据,那么结果将会是数据类型范围大的那种。
自增自减运算符
自增运算符:++
自减运算符:–
基本含义:让一个变量涨一个数字1,或者让一个变量降一个数字1.
使用格式:写在变量名之前,或者写在变量名之后。
使用方式:
1.单独使用 : 不和其他任何操作混合,自己独立成为一个步骤。
2.混合使用:和其他操作混合,例如与赋值混合或者与打印操作混合等。
使用区别:
1.在单独使用的时候,前++与后++没有任何区别。即:++i与i++完全一样。
2.在混合使用时,有区别
1>如果是前++,那么变量立刻+1,然后拿着结果使用。先加后用
2>如果是后++,那么首先使用变量本来的数值,然后再用变量+1。先用后加
注意事项:只有变量才能使用自增、自减运算符。常量不可发生改变,所以不能使用。
赋值运算符
赋值运算符 | 含义 |
---|---|
= | 等于号(基本赋值运算符) |
+= | 加等于(复合赋值运算符) |
-= | 减等于(复合赋值运算符) |
*= | 乘等于(复合赋值运算符) |
/= | 除等于(复合赋值运算符) |
%= | 取模等(复合赋值运算符) |
注意事项:
1.只有变量才能使用赋值运算符,常量不能进行赋值。
2.复合赋值运算符中隐含了一个强制类型转换。
比较运算符
比较运算符 | 含义 |
---|---|
== | 等于 |
< | 小于 |
> | 大于 |
<= | 小于等于 |
>= | 大于等于 |
!= | 不等于 |
注意事项:
1.比较运算符的结果一定是一个boolean值,成立就是true,不成立就是false。
2.如果进行多次判断,不能连着写。(二元运算符)
逻辑运算符
与(并且):&& 全为true时为true
或(或者):|| 全为false时为false
非(取反):!原来为true时变成false,原来为false时变成true
与“&&”和或“||”具有短路效果,如果根据左边已经可以判断得到最终结果,那么右边的代码将不再执行,从而节省一定的性能。
注意事项:
1.逻辑运算符只能用于boolean值。
2.与、或需要左右两侧各自有一个boolean值,但是取反只要有唯一的一个boolean值即可。
3.与、或两种运算符,如果有多种条件,可以连续写。
三元运算符
格式:
数据类型 变量名称 = 条件判断 ?表达式A :表达式B;
流程:
首先判断条件是否成立,如果成立为true,那么将表达式A赋值给左侧的变量;如果不成立为false,那么将表达式B赋值给左侧的变量。二者选其一。
注意事项:
1.必须同时保证表达式A和表达式B都符合左侧数据类型的要求。
2.三元运算符的结果必须被使用。
方法
定义一个方法的格式:
public static void 方法名称() {
方法体
}
注意事项:
1.方法定义的先后顺序无所谓。
2.方法的定义不能产生嵌套包含的关系。
3.方法定义好之后不会执行。如果想要执行,必须要进行方法的调用。
调用一个方法的格式:
方法名称();