zoukankan      html  css  js  c++  java
  • 69期-Java SE-003_流程控制、循环-001-002

    ### 位运算符
    
    十进制和二进制的转换。
    
    - 十进制转二进制:目标数除以二,如果能除尽,则该位计作零,如果除不尽,则该位计作一,再对商继续除以二,以此类推,直到商为零,然后将每一位的结果进行反序组合就是对应的二进制结果,10 转为二进制 1010,17 转为二进制 10001
    - 二进制转十进制:从目标数最右侧算起,本位的数值乘以本位的权重,权重就是2的第几位的位数减一次方,如果第1位就是2的(1-1)次方,第2位就是2的(2-1)次方,第3位就是2的(3-1)次方…,将每一位的数值和本位权重相乘之积相加的值就是对应的十进制。
    
    位预算符包括:&(按位与)、|(按位或)、^(按位异或)、<<(左移)、>>(右移)
    
    变量A & 变量B:每一位的数值一一对应,若都为1,则该位计作1,否则计作0。
    
    变量A | 变量B:每一位的数值一一对应,只要有1个为1,该位计作1,否则计作0。
    
    变量A ^ 变量B:每一位的数值一一对应,相同计作0,不同计作1。
    
    变量A << 变量B:变量A乘以2的变量B次方,如2 << 3,结果就是2*8。
    
    变量A >> 变量B:变量A除以2的变量B次方,如2 >> 3,结果为2/8。
    
    求出 10&5、10|5、10^3、2<<3、2>>3
    
    10 的二进制 1010
    
    5 的二进制 101
    
    3 的二进制 11
    
    
    
    ### 流程控制
    
    - if-eles
    
    if-eles 是一个基本的流程控制语法,用于判断某个条件是否成立,然后执行不同的业务逻辑,基本语法:
    
    ```java
    if(判断条件){
      //条件成立的业务逻辑
    }else{
      //条件不成立的业务逻辑
    }
    ```
    
    运算符优先级顺序 !>算术运算符>关系运算符>&&>||。
    
    - 多重if
    
    173 以下M,173~178 L,178 以上 XL
    
    if-else 的使用比较灵活,可以根据不同的情况选择不同的组合方式,需要注意的是:
    
    - if 后面必须跟条件
    - eles 后面不能跟条件
    - eles 后面可以直接跟{//逻辑代码},也可以跟if语句。
    
    
    
    - if 嵌套
    
    成绩大于80分可以进入决赛,根据年龄分别进入A组(20岁以上),B(18~19岁)
    
    - switch-case
    
    switch-case 也可以完成流程控制,与 if 不同的是,switch-case 只能完成等值判断,即条件如果是判断两个值是否相等,可以使用 switch-case ,如果是比较两个值的大小关系,
    则不能使用 switch-case ,switch 支持 int、short、byte、char、枚举、String 类型数据的判断,不支持 boolean 类型。 基本语法: ```java switch(变量){ case 值1: 代码1 break; case 值2: 代码2 break; ...... default: 代码n; break; } ``` if-else ```java if(变量 == 值1){ 代码1 }else if(变量 == 值2){ 代码2 } ...... else{ 代码n } ``` case 判断 switch 后面的变量是否等于某个值,default 表示所有的 case 都不成立的情况下所执行的代码。 每一个 case 语句必须要跟 break,表示结束当前的代码块,如果不跟 break,则从当前的 case 语句起,后续所有的 case 都不再进行判断,直接执行相关代码。 - 循环 1、while 循环 while 是一种具体的循环方式,基本语法: ```java while(循环条件){ //循环体 } ``` 当循环条件成立时,会重复执行循环体中的代码,直到循环条件不成立,我们应该在循环体中动态控制循环条件是否成立,编写循环逻辑时,需要额外添加控制循环条件的代码,这些代码组成了循环四要素: - 初始化循环变量; - 循环条件; - 循环体; - 更新循环变量; 任何一种形式的循环代码,四要素缺一不可。 ```java int num = 0; while(num < 10) { System.out.println("Hello World"); num++; } ``` 循序执行顺序:
    第一步,初始化循环变量。
    第二步,判断循环条件,如果成立,则执行循环体;如果不成立,则直接跳出循环,执行后面的代码。如果执行了循环体,
    第三步就是更新循环变量,再回到第二步,重新判断循环条件是否成立。 ```java System.out.println("学生成绩查询系统"); String str = "yes"; while(str.equals("yes")) { System.out.print("请输入学生编号:"); Scanner scanner = new Scanner(System.in); int num = scanner.nextInt(); switch (num) { case 1: System.out.println("张三的成绩是90"); break; case 2: System.out.println("李四的成绩是80"); break; case 3: System.out.println("王五的成绩是70"); break; default: System.out.println("输入的数据有误"); break; } System.out.print("是否继续查询?yes/no:"); str = scanner.next(); } System.out.println("查询结束"); ```

    Hello.java

    import java.util.Scanner;
    
    public class Hello {
        public static void main(String[] args) {
            /**
             * 答题得分大于60,同时积分>=500
             * (score>60)&&(integral>=500)
             * 答题得分大于80,同时积分>=300
             * (score>80)&&(integral>=300)
             */
    //        int score = 90;
    //        int integral = 300;
    //        System.out.println("本次答题得分:"+score);
    //        if(((score>60)&&(integral>=500))||((score>80)&&(integral>=300))) {
    //            System.out.println("恭喜您,获得优惠券一张");
    //        }else {
    //            System.out.println("很遗憾没有中奖");
    //        }
            
            /**
             * 173 以下M,173~178 L,178 以上 XL
             */
    //        int height = 166;
    //        if(height > 178) {
    //            System.out.println("XL");
    //        }
    //        if(height >= 173 && height <= 178) {
    //            System.out.println("L");
    //        }
    //        if(height < 173) {
    //            System.out.println("M");
    //        }
    //        
    //        //if-else
    //        if(height > 178) {
    //            System.out.println("XL");
    //        }else {
    //            if(height >= 173) {
    //                System.out.println("L");
    //            }else {
    //                System.out.println("M");
    //            }
    //        }
    //        
    //        if(height > 178) {
    //            System.out.println("XL");
    //        }else if(height >= 173) {
    //            System.out.println("L");
    //        }else {
    //            System.out.println("M");
    //        }
            
            /**
             * 成绩大于80分可以进入决赛,根据年龄分别进入A组(20岁以上),B组(18~19岁)
             */
    //        int score = 90;
    //        int age = 22;
    //        if(score > 80) {
    //            if(age >= 20) {
    //                System.out.println("进入A组");
    //            }else if(age >= 18) {
    //                System.out.println("进入B组");
    //            }
    //        }else {
    //            System.out.println("很遗憾,你被淘汰了");
    //        }
            
            /**
             * 小明参加跑步比赛,获得第1名奖励2000,获得第2名奖励1000,获得第3名奖励500,否则没有奖励
             */
    //        int placing = 1;
    //        if(placing == 1) {
    //            System.out.println("奖励2000");
    //        }else if(placing == 2) {
    //            System.out.println("奖励1000");
    //        }else if(placing == 3) {
    //            System.out.println("奖励500");
    //        }else {
    //            System.out.println("没有奖励");
    //        }
    //        switch (placing) {
    //        case 1:
    //            System.out.println("奖励2000");
    //            break;
    //        case 2:
    //            System.out.println("奖励1000");
    //            break;
    //        case 3:
    //            System.out.println("奖励500");
    //            break;
    //        default:
    //            System.out.println("没有奖励");
    //        }
            
            /**
             * - 初始化循环变量;
             * - 循环条件;
             * - 循环体;
             * - 更新循环变量;
             */
    //        int num = 0;
    //        while(num < 10) {
    //            System.out.println("Hello World");
    //            num++;
    //        }
    //        System.out.println("循环结束");
            
            System.out.println("学生成绩查询系统");
            String str = "yes";
            while(str.equals("yes")) {
                System.out.print("请输入学生编号:");
                Scanner scanner = new Scanner(System.in);
                int num = scanner.nextInt();
                switch (num) {
                case 1:
                    System.out.println("张三的成绩是90");
                    break;
                case 2:
                    System.out.println("李四的成绩是80");
                    break;
                case 3:
                    System.out.println("王五的成绩是70");
                    break;
                default:
                    System.out.println("输入的数据有误");
                    break;
                }
                System.out.print("是否继续查询?yes/no:");
                str = scanner.next();
            }
            System.out.println("查询结束");
        }
    }
  • 相关阅读:
    scikit-learn一般实例之四:使用管道和GridSearchCV选择降维
    scikit-learn一般实例之四:管道的使用:链接一个主成分分析和Logistic回归
    scikit-learn一般实例之三:连接多个特征提取方法
    scikit-learn一般实例之一:保序回归(Isotonic Regression)
    scikit-learn一般实例之一:绘制交叉验证预测
    weblogic控制台定制不同权限的用户
    jquery给input域赋值和取值
    键盘对应的ASCII码
    js控制键盘只能输入数字和退格键,delete键
    mysql创建用户及授权相关命令
  • 原文地址:https://www.cnblogs.com/HiJackykun/p/11167066.html
Copyright © 2011-2022 走看看