Java轻松入门基础(五)–运算符
一、算术运算符
//(前)++ :先自增1,后运算
//(后)++ :先运算,后自增1
int a1 = 10;
int b1 = ++a1;
System.out.println("a1 = " + a1 + ",b1 = " + b1);
int a2 = 10;
int b2 = a2++;
System.out.println("a2 = " + a2 + ",b2 = " + b2);
int a3 = 10;
++a3;//a3++;
int b3 = a3;
//(前)-- :先自减1,后运算
//(后)-- :先运算,后自减1
int a4 = 10;
int b4 = a4--;//int b4 = --a4;
System.out.println("a4 = " + a4 + ",b4 = " + b4);
注:连接符:+:只能使用在String与其他数据类型变量之间使用。
二、赋值运算符
1.符号:“=”,当“=”两侧数据类型不一样时,可使用自动类型转换或者是强制类型转换进行处理
2.支持连续赋值
3.拓展赋值运算符: += -= *= /= %=
int i2,j2;
//连续赋值
i2 = j2 = 10;
//***************
int i3 = 10,j3 = 20;
int num1 = 10;
num1 += 2;//num1 = num1 + 2;
System.out.println(num1);//12
int num2 = 12;
num2 %= 5;//num2 = num2 % 5;
System.out.println(num2);
short s1 = 10;
//s1 = s1 + 2;//编译失败
s1 += 2;//结论:不会改变变量本身的数据类型
System.out.println(s1);
开发中,如果希望变量实现+2的操作,有几种方法?(前提:int num = 10;)
方式一:num = num + 2;
方式二:num += 2; (推荐)
开发中,如果希望变量实现+1的操作,有几种方法?(前提:int num = 10;)
方式一:num = num + 1;
方式二:num += 1;
方式三:num++; (推荐)
三、较运算符(关系运算符)
注:比较运算符的结果都是Boolean类型,只能是true或false,比较运算符“==”不能误写为“=”
< >= <= :只能使用在数值类型的数据之间。
“==” 和 “!=“: 不仅可以使用在数值类型数据之间,还可以使用在其他引用类型变量之间。
四、逻辑运算符
&——逻辑与 |——逻辑或 !——逻辑非
&&——短路与 ||——短路或 ^——逻辑异或
逻辑运算符操作都是boolean类型的变量。
区分& 与 &&(推荐使用)
相同点1:& 与 && 的运算结果相同
相同点2:当符号左边是true时,二者都会执行符号右边的运算
不同点:当符号左边是false时,&继续执行符号右边的运算。&&不再执行符号右边的运算。
区分:| 与 || (推荐使用)
相同点1:| 与 || 的运算结果相同
相同点2:当符号左边是false时,二者都会执行符号右边的运算
不同点3:当符号左边是true时,|继续执行符号右边的运算,而||不再执行符号右边的运算
五、位运算符
位运算符是直接针对整数的二进制运算进行的。
“<<” :在一定范围内,每向左移1位,相当于 * 2。
“ >>” :在一定范围内,每向右移1位,相当于 / 2。
位运算符详解:https://blog.csdn.net/qq845016838/article/details/106007097
六、三元运算符
(条件表达式)? 表达式1 : 表达式2
1.条件表达式的结果为boolean类型
2.根据条件表达式真或假,决定执行表达式1,还是表达式2。如果表达式为true,则执行表达式1。如果表达式为false,则执行表达式2。
3. 表达式1 和表达式2要求是一致的。
4.三元运算符可以嵌套使用
5.凡是可以使用三元运算符的地方,都可以改写为if-else。反之,不成立。
6.如果程序既可以使用三元运算符,又可以使用if-else结构,那么优先选择三元运算符。原因:简洁、执行效率高。
class Test01{
public static void main(String[] args){
int m=12;
int n=5;
int max = (m>n)?m:n;
System.out.println("最大值是:"+max);
}
}