Day11

结构

1.顺序结构

  • java 的基本结构,就是顺序结构, 除非有特别的指明,否则就按照顺序一步一步的执行

  • 顺序结构是最简单的算法结构

  • 语句与语句之间,框与框之间是按照从上到下的顺序进行的,它是由若干依次执行的出理步骤组成的,是任何一算法都离不开的一种基本算法结构。

    package Struct;
    
    /**
     * @author java小白松
     */
    public class ShunXiDome01 {
        public static void main(String[] args) {
            System.out.println("hello1");
            System.out.println("hello4");
            System.out.println("hello3");
            System.out.println("hello2");
            System.out.println("hello5");
        }
    }
    
    

2.选择结构

  • if单选择结构
  • if双选择结构
  • if多选择结构
  • 嵌套的if结构
  • switch多选择结构
if 单选泽结构
  • 我们很多时候需要判断一个东西是否可行,然后我们才去执行,Java中我们可以用if语句来表示

  • 语法

    if(布尔表达式){
        //如果布尔表达式为true将执行括号中的语句
    }
    
    package Struct;
    
    import java.util.Scanner;
    
    /**
     * @author java小白松
     */
    public class IfDome01 {
        public static void main(String[] args) {
            Scanner scanner =new Scanner(System.in);
            System.out.println("输入内容");
            String s=scanner.nextLine();//用来接收用户的输入
         if (s.equals("Hello")){
             System.out.println(s);
         }
            System.out.println("end");
    
            scanner.close();
        }
    }
    
    
    if双选择结构
    • 如果需要两个进行判断的时候,就 需要使用if-else 结构

    • 语法

      if(布尔表达式){
          //为true执行这个括号中的语句
      }else{
          // 为false执行第二个括号中的语句
          
      }
        
      
      package Struct;
      
      import java.util.Scanner;
      
      /**
       * @author java小白松
       */
      public class IfDome02 {
          public static void main(String[] args) {
              Scanner scanner=new Scanner(System.in);
              System.out.println("请输入成绩");
              int  score=scanner.nextInt();
              if (score>=60){
                  System.out.println("及格");
              }else {
                  System.out.println("不及格");
              }
      
      
      if 多选择结构
      • 选择不仅有两个所以使用多选择语句

      • 语法

      if(布尔表达式1){
        // 1为true 执行  
      }else if(布尔表达式2){
         //2为true执行 
      }else if(布尔表达式3){
        //同上  
      }else{
        //以上布尔表达式都为false执行else  
      }
      
package Struct;

import java.util.Scanner;

/**
 * @author java小白松
 */public class IfDome03{
public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        System.out.println("请输入分数");
        double score=scanner.nextDouble() ;
        if(0<=score&&score<60){
        System.out.println("不及格");
        }else  if (60<=score&&score<70){
        System.out.println("及格");
        }else if (70<=score&&score<80){
        System.out.println("中");
        }else  if (80<=score&&score<90){
        System.out.println("良");
        }else if (90<=score&&score<100){
        System.out.println("优");
        }else{
        System.out.println("输入不正确");//输出任意一个,剩下的的就不执行
        }
        scanner.close();
   }
 }

/*多选择语句至多有一个else,可以有多个elseif语句,else在多选的语句的最后面,else if可以有多个
只要有一个布尔表达式为true那就执行该表达式的括号的语句,其他的就不被执行了。
 */

if的嵌套语句
if(布尔表达式1){
    // 布尔表达式1为true执行里面的if语句
    if(布尔表达式2){
        //布尔表达式2位true 这个括号中的语句
    }
}
switch多选择结构
  • 多选择结构还一个实现方式就是Switch case 语句
  • switch case语句判断一个变量与一系列值中的某一值是否相等,每一个值称为一个分支
switch(expression){
    case value:
        //语句
        break;
    case value:
        //语句
        break;
    case value:
        //语句
        break;
    default:
        // 语句
        
}
switch语句中的变量类型可以是:
  • byte。short。int或者char。
  • 从JavaSE7开始
  • switch支持字符串String类型了
  • 同事case标签必须字符串常量或字面量
package Struct;

import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer;

/**
 * @author java小白松
 */
public class SwicthDome04 {
    public static void main(String[] args) {
        char grade='n';
        switch (grade){//case穿透switch 匹配一个具体的值
            case  'a':
                System.out.println("优秀");
                break;//break是跳出当前语句,在此之后的语句都不执行了
            case 'b':
                System.out.println("良");
                break;//可以选择写可以不写
            case'c':
                System.out.println("中");
                break;
            case 'd':
                System.out.println("及格");
                break;
            default://可以选择不选择
                System.out.println("不及格");
        }
    }
}

package Struct;

/**
 * @author java小白松
 */
public class SwicthDome05 {
    public static void main(String[] args) {
        String name="黄松松";
        switch (name){
            case "黄松":
                System.out.println("m");
                break;
            case "黄松松":
                System.out.println("song");
                break;
            default:
                System.out.println("wu");

        }
    }
}

反编译

//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//

package Struct;

public class SwicthDome05 {
    public SwicthDome05() {
    }

    public static void main(String[] args) {
        String name = "黄松松";
        byte var3 = -1;
        switch(name.hashCode()) {
        case 1286458:
            if (name.equals("黄松")) {
                var3 = 0;
            }
            break;
        case 39906692:
            if (name.equals("黄松松")) {
                var3 = 1;
            }
        }

        switch(var3) {
        case 0:
            System.out.println("m");
            break;
        case 1:
            System.out.println("song");
            break;
        default:
            System.out.println("wu");
        }

    }
}

Ctrl+Alt+shift+S 找到.class文件,粘贴到。Java文件中。就能反编译。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6DcP1Tix-1601372376572)(C:\Users\黄松松\AppData\Roaming\Typora\typora-user-images\image-20200929173536274.png)]

0:
System.out.println(“m”);
break;
case 1:
System.out.println(“song”);
break;
default:
System.out.println(“wu”);
}

}

}


Ctrl+Alt+shift+S 找到.class文件,粘贴到。Java文件中。就能反编译。

[外链图片转存中...(img-6DcP1Tix-1601372376572)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rggPWmk7-1601372376573)(C:\Users\黄松松\AppData\Roaming\Typora\typora-user-images\image-20200929173619098.png)]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值