• 5、位运算和流程控制和循环


    一、上一个内容的复习  

      1、关系运算符、逻辑运算符(多个表达式的逻辑判断)
      2、 短路的与或
      3、条件运算符,用来做赋值操作
      4、位运算符:对表达式以二进制位单位进行运算
        十进制和二进制的转化

    二、位运算符:  

        &按位与(先把数字计算成二进制的数,然后从右开始向做写,然后比对每一位的数值,有0就是0)
        |按位或(先把数字计算成二进制的数,然后从右开始向做写,然后比对每一位的数值,有1就是1)
        ^按位异或(先把数字计算成二进制的数,然后从右开始向做写,然后比对每一位的数值,相同为0,不同为1)
        <<左移:(7<<3:2向左移动三位 7*(2^3))
        >>右移:(7>>3:2向右移动三位 7/(2^3))

    三、一些小的知识点

      1、工程-包(一般是公司域名的倒置)com.hoohui.test

      2、我们现在使用的一般都是java.util包中的工具,这是java专门的工具包

      3、流程控制要注意每一种情况都要考虑上,否则,程序一定会出现问题的

      4、小方块变暗,则程序执行完;红色则是程序正在执行

    四、流程控制

      if(判断条件){  //执行语句块  }                                        if(判断条件){//执行语句块}else{//不成立,执行语句块}                   if(判断条件){//执行语句块}else if(判断条件){执行语句块}   

       注意:

          在实现功能的基础上去优化代码:两个相反的判断条件,我们可以用if-else
          else:表示的是否则,不能单独出现,必须要和if配对才能出现
          可以进行不断的嵌套

    例子:张三考试成绩,大于90分,奖励他休息一天,否则老师罚他周末补课
    /**
             * 张三考试成绩,大于90分,奖励他休息一天,否则老师罚他周末补课
             */
            System.out.println("请输入张三的成绩:");
            Scanner s = new Scanner(System.in);
            int score = s.nextInt();
            //原始
    //        if(score>90) {
    //            System.out.println("可以吃鸡");
    //        }
    //        if(!(score>90)) {
    //            System.out.println("周末来补课");
    //        }
            //优化
            if(score>90) {
                System.out.println("可以吃鸡");
            }else {
                System.out.println("周末来补课");
            }
    例子:成绩>=80:良好
          成绩>=60:中等
          成绩<60:差
              /**考虑东西要严谨
             *     成绩>=80:良好
                  成绩>=60:中等
                  成绩<60:差
             */
            System.out.println("请输入张三的成绩:");
            Scanner s = new Scanner(System.in);
            int score = s.nextInt();
    //        if(score>=80) {
    //            System.out.println("良好");
    //        }
    ////        if(score>=60) {修改程序,使之更加完善
    //        if(score>=60&&score<80) {
    //            System.out.println("中等");
    //        }
    //        if(score<60) {
    //            System.out.println("差");
    //        }
            //对于上述代码进行优化
            if(score>=80) {
                System.out.println("良好");
            }else {
                if(score>=60) {
                    System.out.println("中等");
                }else {
                    System.out.println("差");
                }
            }
            //引入else if的优化
            if(score>=80) {
                System.out.println("良好");
            }else if(score>=60) {
                System.out.println("中等");
            }else {
                System.out.println("差");
            }
    //if嵌套
    例子:学校举办运动会,百米赛跑,成绩13s以内,有资格进入决赛,
        根据性别,分别进入男子组和女子组。
        System.out.println("请输入张三的百米成绩:");
            Scanner s = new Scanner(System.in);
            int score = s.nextInt();
            System.out.println("请输入张三的性别:");
            String gender = s.next();
    //        System.out.println(score+"--"+gender);
            if(score<13) {
                //注意判断:string的数据类型会否相等用equals,不用==
                if(gender.equals("男")) {
                    System.out.println("进入男子组");
                }else {
                    System.out.println("进入女子组");
                }
            }else {
                System.out.println("淘汰");
            }

      还有一个流程控制语句是switch-case:只能做等值判断,并且有支持的数据类型

      switch(要判断的变量){case 特定值://执行代码;break;default://执行语句;break;(最后一个的break可以省略)}

      只能做等值判断 ;记住要有break的语句进行截住

      

    //只能做等值判断
    //支持的数据类型:byte short int char (后两个是java 1.7以后才支持的)String 枚举
    Scanner s = new Scanner(System.in); int num = s.nextInt(); switch(num) { case 10: System.out.println("中了三等奖"); break; case 20: System.out.println("中了二等奖"); break; default: System.out.println("没中奖"); }

    五、循环

        重复做同样的意见事情

      

    //例子:在控制台打印100遍“hello world”
        //2种方式:1、复制打印方式去打印2、用循环语句进行优化代码
        //定义一个int 类型的变量,
            for(int i=0;i<100;i++) {
                System.out.println(i + "hello world");
            }

      

          一共有4种循环
            for for-each(增强型for循环) while do-while

            1*for循环
              for(定义循环变量,循环条件,迭代条件){
                //循环语句(也叫循环体)
              }
            2*循环四要素
              初始化循环变量
              循环条件
              迭代(更新循环变量)
              循环体

        初始化循环变量,只执行一次;
        判断循环条件是否成立,如果成立,执行循环体,如果不成立,跳出循环:执行多次
        更新循环变量:多次执行
        循环体:多次执行

        

       

  • 相关阅读:
    旧键盘 (20)
    人口普查(20)
    打印沙漏(20)
    程序运行时间(15)
    反转链表 (25)
    科学计数法 (20)
    组个最小数 (20)
    python yield使用
    python如何优雅判断类型
    python中如何优雅使用import
  • 原文地址:https://www.cnblogs.com/dhrwawa/p/11193094.html
Copyright © 2020-2023  润新知