JavaSE(3) -- 运算符+逻辑控制continue与break

 记录Java语法中的易错点以及不同于C语言的地方...

目录

一、运算符 

1. 增量运算符 += -= *= %=

2. 逻辑运算符

3. 位操作符

二、逻辑控制

1. switch语句

2. continue与break的用法


一、运算符 

1. 增量运算符 += -= *= %=

注意:只有变量才能使用该运算符,常量不能使用

           增量运算符具有自动强制转换功能

①错误,②③为对应的两种改法

①:a+b的类型时int,赋值给short即大范围的赋值给小范围的。报错。

②:主动强制转换成short型

③:+=具有自动强制转换的功能

2. 逻辑运算符

逻辑运算符主要有三个: && ||  ! ,运算结果都是 boolean类型

结果 = 布尔表达式Ⅰ(&&  ||   !) 布尔表达式Ⅱ

&&(逻辑与也称短路与):只要Ⅰ不成立,整个表达式即结果就不成立,且表达式Ⅱ不会做计算

 ||  (逻辑或也称短路或):只要Ⅰ成立,整个表达式即结果就成立,且表达式Ⅱ不做计算

 !   (逻辑非):真变假,假变真

注意事项1:运算符的对象以及判断条件一定得是布尔表达式!!!

     && 及 || 左右两边必须是布尔表达式、!右边必须是布尔表达式;if语句括号内、while循环等判断条件内必须是布尔表达式。

错误示例:

正确写法:

 

错误实例:

 正确写法:

注意事项2:位运算符 & 与 | 叛变成逻辑运算符

 我们都知道, 计算 10 / 0 会导致程序抛出异常。但是上面的代码却能正常运行, 说明 10 / 0 并没有真正被求值

而这个代码程序异常,说明&与|计算了10/0。也就是没有发生同&&与||一样的短路情况。


对于 && , 如果左侧表达式值为 false, 则表达式结果一定是 false, 无需计算右侧表达式;
对于 ||, 如果左侧表达式值为 true, 则表达式结果一定是 true, 无需计算右侧表达式;
& 和 | 如果表达式结果为boolean时, 也表示逻辑运算。但与 && || 相比, 它们不支持短路求值

如果表达式左右两边不是布尔表达式,& 和 | 就是位运算符

3. 位操作符

位运算符主要有四个: & | ~ ^ ,除 ~ 是一元运算符外,其余都是二元运算符。
位操作表示 按二进制位运算。 计算机中都是使用二进制来表示数据的(01构成的序列),按位运算就是在按照二进制位的每一位依次进行计算。

& 按位与:如果两个二进制位都是 1, 则结果为 1, 否则结果为 0 -> 有0则0,全1才1

| 按位或:如果两个二进制位都是 0, 则结果为 0, 否则结果为 1  ->  有1则1,全0才0

~ 按位取反:如果该位为 0 则转为 1, 如果该位为 1 则转为 0     ->  0变1,1变0

^按位异或 : 如果两个数字的二进制位相同, 则结果为 0, 相异则结果为 1 -> 相同为0,相异为1

注意事项 :

当位操作符左右两边是布尔表达式时,位操作符将充当逻辑操作符。只有两边不是布尔表达式,才发挥本身的作用 -> 位操作符

二、逻辑控制

1. switch语句

① switch的括号内只能是以下类型的表达式:
    基本类型:byte、char、short、int,注意不能是long类型
    引用类型:String常量串、枚举类型

② switch 括号中不能有复杂表达式

2. continue与break的用法

 continue会结束当前循环,继续回到判断条件;而break则跳出整个循环

注意:

① 除了break可以用在switch语句中,其他任何情况,break与continue必须在循环内使用

② 使用continue与break时,注意两者前面应该循环条件改变的语句(i++),否则报错

    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值