Loading

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循环
posted @ 2019-09-12 16:46  yonugleesin  阅读(589)  评论(0编辑  收藏  举报