Java基础08:自增自减运算符、初识Math类
自增,自减
自增:++
int a = 2;
int b = a++;// b=2; ++在后,先给b赋值,在自增;
//a = a + 1;
System.out.println(a);//a=3
//a = a + 1;
int c = ++a;// c=4; ++在前,先自增,再给c赋值;
System.out.println(a);//4
System.out.println(b);//2
System.out.println(c);//4
自减与之原理相同,结果相反
幂运算
-
2^3:就是 3 个 2 相乘 = 8 ;很多运算,我们会使用一些工具来操作。
double pow = Math.pow(2,3);//2^3=8 System.out.println(pow);//8
Math
Java基础09:逻辑运算符,位运算符
逻辑运算符
// 与(and 两者) 或:(其一) 非(取反)
boolean a = true;
boolean b = false;
System.out.println("a && b ="+(a && b)); //false
System.out.println("a || b ="+(a || b)); //true
System.out.println("! (a && b) ="+(!(a&&b))); //true
&& :两者都为真,则为真,一放假,则为假
||:两者一方为真则为真,
!:取反,真为假,假为真
短路运算
int c = 5;
boolean d = c<4 && c++ <4;
System.out.println(c);
System.out.println(d);
短路运算 :当“c<4”已经为false,就可以判断本次运算为false,后面"c++ <4"则不在运算。
位运算符
/*
A = 0011 1100
B = 0000 1101
--------------------
A&B= 0000 1100 都为 1 ,则为 1
A|B= 0011 1101 任意一方为 1,则为 1
A^B= 0011 0001 双方不同则为 1 ,
!B= 1111 0010 与 B ,相反
--------------------------------------
2 * 8 = 16;2*2*2*2=16;
效率极高!!!!
<< 乘2 (a<<b):a 乘 2 的 b 次方
>> 除2 (a>>b):a 除 2 的 b 次方
0000 0001 1
0000 0010 2
0000 0011 3
0000 0100 4
0000 1000 8
0001 0000 16
*/
System.out.println(2<<3); //2*2^3=16
Java10:三元运算符及小结
x ?y:z
x是条件,y为真,z为假
x为true,返回值为真,x为false,返回值为假
// x ?y:z x是条件,y为真,z为假
// 如果 x==true,则结果为y,否则结果为z
int score = 50;
String type = score<60?"不及格":"及格";//必须掌握
//if
System.out.println(type);