if选择结构的几种类型和switch选择结构的区别

一.什么是if选择结构

  if选择结构是根据条件判断之后再做处理的一种语法结构.

 if(条件布尔类型){

   代码块  //当条件为真时,执行。

  }//当条件为假时,执行。

例:

package cn.kgc.mls.lianxi;

public class boke {

    public static void main(String[] args) {
        double a=98;
        if (a>99) {
            System.out.println("真");
        }
        System.out.println("假");

二.常用逻辑运算符

  &&(与,并且),表达式:条件1&&条件2  说明:俩个条件同时为真,则结果为真;俩个条件有一个为假,则结果为假

  ||(或,或者),表达式:条件1||条件2  说明:俩个条件有一个为真,则结果为真;俩个条件同时为假,则结果为假

  !(非)    ,表达式:!条件        说明: 条件为真时,结果为假;条件为假时,结果为真

| A | B | A&&B | A\|\|B |
| ---- | ---- | ---- | ------ |
| T | T | T | T |
| T | F | F | T |
| F | T | F | T |
| F | F | F | F |

&& 一假必假

|| 一真必真

例:

public class lianxi1 {

    public static void main(String[] args) {
        int a=85;
        int b=81;
        int c=100;
        int d=69;
        if ((a>98 && b>80) || (c==100 && d>70)){
            System.out.println("奖励");
        }
        System.out.println("无奖励");

    }

}

三.if-else语法

语法:

if (条件) {
//代码块1
}else{
//代码块2
}
当条件为真时会执行代码块一,不会走代码块2
当条件为假时会执行代码块二,不会走代码块1

例:

package cn.kgc.mls.lianxi3;

import java.util.Scanner;

public class boke {

    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        double tiCai=sc.nextDouble();
        if (tiCai==500){
            System.out.println("买车,资助希望工程,去欧洲旅游");
        }else{
            System.out.println("买下一期体彩,菩萨保佑");
        }

    }

}

四.多重if选择结构

  多重if选择结构

语法:

if ( 成绩>90) { 
//代码块1 
}
else if (成绩>=60) { 
//代码块2 
}
else { 
//代码块3 
}
成绩>90为条件1
成绩>=60为条件2

如果条件1结果为真时会执行代码块1,代码块1执行完毕后不会再去判断其他条件,直接执行多重if选择结构以下的代码
如果条件1结果为假时会再次判断条件2,如果条件2为真时会执行代码块2,代码块2执行完毕后不会再去判断其他条件,直接执行多重if选择结构以下的代码
如果条件2结果为假时会执行代码块3,代码块3执行完毕后,直接执行多重if选择结构以下的代码

例:

package cn.kgc.mls.lianxi;

import java.util.Scanner;

public class boke {

    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        int a=sc.nextInt();
        if(a>90){
            System.out.println("优秀");
        }else if(a>=60){
            System.out.println("中等");
        }else{
            System.out.println("差");
        }
        

    }

}

五.嵌套if选择结构
语法:

if(条件1) {

if(条件2) {
//代码块1
} else {
//代码块2
}
} else {
//代码块3
}
如果条件1为真时,去判断条件2,如果条件2为真时会执行代码块1,如果条件2为假时会执行代码块2
如果条件1为假时回去执行代码块3

例:

package cn.kgc.mls.day04;
import java.util.Scanner;

public class lianxi {
public static void main(String[] args) {
Scanner a=new Scanner(System.in);
System.out.println("请输入成绩:");
int score=a.nextInt();

if(score<=10){
System.out.println("进入决赛!");
System.out.println("请输入您的性别:");
String b=a.next();
if(b.equals("男"))
{
System.out.println("进入男子组决赛");
}else{
System.out.println("进入女子组决赛");
}

}else
{
System.out.println("抱歉!你没有进入决赛");
}
}

}

五.switch选择结构

switch选择结构可以很好地解决等值判断问题.它与if选择结构的区别就是if选择结构可以更好地处理区间判断问题,而switch可以更好的处理等值判断问题。

switch选择结构可以更好地解决等值判断问题.

例:

package cn.kgc.mls.ceshi;

import java.util.Scanner;
public class boke {
    @Test
    public void test01(){
        int mc=1;
        switch(mc){
        case 1:
            System.out.println("夏令营");
            break;
        case 2:
            System.out.println("电脑一个");
            break;
        case 3:
            System.out.println("硬盘一个");
            break;
        default:
            System.out.println("继续努力明年再来");
            break;
            
        }
    }

        
    }

注意

1.常量名不能重复

2.case后面的常量不是必须要按照某种顺序的,switch后面的值会去找和自己匹配的常量值,然后执行对应的代码库,如果没有找到,则执行default中的值

3.break结束当前的执行内容。在case后面执行,如果没有break代码会继续向下执行。

4.default在最后的时候,break是可以省略的(不推荐),在其他位置的时候,不能省略。

猜你喜欢

转载自www.cnblogs.com/meilishi/p/12730431.html