基本运算符
Java语言支持以下运算符
运算符之间也有优先级 可以使用()改变优先级
-
算术运算符 + - * / % ++ –
-
赋值运算符 =
-
关系运算符 > ,< ,>=,<=,!=
-
逻辑运算符 && , || ,!(与,或,非)
-
位运算符 & , | ,^ , ~, >>,<<,>>>(了解)
-
条件运算符 ?:
-
扩展赋值运算符 += , -= , *= , /=
前四个是重点掌握 后三个了解即可
public class Test { public static void main(String[] args) { //二元运算符 //CTRL D 复制当前行到下一行 int a = 10; int b = 40; int c = 20; int d = 25; System.out.println(a+b); System.out.println(a-b); System.out.println(a*b); System.out.println((double)a/b);//这里需要强制转换 因为有小数 System.out.println(d%a);// % 取余号 System.out.println("---------------------------------------------"); long e = 123456789; int f = 123; short g = 12; byte h = 2; System.out.println(e+f+g+h);// 有long类型计算之后也为long System.out.println(f+g+h); System.out.println(g+h);//没有long 就全部为int类型 System.out.println("*************************************"); //关系运算符 返回的结果为布尔类型 true false int i = 50; int j = 60; System.out.println(i>j); System.out.println(i<j); System.out.println(i==j); System.out.println(i!=j);补充:
自增 自减运算符和math类
// 自增 自减运算符 ++ -- 一元运算符 int a = 3;// a++ ++a 都等于 a = a+1 但是顺序不同 int b = a++;// a++是执行完这段代码后,先给b赋值,然后a+1 自增 System.out.println(a);//4 int c = ++a;//++a 是执行完这段代码前,先a+1自增 然后给c赋值 a-- --a同理 System.out.println(a);//5 System.out.println(b);//3 System.out.println(c);//5 //幂运算 要借助math类来完成 2*2*2=8 double pow = Math.pow(2,3);//表示2的三次方 System.out.println(pow);逻辑运算符 和 位运算符
//&& 与 || 或 !() 非 运算 boolean a = true; boolean b = false; System.out.println("a && b :"+(a&&b));//逻辑与运算 两个变量都为真 结果才是true System.out.println("a || b :"+(a||b));//逻辑或运算 两个变量有一个为真 结果就是true System.out.println("!(a && b) :"+!(a&&b));//如果是真则变为假 如果是假则变为真 //短路运算 如果两个变量进行逻辑与运算 前面的变量为假 则后面的语句不会执行 // 例如: int c = 5; boolean d = (c<4)&&(c++<5); System.out.println(c);//5 由于前面为假 所以后面并没有进行自增 System.out.println(d);// false位运算符 与或非
A = 0011 1100 B = 0000 1101 A&B = 0000 1100 A|B = 0011 1101 A^B = 0011 0001 ~B = 1111 0010 2*8 = 2*2*2*2 = 16 << 左移运算符 *2 >> 右移运算符 /2 效率高 System.out.println(2<<3);//16 /*原理如下 0000 0000 0 0000 0001 1 0000 0010 2 0000 0011 3 0000 0100 4 0000 1000 8 0001 0000 16
//扩展赋值运算符
int a = 10;
int b = 20;
a+=b;// a = a+b a-=b a = a-b
System.out.println(a);
// 字符串连接符 +
System.out.println(" "+a+b);// 1020 和顺序有关系
System.out.println(a+b+" ");// 30
**三元运算符 ** ?: (熟练掌握)
//三元运算符
// x?y:z = 若x为true 则输出y 反之 输出z
int score = 50;
String type = score>60?"及格":"不及格";//必须掌握这种用法
System.out.println(type);
1654

被折叠的 条评论
为什么被折叠?



