Java第三课_流程控制

发布时间 2023-12-05 22:44:32作者: 张心野

1.流程控制

  • 判断结构 : if

          /*
                流程控制 : 程序是怎样运行的
                    1.顺序结构 : 函数内部 : 从上向下逐行执行 , 语句从左向右执行 , 赋值从右向左
                    2.判断结构 : if
                        注意 :
                            a.当大括号中只有一条语句时,大括号可以省略不写,此时,if只能控制紧邻的一条语句
                            b.开发中禁止省略大括号
                    3.分支结构 : switch
                    4.循环结构 : for   while  do...while
             */
    
            // if :  if(boolean类型表达式){满足条件时要执行的语句;}
            int i = 10, j = 12;
            if (i > j) {
                System.out.println(i + " > " + j);
                System.out.println(i + " > " + j);
            }
            System.out.println();
    
            //if(){}else{} 二选一
            if (i < j) {
                System.out.println(i + " < " + j);
            } else {
                System.out.println(i + " >= " + j);
            }
            System.out.println();
    
            //if(){}else if(){}else() 多选一
            i = 15;
            j = 15;
            if (i < j) {
                System.out.println(i + " < " + j);
            } else if (i == j) {
                System.out.println(i + " == " + j);
            } else {
                System.out.println(i + " > " + j);
            }
    
  • 分支结构 : switch

        /*  switch:
            switch(表达式){
                case 常量值 :
                    语句;
                    break;
                case 常量值 :
                    语句;
                    break;
                    ...
                default:
                    语句;
                    break;
            }
            注意 :
                a.表达式只能是 byte short int char String 枚举(enum) 六种类型之一
                b.case不能重复
                c.switch语句遇到 break 或者 末尾的大括号 自动结束.不然会把之后case里的语句都执行,直到遇见break 或者 末尾的大括号
                d.break是来结束switch语句的,不是必须的
                e.default 以上选项都不对的意思,位置任意.开发中不可省略,必须写到末尾
         */
        int num = 5;
        switch (num) {
            default:
                System.out.println("以上都不对!");
                // break;
            case 1:
                System.out.println("11111111111");
                // break;
            case 2:
                System.out.println("22222222");
                break;
            case 3:
                System.out.println("333333");
                break;
        }
    
  • 常用类和方法

    1. String类
            // String.charAt(index):键盘获取单个字符,获取索引值对应位上的字符
            Scanner scanner = new Scanner(System.in);
            String string = scanner.next();
            char opr = string.charAt(0);
            System.out.println("opr = " + opr);
            String s = "abc";// a : 0   b  : 1   c : 2
            System.out.println(s.charAt(2));
            char ch = s.charAt(0);
            System.out.println("ch = " + ch);
            scanner.close();
    
    1. Math类和Date类

          // Math : 数学类
          // Math.random(),随机数功能  [0,1)
          double d1 = Math.random();
          System.out.println("d1 = " + d1);
          d1 = Math.random() * 12 + 1;
          System.out.println("d1 = " + d1);
          d1 = Math.random();
          // 获取 1~13之间的随机数
      
          // Math.pow(a, b),计算a的b次幂;
          System.out.println(Math.pow(2, 3));
          double longMaxValue = Math.pow(2, 63);
          System.out.println("longMaxValue = " + longMaxValue);
      
          // java.util.Date : 日期类,用于获取当前时间信息
          java.util.Date date = new java.util.Date();
          System.out.println("date = " + date);
          long time = date.getTime();// 1970.01.01 00:00:00 000
          System.out.println("time = " + time);
          // 秒   毫秒
          // 1 秒 = 1000毫秒
          // 微秒
          // 1毫秒 = 1000微秒
          // 纳秒/毫微秒
          // 1微秒 = 1000 纳秒
          long naMiao = System.nanoTime();
          System.out.println("naMiao = " + naMiao);
      
  • 运算符

        // 运算符又可根据操作变量的个数,分为一元运算符,二元运算符,三元运算符
        // 一元运算符 :  +   -   ++   --
        int i = 10;
        ++i;
        // 二元运算符 :  >  <  =
        int j = 15;
        System.out.println(i + j);
        // 三元运算符 :格式 :   boolean类型表达式 ?  表达式1  :  表达式2
        int max = i > j ? i : j;
        System.out.println("max = " + max);
        String result = i > j ? i + " > " + j : i + " <= " + j;
        System.out.println("result = " + result);
        i = 100;
        j = 10;
        result = i > j ? i + " > " + j : (i == j ? i + " == " + j : i + " < " + j);
        System.out.println("result = " + result);