栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java的选择结构

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java的选择结构

选择结构 if单选择结构

在编写代码时需要判断一段代码是否可行,然后才能去执行,这一过程在程序里面用if语句来表示

public class Mite6 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
       if(布尔表达式) {
    	   //如果表达式结果为true就执行
       }
	}

}

例子:

import java.util.Scanner;
public class mite3 {
public static void main(String[] args) {
	Scanner scanner = new Scanner(System.in);
	
	
	System.out.println("请输入数据");
	//暂时不需要判断接受是否有字符串接受
	
	String str = scanner.nextLine();//定义一个实例变量来 接收数据
	//equals是用来判断字符串是否相等
	if (str.equals("Hello.Word")) {
		System.out.println(str);//如果布尔表达式为true这行代码就成立,不成立就不执行
	} 
	System.out.println("end");

		
	
		
	
	scanner.close();
}
}

if双选择结构

如果一个选择无法满足就就用双选择结构具有两个判断

if-else结构

if (布尔表达式) {
    System.out.println("");
    //如果布尔表达式为true,则输入这行
}else{
    System.out.println("");//如果布尔表达式为false则输入这行
}
if多选择结构

当然很多情况下if双选择结构无法满足需求就出现了多选择结构就是在if-else中加上else-if

if (布尔表达式1) {
   System.out.println("");
    //如果布尔表达式为true,则输入这行
}else if(布尔表达式2){
    System.out.println("");//如果布尔表达式为true则输入这行
}else if(布尔表达式3){
    System.out.println("");//如果布尔表达式为true则输入这行 
}else{
    System.out.println("")//以上都不是则输入这行
}
注意:

在if的多选择结构下一但其中的else-if检测为true则其他else-if语句就跳过

嵌套的if结构

if嵌套是可以在另一个if或else-if使用if或者else-if

if (布尔表达式) {
    System.out.println("");
    //如果布尔表达式为true,则输入这行
}if{
    System.out.println("");//如果布尔表达式为true则输入这行
}
switch多选择结构

switch也是一个多选择结构

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

执行这个case语句会进行先匹配,如果匹配成功就返回当前case的值否则就继续对下面进行匹配,会根据是否有break判断是否输出

switch(expression) {
    case 值1:
        语句组1
    case 值2:
        语句组2
    case 值3:
        语句组3 
    case 值4:
        语句组4
            default:
        语句组
}
注意

switch语句变量的类型int,byte,short,char和String类型

还有一种枚举类型,不能是long和其他类型

每个case后面只能跟一个int,byte,short,char和String类型

,枚举类型

default可以省略

表达式可以是字符串

例子

执行这个case语句会进行先匹配,如果匹配成功就返回当前case的值否则就继续对下面进行匹配,会根据是否有break判断是否输出

public class Mite7 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//case具有穿透性,switch其实就是匹配一个值
       char grade = 'C';
       switch(grade) {
       case 'A':
    	   System.out.println("优秀");
       case 'B':
    	   System.out.println("良好");
       case 'C':
    	   System.out.println("中等");
       case 'D':
    	   System.out.println("及格");
    	default:
    		System.out.println("成绩有问题");
    	   
       }
	}

}

输出:

中等
及格
成绩有问题

而加上break

public class Mite7 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//case具有穿透性,switch其实就是匹配一个值
       char grade = 'C';
       switch(grade) {
       case 'A':
    	   System.out.println("优秀");
    	   break;
       case 'B':
    	   System.out.println("良好");
    	   break;
    	  
       case 'C':
    	   System.out.println("中等");
    	   break;
       case 'D':
    	   System.out.println("及格");
    	   break;
    	default:
    		System.out.println("成绩有问题");
    	   
       }
	}

}

输出:

中等

if和switch的区别就是if来判断一个区间更方便而switch则是来匹配一个具体的值更方便

public class Mite4 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
String name = "张三";
switch(name) {
case "张三":
	System.out.println("张三");
	break;
case "李四":
	System.out.println("李四");
	break;
case "王二":
	System.out.println("王二");
	break;
case "麻五":
	System.out.println("麻五");
	break;
default:
	System.out.println("无名");
   
}


                                                               


	}

}

switch在jdk7后面表达式的结果可以用字符串其实也不难理解因为字符的本质还是数字只不过是用Unicode编码来完成的

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/672986.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号