2020.11.1学习收获
BMI指数(英文为Body Mass Index,简称BMI),是用体重千克数除以身高米数的平方得出的数字,是国际上常用的衡量人体胖瘦程度以及是否健康的一个标准
偏瘦:18.5以下、正常:18.5-23.9、超重:≥24、偏胖:24~27.9、肥胖:≥28。如何接受用户键盘录入,可以通过 Scanner 类来获取用户的键盘输入数据。
public class Test2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入身高,单位为米");
double height = sc.nextDouble();//代码执行到这里时,会阻塞等待用户输入数据,如果用户输入合法则自动赋值给变量height。直接回车则继续等待用户输入,如果输入数据不合法则报错
System.out.println("请输入体重,单位为千克");
nextDouble();
double bmi = weight / Math.pow(height, 2);
if (bmi < 18.5)
System.out.println("偏瘦");
else if (bmi < 23.9) //等价于 bmi>=18.5 并且 bmi<23.9
System.out.println("正常");
else {
System.out.println("超重");
if (bmi < 27.9)
System.out.println("偏胖");
else
System.out.println("肥胖");
}
}
}
如何实现接受用户的键盘录入数据
//建立一个变量指向键盘录入
Scanner sc = new Scanner(System.in);
//通过这个变量读取用户键盘录入的数据,如果用户不输入则一直等待,如果输入的数据不是浮点数,则报错
double height=sc.nextDouble();
//变量sc中是Java提供的具体实现方法nextDouble实现从键盘读取一个浮点数,如果要求用户输入int,则方法为nextInt,。。。
短路运算[1星]
int age=100;
char cc='A'; //字符之间的大小比较是通过unicode编码值进行比较
if(cc>='B' || age++<200){
System.out.println("ZZZZZ");
}
System.out.println(age);//?输出101
int age=100;
char cc='A';
if(cc>='B' && age++<200){
System.out.println("ZZZZZ");
}
System.out.println(age);//?输出100,因为短路的原因,导致age++并没有得到执行
int age=200;
char cc='A';
if(cc>='B' || age++<=200){
System.out.println("ZZZZZ");
System.out.println(age);//?输出201
}
赋值运算符
=,+=,-=,*=,/=,%=
short k=3;
k=k+3; //出现了一个语法错误,因为k+3这里的3系统识别为int类型,所以计算时所有数据自动转换为int类型,必然计算结果也是int类型,将int类型的数据赋值给short类型变量----错误
System.out.println(k);
short k=3;
k+=3; //没有语法错误,因为+=这种符号中包含了自动类型转换