1.运算符
<1>优先级
//运算符 int a = 5 * 6 + 7; System.out.println(a); //优先级 a = 5 * (6 + 7); System.out.println(a);
<2>赋值
//赋值 a = 100;
//类的赋值 private void twoOne(){ Temp temp = new Temp(); System.out.println(temp.a = 100); } class Temp{ int a; }
new Three().twoOne();
<3>算术运算符
//演示运算符 System.out.println(7 + 6); System.out.println(7 - 6); System.out.println(7 * 6); System.out.println(7 / 6); System.out.println(7 % 6); System.out.println(-6); System.out.println(-(-6));
<4>自动递增 自动递减
int i = 0; System.out.println(++i);//先加在执行 System.out.println(i); System.out.println(i++);//先执行在加 System.out.println(i);
int j = 0; System.out.println(--j);//先减在执行 System.out.println(j); System.out.println(j--);//先执行在减 System.out.println(j);
<5>关系运算符
System.out.println("直接比较:"); //比较是不是相等 System.out.println(5 == 5); System.out.println(6 == 7); System.out.println(7 <= 7); System.out.println(6 < 7); System.out.println(6 > 7); System.out.println(6 >= 7);
System.out.println("比较字符串:"); //比较字符串 String aStr = "a"; String bStr = "b"; System.out.println(aStr == aStr); System.out.println(aStr == bStr);
<6>逻辑运算符
System.out.println("逻辑运算:"); //逻辑运算 System.out.println(5 == 5 && 6 == 6); System.out.println(5 == 5 && 6 == 7); System.out.println(5 == 5 || 6 == 6); System.out.println(5 == 5 || 6 == 7); System.out.println(!(5 == 5));
<7>按位运算符
System.out.println("按位运算:"); //11 是 3的二进制 //按位运算 与 11 & 00 1&0 1&0 System.out.println(3 & 0); //按位运算 或 11 | 00 1|0 1|0 System.out.println(3 | 0); //按位运算 异或 11 ^ 00 1^0 1^0 System.out.println(3 ^ 0); //按位运算 非 ~11 ~1 ~1 //5 //二进制 //00000000 00000000 00000000 00000101 //取反后 //11111111 11111111 11111111 11111010 //求值过程 第一个如果是0表示是正数,如果是1表示是负数 //求值过程 第一步:-1 //11111111 11111111 11111111 11111001 //求值过程 第二步:取反 //10000000 00000000 00000000 00000110 //记住:第一个如果是0表示是正数,如果是1表示是负数(这就是表示是不是负数的方式) //得到-6 System.out.println(~5);
<8>移位运算符
System.out.println("移位运算符"); //移位运算符 左移 11 --> 110 System.out.println(3 << 1); //移位运算符 右移 11 --> 1 System.out.println(3 >> 1); System.out.println(-3 << 1); System.out.println(-3 >> 1);
<9>三元运算符
//表达式 if(true){ System.out.println("我是傻"); }else{ System.out.println("你才傻"); } int k = 100; if (k < 0){ System.out.println("<0"); }else if(k < 100){ System.out.println("0-100"); }else{ System.out.println(">=100"); } System.out.println(true ? "我是傻" : "你才傻"); System.out.println(5==6 ? "我是傻" : "你才傻"); String temp = 5==6 ? "我是傻" : "你才傻"; System.out.println(temp);
<10>字符串运算符
//字符串运算 String string = "你是" + 100 + true; System.out.println(string);
<11>造型运算符
//类型运算 //变小需要 int castInt = (int) 100.2; //变大不需要 float castFloat = castInt; System.out.println(castInt); System.out.println(castFloat);
<12>8进制 16进制表示方法
//8进制 0开头 System.out.println(011); //16进制 0x开头 System.out.println(0x11);
<13>continue break 的特殊用法
wewe: for (int u = 0; u < 10; u++){ for (int o = 0; o < 10; o++){ if (o == 0){ continue;//只能跳出内部 } if (o == 1){ continue wewe;//可以跳出外部 break同理 } } }