Java中的条件选择结构—if和switch

1、什么是条件选择

举例: 加个条件 打印一句话。
对条件判断【一个条件的结果:true:false】
执行判断结果,所想要处理的代码

class Test {
	public static void main(String[] args) {
		int a=1;//声明变量a并赋值
		int b=2;//声明变量b并赋值
		if (a>b){//if条件格式
			System.out.println("我请大家吃大餐");//功能语句
		}else{
			System.out.println("这是一个骗局");//上面如果不成立就执行此语句
		}
	}
}

这就是一个条件选择情况,结果为Boolean类型

2、if条件选择

2.1if条件选择的结构

if (判断条件){
满足 判断条件(true),就执行此大括号里面的内容
}
if (判断条件){
满足 判断条件(true),就执行此大括号里面的内容
}
if (判断条件){
满足 判断条件(true),就执行此大括号里面的内容
}
注意:没有写在一起的if结构相互之间,不互斥
我们来举一个例子,三个数的进行比较:

class Test {
	public static void main(String[] args) {
		int a=1;//声明变量a并赋值
		int b=2;//声明变量b并赋值
		int c=4;//声明变量c并赋值
		if (a>b){//if条件格式
			System.out.println("我请大家吃大餐");//功能语句
		}
		if(b>c){
			System.out.println("这是一个骗局");//上面如果不成立就执行此语句
		}
		if(c>a){
			System.out.println("这是真的");//条件满足,执行大括号的代码块
		}
	}
}

2.2else 语法结构

if(判断条件A){
满足 判断条件A(true),执行此大括号内部内容,后面的else-if及else不执行
}else if(判断条件B){
满足 判断条件B(true),执行大括号里面的内容,后面的else-if 及else不执行
} else if(判断条件C){
满足 判断条件C(true),就执行此大括号里面的内容,后面的 else 不执行
}else{
前面的if esle-if 都不满足条件(false),执行此大括号里面的内容
}
这个例子在介绍什么是条件格式的时候就出现过,只不过这里增加了elseif,那么我们还是来看一下例子:
小明java 考试成绩 按等级分A B C D ,判断变量值在不同的范围的,打印输出不同的等级
90~100 A等
80-89 B等
70-79 C等
60-69 D等
60以下 E等

class Test {
	public static void main(String[] args) {
		int score=80;//定义一个成绩
		if (score<60){//if条件格式
			System.out.println("E等");//满足条件执行此语句
		}else if (score>=60&score<=69){
			System.out.println("D等");
		}else if (score>=70&score<=79){
			System.out.println("C等");
		}else if (score>=80&score<=89){
			System.out.println("B等");
		}else if (score>=90&score<=100){
			System.out.println("A等");
		}else {//除开上面的范围执行下面这个语句
			System.out.println("成绩错误");
		}
	}
}

3、 switch条件选择

3.1语法结构

switch(x){//x是 变量或者一个表达式:该值的类型,java规定的类型
case 变量的可能值1: 功能语句;break;
case 变量的可能值2: 功能语句;break;
case 变量的可能值3: 功能语句;break;

default:功能语句;break;
}
来做个示例:根据不同星期打印做不同的事情

class Test {
	public static void main(String[] args) {
		int week = 5;//表示周五
		switch(week){//这是写的是一个变量或者表达式,这里表示一周
		case 1 :System.out.println("爱学习");break;//周一的事情,如果成立,那么打印这个句子,break终止
		case 2 :System.out.println("学习使我感到快乐");break;
		case 3 :System.out.println("学习从来没有这么快乐过");break;
		case 4 :System.out.println("遇到志同道合的同学");break;
		case 5 :System.out.println("在一起");break;
		case 6 :System.out.println("洗澡睡觉");break;
		case 7 :System.out.println("一起走向幸福人生:巅峰");break;
		default:System.out.println("遇到老王变了心");break;//前面的都不满足的时候,那么执行此句
	}
}
}

3.2switch特殊的一些情况

1、执行顺序,是先依次找完所有的case值进行匹配,如果都不匹配才会执行default
2、case后面的值应该和变量的类型一致
3、case的顺序(包括default) 可以是任意的,但是建议先按照case的值的大小顺序排列,default放最后
4、 break的作用,结束当前的这个switch结构
(1)从第一个匹配的条件开始,到第一个break之间的所有case判断失效
(2)在执行功能语句时,如果到末尾都没有break,那么自动结束,不会再循环回去
(3)最后一个break 可以省略掉,但是建议还是写上
5、switch中的()中的变量地方类型可以是哪些?
java5之前 : byte short char int
java5支持 : enum枚举 (面向对象部分学习了之后回头测试)[百度]
java7支持 : String 类型

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值