Surpass Day3——Java语法基础2

目录

逻辑运算符(布尔运算符)

1、逻辑与&

2、短路与&&

运算符

1、赋值运算符

2、字符串连接运算符

3、三元运算符/三目运算符/条件运算符


逻辑运算符(布尔运算符)

& 逻辑与

| 逻辑或

!逻辑非(取反)

^ 逻辑异或(两边的算子只要不一样,结果就是ture)

&& 短路与

|| 短路或

1、逻辑运算符要求两边的算子都是布尔类型,并且逻辑运算符最终的运算结果也是一个布尔类型;

2、“短路与(或)”和“逻辑与(或)”最终的结果相同,只不过“短路与(或)”存在短路现象

1、逻辑与&

&左边无论是true还是flase都会计算右边;

int x=10;
int y=8;
System.out.println(x < y & ++x < y);
System.out.println(x);

运行结果为11

2、短路与&&

&&左边若为false则直接短路,右边不再计算(短路现象);

int x=10;
int y=8;
System.out.println(x < y && ++x < y);
System.out.println(x);

运行结果为10

从某个角度来看,短路与更智能,效率更高;


运算符

1、赋值运算符

+=、-=、*=、/=、%=;

byte、short、char混合运算时,先各自转换成int;

byte b=10;
b=b+5;
System.out.println(b);

编译报错,(b+5自动转换成了int类型,所以要想通过编译,需要加强制转换或者使用b+=5)

byte b=10;
b=(byte)(b+5);
b+=5;
System.out.println(b);

以上述例子为例

b+=5和b=b+5并不等同;

b+=5与b=(byte)(b+5)是等同的;

结论:

扩展类的赋值运算符不改变运算结果类型,假设最初这个变量的类型是byte类型,无论怎么进行追加或追减,最终该变量的数据类型还是byte类型,但有可能会损失;


2、字符串连接运算符

关于java中"+"运算符:

1、+运算符在java语言当中有两个作用:

*加法运算,求和;

*字符串的连接运算;

2、"+"两边的数据都是数字的话一定是加法运算;

3、"+"两边的数据只要有一个数据是字符串,一定会进行字符串的连接运算,连接运算之后的结果还是一个字符串类型

静态输出

e.g.System.out.println(10+20);//30

System.out.println(10+20+"30");//"3030"

System.out.println(10+(20+"30");//"102030"

System.out.println("10+20="+a+b);

"10+20="是字符串;

"10+20="+a先运算字符串+a等于个字符串"10+20=10";

"10+20="+a+b再运算+b等于个字符串"10+20=1020";

System.out.println("10+20="+(a+b));

此时先运算(a+b)=30,在进行字符串"10+20="+30="10+20=30";

动态输出

System.out.println(a+"+"+b+"="+(a+b));


3、三元运算符/三目运算符/条件运算符

e.g.1

10,'男'不是一个完整的java语句;

boolean sex=false;
sex ? '男' : '女';

编译会报错;

修改如下:

boolean sex=false;
char c = sex ? '男' : '女';
System.out.println(c);

e.g.2

boolean sex=false;
char c = sex ? "男" : '女';
System.out.println(c);

编译报错,类型不兼容,但可以直接用

System.out.println(sex ? "男" : '女');

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

胖虎不秃头

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值