运算符

  • 算术运算符:+,-,*,/,%,++,–

(1)%:取模/取余,余数为0即为整除

System.out.println(5%2);//1 商2余1
System.out.println(8%2);//0 商4余0
System.out.println(2%8);//2 商0余2
System.out.println(8.456%2);//0.456  用8对2取余,商4余0,再追上后面的小数

(2)++/–:自增1/自减1,可以在变量前也可以在变量后

  • 单独使用时(只有一个++或–,如a++,b–),在前在后无差别
int a=5,b=5;
a++;//相当于a=a+1
++b;//相当于b=b+1
System.out.println(a);//6
System.out.println(b);//6
  • 被使用时(除了++或–,还有其他操作,如c=a++),在前在后有差别
    a++的值为a
    ++a的值为a+1
int a=5,b=5;
int c=a++;//这句话叫“被使用”(因为除了++,还有其他操作:赋值),所以a++相当于a
int d=++b;//这句话叫“被使用”(因为除了++,还有其他操作:赋值),所以++b相当于b+1
System.out.println(a);//6 a++为6
System.out.println(b);//6 ++b为6
System.out.println(c);//5 c=a++的值,为a,5
System.out.println(d);//6 d=++b的值,为b+1,6
int a=5,b=5;
System.out.println(a++);//5  这句话叫“被使用”(因为除了++,还有其他操作:输出),所以a++相当于a
System.out.println(a);//6
System.out.println(++b);//6 这句话叫“被使用”(因为除了++,还有其他操作:输出),所以++b相当于b+1
System.out.println(b);//6

2. 关系运算符
(1)>大于,<小于,>=大于等于,<=小于等于,==等于,!=不等于
(2)关系运算符的结果为boolean型
关系成立为true,不成立为false

int a=5,b=10,c=5;
		boolean b1=a>b;//这句话先算后面的a>b,为错,再算赋值
		System.out.println(b1);//false  输出b1相当于输出a>b
		System.out.println(c<b);//true
		System.out.println(a>=c);//true
		System.out.println(a<=b);//true
		System.out.println(a==c);//true
		System.out.println(a!=c);//false

3. 逻辑运算符
(1)&&:短路与(并且),两边都为真则真,见false则为false,第一个数为false时,发生短路(后面的不执行了)
&:与,但不短路

//与
boolean b1= a>b && c<=b;
System.out.println(b1);//false&&true=false
System.out.println(a==c && b<c);//true&&false=false
System.out.println(a>b && a!=c);//false&&false=false
System.out.println(b>=a && c<b);//true&&true=true
//短路与
boolean b3= a>b && a++>2;
System.out.println(b3);//false
System.out.println(a);//5

||:短路或(或者),有一边为真则为真,见true则true,第一个数为true 时,发生短路(后面的不执行了)
|:或,但不短路

//或
System.out.println(a>b || c<=b);//false||true=true
System.out.println(a==c ||b<c);//true||false=true
System.out.println(b>=a || b!=c);//true||true=true
System.out.println(b==c||b<a);//false||false=false
//短路或
boolean b4=a<b || a++>2;
System.out.println(b4);//true
System.out.println(a);//5 发生短路

!:逻辑非(取反),非真为假,非假为真

//非
boolean b2=!a>b; //这里非的运算级别最高,就先算!a ,它本身就是错误的
boolean b2=!(a>b);
System.out.println(b2);//true
System.out.println(!(c<b));//false

(2)逻辑运算是建立在关系运算的基础之上的,所以逻辑运算的结果也是boolean型

4. 赋值运算符:
(1)简单赋值运算符:=
(2)扩展赋值运算符:+=、-=、*=、/=、%=

int a=5;
a+=10;//a=a+10
System.out.println(a);//15
a*=2;//a=a*2
System.out.println(a);//30
a/=6;//a=a/6
System.out.println(a);//5
short s1=5;//正确,5是整数直接量,整数直接量可以直接赋值给byte,short,char
s1=s1+10;//编译错误,byte,short,char型变量参与运算时,先一律转换为int 再运算.两个int相加还是int,
s1=(short)(s1+10);
s1+=10;//正确,扩展赋值运算系统内部会自动强转

5. 字符串拼接
(1)+:

  • 若两边都为数字,则做加法运算
  • 若有一边为字符串,则做字符串的拼接
int age=37;
System.out.println("age=");//age=,引号里面是字符串,引号里面是什么就写什么
System.out.println(age);//37,age是个代词
System.out.println("age="+age);//age=37
System.out.println("我的年龄是:"+age);
System.out.println("我今年"+age+"岁了");
System.out.println(10+20+""+30);//3030  10+20=30 30与字符串拼接为“30” “30”与30拼接为3030
System.out.println(10+20+30+"");//60 10+20+30=60 60与字符串拼接为“60”
System.out.println(""+10+20+30);//102030 都一个为字符串,字符串与后面的都是拼接  不运算
System.out.println("HelloWord");

6. 三目/条件运算符
(1)语法:boolean?数1:数2
(2)执行过程:计算boolean的值;若为true,则整个的结果为数1,若为false,则整个的结果为数2

int a=55,b=8;
		int max= a>b?a:b;
		System.out.println("max="+max);
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值