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 的本次循环

今日总结:

晚自习总结了一下知识点,做了书上的练习题,在嵌套循环之前都比较轻松,做到嵌套循环时,就要看着书上的代码才能勉强完成。

标签

评论

this is is footer