算术运算符
// 二元运算符 +,- ,*,/,%模运算,++,-- ^ //Ctrl + D :复制当前到下一行 int a = 10; int b = 20; int c = 30; int d = 40; System.out.println(a+b); + System.out.println(a-b); - System.out.println(a*b); * System.out.println(a/(double )c); / 取余模运算 % int a = 10; int b = 20; int c = 22; System.out.println(c%a); 结果==2; //++ -- 自增,自减 一元运算符 int a = 3; int b = a++; //执行完这行代码后,先给b赋值,再自增 //a = a+1 System.out.println(a); ==4 int c = ++a; //执行完这行代码前,先自增,再给c赋值 System.out.println(a); ==5 3+2 System.out.println(b); ==3 先赋值3 3+1==4 System.out.println(c); ==5 先自增 4+1=5 a-- 同理 先赋值 再自减 --a 先自减 再赋值 //幂运算 2^3 2*2*2=8 很多运算,我们会使用一些工具类来操作! Math.pow = (2,3);按住ait+enter转换变成double pow = Math.pow(2,3); System.out.println(pow); ==8
赋值运算符
public class Demo01 { public static void main(String[] args) { int a = 10;//中间等于号就是赋值运算符 System.out.println(a);
关系运算符
>, <, >=, <=, ==,!=instanceof Java运算等于号是两个==!! public class Demo03 { public static void main(String[] args) { int a = 10; //关系运算符返回的结果:要么正确 要么错误 是通过布尔值来表示的 int b = 20; // if 如果怎么样 那就怎么样 int c = 22; System.out.println(a>b);false //大于 System.out.println(a<b);true //小于 System.out.println(a==b);false //等于 System.out.println(a!=b);true //不等于 System.out.println(a>=b);false //大于或等于 System.out.println(a<=b);true //小于或等于
逻辑运算符
//逻辑运算符 public class Demo06 { public static void main(String[] args) { //与(and)&& 或(or)|| 非(取反) ! 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++<4); //c大于4是对的 C++=6<4是错的 与的逻辑与运算 两个变量都为真,结果才为true 结果:false; System.out.println(d); =false System.out.println(c); =5 //如果c++=6>4 那结果是对的 c=6
位运算符
&,|,^,~,<<,>>,>>> public class Demo07 { public static void main(String[] args) { /* A = 0011 1100 B = 0000 1101 ----------------- A&B = 0000 1100 //a&b任何二进制位和0进行&运算,结果都是0;和1进行&运算结果都是原值 与 A|B = 0011 1101 //任何二进制位和0进行|运算,结果都是原值;和1进行|运算结果都是1 或 A^B = 0011 0001 //相同为0,相异为1 异或 ~A = 1100 0011 //0的为1,1的为0 2*8 = 16 2*2*2*2 效率极高! <<左移 右移>> << *2 //溢出舍去 补0 >> /2 //溢出舍去 补0 负数右移>> 溢出舍去 补1 0000 0000 0 0000 0001 1 0000 0010 2 0000 0011 3 0000 1000 8 0001 0000 16 */ System.out.println(2<<3); //2左移三位 就变成0001 0000 就是16 无符号右移 >>> 右溢出、左补0
拓展赋值运算符
public class Demo08 { public static void main(String[] args) { int a = 10; int b = 20; a+=b; //a= a+b a-=b; //a= a-b a*=b; //a= a*b a/=b; //a= a/b System.out.println(a); //字符串连接符 + ,string System.out.println(""+a+b);//""是字符串 字符串在前面会把a+b进行拼接; System.out.println(a+b+"");//字符串在后面 依旧会进行运算a+b;
条件运算符
? : 条件
//三元运算符
public class demo09 {
public static void main(String[] args) {
// x? y : z
//如果x==true, 则结果为y,否则结果为z;
int score = 80;
String type = score <60 ?"不及格":"及格"; //必须掌握
//if
System.out.println(type);
x?