+ - * / ++ -- % && || ! 三目运算符
int i=5;
int j=2;
double d=2.0;
System.out.println(i / j);//2 整型在做除法运算,结果会去除小数部分,保留整数
System.out.println(i / d);//2.5
System.out.println(i % j);//1 5/2=2...1
//答案正负只与被除数m(被取余数)一致
int m=10;
int n=-4;
System.out.println(m % n);
//被取余数的绝对值小于取余数,取余结果就等于被取余数
int a=2;
int b=3;
System.out.println(a % b);//2
//判断偶数 num%2==0 和奇数
++:自增1
--:自减1
i++ i--//后置自增自减:先赋值再自增自减
++i --i//前置自增自减:先自增自减,再赋值
int i=5;
i++;//i=i+1
System.out.println(i);//6
//后置自增自减:先赋值(等整个语句运行完成)再自增自减
//前置自增自减:先自增自减,再赋值
int j=10;
int result=j++;//先把j=10赋给result,再执行j++变成11
System.out.println(j);//11
System.out.println(result);//10
int m=5;
int result2=++m;//先执行++m 变成6 再赋值给result2
System.out.println(result2);//6
int a=5;
int b=6;
int result3=a++ +b;
System.out.println(result3);//11
移位:
>>
低位移出,高位空出的位可以由0填充,或者由符号位的副本填充(如果是正数,补0;如果是负数,补1)
简单来说,在原值的基础上,往右移几位,就除以多少个2
<<
高位移出,低位补0
简单来说,在原值的基础上,往左移几位, 就乘以多少个2
逻辑运算符:
&&(短路逻辑与)(且)对两个算对 错一个即错 只对一个算错
||(短路逻辑或)(或)对一个算对 全错算错 对两个算对
!(非)取反(!true为false,!false的结果为true)
注:在短路逻辑与(&&)运算时,当第一个表达式为false是,后面表达式不会再执行
在短路逻辑或(||)运算时,当第一个表达式为true是,后面表达式不会再执行
三元运算符:
格式:判断表达式?表达式1:表达式2
判断为真,则为表达式1,否则为表达式2
System.out.println(21 >> 2);//5 往右移几位,就除以多少个2
System.out.println(21 << 2);//84 往左移几位, 就乘以多少个2
int i=10;
boolean result=i>5 && i<20;//true && true
boolean result2=i>6&&i<8;//true
boolean result3=i>5||i<6;
System.out.println(result);//true
System.out.println(result2);//false
System.out.println(result3);//true
//在短路逻辑与(&&)运算时,当第一个表达式为false是,后面表达式不会再执行
//在短路逻辑或(||)运算时,当第一个表达式为true是,后面表达式不会再执行
int j=20;
boolean r=j>30&&++j>15;
boolean r2=j>15||++j>15;
System.out.println(j);//j=20不执行后面表达式
int score=59;
String s=score>=60?"及格":"不及格";
System.out.println(s);//不及格