how2j.cn

本视频是解读性视频,所以希望您已经看过了本知识点的内容,并且编写了相应的代码之后,带着疑问来观看,这样收获才多。 不建议一开始就观看视频



8分22秒
本视频采用html5方式播放,如无法正常播放,请将浏览器升级至最新版本,推荐火狐,chrome,360浏览器。 如果装有迅雷,播放视频呈现直接下载状态,请调整 迅雷系统设置-基本设置-启动-监视全部浏览器 (去掉这个选项)。 chrome 的 视频下载插件会影响播放,如 IDM 等,请关闭或者切换其他浏览器



示例 1 : if   
示例 2 : 多表达式与一个表达式   
示例 3 : if 使用过程中可能遇到的坑   
示例 4 : if else   
示例 5 : else if   
示例 6 : 练习-BMI   
示例 7 : 答案-BMI   
示例 8 : 练习-闰年   
示例 9 : 答案-闰年   


if(表达式1){
表达式2;
}

如果表达式1的值是true,
就执行表达式2
if
public class HelloWorld { public static void main(String[] args) { boolean b = true; //如果成立就打印yes if(b){ System.out.println("yes"); } } }
public class HelloWorld {
	public static void main(String[] args) {
		
		boolean b = true;
		//如果成立就打印yes
		if(b){
			System.out.println("yes");
		}
		
	}
}
示例 2 :

多表达式与一个表达式

edit
public class HelloWorld { public static void main(String[] args) { boolean b = false; //如果有多个表达式,必须用大括弧包括起来 if(b){ System.out.println("yes1"); System.out.println("yes2"); System.out.println("yes3"); } //否则表达式2 3 无论b是否为true都会执行 if(b) System.out.println("yes1"); System.out.println("yes2"); System.out.println("yes3"); //如果只有一个表达式可以不用写括弧,看上去会简约一些 if(b){ System.out.println("yes1"); } if(b) System.out.println("yes1"); } }
示例 3 :

if 使用过程中可能遇到的坑

edit
在第6行,if后面有一个分号; 而分号也是一个完整的表达式
如果b为true,会执行这个分号,然后打印yes
如果b为false,不会执行这个分号,然后打印yes
这样,看上去无论如何都会打印yes
public class HelloWorld { public static void main(String[] args) { boolean b = false; if (b); System.out.println("yes"); } }
public class HelloWorld {
	public static void main(String[] args) {

		boolean b = false;

		if (b);
			System.out.println("yes");

	}
}
else 代表不成立的情况
if else
public class HelloWorld { public static void main(String[] args) { boolean b = false; if (b) System.out.println("yes"); else System.out.println("no"); } }
public class HelloWorld {
	public static void main(String[] args) {

		boolean b = false;

		if (b)
			System.out.println("yes");
		else
			System.out.println("no");

	}
}
else if 是多条件判断
public class HelloWorld { public static void main(String[] args) { //如果只使用 if,会执行4次判断 int i = 2; if (i==1) System.out.println(1); if (i==2) System.out.println(2); if (i==3) System.out.println(3); if (i==4) System.out.println(4); //如果使用else if, 一旦在18行,判断成立, 20行和22行的判断就不会执行了,节约了运算资源 if (i==1) System.out.println(1); else if (i==2) System.out.println(2); else if (i==3) System.out.println(3); else if (i==4) System.out.println(4); } }
基于前面的操作符练习-BMI,做基于判断的改进:

使用Scanner收集你的身高体重,并计算出你的BMI值是多少

BMI的计算公式是 体重(kg) / (身高*身高)

比如邱阳波的体重是72kg, 身高是1.69,那么这位同学的BMI就是
72 / (1.69*1.69) = ?

然后通过条件判断BMI的范围,打印出是超重还是正常

参考: 使用Scanner读取浮点数的办法
练习-BMI
在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
查看本答案会花费3个积分,您目前总共有点积分。查看相同答案不会花费额外积分。 积分增加办法 或者一次性购买JAVA 基础总计0个答案 (总共需要0积分)
查看本答案会花费3个积分,您目前总共有点积分。查看相同答案不会花费额外积分。 积分增加办法 或者一次性购买JAVA 基础总计0个答案 (总共需要0积分)
账号未激活 账号未激活,功能受限。 请点击激活
本视频是解读性视频,所以希望您已经看过了本答案的内容,带着疑问来观看,这样收获才多。 不建议一开始就观看视频

5分4秒 本视频采用html5方式播放,如无法正常播放,请将浏览器升级至最新版本,推荐火狐,chrome,360浏览器。 如果装有迅雷,播放视频呈现直接下载状态,请调整 迅雷系统设置-基本设置-启动-监视全部浏览器 (去掉这个选项)。 chrome 的 视频下载插件会影响播放,如 IDM 等,请关闭或者切换其他浏览器


答案-BMI
import java.util.Scanner; public class HelloWorld { public static void main(String[] args) { Scanner s = new Scanner(System.in); System.out.println("请输入身高(m):"); float height = s.nextFloat(); System.out.println("请输入体重(kg):"); float weight = s.nextFloat(); float BMI = weight / (height * height); System.out.println("当前的BMI是: " + BMI); String status = ""; if (BMI < 18.5) status = "体重过轻"; else if ( BMI < 24) status = "正常范围"; else if (BMI < 27) status = "体重过重"; else if (BMI < 30) status = "轻度肥胖"; else if (BMI < 35) status = "中度肥胖"; else status = "重度肥胖"; System.out.println("身体状态是: " + status); } }
示例 8 :

练习-闰年

edit  姿势不对,事倍功半! 点击查看做练习的正确姿势
判断某一年是否为闰年
通过Scanner 输入一个年份,然后判断该年是否是闰年

闰年判断标准(满足任何一个)
1. 如果能够被4整除,但是不能被100整除
2. 能够被400整除
练习-闰年
在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
查看本答案会花费3个积分,您目前总共有点积分。查看相同答案不会花费额外积分。 积分增加办法 或者一次性购买JAVA 基础总计0个答案 (总共需要0积分)
查看本答案会花费3个积分,您目前总共有点积分。查看相同答案不会花费额外积分。 积分增加办法 或者一次性购买JAVA 基础总计0个答案 (总共需要0积分)
账号未激活 账号未激活,功能受限。 请点击激活
本视频是解读性视频,所以希望您已经看过了本答案的内容,带着疑问来观看,这样收获才多。 不建议一开始就观看视频

4分42秒 本视频采用html5方式播放,如无法正常播放,请将浏览器升级至最新版本,推荐火狐,chrome,360浏览器。 如果装有迅雷,播放视频呈现直接下载状态,请调整 迅雷系统设置-基本设置-启动-监视全部浏览器 (去掉这个选项)。 chrome 的 视频下载插件会影响播放,如 IDM 等,请关闭或者切换其他浏览器


答案-闰年
import java.util.Scanner; public class HelloWorld { public static void main(String[] args) { Scanner s = new Scanner(System.in); System.out.println("请输入年份"); int year = s.nextInt(); if ( (0 == year % 4 && 0 != year % 100) || 0 == year % 400) System.out.println(year + "是闰年"); else System.out.println(year + "不是闰年"); } }
import java.util.Scanner;
 
public class HelloWorld {
    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        System.out.println("请输入年份");
        int year = s.nextInt();
 
        if ( (0 == year % 4 && 0 != year % 100) || 0 == year % 400)
            System.out.println(year + "是闰年");
        else
            System.out.println(year + "不是闰年");
 
    }
}


HOW2J公众号,关注后实时获知最新的教程和优惠活动,谢谢。


问答区域    
2022-10-18 练习-闰年
呆呆牛




练习-闰年
public class Test {
    public static void main(String[] args) {
        while (true){
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入任意年份:");
            int year = sc.nextInt();
            if(year % 4 == 0 && year % 400 == 0 || year % 100 !=0){
                System.out.println(year+"年是闰年");
            }else{
                System.out.println(year+"年不是闰年");
            }
            System.out.println("*******************************");
        }
    }
}

							


22 个答案

木宇
答案时间:2024-04-19
霜碲兽
答案时间:2024-04-10
xu1748047159
答案时间:2023-12-17
请输入要检测的年份 1900 不是闰年

汁汁芝士牛堡
答案时间:2023-06-01
闰年

Oyth
答案时间:2023-05-25
import java.util.Scanner; public class HelloWorld_char{ public static void main(String[] args) { Scanner year=new Scanner(System.in); int n=year.nextInt(); if ((0==n%4^n%100==0)|n%400==0 ) { System.out.println("闰年"); } else System.out.println("平年"); } }

kxk
答案时间:2023-04-21
zhenghaha
答案时间:2023-04-11
public static void main(String[] args) { Scanner s =new Scanner(System.in); System.out.println("请输入你的体重(单位kg):"); float weight = s.nextFloat(); System.out.println("请输入你的身高(单位m):"); float hight =s.nextFloat(); float bmi = weight / (hight * hight); System.out.println("你的bim值为" + bmi); if(bmi<18.5) System.out.println("体重过轻"); else if(bmi>=18.5 && bmi<24) System.out.println("正常范围"); else if(bmi>=24 && bmi<27) System.out.println("体重过重"); else if(bmi>=27 && bmi<30) System.out.println("轻度肥胖"); else if(bmi>=30 && bmi<35) System.out.println("重度肥胖"); } }

吃饱了就很强
答案时间:2023-04-08
ahao2025
答案时间:2023-03-09
三目 System.out.println("请输入年份:"); int year = new Scanner(System.in).nextInt(); System.out.println(year < 0 ? "输入错误,重新输入" : year % 4 == 0 & year % 100 != 0 | year % 400 == 0 ? year + "年是闰年" : "年不是闰年");

月沉
答案时间:2023-02-28
hidkids
答案时间:2023-02-02
package test1; import java.util.Scanner; public class LeapYearTest { public static void main(String[] args) { Scanner s = new Scanner(System.in); System.out.println("请输入年份:"); int year = s.nextInt(); String result = ((year%4!=0)?"不是闰年":((year%400==0||year%100!=0)?"是闰年":"不是闰年")); System.out.println(year+result); } }

even87Equ
答案时间:2023-01-16
左耳进右耳出
答案时间:2023-01-08
判断闰年

learn杜
答案时间:2023-01-07
dumping
答案时间:2023-01-06
javaPlayer
答案时间:2023-01-04
南苛
答案时间:2022-12-21
洛洛淼
答案时间:2022-11-27
park
答案时间:2022-11-13
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in=new Scanner(System.in); float a=in.nextFloat(); float b=in.nextFloat(); float c=b/(a*a); if(c<18.5) { System.out.println("体重过轻"); } else if(18.5<=c&&c<24) { System.out.println("正常范围"); } else if(24<=c&&c<27) { System.out.println("体重过重"); } else if(27<=c&&c<30) { System.out.println("轻度肥胖"); } else if(30<=c&&c<35) { System.out.println("中度肥胖"); } else if(35<=c) { System.out.println("重度肥胖"); } } }

lanren9
答案时间:2022-11-08
加油哦

panda1
答案时间:2022-10-30
System.out.println("请输入年份:"); int year=input.nextInt(); if(year%4==0&&year%100!=0||year%400==0) System.out.println(year+"是闰年"); else System.out.println(year+"不是闰年"); }

ACR
答案时间:2022-10-19
import java.util.Scanner; class rn { public static void main(String[] args) { Scanner year = new Scanner(System.in); System.out.println("输入一个年份"); int age = year.nextInt(); if (age % 4 == 0 && (age % 100 != 0)){ System.out.println("闰年"); }else if (age % 400 ==0){ System.out.println("闰年"); }else{ System.out.println("不是闰年"); } } }



回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到





2022-10-18 练习-BMI
呆呆牛




练习-BMI
public class Test {
    public static void main(String[] args) {
        while (true){
            //获取用户输入,身高
            System.out.print("请输入您的身高(m):");
            double height = new Scanner(System.in).nextDouble();
            System.out.print("请输入您的体重(Kg):");
            //获取用户输入,体重
            double weight = new Scanner(System.in).nextDouble();
            BMI(height, weight);
        }
    }

    public static void BMI(double h, double w) {
        //计算用户BMI值
        double bmi = w / (h * h);
        //保留两位小数
        BigDecimal bigDecimal = new BigDecimal(bmi);
        //这里的 2 就是你要保留几位小数。
        double f1 = bigDecimal.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
        System.out.println("您的BMI值为:"+f1);
        if (bmi < 18.5) {
            System.out.println("您的体重过低。");
        } else if (18.5 <= bmi && bmi < 2) {
            System.out.println("您的体重正常。");
        } else if (bmi >= 25) {
            System.out.println("您的体重超重了。");
        } else if (25 <= bmi && bmi < 30) {
            System.out.println("您的体重达到了肥胖前期。");
        } else if (30 <= bmi && bmi < 35) {
            System.out.println("您的体重达到了Ⅰ度肥胖。");
        } else if (35 <= bmi && bmi < 40) {
            System.out.println("您的体重达到了Ⅱ度肥胖。");
        } else {
            System.out.println("您的体重达到了Ⅲ度肥胖。");
        }
        System.out.println("*********************************");
    }
}

							


18 个答案

霜碲兽
答案时间:2024-04-10
consix
答案时间:2024-03-27
xu1748047159
答案时间:2023-12-17
开始检测 请输入您的体重 75 请输入您的身高 1.69 您的BMI是:26.26 正常范围

编程小贝
答案时间:2023-06-09
public class HelloWorld { public static void main(String[] args) { Scanner s = new Scanner(System.in); System.out.println("你的体重是:"); double kg = s.nextDouble(); System.out.println("你的身高是:"); double m = s.nextDouble(); double BMI=kg/(m*m); System.out.println("我的BMI:"+BMI); if (BMI<18.5){ System.out.println("体重过轻"); }else if(18.5<=BMI && BMI<24){ System.out.println("正常范围"); }else if (24<=BMI && BMI<27){ System.out.println("超重"); }else if (27<=BMI && BMI<30){ System.out.println("轻度肥胖"); }else if (30<=BMI && BMI<35){ System.out.println("中度肥胖"); }else if (35<=BMI){ System.out.println("重度肥胖"); } } }

汁汁芝士牛堡
答案时间:2023-06-01
BMI

kxk
答案时间:2023-04-20
zhenghaha
答案时间:2023-04-11
public static void main(String[] args) { System.out.println("请输入今年年份:"); Scanner s =new Scanner(System.in); int a = s.nextInt(); if (a % 4==0 && a %100 != 0 ||a % 400 == 0){ System.out.println(a+"是润年"); }else{ System.out.println(a+"不是闰年200"); } }

吃饱了就很强
答案时间:2023-04-08
public class IBM { public static void main(String[] args) { Scanner s =new Scanner(System.in); System.out.println("请输入身高(m):"); float height = s.nextFloat(); 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>=18.5&&BMI<24) System.out.println("身体情况是:正常范围"); else if (BMI>=24&&BMI<27) System.out.println("身体情况是:体重过重"); else if (BMI>=27&&BMI<30) System.out.println("身体情况是:轻度肥胖"); else if (BMI>=30&&BMI<35) System.out.println("身体情况是:中度肥胖"); else if (BMI>=35) System.out.println("身体情况是:重度肥胖"); } }

吾问无-为谓
答案时间:2023-03-28
ahao2025
答案时间:2023-03-09
System.out.println("请输入身高(m):"); float height = new Scanner(System.in).nextFloat(); if(height < 0.5 && height > 2.5){ System.out.println("输入不正确,重新输入"); height = new Scanner(System.in).nextFloat(); } System.out.println("请输入体重(kg):"); float weight = new Scanner(System.in).nextFloat(); if(weight < 0 && height > 200){ System.out.println("输入不正确,重新输入"); weight = new Scanner(System.in).nextFloat(); } float BMI = weight / height / height; System.out.println(BMI<18.5?"体重过轻":BMI<24?"正常范围":BMI<27?"体重过重":BMI<30?"轻度肥胖":BMI<35?"中度肥胖":"重度肥胖");
用了上节学的三目

醉酒寒暄
答案时间:2023-02-23
even87Equ
答案时间:2023-01-16
伊亻
答案时间:2023-01-05
import java.util.Scanner; public class helloWorld { public static void main(String[] args) { Scanner s =new Scanner(System.in); System.out.println("请输入您的身高:(单位:米)"); float high=s.nextFloat(); System.out.println("您的身高为:"+high+"米"); System.out.println("请输入您的体重:(单位:Kg)"); int weight=s.nextInt(); System.out.println("您的体重为:"+weight+"Kg"); float BMI=weight/(high*high); System.out.println("您的BMI值为:"+BMI); if (BMI<18.5) System.out.println("您当前身体状态为:体重过轻"); else if (18.5<=BMI&BMI<24) System.out.println("您当前身体状态为:正常范围"); else if (24<=BMI&BMI<27) System.out.println("您当前身体状态为:体重过重"); else if (27<=BMI&BMI<30) System.out.println("您当前身体状态为:轻度肥胖"); else if (30<=BMI&BMI<35) System.out.println("您当前身体状态为:中度肥胖"); else if (35<=BMI) System.out.println("您当前身体状态为:重度肥胖"); } }

javaPlayer
答案时间:2023-01-04
2816918205Lyn
答案时间:2022-12-01
import java.util.Scanner; public class ScannerDemo { public static void main(String[] args) { Scanner s = new Scanner(System.in); float tall = s.nextFloat(); System.out.println("您的身高(m):"); float weight = s.nextFloat(); System.out.println("您的体重(kg):"); float BMI = weight / (tall * tall); System.out.println("您当前的BMI是" + BMI); if (BMI<18.5) System.out.println("身体状态是:体重过轻"); if (BMI>=18.5 && BMI<24) System.out.println("身体状态是:正常范围"); if (BMI>=24 && BMI<27) System.out.println("身体状态是:体重过重"); if (BMI>=27 && BMI<30) System.out.println("身体状态是:轻度肥胖"); if (BMI>=30 && BMI<35) System.out.println("身体状态是:中度肥胖"); if (BMI>=35) System.out.println("身体状态是:重度肥胖"); } }

lanren9
答案时间:2022-11-08
panda1
答案时间:2022-10-30
Scanner input=new Scanner(System.in); System.out.println("你的的身高为(m):"); float a=input.nextFloat(); System.out.println("你的的体重为(kg):"); int b=input.nextInt(); float c=b/(a*a); System.out.println("你的的BMI为:"+c); if(c<18.5) System.out.println("体重过轻"); else if(c<24) System.out.println("正常范围"); else if(c<27) System.out.println("体重过重"); else if(c<30) System.out.println("轻度肥胖"); else if(c<35) System.out.println("中度肥胖"); else System.out.println("重度肥胖");

ACR
答案时间:2022-10-19
import java.util.Scanner; class BMI{ public static void main(String[] args) { Scanner bm = new Scanner(System.in); System.out.println("请输入你的身高:(cm)"); double sg = bm.nextDouble(); System.out.println("请输入你的体重:(kg)"); double tz = bm.nextDouble(); double bmi = tz / (sg * tz); if (bmi < 18.5){ System.out.println("体重过轻"); }else if (bmi >= 18.5 && bmi < 24){ System.out.println("正常范围"); }else if (bmi >= 24 && bmi < 27){ System.out.println("体重过重"); }else if (bmi >= 27 && bmi < 30){ System.out.println("轻度肥胖"); }else if (bmi >= 30 && bmi < 35){ System.out.println("中度肥胖"); }else{ System.out.println("重度肥胖"); } } }



回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到





2022-09-08 有木有更简单的处理方式
2022-05-10 闰年问题
2022-03-13 代码


提问太多,页面渲染太慢,为了加快渲染速度,本页最多只显示几条提问。还有 132 条以前的提问,请 点击查看

提问之前请登陆
提问已经提交成功,正在审核。 请于 我的提问 处查看提问记录,谢谢
关于 JAVA 基础-控制流程-if 的提问

尽量提供截图代码异常信息,有助于分析和解决问题。 也可进本站QQ群交流: 578362961
提问尽量提供完整的代码,环境描述,越是有利于问题的重现,您的问题越能更快得到解答。
对教程中代码有疑问,请提供是哪个步骤,哪一行有疑问,这样便于快速定位问题,提高问题得到解答的速度
在已经存在的几千个提问里,有相当大的比例,是因为使用了和站长不同版本的开发环境导致的,比如 jdk, eclpise, idea, mysql,tomcat 等等软件的版本不一致。
请使用和站长一样的版本,可以节约自己大量的学习时间。 站长把教学中用的软件版本整理了,都统一放在了这里, 方便大家下载: https://how2j.cn/k/helloworld/helloworld-version/1718.html

上传截图