您的位置:首页 > 编程语言 > Java开发

小白学java第3天

2020-07-02 20:32 92 查看

1. 运算符

  • 概念

    对变量和常量进行操作的符号
  • 分类

      算数运算符:+ - * / ++ –
    • 赋值运算符:= += -= *= /=
    • 关系运算符:> < == !=
    • 逻辑运算符:|| && ^
    • 位运算符:>> <<
    • 字符串连接符:+
    • 三目运算符:?:
  • 算数运算符

    public class Demo01_Operator {
    public static void main(String[] args) {
    int num1 = 4;
    int num2 = 5;
    System.out.println(num1 + num2);
    System.out.println(num1 - num2);
    System.out.println(num1 * num2);
    System.out.println(num1 / num2);
    System.out.println(num1 % num2);
    }
    }
  • 2. 算数运算符之++和–

    • 代码实现

      public class Demo02_Operator {
      public static void main(String[] args) {
      int num1 = 4;
      int num3 = num1++;
      System.out.println(num1);//5
      System.out.println(num3);//7
      
      int num2 = 5;
      int num4 = ++num2;
      System.out.println(num2);//6
      System.out.println(num4);//6
      
      int num5 = 4;
      int num6 = num5--;
      System.out.println(num5);//3
      System.out.println(num6);//4
      
      int num7 = 5;
      int num8 = --num7;
      System.out.println(num7);//4
      System.out.println(num8);//4
      }
      }
    • 总结

      不管++放在变量的前面还是后面,变量都会+1
    • ++如果放在变量的后面,则整体等于变量的原值
    • ++如果放在变量的前面,则整体等于变量的原值+1
    • –同理

    3. 算数运算符++和–的练习

    • 代码

      public class Demo03_Operator {
      public static void main(String[] args) {
      int a = 10;
      int b = 10;
      int c = 10;
      a = b--;
      b = c++;
      c = ++a;
      b = --c;
      a = c++;
      c = ++a;
      System.out.println(a);//11
      System.out.println(b);//10
      System.out.println(c);//11
      }
      }
      byte a = 1;
      a++;
      a = a + 1;//错误 a+1为int型,不能用一个byte型去存一个int型 要强转

    4. 赋值运算符

    • 分类

      基本赋值运算 =
    • 高级赋值运算 += -= /= *=
  • 代码

    public class Demo04_Operator {
    public static void main(String[] args) {
    int num1 = 1;
    int num2 = 1;
    num1 += num2;
    System.out.println(num1);
    
    byte num3 = 1;
    num3 += 1; //跟num3++一样 底层有强转
    System.out.println(num3);
    }
    }
  • 5. 关系运算符

    • 分类

      == != > >= < <=
  • 代码

    public class Demo05_Operator {
    public static void main(String[] args) {
    int num1 = 1;
    int num2 = 1;
    double num3 = 1.0;
    short num4 = 5;
    float num5 = 5.0f;
    System.out.println(num1 > num2); //f
    System.out.println(num1 == num2);//t
    System.out.println(num1 < num2); //f
    System.out.println(num1 == num3);//t
    System.out.println(num4 == num5);//t
    }
    }
  • 6. 位运算符

    • 分类

      ^ >> <<
  • 概述

      ^ 异或 相同取0,不同取1

    • << 左移 向左移 右边补零

    • 右移 向右移 左边补零

      public class Demo06_Operator {
      public static void main(String[] args) {
      int a = 5;
      int b = 3;
      System.out.println(a >> b);//0
      System.out.println(a << b);//40
      System.out.println(a ^ b); //6
      }
      }

    7. 逻辑运算符

    • 分类

      & 一个为假,全为假
  • |
      一个为真,全为真
    • 非真即假 非假及真
    public class Demo07_Operator {
    public static void main(String[] args) {
    boolean a = true;
    boolean b = false;
    System.out.println(a & b);
    System.out.println(a | b);
    System.out.println(!b);
    System.out.println(!a);
    }
    }

    8. 运算符&和&& |和||的区别

    • & 位与 && 短路与,他们执行的结果是一样的

    • & 不管&左边是真还是假,右边一定执行

    • && 如果左边为假,则右边不执行

      public class Demo08_Operator {
      public static void main(String[] args) {
      int num1 = 1;
      int num2 = 1;
      boolean flag1 = num1 == 0 & num2++ == 1;
      System.out.println(flag1);//f
      System.out.println(num1);//1
      System.out.println(num2);//2
      
      num1 = 1;
      num2 = 1;
      boolean flag2 = num1 == 0 && num2++ == 1;
      System.out.println(flag2);//f
      System.out.println(num1);//1
      System.out.println(num2);//1
      }
      }
    • & 或与 && 短路或,他们执行的结果是一样的

    • & 不管&左边是真还是假,右边一定执行

    • && 如果左边为真,则右边不执行

      public class Demo08_Operator {
      public static void main(String[] args) {
      int num1 = 1;
      int num2 = 1;
      
      boolean flag3 = num1 == 1 | num2++ == 1;
      System.out.println(flag3);//t
      System.out.println(num1);//1
      System.out.println(num2);//2
      
      num1 = 1;
      num2 = 1;
      boolean flag4 = num1 == 1 || num2++ == 1;
      System.out.println(flag4);//t
      System.out.println(num1);//1
      System.out.println(num2);//1
      }
      }

    9.三元运算符

    • 语法

      条件表达式 ? 表达式1 : 表达式2;

      如果条件表达式为真,则输出表达式1的值

    • 如果条件表达式为假,则输出表达式2的值

    • 运算结果是一个值,可以用变量接收

      /**
      求最大值
      */
      public class Demo09_Operator {
      public static void main(String[] args) {
      int num1 = 5;
      int num2 = 1;
      int max = num1 > num2 ? num1 : num2;
      System.out.println("max:" + max);
      
      }
      }

    10. 练习 两只跳跳虎

    • 需求

      公园里有两只跳跳虎,一只200斤,一只180斤,问他们体重是否相等
      public class Demo10_Operator {
      public static void main(String[] args) {
      int tiger1 = 200;
      int tiger2 = 180;
      boolean isEquals = tiger1 == tiger2;
      System.out.println("是否相等:" + isEquals);
      
      String msg = tiger1 == tiger2 ? "相等" : "不相等";
      System.out.println(msg);
      }
      }

    11. 练习 三个和尚

    • 需求

      有三个和尚,分别高为150 165 210, 输出最高的那一个

      public class Demo10_Operator {
      public static void main(String[] args) {
      int monk1 = 150;
      int monk2 = 165;
      int monk3 = 210;
      int max = monk1 > monk2 ? monk1 : monk2;
      max = max > monk3 ? max : monk3;
      System.out.println("最高的和尚的身高是" + max);//210
      
      int max1 = (monk1 > monk2 ? monk1 : monk2) > monk3 ? (monk1 > monk2 ? monk1 : monk2) : monk3;
      System.out.println("最高的和尚的身高是" + max1);//210
      }
      }

    12. Java表达式

    • 概述 由变量,常量,运算符组的式子
  • 赋值表达式
  • 算数表达式
  • 逻辑表达式
  • 比较表达式
  • 三元表达式
  • 13. 键盘输入

    • 概述

      在程序的运行过程中添加键盘录入,提高交互性,增强用户体验
  • 步骤

      导包

    • 创建对象

    • 提示输入

    • 开始输入

    • 打印输出

      import java.util.Scanner;
      public class Demo13_Expression {
      public static void main(String[] args) {
      Scanner input = new Scanner(System.in);
      System.out.println("请输入a的值");
      int a = input.nextInt();
      System.out.println("a:" + a);
      //input.close();
      }
      }

    14. 两只跳跳虎(加强版)

    //键盘输入两个跳跳虎的体重,比较是否相等
    import java.util.Scanner;
    public class Demo15_Expression {
    public static void main(String[] args) {
    Scanner input =new Scanner(System.in);
    System.out.println("请输入两只跳跳虎的体重");
    int tiger1 = input.nextInt();
    int tiger2 = input.nextInt();
    String msg = tiger1 == tiger2 ? "两只跳跳虎的体重相等" : "两只跳跳虎的体重不相等";
    System.out.println(msg);
    }
    
    }

    15.三个和尚(加强版)

    //键盘输入3个和尚的身高, 打印最矮的那个和尚的身高
    import java.util.Scanner;
    public class Demo16_Expression {
    public static void main(String[] args) {
    Scanner input =new Scanner(System.in);
    System.out.println("请输入第一个和尚的身高");
    int monk1 = input.nextInt();
    System.out.println("请输入第二个和尚的身高");
    int monk2 = input.nextInt();
    System.out.println("请输入第三个和尚的身高");
    int monk3 = input.nextInt();
    
    int min = monk1 <monk2 ? monk1 : monk2 <monk3 ? monk1 <monk2 ? monk1 : monk2 : monk3;
    System.out.println("最矮的和尚的身高为");
    System.out.println(min);
    }
    
    }

    16. 流程控制语句

    • 概述 可以控制程序的执行流程
  • 分类
      顺序结构
    • 选择结构
    • 循环结构

    17. 选择结构之if单分支

    • 选择结构语句

      if
    • switch
  • if语句

      单分支
    • 双分支
    • 多分支
  • if单分支

    public class Demo17_If {
    public static void main(String[] args) {
    boolean flag = true;
    if (flag) {
    System.out.println("if语句体");
    }
    System.out.println("我执行了");
    }
    }
  • 18. 单分支if练习

    • 需求s

      输入年龄,如果年龄大于30岁 打印老邱 否则 打印邱

      import java.util.Scanner
      public class Demo18_If {
      public static void main(String[] args) {
      Scanner input = new Scanner(System.in);
      System.out.println("请输入年龄");
      int age = input.nextInt();
      String name = "邱";
      if(age > 30) {
      name = "老" + name;
      }
      System.out.println("你好" + name);
      }
      }

    19. 双分支if语句

    • 语法

      if(flag){
      表达式1;
      }else{
      表达式2;
      }
    • 实现

      public class Demo19_If {
      public static void main(String[] args) {
      boolean flag = true;
      if (flag) {
      System.out.println("我爱java");
      }else {
      System.out.println("java使我快乐");
      }
      System.out.println("java天下第一");
      }
      }

    20. if双分支练习

    //比较大小
    public class Demo20_If {
    public static void main(String[] args) {
    int a = 15;
    int b = 20;
    int max = 0;
    if (a > b) {
    max = a;
    }else {
    max = b;
    }
    System.out.println(max);
    }
    }
    //输入年龄,如果大于30,输出老邱,否则,输出小邱
    public class Demo21_If {
    public static void main(String[] args) {
    String name = "邱";
    Scanner input = new Scanner(System.in);
    int age = input.nextInt();
    if (age > 30) {
    System.out.println("老" + name);;
    }else {
    System.out.println("小" + name);;
    }
    }
    }
    //输入一个数 判断是偶数还是奇数
    public class Demo22_If {
    public static void main(String[] args) {
    Scanner input = new Scanner(System.in);
    int num = input.nextInt();
    if (num % 2 == 0) {
    System.out.println("该数是偶数" );;
    }else {
    System.out.println("该数是奇数");;
    }
    }
    }

    思维导图

    内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
    标签: