java编程中if语句的分类(一文掌握java的if语句)
java编程中if语句的分类(一文掌握java的if语句)BMI的计算公式是 体重(kg) / (身高*身高)使用Scanner收集你的身高体重,并计算出你的BMI值是多少1.1、单分支if(判断语句){ //满足 则执行的代码块 }else{ //不满足判断语句时 执行的代码块 }1.2、多分支if(判断语句1){ //满足判断语句1 执行的代码块 } else if(判断语句2){ //不满足判断语句1 满足判断语句2 执行代码块 } else{ //既不满足语句1 也不满足语句2 执行的代码块 }2、实例--BMI计算
概述同其他编程语言一样,Java也支持逻辑判断语句(也可以叫做选择语句),具体表现为对当前指令进行判读,符合条件则执行,不符合则直接舍去。在Java中的逻辑判断语句有if语句和switch语句两种。
基础篇,仅记录用。
一、java的if语句
1、语法相关
java中if语句:用于判断 可以单分支 也可以多分支
1.1、单分支
if(判断语句){
//满足 则执行的代码块
}else{
//不满足判断语句时 执行的代码块
}
1.2、多分支
if(判断语句1){
//满足判断语句1 执行的代码块
}
else if(判断语句2){
//不满足判断语句1 满足判断语句2 执行代码块
}
else{
//既不满足语句1 也不满足语句2 执行的代码块
}
2、实例--BMI计算
使用Scanner收集你的身高体重,并计算出你的BMI值是多少
BMI的计算公式是 体重(kg) / (身高*身高)
比如邱阳波的体重是72kg 身高是1.69,那么这位同学的BMI就是
72 / (1.69*1.69) = ?
然后通过条件判断BMI的范围,打印出是超重还是正常
》》代码实现
import java.util.Scanner;
public class HelloBMI {
public static void main(String [] args) {
Scanner s = new Scanner(System.in);
//身高m
System.out.println("请输入你的身高(单位为m):");
float height = s.nextFloat();
//体重kg
System.out.println("请输入你的体重(单位为kg):");
float weight = s.nextFloat();
float bmi = weight/(height*height);
System.out.println("您当前的BMI指数为:" bmi);
if (bmi < 18.5)
System.out.println("不好意思,您的体重过轻!请多吃肉");
else if (bmi < 24)
System.out.println("恭喜您,您的体重正常!请继续保持");
else if (bmi <27)
System.out.println("您的体重过重!请多锻炼");
else if (bmi < 30)
System.out.println("您现在轻度肥胖!请少吃并多加锻炼");
else if (bmi < 35)
System.out.println("您现在中度肥胖!请一定要重视,每天锻炼");
else
System.out.println("您目前体重严重超标,请听医生的话积极减肥");
}
}
二、java的switch语句
switch 语句相当于 if else的另一种表达方式,switch可以使用byte short int char String enum
1、语法相关
witch(表达式){
case 表达式常量1:语句1;
break;
case 表达式常量2:语句2;
break;
......
case 表达式常量n:语句n;
break;
[default:语句n 1;]
}
其中,一个case表达式常量成为标号,代表一个case分支的入口。switch语句在运行时首先计算switch圆括号中“表达式”的值,这个值必须是整型或字符型的,同时后面各个case表达式常量的值的类型应与switch圆括号中“表达式”的值类型一致。一个case语句代表一个指定操作,然后转向结构出口。default子句是可选的,当表达式的值与case表达式常量的值都不匹配时,就运行default子句,转向结构出口。
注: 每个表达式结束,都应该有一个break;
注: String在Java1.7之前是不支持的 Java从1.7开始支持switch用String的,编译后是把String转化为hash值,其实还是整数
2、实例--判断周几
public class weekDemo {
public static void main(String[] args) {
//如果使用if else
int day = 5;
if (day==1)
System.out.println("星期一");
else if (day==2)
System.out.println("星期二");
else if (day==3)
System.out.println("星期三");
else if (day==4)
System.out.println("星期四");
else if (day==5)
System.out.println("星期五");
else if (day==6)
System.out.println("星期六");
else if (day==7)
System.out.println("星期天");
else
System.out.println("这个是什么鬼?");
//如果使用switch
switch(day){
case 1:
System.out.println("星期一");
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("这个是什么鬼?");
}
}
}
3、实例--判断季节
import java.util.Scanner;
public class monthDemo{
public static void main(String args[]) {
System.out.println("请输入月份:");
Scanner s = new Scanner(System.in);
int month = s.nextInt();
switch(month) {
case 3:
case 4:
case 5:
System.out.println("现在是春季");
break;
case 6:
case 7:
case 8:
System.out.println("现在是夏季");
break;
case 9:
case 10:
case 11:
System.out.println("现在是秋季");
break;
case 12:
case 1:
case 2:
System.out.println("现在是冬季");
}
}
}
有兴趣的朋友可以考虑另一个问题:java中if和switch哪个效率快?为什么?