JAVA 系列——>判断语句if、if...else、if..else if...else、三目运算符替换if
程序员文章站
2022-07-13 14:09:42
...
判断语句
判断语句1–if
格式:
if(关系表达式){
语句体;
}
执行流程:
首先判断关系表达式看其结果是true还是false,如果是true就执行语句体,如果是false就不执行语句体。
流程图 :
举例:
public static void main(String[] args){
System.out.println("Begin");
// 定义两个变量
int a = 10; int b = 20;
//变量使用if判断
if (a == b){
System.out.println("a=b");
}
int c = 10;
if(a == c){
System.out.println("a=c");
}
System.out.println("End"); }
运行结果:
判断语句2–if…else
格式:
if(关系表达式) {
语句体1;
}else {
语句体2;
}
执行流程:
首先判断关系表达式看其结果是true还是false,如果是true就执行语句体1,如果是false就执行语句体。
流程图:
举例:
public static void main(String[] args){
// 判断给定的数据是奇数还是偶数
// 定义变量
int a = 1;
if(a % 2 == 0) { //取余运算 之前提过
System.out.println("a是偶数");
} else{
System.out.println("a是奇数");
}
System.out.println("结束");
}
运行结果:
判断语句3–if…else if…else
格式:
if (判断条件1) {
执行语句1;
} else if (判断条件2) {
执行语句2; }
...
}else if (判断条件n) {
执行语句n;
} else {
执行语句n+1;
}
执行流程:
首先判断关系表达式1看其结果是true还是false,如果是true就执行语句体1,如果是false就继续判断关系表达式2看其结果是true还是false,如果是true就执行语句体2,如果是false就继续判断关系表达式,…,看其结果是true还是false, …,如果没有任何关系表达式为true,就执行语句体n+1。
流程图:
举例:
public static void main(String[] args) {
// x和y的关系满足如下:
// x>=3 y = 2x + 1;
//‐1<=x<3 y = 2x;
// x<=‐1 y = 2x – 1;
// 根据给定的x的值,计算出y的值并输出。
// 定义变量
int x = 5;
int y;
if (x>= 3) {
y = 2 * x + 1;
} else if (x >= ‐1 && x < 3) {
y = 2 * x; } else {
y = 2 * x ‐ 1;
}
System.out.println(“y的值是:”+y);
}
练习题:
指定考试成绩,判断学生等级
90-100 优秀
80-89 好
70-79 良
60-69 及格
60以下 不及格。
public static void main(String[] args) {
int score = 100;
if (score < 0 || score > 100) {
System.out.println("你的成绩是错误的");
} else if (score >= 90 && score <= 100) {
System.out.println("你的成绩属于优秀");
} else if (score >= 80 && score < 90) {
System.out.println("你的成绩属于好");
} else if (score >= 70 && score < 80) {
System.out.println("你的成绩属于良");
} else if (score >= 60 && score < 70) {
System.out.println("你的成绩属于及格");
} else {
System.out.println("你的成绩属于不及格");
}
}
if语句和三元运算符的互换
public static void main(String[] args) {
int a = 10;
int b = 20;
//定义变量,保存a和b的较大值
int c;
if (a > b) {
c = a;
} else {
c = b;
}
//可以上述功能改写为三元运算符形式
c = a > b ? a:b;
System.out.println(c);
}