Day5
自增自减
a++先用a的值,后给a加1
++a先给a加1,后用a的值,即a+1
a--
--a
与、或、非
-
&&与
a&&b a,b均为真时,结果为ture;有一个为假时,则结果为false
-
||或
a||b a,b有一个为真时,结果即为ture;两个均为假时,结果才为false
-
!非
!a a为真时则输出false;a为假时则输出true
注意短路问题:当a&&b中a为假时,a&&b的结果即为假,不需要计算b是真是假,则b的运算不会进行
public class Demo02 {
public static void main(String[] args) {
double a=10;
double b=10;
double c=11;
System.out.println(c==b++&&c==a++);//c=11,b=10故c不等于b++,则c==b++&&c==a++结果为false,所以a++不会执行
System.out.println(a);//最后输出10
System.out.println(c==b++&&c==a++);//c=11,b=10故c等于b++,则向后运行,其中c==a++,先用a的值,c=a=10,然后a自加,a=11
System.out.println(a);//最后输出10
}
}
输出结果为
false
10.0
false
11.0
位运算
位只有0和1
与、或、非、异或
-
&与
a&b 当a=b=1时,结果为1;a、b中有一个是0,则结果为0
-
|或
a|b 当a=b=0时,结果为0;a、b中有一个为1,则结果为1
-
~非
~a 当a=0时结果为1;a=1时结果为0
-
^异或
a^b 当a、b不同时输出1;当a、b相同时输出0
-
左移、右移
-
左移
在位运算中相当于乘2
-
右移
在位运算中相当于除2
0000 0001 1
0000 0010 2
0000 0011 3
0000 0100 4
a+=b即为 a=a+b
a-=b即为 a=a-b
三元运算符
x?y:z
如果x是true,则输出y;否则输出z
public class Demo03 {
public static void main(String[] args) {
int x=60;
String m= "合格";//不可以用char,char只能定义一个字符
String n= "不合格";
System.out.println(x<80?n:m);
}
}
输出结果为
不合格
字符串连接符
“ 内容 ”+a+b则输出 内容ab
a+b+“内容”则输出 a+b内容
public class Demo04 {
public static void main(String[] args) {
int a=10;
int b=20;
System.out.println("结果为:"+a+b);
System.out.println(a+b+"结果为:");
}
}
结果为:1020
30结果为:

浙公网安备 33010602011771号