03 JavaSE 之 选择结构

选择结构

几乎所有的编程语言,在实现程序执行流程方面都提供了3种控制结构,分别是顺序,选择和循环。

1 顺序结构

按照代码的编排顺序,从上到下,依次执行。它是编写程序的顺序。
System.out.println("开门");
System.out.println("放大象");
System.out.println("关门");

2 IF 基本结构

语法: if( 条件 ){ 语句块 }

public static void main(String[] args){
		// 创建对象
		Scanner sc = new Scanner(System.in);
		
		// 调用方法
		System.out.println("输入你的年龄");
		int age = sc.nextInt();
		
		// 判断如果 成年可以 上网否则不行
		if(  age>18    ){
			 System.out.println("可以上网");
		}
		System.out.println("Over !!!!"); 
}

3 IF-ELSE 结构

语法: if( 条件 ){ 语句块A }else{ 语句块B }

public static void main(String[] args){
		// 创建对象
		Scanner sc = new Scanner(System.in);
		
		// 调用方法
		System.out.println("输入你的年龄");
		int age = sc.nextInt();
		
		// 判断如果 成年可以 上网否则不行
		if(  age>18    ){
			 System.out.println("可以上网");
        }
		else{
			 System.out.println("年龄不够");
		}
		
		System.out.println("Over !!!!"); 
	}

4 IF-ELSE IF 结构

语法 :

if( 条件 ){

语句块A

}else if(条件){

语句块B

}else{

语句块C

}

public static void main(String[] args){
		// 创建对象
		Scanner sc = new Scanner(System.in);
		System.out.println("输入成绩");
		int score = sc.nextInt();
		 
        if( score<60 ){
            System.out.println("不及格,差");
        }else if( score<80  ){
            System.out.println("及格,中");
        }else if(score<90){
            System.out.println("良好可以更进一步");
        }else{
            System.out.println("优秀");
        }
	  
		System.out.println("over----");
	} 

5 IF 嵌套用法

有时候表示 条件递进关系,可以使用 IF 内部 套用 IF, 表示内层 IF 需要外层IF满足条件下才执行。

	public static void main(String[] args){
		// 创建对象
		Scanner sc = new Scanner(System.in);
		System.out.println("输入成绩");
		int score = sc.nextInt();
		//通过外层IF 排除不合法的输入成绩。
		if( score>=0 && score<=100  ){
			//合法的成绩
			if( score<60 ){
				System.out.println("不及格,差");
			}else if( score<80  ){
				System.out.println("及格,中");
			}else if(score<90){
				System.out.println("良好可以更进一步");
			}else{
				System.out.println("优秀");
			}
		}else{
			//非法的成绩
			System.out.println("输入错误");
		}
		
		System.out.println("over----");
	}

综合案例:计算BMI值

在这里插入图片描述



class BMI{
	
	public static void main(String[] args){
		
		Scanner sc = new Scanner(System.in);
		
		System.out.println("输入体重(kg)");
		double weight = sc.nextDouble();
		
		System.out.println("输入身高(cm)");
		double height = sc.nextDouble();
		height = height/100; // cm换算成m
		 
		//公式 weight/height^2
		
		double bmi = weight / ( height*height);
		 
		//判断
		if( bmi<=18.4){
			System.out.println("偏瘦");
		}else if( bmi>=18.5 && bmi<=23.9){
			System.out.println("正常");
		}else if( bmi>=24.0 && bmi<=27.9){
			System.out.println("过重");
		}else  {
			System.out.println("肥胖");
		}
		 
	}
	
}

Switch 分支结构

语法:

switch( 变量 | 表达式 ){

case 值1: 语句 ;break;

...

case 值1: 语句 ;break;

[default : 语句 ;break;]

}

public class TestSwitch{
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		//退休生活
		System.out.println("输入星期几");
		String day = sc.next();

		switch( day ){
			case "星期一" : 
			   System.out.println("钓鱼"); 
               break; 		   
			case "星期二" : 
			   System.out.println("打麻将"); 
               break; 
			case "星期三" : 
			   System.out.println("爬山"); 
               break; 
			case "星期四" : 
			   System.out.println("坝坝舞"); 
               break; 
			case "星期五" : 
			   System.out.println("洗脚"); 
               break; 
			case "星期六" : 
			      
			case "星期日" : 
			   System.out.println("看电视"); 
               break;  
            default : 
               System.out.println("错误Error");			
		}
		System.out.println("gg");
	}
}

说明:

  1. 程序执行switch语句,使用 变量或者表达式的值 与 每个case 比较,通过等值匹配后 则执行对应case的语句。
  2. 通常每个case 语句后都要 使用 break 来跳出 switch结构,如果没有则会出现case 穿透。
  3. default 是可以省略的,表示如果没有任何case 匹配上,则默认执行default 后的语句。
  4. switch 支持的 类型有 byte short int enum(枚举) String(JDK7开始)

Random 随机数

生成随机数的办法是  
1.导包 Random  
2. Random rd = new Random(); 
3. int num = rd.nextInt(n) n 表示范围 会生成0- (n-1)的整数。
import java.util.Random;
class TestRandom{
	
	public static void main(String[] args){
		
		// 随机数对象
		Random sc = new Random();
		
		// 生成随机数
	    int num	= sc.nextInt( 3 );
		
		// 使用
		System.out.println(num);
		
	}
}

局部变量与全局变量

  1. 局部变量: 定义在方法内部,在方法中有效。
  2. 全局变量: 定义方法外的变量,可以在多个方法中使用。
  3. 如果全局变量和局部变量有重名,方法内部优先使用局部变量。
  4. 同一个作用域变量不可以重名。
public class LocalVariable{
    //定义全局变量		
    static int num=120;		
	static int age=110;		
	public static void main(String[] args){
	     //定义局部变量
		 int age = 10;
		 System.out.println(age);//局部:10
		 if(1>0){
			System.out.println(age); //可以使用 局部:10
		 } 
	}
    //其他方法
	public static void xx(String[] args){
		//System.out.println(age);  //报错可使用
		  System.out.println(num);  //正确 
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值