20200922黄春跃
20200922黄春跃
知识点总结:
1.位运算符:
& 按位与:两个操作数都为1,结果才是1
| 按位或:两个操作数有一个为1,结果就是1
^ 按位异或:两个操作数相同为0,相异为1
~ 按位非:操作数为1结果为0,操作数为0结果为1 公式~(x)=-(x+1)
<< 左移:右侧空位补0,在不越界的情况下,等同于其数值乘以2n
">>" 右移:左侧空位补符号位,在不越界的情况下,等同于其数值除以2n
''>>>'' 无符号右移:左侧空位补0
2.条件运算符
是java中唯一需要三个操作数的运算符,又称三目运算符或三元运算符
条件?表达式1:表达式2
先对条件进行判断,如果为true,就返回表达式1的值;如果为false,就返回表达式2的值。
3.运算符的优先级
java中的各种运算符都有优先级和结核性。优先级越高,运算顺序就越靠前。
结核性可以理解为运算的方向,一般都是从左往右,但有特殊。例如:
条件1?表达式1:条件2?表达式2:表达式3
这个就应该先算表达式2的三目,然后再算表达式1的==>条件1?表达式1:(条件2?表达式2:表达式3)
提示:
1.优先级最低的是赋值运算符,其次是条件运算符。
2.单目运算符包括!~ ++ --,优先级最高。
3.可以通过()控制表达式的运算顺序,()优先级最高。
4.总体而言,优先级顺序是算数运算符>关系运算符>逻辑运算符。
5.结合性为从右到左只有赋值运算符,三目运算符和单目运算符。
4.程序流程控制
①顺序结构:程序从上往下依次执行,中间没有任何跳转、判断、循环。
②选择结构: 用if和switch语句实现 ,根据条件判断的结果来选择执行不同的代码。
(1)if控制语句
(a)单分支if结构
if(表达式){
语句
}
语法解析:
1.if是java的关键字。
2.表达式是布尔类型的表达式,其值为true或false。
3.语句必须被{}包括,如果语句中只有一行代码,{}可以不写,但不建议。
执行步骤 :
对表达式的结果进行判断;
如果为true,执行语句;
如果为false,跳过语句。
(b)双分支if结构
if(表达式){
语句1
}else{
语句2
}
执行步骤 :
对表达式的结果进行判断;
如果为true,执行语句1;
如果为false,执行语句2。
(c)多分支if结构
if(表达式1){
语句1
}else if(表达式2){
语句2
}else{
语句3
}
执行步骤 :
对表达式的结果进行判断;
如果表达式1为true,执行语句1;
如果表达式2为true,执行语句2;
如果表达式1,2为false,执行语句3。
(2)嵌套if控制语句
在一个if语句中又包含了一个if语句
if(表达式1){
if(表达式2){
语句1
}else{
语句2
}
}else{
if(表达式3){
语句3
}else{
语句4
}
}
执行步骤:
对表达式1的结果进行判断;
如果表达式1的结果为true,再对表达式2进行判断,如果为false,执行语句2,如果为true,执行语句1;
如果表达式1的结果为false,再对表达式3进行判断,如果为true,执行语句3,如果为false,执行语句4。
(3)switch语句
用于实现多分支的选择结构。在某些情况下可以和if语句相互替代。
switch(表达式){
case 常量1:
语句1;
break;
case 常量2:
语句2;
break
······
default:
语句3;
break;
}
语法解析:
switch,case,default,break是关键字;
case从上到下依次与表达式进行匹配;
break用于终止switch的执行;
case后如果没有break,程序将会继续执行,直到遇见break或者switch循环结束;
default是可选性,当条件都不符合时,执行default的语句;
JDK7.0及以后的版本中,switch后面的表达式支持int,short,byte,char,枚举类型,String类型;JDK7.0之前的版本不支持String类型。
③循环结构: 通过 while、do while、for来实现循环结构。JDK1.5新增了foreach循环 ,根据判断条件来重复性的执行某段代码。
(1)while循环结构
循环变量初始化;
while(循环条件){
循环体
}
语法规则解析
关键字while后面的小括号里面是循环条件
循环条件是一个布尔类型的表达式,值为true执行循环体,值为false时终止循环。
大括号中的语句是循环体
while先判断条件是否成立,再决定是否执行循环体。如果第一次循环时条件为false,那么一次也不会循环。
(2)do-while循环结构
循环变量初始化
do{
循环体
}while(循环条件);
语法规则解析
do-while循环以do开头
大括号中是循环体
关键字while后面的小括号里面是循环条件
do-while先执行一遍循环体,再判断条件是否成立,如果第一次循环时条件为false,那么至少也循环了一次。
(3)for循环结构
for(表达式1;表达式2;表达式3){
循环体
}
1、先执行表达式1;
2、再执行表达式2;
3、如果表达式2的结果为true,执行循环体;如果为false,循环结束;
4、循环结束后执行表达式3;
5、表达式3执行完后执行第二步。
语法规则解析
for循环以关键字for开头
大括号中是循环体
表达式1是循环变量初始化,表达式2是循环条件,表达式3是改变循环变量的值。
无论循环多少次,表达式1都只执行一次
(4)多重循环
指在一个循环语句的循环体中还有另外一个循环,也称嵌套循环。
while(循环条件){
循环语句1
for( ;;){
循环语句2
}
}
语法规则解析
while循环时外循环 ,for循环是内循环
外循环每循环一次,内循环就要从头到尾的循环一次
while循环、do-while循环、for循环都可以互相嵌套。
循环嵌套的时候可以给循环命名
命名之后可以通过控制语句,如 continue、break来控制循环跳出操作
使用方法如下:
outer: for(){
inner: for(){
}
}
continue [循环名称];
循环名称不写,默认是当前循环,
如果写上循环名称,表示操作指定循环名称循环
eg: continue outer; 表示结束 outer 的本次循环
今日总结:
晚自习总结了一下知识点,做了书上的练习题,在嵌套循环之前都比较轻松,做到嵌套循环时,就要看着书上的代码才能勉强完成。
近期评论