算术运算符
算术运算符中有一些符号属于二元运算符,就是需要两个操作数才能完成运算的运算符。
二元运算符的运算规则:
整数运算:
- 两个操作数一个为long,则结果也是long
- 没有long时,结果为int,其余整数都会自动升级成int
浮点运算: - 两个操作数一个为double,则结果也是double
- 只有两个操作数都是float,则结果才是float
取模运算: - 操作数可以是浮点数,一般使用整数,结果是余数,结果的符号和第一个操作数相同
逻辑运算符
运算符 | 说明 |
---|---|
逻辑与 | 两真为真(&) |
逻辑或 | 一真为真(|) |
短路与 | 一假为假,若第一个操作数为假则不对第二个进行判断(&&) |
短路或 | 一真为真,若第一个操作数为真则不对第二个进行判断(||) |
逻辑非 | 真为假,假为真(!) |
逻辑异或 | 相异为真,相同为假(^) |
package text;
public class text01 {
public static void main(String[] args) {
boolean a=true;
boolean b=false;
System.out.println(a&b);
System.out.println(a|b);
System.out.println(a^b);
System.out.println(!b);
//短路
boolean c=1>2&&2<(3/0);
//第一个操作数为false,则不需要计算后面的操作数
System.out.println(c);
}
}
位运算符
位运算符 | 说明 |
---|---|
取反 | ~ |
按位与 | & |
按位或 | \ |
按位异或 | ^ |
左移运算符 | << |
右移运算符 | >> |
字符串连接符
package text;
public class text01 {
public static void main(String[] args) {
String a="3";
int b=4;
int c=5;
char d='a';//97
System.out.println(a+b+c);//345
System.out.println(b+c+a);//93
System.out.println(d+3);//100
}
}
自动类型转换
指的是容量兄的数据类型可以自动转换为容量大的数据类型
自动类型转换特例:
可以将整型常量直接赋值给byte,short,char等类型变量,而不需要进行强制类型转换,只要不超出表示范围即可。