条件选择结构if写法及特点

1. if简单语法结构

if(判断条件){

满足 判断条件(true),就执行此大括号里面的内容

}

if(判断条件){

满足 判断条件(true),就执行此大括号里面的内容

}

if(判断条件){

满足 判断条件(true),就执行此大括号里面的内容

}

注意:没有写在一起的if结构相互之间,不互斥

2. else if语法结构

if(判断条件A){

满足 判断条件A(true),就执行此大括号里面的内容,后面的else-if不执行

}else if(判断条件B){

满足 判断条件B(true),就执行此大括号里面的内容

}else if(判断条件A){

满足 判断条件A(true),就执行此大括号里面的内容,后面的else-if不执行

}else if(判断条件B){

满足 判断条件B(true),就执行此大括号里面的内容

}

注意:

1. else if可以写多个

2. 写在一起的if结构相互之间互斥

3. else 语法结构

if(判断条件A){

满足 判断条件A(true),执行此大括号内部内容,后面的else-if及else不执行

}else if(判断条件B){

满足 判断条件B(true),执行大括号里面的内容,后面的else-if 及else不执行

} else if(判断条件C){

满足 判断条件C(true),就执行此大括号里面的内容,后面的 else 不执行

}else{

前面的if esle-if 都不满足条件(false),执行此大括号里面的内容

}

3.1 switch语法结构

switch(x){//x是 变量或者一个表达式:该值的类型,java规定的类型

case 变量的可能值1: 功能语句;break;

case 变量的可能值2: 功能语句;break;

case 变量的可能值3: 功能语句;break;

........

default:功能语句;break;

}

switch特殊的一些情况

1. case后面的值应该和变量的类型一致;

2. 执行顺序,是先依次找完所有的case值进行匹配,如果都不匹配才会执行default

3. case的顺序(包括default) 可以是任意的,但是建议先按照case的值的大小顺序排列,default放最后

4. break的作用,结束当前的这个switch结构

① 从第一个匹配的条件开始,到第一个break之间的所有case判断失效

② 在执行功能语句时,如果到末尾都没有break,自动结束,不会再循环回去。

③ 最后一个break 可以省略掉,但是建议还是写上

5. 遇到第一个break结束结构特点示例:春夏秋冬的例子?

6. switch中的()中的变量地方类型可以是哪些?

java5之前 : byte short char int

java5支持 : enum枚举 (面向对象部分学习了之后回头测试)[百度]

java7支持 : String 类型

5.1 while简单语法格式:

while(条件(布尔类型的)){

// 循环体à具体做什么事情

}

5.2 基本语法while执行流程

1. 一个循环可能会循环执行多次

1) 第一次判断条件true,继续执行

2) 第二次判断条件true,继续执行

3) 第三次判断条件true,继续执行

4) 。。。。。

5) 直到第n次判断条件false,终止循环

2. 为什么第一次 第二次是true ......... 第n次就是false?

定义一个整数的变量记录循环的次数

循环一次,自增一次

根据次数进行判断

5.3 常用while语法应用

常用语法结构

int i = 0;//A循环初始化语句

while( i<=10 ){//B循环判断语句

// 循环体à具体做什么事情//C循环功能语句

i++;//D循环后语句

}

5.4 while执行流程及应用示例

1)

A ----->只会执行一次

B ----->true---->C---->D

B ----->true---->C---->D

B ----->true---->C---->D

.......

B ----->false 循环结束

2) 写一段代码计算1-10的和。

① 传统的做法

1+2+3+4+5+6+7+8+9+10

如果要求计算1-100 , 1-1000 这样写是否合理?

② 使用while循环

1.可以动态的获得每一个加数

2.使用while循环,每循环一次,把取到的加数累加起来

3.在循环的外面定义一个变量用来放计算的和的值

6.1 语法格式

do{

// 循环体

}while(条件);

6.2 do-while

1. 首先执行do结构体里面的功能代码一次

2. 第一次判断while()结果为ture

3. 执行do循环体.......

4. 第二次判断while()结果为ture

5. 执行do循环体.......

6. .......

第n次判断

1. for基本用法[掌握]

7.1 语法格式:

for(初始A;条件判断B;循环后操作C){

//循环体C

}

for的执行流程:

初始化语句会执行一次;只会执行一次

l 整个for循环结构中的 A 只会执行一次

循环第一次:AàB(true)àDàC

第二次: B(true)àDàC

第三次: B(true)àDàC

第n次: B(false) 结束整个循环

什么是嵌套循环

概念:循环嵌套 循环里面还有循环,可以嵌套多层,不同的循环结构相互之间也可以嵌套。

for(){

for(){

for(){

}

}

}

8.2 循环嵌套应用举例

①要求打印五行星星如下格式:允许每次打印五课“*****”;

*****

*****

*****

*****

*****

步骤:

1. 写上相同的5个 System.out.println(“*****”);

2. 优化上面的代码,使用一个执行5次的循环,循环主体:System.out.println(“*****”)

②要求打印如上五行星星,要求每次只能打印一颗星星:”*”

步骤:

3. 希望一个一个的打印*(想想在控制台怎么实现单个打印*)

4. 使用循环优化上面的代码

class ForDaXingXingDemo {
 public static void main(String[] args) {
 //外层for循环控制打星星的行数
 for(int i = 1; i <= 5 ;i++){
 for(int j = 1;j<=5;j++){//控制每行打星星的数量
 System.out.print("*");//一次打印一颗,没打印一颗不换行
 }
 System.out.println();//每打完一行星星就换行一次
 }
 }
}

1. 循环控制语句[掌握]

9.1 break

l 4.1 break:表示终止当前当层循环

1) 循环10次,打印计数器i的值

2) 假设当遇到i的值是4的时候,终止整个循环

3) 每一次循环,都应该判断的值是否是4,如果是,执行一个break;

4) 怎么测试终止当前这一层的循环体

a. 使用嵌套循环测试

b. 给循环添加标签(名字)

c. 语法:用break 名字; ---> 结束外层循环

d. 结束当前循环体的循环结构(标签名字必须符合Java中标识符的命名规则)

test:for(int i = 1 ; i <= 5 ; i++){
 for(int j = 1 ; j <= 5 ; j++){
 System.out.println("j" + j);
 if(j==3){
 break test;
 }
 }
 }

4.1.1 break练习

①求出100以内前5个2的倍数的数字


9.2 continue

l continue 跳过本次循环,继续下一次循环

场景:一周每天重复做的事情就是 :打代码

但是第5天不想打代码,第6 和第7天仍然继续打代码,怎么实现?

l 4.2.1练习

1) 计算出1—20之间所有不能被3整除的整数,的总和 大于(或等于)100的第一个数字

for(){
 //判断能被3整除 ,跳过当层循环继续下一次循环
 if(a%3==0){
 continue; 
 }
//求总和sum
 sum+=i;
 //再有一个判断sum大于(或等于)100 用break 终止循环
 if(sum>=100){
 //打印sum i
 break;
 }
}

9.3 return

l return

1. return 表示结束当前的方法,