判断语句1 if

  • if语句第一种格式: if
1
2
3
if(关系表达式){ 
语句体;

  • 执行流程
    • 首先判断关系表达式看其结果是true还是false
    • 如果是true就执行语句体
    • 如果是false就不执行语句体

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public static void main(String[] args){ 
System.out.println("开始");
// 定义两个变量
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("结束");

判断语句2 if…else

  • if语句第二种格式: if…else
1
2
3
4
5
if(关系表达式) {
语句体1;
}else {
语句体2;
}
  • 执行流程

    • 首先判断关系表达式看其结果是true还是false

    • 如果是true就执行语句体1

    • 如果是false就执行语句体2

1
2
3
4
5
6
7
8
9
10
11
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语句第三种格式: if…else if …else
1
2
3
4
5
6
7
8
9
10
11
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。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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以下 不及格
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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语句和三元运算符的互换

在某些简单的应用中,if语句是可以和三元运算符互换使用的。

1
2
3
4
5
6
7
8
9
10
11
12
13
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;
}

实例 判断三角形为什么三角形

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public class triangle {
public static void main(String[] args) {
int a = 1;
int b = 2;
int c = 2;
if(a>0&&b>0&&c>0){
if((a+b)>c&(a+c)>b&(c+b)>a){
if (a == b && b== c && a==c){
System.out.println("是等边三角形");
}else if (a == a | b == c | b == c){
System.out.println("是等腰三角形");
}else {
System.out.println("是三角形");
}
}else{
System.out.println("不是三角形");
}
}else{
System.out.println("边长不能为零");
}

}
}