4.Java基本语法-----运算符
一、算术运算符
注意事项:
1.对于取模运算,如果有负数,结果跟被模数的符号相同。如:5 % -2 = 1
2.对于“/”,结果只保留整数部分,小数部分忽略
3.对于字符串连接符“+”,如果左右两边有一个为字符串,则结果为字符串,此时的“+”是拼接操作
4.++、--运算的结果不会改变变量本身的数据类型
代码:
public class test { public static void main(string[] args) { //除号:/ int num1 = 12; int num2 = 5; int res = num1 / num2; system.out.println(res);//2 //取模:% int res1 = num1 % num2; system.out.println(res1);//2 num1 = -12; system.out.println(num1 % num2);//-2 //前++ int m1 = 5; int m = ++m1; system.out.println(m1);//6 system.out.println(m);//6 //后++ int n = 3; int n1 = n++; system.out.println(n);//4 system.out.println(n1);//3 } }
二、赋值运算符
具体的:= 、+= 、-= 、*= 、/=、%=
注意:运算的结果不会改变变量本身的数据类型
如果想要实现+1的操作,有几种方式?(前提:int num = 5;)
int num = 5; num = num + 1; num += 1; num++;(推荐)
代码:
public class test { public static void main(string[] args) { int num = 5; num *= 2; system.out.println(num);//10 int m, n; m = n = 10;//连续赋值 int m1 = 5, n1 = 4; short s1 = 11; // s1 = s1 + 1;//运算结果为int型 s1 += 1;//不会改变变量本身的数据类型 system.out.println(s1);//12 } }
三、比较运算符
说明:比较运算符的运算结果为boolean型
public class test { public static void main(string[] args) { int m = 10; int n = 20; system.out.println(m == n);//false system.out.println(m = n);//20 boolean b1 = true; boolean b2 = false; system.out.println(b1 == b2);//false system.out.println(b1 = b2);//false } }
四、逻辑运算符
说明:
1.逻辑运算符操作的都是boolean类型的变量,且结果都为boolean型
2.&&和&:当符号左边是true的时候,两者没什么区别;当符号左边是false的时候,&&不会执行右边的操作,而&会继续执行右边的操作
3.||和|:当符号左边是false的时候,两者没什么区别;当符号左边是true的时候,||不会执行右边的操作,而|会继续执行右边的操作
4.开发中,推荐使用&&和||
代码:
public class test { public static void main(string[] args) { boolean b1 = true; int num = 4; if (b1 && (num++ > 3)){ system.out.println("我现在在北京");//我现在在北京 }else{ system.out.println("我现在在南京"); } system.out.println(num);//5 system.out.println("***************"); boolean b2 = false; int num1 = 4; if (b2 && (num1++ > 3)){ system.out.println("我现在在北京"); }else{ system.out.println("我现在在南京");//我现在在南京 } system.out.println(num1);//4 } }
五、位运算符
说明:
1.位运算符直接对二进制进行运算
2.<<:每向左移一位,相当于*2
3.>>:每向右移一位,相当于/2
代码:
public class test { public static void main(string[] args) { //最高的效率实现4 * 2 int i = 4; system.out.println(i << 1);//8 //交换两个变量的值 int m = 5; int n = 6; int temp = m; m = n; n = temp; system.out.println("m = " + m);//m = 6 system.out.println("n = " + n);//n = 5 } }
六、三元运算符
格式:(条件表达式)? 表达式1:表达式2;
说明:
①条件表达式的结果为boolean型;
②根据条件表达式的结果判断执行表达式1还是表达式2;
③如果条件表达式的结果为true,则执行表达式1;否则,执行表达式2.
④三元运算符可以嵌套使用
⑤凡是可以使用三元运算符的地方,都可以改为if-else结构,反之,不成立
⑥如果程序既可以使用三元运算符,又可以使用if-else,建议使用三元运算符。原因:简洁、执行效率高
代码:
public class test { public static void main(string[] args) { //获取两个数的较大值 int m = 10; int n = 20; int max = (m > n)? m : n; system.out.println(max);//20 //获取三个数的较大值 int x = 3; int y = 5; int z = 1; int max1 = (x > y)? x : y; int max2 = (max1 > z)? max1 : z; system.out.println(max2);//5 } }
作者:java之美
日期:2020-03-27
上一篇: 社科基金