Java小细节之缩进中if 和else的对应关系

发布时间 2024-01-13 16:22:28作者: 绿皮玻璃

import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("请输入数字:");
int n = in.nextInt();
System.out.print("请输入分数:");
int count = in.nextInt();
if(n == 1)
if(count >= 60)
System.out.println("恭喜你及格了!");
else
System.out.println("不及格");
}
}
在这段代码里,我们可以看到else语句缩进与第一个if对应,但是在实际编译里,else总是与最近if匹配,只有当我们输入1,且count的值小于60后,结果才为“不及格”。
如果我们要实现else与第一个if匹配,我们可以使用大括号包裹。
import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("请输入数字:");
int n = in.nextInt();
System.out.print("请输入分数:");
int count = in.nextInt();
if(n == 1) {
if (count >= 60)
System.out.println("恭喜你及格了!");
}
else
System.out.println("不及格");
}
}
这时只要我们输入的不是1,结果就会显示“不及格”。