一,运算符:
关系运算符 >, < , >=, <=,==,!=
逻辑运算符: &&逻辑与,||逻辑或,!逻辑非
&&逻辑与:有一个假,返回假,
||逻辑或:有一真,返回真 ,
!逻辑非(取反)
// &&逻辑与:有一个假,返回假, ||逻辑或:有一真,返回真 ,!逻辑非(取反)
int a=3;
short b=5;
byte c=3;
float f=3.4f;
System.out.println(a>b && b>c);//false && true------->false
System.out.println(b>=c || b<=f);//true || false----->true
System.out.println(b>=c && !(b<=f));//true && true--->true
System.out.println(!(b>=c) && b>=f);//false &&true---->false
System.out.println(!(b>=c) || c>=f);//false || false--->false
System.out.println(!(b>=c && b<=f));//!(true &&false---->false)-----true
位运算符:& 按位与 (都为1返回1),| 按位或(有一个为1都为1),<< 左移位,>>右移位 【二进制】
//& 按位与(都为1返回1)
System.out.println(2&3);//---10&11--->10---->结果:2
System.out.println(20&5);//10 100&00 101------>100--->结果:4
// | 按位或(有一个为1都为1)
System.out.println(2|3);//---10|11---->11---->结果:3
System.out.println(20|5);//-----10100|00101---->10101---->结果:21
//<<左移位,向左移动几位后面补几个零
System.out.println(2<<3);//10--->10 000--->结果:16
System.out.println(5<<4);//---101--->1010000--->结果:80
//>>右移位,向右移动几位,从右边删几个数字
System.out.println(2>>3);//10----->结果:0
System.out.println(30>>3);//--101000-->101--->结果:3
4. 复合赋值运算符 +=,-=, *=,/=,%=
复合赋值运算符:
//+=:
int i=2;
i+=3;//i=i+3; 从右向左
System.out.println(i);//--->i=5
//-=:
i-=2;//i=i-2;--------->i=5-2
System.out.println(i);//--->i=3
// *=:
i*=3;//i=i*3;----->i=3*3
System.out.println(i);//---->i=9
// /=:
i/=3;//i=i/3;-------i=9/3
System.out.println(i);//-------->3
// %=:
int i=2;
i%=3;//i=i%3;//------------%(求余数)
System.out.println(i);//-------2
// /*:
float f=2;
f*=3.14;//f=f*3.14;//------->f=2*3.14
System.out.println(f);//--------6.28
5.算术运算符 ++,--
//++i 前++,先计算后赋值 i=i+1; i=1;
int i=0;
++i;//i+=1; ----->i=i+1
System.out.println(i);//----1
System.out.println(++i);//i=i+1;-----2
//i++ 后++,先赋值后计算,i=i;i=i+1;(等下次遇到变量时在进行加1)
int i=0;
System.out.println(++i);//i=0+1;
System.out.println(i++);//i=1
System.out.println(i);//i=1+1
//--i 前--,先计算后赋值
//i-- 后--,先赋值后计算(等下次遇到变量时在进行减1)
int i=3;
int j=2;
System.out.println(++i +j++ - ++j + i++);//---->6
//------------------4 + 2 - 4 + 4---------6
System.out.println(++i);//--->6
//-----------------5+1=6
System.out.println(j++);//------>4
//-----------------3+1=4
二,运算
关系运算
//关系运算
//只能数值类型和字符类型才能比较大小(byte,short,int,long,float,char),
//string类型无法直接参与运算,如果要参与运算通过Integer,将String转换int
int a=3;
int b=5;
int c=3;
char ch=65;
char cc='A';
float f=3.14f;
String s="12";
System.out.println(a>b);// 大于 false
System.out.println(a<b);//小于 true
System.out.println(a>=c);//大于等于 true
System.out.println(a<=c);//小于等于 true
System.out.println(a==b);//等于 false
System.out.println(a!=b);//不等于 true
System.out.println(a>f);// false
System.out.println(a<f);//true
System.out.println(a>ch);//false
System.out.println(a<ch);//true
System.out.println(a>cc);//false
System.out.println(a<cc);//true
System.out.println(a>Integer.parseInt(s));
2, 算术运算 +、-、*、/、%
int a=10;
int b=3;
float f=3;
System.out.println(a+b);//加法
System.out.println(a-b);//减法
System.out.println(a*b);//乘法 ×
System.out.println(a/b);//除法(整除,没有小数)--int
System.out.println(10/3);
System.out.println(a/f);//---float
System.out.println(10/3.0);//---double
System.out.println(a%b);//求余数(求模 ) 1
System.out.println(10%4);//余数 2
System.out.println(10%2);//余数 0
System.out.println(f%2);//1.0
System.out.println(10%3.0);//1.0
三元运算(问号冒号表达式 ?:)
//a>b?a:b--------如果a>b是正确的,结果为a---------如果a>b是错误的,结果为b
//System.out.println(a>b?a:b);
//例如: 比较a和b的大小
int a=10;
int b=20;
System.out.println(a>b?a:b);//----->20