java基础--选择结构

java选择结构一共分为两个大类

1、if语句
2、switch语句

一、if-else条件判断结构

1、单if格式:

if(条件语句){
	语句块;
}

int num = 1;
if(num = 1){
	System.out.println("num = " + num);  //1
}

2、if-else语句格式:

if(条件语句){
	语句块1:一般为true结果
}else{
	语句块2:一般为false结果
}

int num = 1;
if(num = 2){
	System.out.println("num = " + num);  //1
}else{
	System.out.println("******");  //******
}

3、if-else if-else多条件分支语句格式:

//例:
if(条件){
​	//代码1:条件1为true时运行
}else if(条件2){
​	//代码2:条件1为false、条件2为true
}else if(条件3){
​	//代码3:条件1、2为false,条件3为true
}else{
​	//代码4:条件1、2、3都为false
}

int score == 66;
if(score == 100){
	System.out.println("******");
}else if(score >=60 && score <=80){
	System.out.println("------");
}else if(score > 80 && score <=99){
	System.out.println("^^^^^^");
}else{
	System.out.println("~~~~~~");  //------
}

多个表达式之间没有交集(互斥关系),对表达式顺序没有特别要求,如上所示。
但若多个表达式之间是包含关系,则需要将范围小的条件表达式声明在范围大的条件表达式上面。

4、嵌套的if语句

//如:比较num1、num2、num3大小,并从小到大输出

import java.util.Scanner;

public class SwitchCaseTest {   
	public static void main(String args[]) {
		Scanner input = new Scanner(System.in);
		System.out.println("请输入第一个数");
		int num1 = input.nextInt();

		System.out.println("请输入第二个数");
		int num2 = input.nextInt();

		System.out.println("请输入第三个数");
		int num3 = input.nextInt();

		if (num1 >= num2){
			if (num3 >= num1){
				System.out.println(num2 + "," + num1 + "," + num3);
			}else if (num3 <= num2){
		        System.out.println(num3 + "," + num2 + "," + num1);
		    }else{
		        System.out.println(num1 + "," + num3 + "," + num2);
		    	}
		}else {  // num1 < num2
		        if (num3 >= num2){
		        	System.out.println(num1 + "," + num2 + "," + num3);
		         }else if (num3 <= num1){
		            System.out.println(num3 + "," + num1 + "," + num2);
		         }else{
		            System.out.println(num1 + "," + num3 + "," + num2);
				}
			 }
	}
}

二、switich-case结构

1、switch-case语法格式:

switch(){
       case 常量1:
           //执行语句1
           break;
       case 常量2:
           //执行语句2
           break;
       ...
       default:
           //执行语句2
           break;
 }

①、switch-case结构根据表达式中的值,依次匹配case语句,当与case中的常量相等,执行该case语句。

②、执行break关键字时,跳出当前switch-case结构,若无break关键字则继续执行所有case的执行语句直至遇到break或者执行完default中的语句。

③、switch中的表达式只能是特定的数据类型。如:byte \ short \ char \ int \ 枚举 \ String()

④、case后跟的都是常量,使用表达式与这些常量做相等的判断,不能进行范围的判断

⑤、switch-case结构都可以改写成if-else,反之不行。

import java.util.Scanner;

public class SwitchCaseTest {   
	public static void main(String args[]) {
		Scanner input = new Scanner(System.in);
		System.out.println("请输入num的值:");
		int num = input.nextInt();
		switch(num) {
		case 1 :
			System.out.println("值为111");
			break;
		case 2:
			System.out.println("值为222");
			break;
		case 3:
			System.out.println("值为333");
			break;
		default:
		System.out.println("其它");
	}
	}
}

结果如下图所示
在这里插入图片描述

2、switch-case可以利用穿透性,同时执行多个分支

//使用switch-case实现,对成绩大于60分的,输出”合格“,低于60分,输出”不合格“
//默认范围[0,100]

import java.util.Scanner;

public class SwitchCaseExer01 {
	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		System.out.println("请输入考试分数:");
		int score = input.nextInt();

		switch (score / 10){
			case 0:
			case 1:
			case 2:
			case 3:
			case 4:
			case 5:
				System.out.println("不及格");
				break;
			case 6:
			case 7:
			case 8:
			case 9:
			case 10:
				System.out.println("及格");
				break;
			default:
				System.out.println("成绩输入有误");
				break;
			}
			input.close();
	}
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值