java.分支结构与循环结构

分支结构

1、基本概述
    当需要进行条件判断的时候,并且根据条件是否成立来选择执行某一段代码的时,需要分支结构。
    

if结构

1、语法
    if(条件表达式){
        语句块1; -----多条语句的集合,也可以是一条语句。
    }
        语句块2;
2、执行流程
        判断条件表达式是否成立
            假如条件成立,则执行语句块1,执行语句块2
            假如不成立,则执行语句块2
演示英雄选择
 
import java.util.Scanner;

public class TestIf {
    public static void main(String[] args) {
        System.out.println("1、盲僧  2、劫  3、嘉文");
        System.out.println("请选择:");
        
        Scanner sc = new Scanner(System.in);
        int num = sc.nextInt();
        
        if(num == 1) {
            System.out.println("掌控自己掌控敌人");
        }
        
        if(num == 2) {
            System.out.println("无形之刃最为致命");
        }
        
        
        if(num == 3) {
            System.out.println("犯我德邦者,虽远必诛!");
        }//如果接收的参数没有符合的,则输出下面的语句块2.如果没有语句块2,则不作输出
            System.out.println("超出选择");
    }
}
  

if-else 分支结构

1、语法
    if(条件表达式){
        语句块1;
    }
    else{
        语句块2;
    }
    语句块3
    
2、执行流程
    判断条件是否成立
        若成立,执行语句块1,执行语句块3;
        不成立,执行语句块2,执行语句块3;
演示一个简单的考试成绩判断
 
import java.util.Scanner;

public class TestIfelse {
    public static void main(String[] args) {
        //演示一个简单的考试成绩判断
        System.out.println("请输入您的考试成绩:");
        Scanner sc = new Scanner(System.in);
        int score = sc.nextInt();
        
        if(score >= 60) {
            System.out.println("成绩合格");
        }else {
            System.out.println("不合格");
        }
    }
}
  

if-else if-else分支结构

1、语法
    if(条件表达式1){
        语句块1;
        }else if(条件表达式2){
        语句块2;
        }else{
        语句块3;
        }
        语句块4;
2、执行流程
        判断条件表达式1是否成立
                成立,执行语句块1,执行语句块4
                不成立,判断条件表达式2是否成立
                        成立,执行语句块2,执行语句块4
                        不成立,执行语句块3,执行语句块4
演示一个简单的买购票系统
 
public class TestIfelseIfelse {
    public static void main(String[] args) {
        //提示用户输入身份信息
        System.out.println("请输入您的身份信息:");
        Scanner sc = new Scanner(System.in);
        //使用变量接收身份信息
        String str = sc.next();
        
        if("军人".equals(str)) {
            System.out.println("免票");
        }else if("学生".equals(str)) {
            System.out.println("半票");
        }else {
            System.out.println("全票");
        }       
    }
}
  

swich-case分支结构

1、语法
    swich(){
        case 字面值1:
            语句块;
            break;
        case 字面值2:
            语句块2;
            break;
        default:
            语句块3;
          
    }
        语句块4;
2、执行流程
    计算变量/表达式的数值  判断是否匹配字面值1;
        如果匹配,则执行语句块1,执行语句块4;
        如果不匹配,则判断是否匹配字面值2;
            匹配,则执行语句块2,执行语句块4;
            不匹配,则执行语句块3,执行语句块4;
演示一个简单的买购票系统
 
import java.util.Scanner;

public class SwitchCase {
    public static void main(String[] args) {
        //提示输入身份
        System.out.println("请输入身份:1、军人     2、学生  ");
        
        //接收信息
        Scanner sc = new Scanner(System.in);
        int num = sc.nextInt();
        
        switch(num){
            case 1: 
                System.out.println("军人乘车免票");
                break;
                
            case 2:
                System.out.println("学生乘车半票");
                break;
                
            default:
                System.out.println("群众乘车全票");
                break;
        }
    }
}
  

循环结构

当需要在某个场合进行条件的判断,有所选择的执行一段代码,需要分支结构
当需要在某个场合重复去做某一件事,需要循环结构

for循环

1、语法
    for(初始表达式;条件表达式;修改初始表达式的表达式){
        循环体1;
    }
        循环体2;
2、执行流程
    执行初始表达式=》判断条件表达式是否成立
        成立 执行循环体1=》修改初始条件测表达式=》判断条件表达式是否成立
        不成立 执行循环体2
 注意:
    for(初始表达式;条件表达式;修改初始表达式的表达式){
        循环体1;
    }
    for循环的括号和大括号中声明的变量都叫做块变量,作用域只限于for循环,而再方法中声明的变量称之为局部便变量,作用域包含整个方法 
循环输入5个商品的价格,并计算平均价格
 
public class TestFor {
    public static void main(String[] args) {
        Scanner h = new Scanner(System.in);
        int x=0;
        for(int a=1;a<=5;a++) {
            System.out.println("请输入第"+a+"个商品的价格:");
            int num = h.nextInt();
            x+=num;
        }
        System.out.println("商品总价格为:"+x);//商品总价格为:15
        System.out.println("商品平均价格为:"+x/5);//商品平均价格为:3

    }
}
  

while循环

1、语法
    while(条件表达式){
        循环体;
    }
        语句块

2、执行流程
    判断条件表达式是否成立
        成立,执行循环体 =》判断条件表达式是否成立
        不成立,执行语句块
 3、注意
    while循环和for循环是可以互补的
    while循环通过使用明确循环条件但不明确循环册数的场合中
    for循环通常使用再明确循环次数/范围的场合中使用
    for(;;){} 和 while(true){} 都是表示无限循环的方式
While循环打印1-10
 
public class TestWhile {
    public static void main(String[] args) {
        int i = 0;
        while(i<=10) {
            System.out.println(i);
            i++;
        }
        System.out.println("跳出while循环");
    }
}
  

do-while

1、语法
    do{
        循环体;
    }while(条件表达式);
    语句块;
    
2、执行流程
        执行循环体=》判断条件表达式是否程立
            成立。执行循环体=》判断条件表达式是否成立
            不成立,执行语句块
3、注意
    do-while循环通常使用再至少需要执行一次循环体的场合中,而while循环可以不执行 
do-while打印1-10
 
public class TestDoWhile {
    public static void main(String[] args) {
        int i=1;
        do {
            System.out.println(i);
            i++;
        }while(i<=10);//do-while循环结构在小括号的后面有分号,其他循环则没有      
    }
}
  

三个循环的区别

执行顺序
    while 循环: 先判断,再执行
    do-while循环:先执行,再判断
    for循环;先判断,再执行
适用情况
    循环次数确定的情况,通常选用for循环
    循环次属不确定的情况,通常选用while或者do-while循环

你可能感兴趣的:(java.分支结构与循环结构)