• day02_运算符_if


    零、今日内容

    1.运算符
    2.scanner
    3.if,ifelse,elseif

    复习

    学习方法:
    睡觉前过电影(1jdk,配置环境变量2idea使用3HelloWorld程序解释

    4变量5数据类型6String)

    1. 主方法是每次都要写的,因为代码要执行(psvm)
      输出语句每次都要写的,因为要看结果(sout)
      1.声明变量的语法格式
      数据类型 变量名 = 值;
      int a = 1;
      double b = 2.0;
      String s = “abc”;

    2.八大基本数据类型

    • 整型 byte short int long
    • 浮点型 float double
    • 字符 char
    • 布尔 boolean
      3.变量的命名规范
    • 首字母小写 helloWorld
    • 数字不能放开头
    • 不能特殊符号,除了_ $
    • 多个单词的话后续单词首字母大写

    4.包名的命名规范

    • 小写,公司反域名
    • com.qf
    • com.baidu

    5.类名的命名规范

    • 首字母大写 HelloWorld
    • 数字不能放开头
    • 不能特殊符号,除了_ $
    • 多个单词的话后续单词首字母大写

    6.代码的执行顺序

    • 在main方法内是从上至下依次逐行执行的
    • 如果有赋值,代码是从右向左执行
    • int a = 1;// 右边的1赋值给左边的变量a

    一、运算符

    昨天学习的变量, 变量 是用来存数据的,还可以被重新赋值从而变化.

    通过不同数据类型来修改变量,让变量有不同的性质.

    现在有了变量存储数据,那么就可以对数据进行运算,那么就需要使用运算符.运算符有

    • 算术运算
    • 赋值运算
    • 关系运算
    • 逻辑运算
    • 三目运算

    1.1 算术运算

    算术运算就是最简单数学运算: 符号

    + 
    - 
    */% 取余
    ++ 自增
    -- 自减
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    演示

    package com.qf;
    
    /**
     * @desc
     */
    public class Demo1 {
    
        public static void main(String[] args) {
            int a = 1;
            int b = 2;
            /**
             * + 加法
             * 1) 数字相加
             * 2) 字符串拼接,
             *   遇到字符以后,后续所有都是拼接
             */
            // 数字相加
            int c = a + b;  // a加b将结果赋值给c变量
            System.out.println(c );// 输出3
            System.out.println(a + b );// 输出3
            System.out.println(1 + 2 );// 输出3
    
            // 字符串拼接
            System.out.println("abc" + "123" );// abc123
            System.out.println("1" + 1 );// 11
            System.out.println(1 + 1 + "1" + 1);// 211
            // 遇到字符以后,后续所有都是拼接
            System.out.println(1 + 1 + "1" + 1 + 1 +1 +1);// 211111
    
            /**
             * 减法 -
             * 数字相减
             */
            System.out.println(a - b ); // -1
            System.out.println(3 - 3 ); // 0
            System.out.println(3.0 - 1 );// 2.0
    
            /**
             * 乘法 *
             */
            System.out.println(a * b ); // 2
            System.out.println(3 * 4 ); // 12
            System.out.println(3 * 4.0 );// 12.0
    
            /**
             * 除法 /
             * 【特别注意:整数相除结果是整数,如果有小数直接舍弃】
             */
            System.out.println(4 / 2 ); // 2
            System.out.println(9 / 3 ); // 3
            System.out.println(10 / 4 );// 2,不保留小数部分
            System.out.println(10 / 3 );// 3,不保留小数部分
    
            /**
             * 取余 %
             * 除不尽得到余数
             * 一般用于判断奇偶性(一个整数除以2的余数是0,则为偶数)
             */
            System.out.println("余数: " + 10 % 3 );// 10除以3的余数是1
    
            /**
             * ++ 自增1
             * -- 自减1
             */
            int d = 1;
            d++; // d自增1
            System.out.println(d );// 2
            d--; // 自减1
            System.out.println(d );// 1
    
        }
        /**
         * 扩展:
         * i++
         * ++i
         * 的区别
         */
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79

    【特别注意:整数相除结果是整数,如果有小数直接舍弃】

    1.2 赋值运算

    就是将数据赋值给变量,例如int a = 1; 其实还有其他赋值符号

    • = 赋值
    • += , -= , *= , /=
    
     *
     * @desc 赋值运算
     */
    public class Demo2 {
        public static void main(String[] args) {
            /**
             * 赋值
             */
            int a = 1;// 1赋值给变量a
            int b = a;// a赋值给变量b
            System.out.println(a );
            System.out.println(b );
    
            /**
             * +=
             */
            int c = 1;
            c += 2;// 相当于 c = c + 2
            System.out.println(c );// 3
    
            int d = 2;
            d -= 3; // d = d - 3
            System.out.println(d );// -1
    
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27

    1.3 关系运算

    判断数字间的关系

    > 大于,例如a > b
    < 小于
    >= 大于等于
    <= 小于等于
    != 不等于
    == 相等
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    【特别注意】关系运算的结果是: boolean值,即只有true和false

    public class Demo3 {
    
        /**
         * 变量的使用步骤
         * 1. 先定义
         * 2. 后赋值
         * 3. 再使用
         */
        public static void main(String[] args) {
    
            /**
             * > < >=  <= == !=
             * 关系运算的结果是: boolean值,即只有true和false
             */
            System.out.println(1 > 0 ); // true
            int a = 2;
            int b = 3;
            System.out.println(a > b ); // false
            System.out.println(a < b ); // true
             System.out.println(a == b );// 判断是否相等    false
            System.out.println(a != b ); // 判断是否不相等 true
            System.out.println(2 >= 2 );// true
    
            // 使用场景是用来在后续if,for语句判断的
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26

    1.4 逻辑运算

    逻辑运算:

    • 与 &
    • 或 |
    • 非 !
    • 短路与/逻辑与 &&
    • 短路或/逻辑或 ||

    语法:

    boolean 变量 = 布尔表达式1 & 布尔表达式2;
    // 所谓布尔表达式就是值是布尔值(true/flase)的式子
    // 特别注意: 逻辑运算的结果也是布尔值: true 或 false
    例如
    boolean r = 1 > 0 & 2 > 1
    
    • 1
    • 2
    • 3
    • 4
    • 5
    public class Demo4 {
    
        public static void main(String[] args) {
            /**
             * &与(和)读作and
             * 1) &符号两边是两个判断式子
             * 2) 整体结果也是boolean 值
             * 3) 全对才对,一错就错
             * 场景: 登录学员系统.要求用户名和密码都正确才能登录
             */
            System.out.println(1 > 0 & 1 > 0);// T & T = T
            System.out.println(1 < 0 & 1 > 0);// F & T = F
            System.out.println(1 < 0 & 1 < 0);// F & F = F
            System.out.println(1 > 0 & 1 < 0);// T & F = F
    
            /**
             * && 它跟&一个意思,都是 一错就错全对才对
             * 但是有一个特殊的作用: 根据情况会短路代码,即后面表达式不执行
             *   总结: 当第一个式子能够决定整体结果时,后面式子不再执行
             */
            System.out.println(1 > 0 && 1 > 0);// T & T = T
            System.out.println(1 < 0 && 1 > 0);// F & T = F
            int i = 1;
            System.out.println(1 < 0 & i++ > 0 );
            System.out.println("i = " + i);// i=2,证明上面i++执行了
    
            int j = 1;
            System.out.println(1 < 0 && j++ > 0 );// &&发现当前面式子是错的时候后面式子不执行
            System.out.println("j = " + j );// j=1,证明上面j++没有执行
            // ========================================================================
    
            /**
             * | 或(or)
             * 全错才错,一对就对
             * 场景: 某些网站允许使用手机号或者邮箱登录
             */
            System.out.println(1 > 0 | 1 > 0);// T | T = T
            System.out.println(1 < 0 | 1 > 0);// F | T = T
            System.out.println(1 < 0 | 1 < 0);// F | F = F
            System.out.println(1 > 0 | 1 < 0);// T | F = T
    
    
            /**
             * || 跟| 一样,都是一对就对,全错才错
             * 但是||有短路作用,当前面式子结果是对的时候,后面就没有执行
             * 总结: 当第一个式子能够决定整体结果时,后面式子不再执行
             */
            int k = 1;
            System.out.println(1 > 0 | k++ > 0 );
            System.out.println("k = " + k );// k=2,说明k++执行了
    
            int g = 1;
            System.out.println(1 > 0 || g++ > 0 );
            System.out.println("g = " + g);// g=1,说明g++没有执行
    
            /**
             * 总结: 以后需要做逻辑运算就是使用
             * &&,|| 不再使用&,|
             * 因为短路与或 可以在某些条件情况下少执行一次
             */
            //================================================
            /**
             *  非 !
             *  对结果取反
             */
            System.out.println(!true );// false
            System.out.println(!(1 > 0) );// false
        }
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70

    复习

    变量存储数据
    数据类型修饰变量
    通过运算符,运算后得到结果
    算术:+-*/% ++ --
         +(加法)除了数字相加,还可以字符串拼接
         /(除法)整除相除,除不尽取整,舍弃小数点
    关系 > < >= <= == !=
    赋值 = , += (c+=1,c=c+1)
    逻辑 &,|,! ,&&,||
        && 一错就错,前面式子错了,后面式子不执行
        || 一对就对,前面式子对了,后面式子不执行
        总结: 第一个式子能决定整体结果时,后面的不执行
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    1.5 三目运算

    三元运算就是有三个数据,格式:

    数据类型 变量 = 布尔表达式 ? 值1 : 值2;

    执行流程:

    • 先判断布尔表达式
    • 如果结果为true,执行值1,将结果返回赋值给变量
    • 如果结果为false,执行值2,将结果返回赋值给变量
    public class Demo5 {
    
        /**
         * 变量是存储数据
         * 数据类型是修饰变量的性质
         */
        public static void main(String[] args) {
    
            // 数据类型 变量 = 布尔表达式 ? 值1 : 值2;
            // 先判断布尔表达式
            // 如果结果为true,执行值1,将结果返回赋值给变量
            // 如果结果为false,执行值2,将结果返回赋值给变量
            int a = 1;
            int b = 2;
            String r1 = a > b ? "对" : "错";
            System.out.println(r1 );// 错
    
            int r2 = a > b ? a : b;
            System.out.println(r2 );// 2
    
            double r3 = a < b ? 99.9 : 0.0;
            System.out.println(r3 );// 0.0
    
            // 需求: 输出a,b中最大值
            String r4 = a > b ? "a大" : "b大";
            System.out.println(r4 );
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    image-20231010150227529 image-20231010150337976

    二、Scanner(键盘录入)

    是什么? Scanner 是扫描控制台内容,可以将控制台输入的数据扫描到程序中

    为什么? 是因为现在做练习,数据都是固定写死,效果不好看,使用Scanner实现从外部输入数据,再运算得到结果

    怎么用?

    • 语法固定: Scanner scanner = new Scanner(System.in);

    image-20231010154542756

    package com.qf;
    
    // 导包
    import java.util.Scanner;
    
    /**
     * @desc 演示使用Scanner
     */
    public class Demo6 {
        public static void main(String[] args) {
    
            // 创建扫描器
            Scanner s = new Scanner(System.in);
            // 调用方法开始扫描
            // System.out.println("请输入数字:" );
            // int num = s.nextInt();// 允许键盘输入整数,其他的报错
            // System.out.println("输入的是:" + num );
    
            // System.out.println("请输入字符串:" );
            // String str = s.nextLine();
            // System.out.println("输入的是:" + str );
    
            // 输入两个数字,输出相加的结果
            System.out.println("请输入第1个数字:" );
            int a = s.nextInt();
            System.out.println("请输入第2个数字:" );
            int b = s.nextInt();
    
            System.out.println("结果是: "+ (a + b) );
    
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32

    三 、if,ifelse,elseif

    目前为止代码是从上至下依次逐行执行的,但是有些时候代码需要有选择的执行部分代码.

    此时需要使用if,ifelse等分支语句

    3.1 if(单分支)

    if 翻译是如果,作用就是判断一个条件,条件成立就执行代码,条件不成立就不执行

    语法:

    if (布尔表达式) {
        执行代码;
    }
    
    • 1
    • 2
    • 3

    执行流程:

    • 遇到if,开始判断
    • 如果表达式为true,就执行{}内的代码
    • 如果表达式为false,就不执行{}内代码
    • 最后无论对错,if(){} 后面代码一定会执行
    /*
     * @desc
     */
    public class Demo7 {
        public static void main(String[] args) {
    
            double yue = 100.0;// 账户余额
            double pay = 80;// 应支付钱
            if (yue >= pay) {// 判断结果true,就执行{}内;为false就跳过不执行
                System.out.println("付款成功" );
            }
           // 这句话无论上方if对错,都会执行
            System.out.println("下次再来~" );
    
            System.out.println("-------- 华丽的分割线 -------" );
    
            int age = 19;
            if (age >= 18) {
                System.out.println("欢迎浏览本网站" );
            }
            // 这句话无论上方if对错,都会执行
            System.out.println("还小,再等等~" );
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    image-20231010164927786

    3.2 if.else(双分支)

    if如果,else其他,能实现二选一执行

    语法:

    if(布尔表达式) {
        执行语句;
    }else{
        执行语句;
    }
    
    后续代码
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    执行流程

    • 遇到if,开始判断
    • 如果表达式为true,就执行if后{}内的代码,else后不再执行
    • 如果表达式为false,就不执行if{}内代码,而执行else后{}内的代码
    • 最后无论对错,if.else后面代码一定会执行
     * @desc if.esle 双分支语句
     */
    public class Demo8 {
    
        public static void main(String[] args) {
            double yue = 100;// 余额
            double pay = 80;// 应付金额
            if (yue >= pay) { // 如果对(true)执行付款成功
                System.out.println("付款成功" );
            } else {// if为false,就执行付款失败
                System.out.println("付款失败" );
            }
            System.out.println("欢迎下次再来~" );
    
            System.out.println("--------分割线--------" );
    
            // 练习: 键盘输入两个数,比较大小,输出较大那个数
            Scanner scanner = new Scanner(System.in);
            System.out.println("请输入第1个数" );
            int a = scanner.nextInt( );
    
            System.out.println("请输入第2个数" );
            int b = scanner.nextInt( );
    
            if (a > b) {
                System.out.println("第1个最大: a = " + a );
            } else {
                System.out.println("第2个最大: b = " + b );
            }
    
            System.out.println("--------分割线--------" );
            // 练习: 键盘录入一个数,输出该数是奇数还是偶数
            // 提示(判断奇偶性是通过除以2的余数,整数除以2余数为0是偶数,否则是奇数)
            System.out.println("请输入数字:" );
            int num = scanner.nextInt( );
            if (num % 2 == 0) {
                System.out.println(num +",是偶数" );
            } else {
                System.out.println(num +",是奇数" );
            }
        }
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43

    总结

    重点是运算符和if语句
    关于运算符,
    	基本数学运算,关系判断,逻辑运算主要是使用&&和||,三目元素其实简化版ifelse
    	特别注意: 除法,整数相除取整
    	关系运算和逻辑运算的结果都是true/false的布尔值
    关于if,ifelse
    	重点是要将代码重复2遍,读代码,熟悉ifelse执行
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    快捷键

    选中代码,ctrl+/ 注释

    alt+回车,生成左边local variable(本地,变量)

    单词

    this  这个
    window 窗口
    cancel 取消
    condition 条件
    Variable 变量
    result 结果
    next 下一个
    line  行
    number 数字,简写num
    local   本地
    variable 变量
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
  • 相关阅读:
    计算机毕业设计Javaweb网上办公自动化系统(源码+系统+mysql数据库+lw文档)
    反射的机制
    过滤器知识点总结
    【Python+C#】手把手搭建基于Hugging Face模型的离线翻译系统,并通过C#代码进行访问
    【JavaEE初阶】 CSS的引入方式和选择器
    【论文阅读】DPLVO: Direct Point-Line Monocular Visual Odometry
    d3d12龙书阅读----绘制几何体(下)
    什么是黑五(Black Friday)
    2022最新前端vue面试题
    【自动化持续集成必备基础】pipeline常用功能
  • 原文地址:https://blog.csdn.net/weixin_39641494/article/details/133753298