欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java基础之分支语句(if,switch)

程序员文章站 2022-04-21 10:35:26
代码语句可以分为:顺序语句,分支语句和循环语句顺序语句,顾名思义就是自上向下依次执行。今天我们主要讲讲分支语句,分支语句有if结构和switch结构1.if结构语句if结构语句有三种表达形式,我们一个一个来看1.只有if的结构。if(表达式){当表达式为真时,执行此处代码;}2.if-else结构if(表达式){当表达式为真时,执行此处代码;}else{当表达式为假时,执行此处代码;}3.if-else if-else结构if(表达式1){当表达式1为真...

代码语句可以分为:顺序语句,分支语句和循环语句
顺序语句,顾名思义就是自上向下依次执行。
今天我们主要讲讲分支语句,分支语句有if结构和switch结构

1.if结构语句

if结构语句有三种表达形式,我们一个一个来看
1.只有if的结构。

if(表达式){
		当表达式为真时,执行此处代码;
}

2.if-else结构

if(表达式){
		当表达式为真时,执行此处代码;
}else{
		当表达式为假时,执行此处代码;
}

3.if-else if-else结构

if(表达式1{
		当表达式1为真时,执行此处代码;
}else if(表达式2{
		当表达式2为真时,执行此处代码;
}else if(表达式3{
		当表达式3为真时,执行此处代码;
}
......
else{
		以上条件都不满足时,执行此处代码;
}

注意:如果if后面只有一条语句,那么大括号可以省略,所以在网上看到没有大括号的if语句不要惊讶,这个是正常操作,但是不建议这么写,影响代码整体的可阅读性。
以上就是if结构的一些基本的写法,掌握好了这些以后,我们就可以进行深一点层次的使用,比如说嵌套,在if语句里面,嵌套if语句。举个例子:

/**
*		运用if结构简单的模拟一下登录操作
*		1.欢迎用户
*		2.提示用户输入账号
*		3.判断账号是否为空
*		4.提示用户输入密码
*		5.判断密码是否为空
*		6.判断账号密码是否正确
*		7.登陆成功
*/
import java.util.Scanner;
public class IfDemo{
	public static void main(String[] args){
		System.out.println("欢迎您!");
		System.out.print("请输入您的账号:");
		Scanner sca = new Scanner(System.in);
		//用户键盘输入账号
		String userName = sca.next();
		//进行判断userName是否为空
		if(userName.equals("")){
			System.out.println("账号不能为空");
		}else{
			System.out.print("请输入您的密码:");
			//用户键盘输入密码
			String password = sca.next();
			//进行判断password是否为空
			if(password.equals("")){
				System.out.println("密码不能为空");
			}else{
			//因为没有数据库存储,姑且先把账号,密码的值给定义死了
			//进行判断userName是否为”admin“,且密码是否为”123“
				if(userName.equals("admin") && password.equals("123")){
					System.out.println("登陆成功!");
				}
				else{
					System.out.println("您的账号密码不匹配");
				}
			}
		}
	}
}

这里大家可能有一个问题,判断userName的值的时候,为什么不用“= =”,这就涉及到一个小知识点了,如果是基本数据类型的话,通常可以使用“= =”来进行判断,“= =”判断的两边的存储地址,而上述代码userName是String类型,所以我们要用”equals“来进行判断,“equals”进行判断是两边的字符是否一致。

2.switch结构语句

switch(变量){
	case 常量1 :
		当变量与常量1相同时,执行此处代码;
	break;
	case 常量2 :
		当变量与常量2相同时,执行此处代码;
	break;
	case 常量3 :
		当变量与常量3相同时,执行此处代码;
	break;
	......
	default :
		当变量与以上常量都不相同时,执行此处代码;
	break;
}

注意:1.常量值不能相同 ;2.break的含义为:跳出当前代码块,如果不添加break,那么代码会顺序执行,直到最后的default。3.case后面的语句部分可以有一条或多条语句(也可以没有,没有的话,顺序往下执行);
例如:

/**
*		使用switch模拟输入月份,返回是什么季节
*		1.欢迎用户
*		2.提示输入月份
*		3.根据输入的月份判断是什么季节
*		4.返回是什么季节
*		5.over
*/
import java.util.Scanner;
public class SwitchDemo{
	public static void main(String [] args){
		System.out.println("欢迎光临");
		System.out.print("请输入月份:");
		Scanner sca = new Scanner(System.in);
		String month = sca.next();
		switch(month){
			case "1": System.out.println(month+"月是春季");
			break;
			case "2": System.out.println(month+"月是春季");
			break;
			case "3": System.out.println(month+"月是春季");
			break;
			case "4": System.out.println(month+"月是夏季");
			break;
			case "5": System.out.println(month+"月是夏季");
			break;
			case "6": System.out.println(month+"月是夏季");
			break;
			case "7": System.out.println(month+"月是秋季");
			break;
			case "8": System.out.println(month+"月是秋季");
			break;
			case "9": System.out.println(month+"月是秋季");
			break;
			case "10": System.out.println(month+"月是冬季");
			break;
			case "11": System.out.println(month+"月是冬季");
			break;
			case "12": System.out.println(month+"月是冬季");
			break;
			default: System.out.println("查地球没有此月");
		}
		System.out.println("over");
	}
}

注:switch不能判断区间,只能判断值是否相同
还有一个小知识点:java1.7以下版本不支持判断字符串,只能对基本数据类型进行判断
java1.7及以上版本支持字符串

感谢大家观看!

本文地址:https://blog.csdn.net/qq_43336579/article/details/107693831

相关标签: java switch