JAVASE基础知识四之运算符、流程控制语句、循环结构

一、运算符
1、位运算符
把操作数转为二进制,然后根据运算符的规则运算,最终得到的结果转为十进制
(1)&
同一位的两个数,两个都为1才是1,一个为0就是0
(2)|
同一位的两个数,一个为1就是1,两个都为0才是0
(3)^
同一位的两个数,相同为0不同为1
注意
以上三个左右两边为boolean类型数据就作为逻辑运算符存在
2、位移运算符
>> 右移
把第一个操作数转为二进制,向右移动第二个操作数个位数,移出的位数直接忽略不计,剩余的转为十进制
右移 :/2的次方
8>>3 ==> 8/2^3
<< 左移
把第一个操作数转为二进制,向左移动第二个操作数个位数,空位补0,结果转为十进制
左移 :2的次方
8<<3 ==> 8
2^3
3、注意
建议使用位移运算符代替乘除,效率高
4、运算符优先级
单目算数位关系,逻辑三目后赋值
&&比||优先级高
赋值运算符 : 自右向左执行
条件运算符具有自右向左的结合性

二、流程控制语句
1、顺序结构
从上到下从左到右
2、选择结构
满足条件执行相应的代码
if…else
单选择或单分支
if(boolean表达式){
语句体;
}
执行流程
boolean表达式,得到boolean结果
如果结果为true,执行{}中的语句体
如果结果为false,直接跳过if结构
双选择或双分支
if(boolean表达式){
语句体1;
}else{
语句体2;
}
执行流程
boolean表达式,得到boolean结果
如果结果为true,执行{}中的语句体1
如果结果为false,执行else后的语句体2
多选择或多分支
if(boolean表达式1){
语句体1;
}else if(boolean表达式2){
语句体2;
}else if(boolean表达式3){
语句体3;
}…
else{
语句体n;
}
执行流程
boolean表达式1,得到boolean结果,如果结果为true,执行{}中的语句体1
如果结果为false,执行boolean表达式2,如果结果为true,执行{}中的语句体2
如果结果为false,执行boolean表达式3,如果结果为true,执行{}中的语句体3
如果以上都不满足,执行else后的语句体n;
注意
一个if…else为一个结构,只能执行一个语句体
如果{}中的语句体只有一句,前后的{}可以省略
if语句与条件运算符区别
条件运算符肯定有结果,但是if结构不一定能有结果
条件运算符结果只能为值1|值2,if语句体可以存在多条指定语句
if结构功能更强大,但是条件运算符结构简单,效率高
switch
定值判断
语法
switch(条件){
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;

default:
语句体n;
break;
}
条件
变量 ,表达式
数据类型 : byte short int char 枚举(jdk1.5) String(jdk1.7)
case
case跟定值,要与条件的结果判断,条件的结果如果与case后的定值相等就指定对应的语句体
break
结束当前switch语句,防止case穿透
default
相当于else,可以定义可以不定义
位置可以定义在switch语句中的任意位置
三、循环结构
重复执行一段代码(控制执行次数)
for
for(条件初始化;条件判断;条件变化){
重复执行的代码段;
}
条件初始化
声明一个变量 i,并且第一次赋值
条件判断
值为boolean类型的判断结果
控制循环的结束
条件变化
i自身值的改变
执行流程
条件初始化 i=1
条件判断: 判断是否结果,为false,循环结束,为true,执行本次循环体语句
条件变化 i++
重复执行第2,3步骤
注意
在循环体语句中可以使用条件变量i
for循环中的条件变量i作用域只在当前循环
如果循环体语句只有一句,前后的{}可以省略
while
do…while

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值