Day3 分支结构和循环结构

流程控制分类

  • 顺序语句:从上到下按顺序依次执行
  • 分支语句:根据条件不同,执行不同语句
  • 循环语句:重复执行某些动作

单分支条件判断语句

条件语句

  只是单独的判断条件是否成立

if选择结构是根据条件判断之后再做处理

语法

if(布尔表达式)
{
   //如果布尔表达式为true将执行的语句
}

注意:条件必须是boolean类型
if只带一条语句可以省略{}

双分支条件判断语句

if...else...需要对条件成立和不成立的情况分别处理

if 语句后面可以跟 else 语句,当 if 语句的布尔表达式值为 false 时,else 语句块会被执行。

语法

if(条件){
   //代码块1
}else{
   //代码块2
}

多分支条件判断语句

if...else if...else 语句

语法

if(布尔表达式 1){
   //如果布尔表达式 1的值为true执行代码
}else if(布尔表达式 2){
   //如果布尔表达式 2的值为true执行代码
}else if(布尔表达式 3){
   //如果布尔表达式 3的值为true执行代码
}else {
   //如果以上布尔表达式都不为true执行代码
}

注意:多个条件用多个 else if,而if只能有一个;
      else可以省略,表示以上条件都不成立执行else
      if,else if,else只带一条语句可以省略{}

String类型比较字符串相等的方法 

字符串1.equals("字符串2");//相等 true 不相等false
== 判断的是内存地址,是否为同一对象,不是字符串值。

int num2 = input.nextInt();
boolean flag = num2.equals("+");

switch语句

switch 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。

语法

witch(expression){
    case value :
       //语句
       break; //可选
    case value :
       //语句
       break; //可选
    //你可以有任意数量的case语句
    default : //可选
       //语句
}

switch和多重if的区别

【1】switch只能进行等值的条件判断;多重if可以判断任何情况,但多用于范围的判断;

【2】同样都是等值的判断,switch效率要高一些

switch注意:

【1】支持标签堆叠:空标签罗列在一起

【2】多个条件判断可以有多个case标签

【3】default:标签可以省略

【4】break;结束switch不加 继续执行;

【5】表达式的类型与值的类型要一致,只能是byte,short,int,char,String,枚举

 1 package test;
 2 
 3 import java.util.Scanner;
 4 
 5 public class Test {
 6     public static void main(String[] args) {
 7         Scanner input = new Scanner(System.in);
 8         System.out.println("输入一个月份:");
 9         int month = input.nextInt();
10         switch(month) {        
11             case 3:
12             case 4:
13             case 5:
14                 System.out.println("春天");
15                 break;
16             case 6:
17             case 7:
18             case 8:
19                 System.out.println("夏天");
20                 break;
21             case 9:
22             case 10:
23             case 11:
24                 System.out.println("秋天");
25                 break;
26             case 12:
27             case 1:
28             case 2:
29                 System.out.println("冬天");
30                 break;
31             default:
32                 System.out.println("输入的月份不正确!");
33         }
34         System.out.println("Game Over!");
35     }
36 }
View Code

分支语句嵌套

if(条件1){

   if(条件2){
      代码块;
   }
}

注意:只有外层 条件1 成立true,才能进行内层 条件2 的判断。

循环语句

循环:重复执行的操作。
特点:循环条件
循环操作

分类:
非固定次数循环
while
do - while

固定次数循环
for

非固定次数循环

while(条件){
  循环体;//循环操作

}

特点:先进行条件判断,后执行循环操作。
解决循环次数固定的问题:
三要素:1.循环变量的初值;
    2.循环变量的终止值(条件)
    3.循环变量变化的值(迭代,增量)

解决非固定次数问题:
解题方法:1.确定循环条件
     2.确定循环体;

do-while循环

do{
  循环体;
}while(循环条件);

注意:先执行,后判断条件;

固定次数循环

for(初值;条件终止值;增量){
   循环操作;
}

注意:先条件判断
支持逗号表达式

跳转语句

break

【1】用在switch和循环中

【2】用在单层循环中,用来结束循环 

continue

【1】continue语句用来结束本次循环

【2】用在循环语句中

  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2017-12-15 17:22  扎心了,老铁  阅读(1336)  评论(0编辑  收藏  举报