JAVA基础之运算符和键盘录入

😹 作者: gh-xiaohe
😻 gh-xiaohe的博客
😽 觉得博主文章写的不错的话,希望大家三连(✌关注,✌点赞,✌评论),多多支持一下!!!

🚏 运算符

🚀 基本算数运算符

  • 运算符:对字面量或者变量进行操作的符号。
🚬 算数运算符

在这里插入图片描述

public class OperatorDemo1 {
    public static void main(String[] args) {
        // 目标:掌握基本的算术算术运算符的使用:+ - * / %
        int a = 10;
        int b = 3;
        System.out.println(a + b);
        System.out.println(a - b);
        System.out.println(a * b);
        System.out.println(a / b); // 3.3333  ==>  3 转成整形
        System.out.println(a * 1.0 / b); // 3.3333
        System.out.println(3 / 2); // 1
        // 让数据 变成小数 整数 * 1.0 类型就是 double 类型 放在前面 乘 放在后面 乘 3 / 2 = 1  1 * 1.0 = 1.0
        System.out.println(3 * 1.0 / 2); // 1.5
        System.out.println(3  / 2 * 1.0); // 1.0
        System.out.println(a % b); // 1
    }
}

在这里插入图片描述

🚬 小技巧
整数做运算 让其结果变成小数 如果操作   * 1.0
🚬 总结
  • 算数运算符有哪些?
    • 、-、 *、 /、 %
  • / 需要注意什么,为什么?
    • 如果两个整数做除法,其结果一定是整数,因为最高类型是整数。
🚬 案例数值拆分
需求:一个三位数,将其拆分为个位、十位、百位后,打印在控制台

在这里插入图片描述

public class OperatorTest2 {
    public static void main(String[] args) {
        // 需求:拆分3位数,把个位、十位、百位分别输出
        int data = 589;

        // 1、个位
        int ge = data % 10;
        System.out.println(ge);

        // 2、十位
        int shi = data / 10 % 10;
        System.out.println(shi);

        // 3、百位
        int bai = data / 100;
        System.out.println(bai);
    }
}      

🚄 +符号做连接符

  • “+”符号与字符串运算的时候是用作连接符的,其结果依然是一个字符串。
  • 小技巧
    • 能算则算,不能算就在一起。(计算机很聪明
🚬 演示

在这里插入图片描述

public class OperatorDemo3 {
    public static void main(String[] args) {
        // 目标:+符号做连接符的识别
        int a = 5 ;
        System.out.println("abc" + 'a'); // abca
        System.out.println("abc" + a);   // abc5
        System.out.println(5 + a); // 10
        System.out.println("abc" + 5 + 'a'); // abc5a
        System.out.println(15 + "abc" + 15); // 15abc15
        System.out.println(a + 'a'); // 102
        System.out.println(a + "" +'a'); // 5a
        System.out.println(a + 'a'+" itheima "); // 102 itheima
        System.out.println("itheima"+ a + 'a'); // itheima5a
        System.out.println("itheima"+ ( a + 'a' ));// itheima102
    }
}
🚬 总结:
  • “+” 除了做基本数学运算,还有哪些功能?
    • 与字符串做+运算时会被当成连接符 ,其结果还是字符串。
    • 能算则算,不能算就在一起。

🚒 自增自减运算符

在这里插入图片描述

🚬 注意:
  • ++ 和 – 既可以放在变量的后边,也可以放在变量的前边。
  • ++ 、-- 只能操作变量,不能操作字面量的。
    int a = 10;
    // a++; // a = a + 1
    ++a; // a = a + 1
    System.out.println(a); // 11
🚬 自增自减的使用注意事项

    ++、–如果不是单独使用(如在表达式中、或者同时有其它操
作),放在变量前后会存在明显区别

  • 放在变量的前面,先对变量进行+1、-1,再拿变量的值进行运算。
    在这里插入图片描述

  • 放在变量的后面,先拿变量的值进行运算,再对变量的值进行+1、-1 在这里插入图片描述

public class OperatorDemo4 {
    public static void main(String[] args) {
        // 目标:学会使用自增自减运算符: ++ --
        int a = 10;
        // a++; // a = a + 1
        ++a; // a = a + 1
        System.out.println(a); // 11

        int b = 10;
        //b--; // b = b -1
        --b;
        System.out.println(b); // 9

        System.out.println("------------------------------");
        // 在表达式中或者不是单独操作的情况,++ -- 在变量前后存在区别
        // ++ -- 在变量前面。先+1 -1 再使用。
        int i = 10;
        int j = ++i;
        System.out.println(i); // 11
        System.out.println(j); // 11

        // ++ -- 在变量的后面 先使用再+1 -1
        int m = 10;
        int n = m++;
        System.out.println(m); // 11
        System.out.println(n); // 10

    }
}

在这里插入图片描述

🚬 总结
  • 自增、自减运算符是什么,有什么作用,需要注意什么?
    • ++、–。对当前变量值+1、-1
    • 只能操作变量,不能操作字面量
  • 自增、自减运算符在变量前后有区别吗?
    • 如果单独使用放前后是没有区别的
    • 非单独使用:在变量前 ,先进行变量自增/自减,再使用变量。
    • 非单独使用:在变量后 ,先使用变量,再进行变量自增/自减。
🚬 自增、自减拓展案例(面试题可能会出现)

在这里插入图片描述

public class OperatorDemo4 {
    public static void main(String[] args) {
        System.out.println("-----------拓展案例(可以了解和参考)--------------");
        /*
        int rs3 = c++ + ++c - --d - ++d + 1 + c--;
         未运算    11     12    5    4         12 -> 11
         运算值    10  +  12 -  4  - 5   + 1 + 12  // 26

         c 10 -> 11 - > 12 -> 11
         d 5  -> 4  - > 5
        * */
        System.out.println(rs3); //26
        System.out.println(c);   // 11
        System.out.println(d);   // 5
    }
}

在这里插入图片描述

🚤 赋值运算符

🚬 基本赋值运算符
  • 就是“=”
    在这里插入图片描述
🚬 扩展赋值运算符

在这里插入图片描述

注意:扩展的赋值运算符隐含了强制类型转换。

public class OperatorDemo5 {
    public static void main(String[] args) {
        // 目标:学会使用赋值运算符:= += -= *= /= %=
        int a = 10;
        int b = 200;
        // a = a + b;
        a += b; // a = (int)(a + b)
        System.out.println(a); // 210

        byte i = 10;
        byte j = 20;
        // i = (byte) (i + j);
        i += j; // i = (byte) (i + j);
        System.out.println(i); // 30 

        int m = 10;
        int n = 5;
        //m += n;
        //m -= n;  // 等价于: m = (int)(m - n)
        //m *= n;  // 等价于: m = (int)(m * n)
		//m /= n;  // 等价于: m = (int)(m / n)
        m %= n;  // 等价于: m = (int)(m % n) 0
        System.out.println(m);
    }
}
🚬 总结
  • 赋值运算符有哪些?
    • =、+=、-=、*=、/=、%=
  • 作用是什么?
    • 基本作用是赋值,扩展运算符还自带了强制类型转换。
    • +=还可以实现数据的累加,把别人的数据加给自己

🚗 关系运算符

  • 是对数据进行条件判断的符号,最终会返回一个比较的布尔结果(false,true)。
    在这里插入图片描述

    注意:在做相等判断是,千万不要把 == 误写成 =

public class OperatorDemo6 {
    public static void main(String[] args) {
        // 目标:学会使用关系运算符。
        int a = 10;
        int b = 10;

        boolean rs = a == b;
        System.out.println(rs); //true

        System.out.println(a == b); //true
        System.out.println(a != b); // false
        System.out.println(a > b); //  false
        System.out.println(a >= b); // true
        System.out.println(a < b); // false
        System.out.println(a <= b); // true

        int i = 10;
        int j = 5;
        System.out.println(i == j); // false
        System.out.println(i != j); // true
        System.out.println(i > j); // true
        System.out.println(i >= j); // true
        System.out.println(i < j); // false
        System.out.println(i <= j); // false

        System.out.println(i = j); // 5 相等判断必须是== 如果使用=是在进行赋值操作!
    }
}

🚲 逻辑运算符

🚬 逻辑运算符概述(既然想看结果,又想执行 &、|)
  • 可以把多个条件的布尔结果放在一起运算,最终返回一个布尔结果。(同时满足多个条件)
    在这里插入图片描述
🚬 短路逻辑运算符(使用较多)

在这里插入图片描述

    注意:逻辑与 “&” 、逻辑或“|”: 无论左边是 false还是 true,

右边都要执行。

public class OperatorDemo7 {
    public static void main(String[] args) {
        // 目标:学会使用逻辑运算符,并能够选择合适的逻辑运算符解决问题。
        double size = 9.8;
        double storage = 6;
        // 需求:尺寸大于等于6.95 内存要大于等于8GB
        // 注意:必须前后都是true结果才是true
        System.out.println(size >= 6.95 & storage >=8); // false

        // 需求:要么内存大于等于8 要么尺寸大于等于6.95
        // 注意:只要有一个是true 结果就一定是true
        System.out.println(size >= 6.95 | storage >=8); // true

        System.out.println(!true); // false
        System.out.println(!false); // true

        // 逻辑异或:必须两个不同结果才是true
        System.out.println(false ^ true); // true
        System.out.println(true ^ false); // true
        System.out.println(true ^ true); // false
        System.out.println(false ^ false); // false

        System.out.println("-----------&&  &  || |的区别-------------------");
        int a = 10;
        int b = 20;
        // System.out.println(a > 100 && ++b > 10);
        System.out.println(a > 100 & ++b > 10); //false
        System.out.println(b); //21

        int i = 10;
        int j = 20;
        //System.out.println(i > 2 || ++j > 10);
        System.out.println(i > 2 | ++j > 10); // true
        System.out.println(j); // 21

    }
}
🚬 总结
  • 逻辑运算符有哪些,有什么特点?
    • 逻辑与“&” :有一个为false、结果是false
    • 短路与&&: 一个为false、结果是false。前一个为false,后一个条件不执行了
    • 逻辑或“|”:有一个为true、结果是true
    • 短路或||:一个为true、结果是true。前一个为true,后一个条件不执行了
    • 逻辑非“!”:!false=true、 !true=false
    • 逻辑异或“^” :相同是false、不同是true。
    • 注意:实际开发中、常用的逻辑运算符还是:&& 、 || 、 !

🛴 三元运算符

在这里插入图片描述

public class OperatorDemo8 {
    public static void main(String[] args) {
        // 目标:学会使用三元运算符,理解其流程
        double score = 18;
        String rs = score >= 60 ? "考试通过" : "挂科";
        System.out.println(rs); // 挂科

        // 需求:需要从2个整数中找出较大值
        int a = 10000;
        int b = 2000;
        int max = a > b ? a : b;
        System.out.println(max); // 10000
    }
}
🚬 案例 求三个整数的最大值

需求:定义三个整数,找出最大值并打印在控制台。

public class OperatorDemo8 {
    public static void main(String[] args) {
        /**
         分析:
             用三元运算符获取前两个整数的最大值,并用临时变量保存起来。
                num1 > num2 ? num1 : num2;
            用三元运算符,让临时最大值,和第三个整数,进行比较,并记录结果。
                temp > num3 ? temp : num3;
             输出结果
         */
        int i = 10;
        int j = 30;
        int k = 50;
        // 1、找出2个整数的较大值
        int temp = i > j ? i : j;
        // 2、拿临时变量与第三个变量的值继续比较
        int rsMax = temp > k ? temp : k;
        System.out.println(rsMax); // 50
		
        // 三元运算符的嵌套
        System.out.println("-------------拓展知识-------------");
        /*
             i > j
                    true   i > k ? i : k  如果 i > j 成立   比较 i 和 k 的大小
                    false  j > k ? j : k  如果 i > j 不成立 比较 j 和 k 的大小

        * */
        int rsMax1 = i > j ? (i > k ? i : k) : (j > k ? j : k);
        System.out.println(rsMax1); // 50
    }
}

🏍 运算符优先级

  • 在表达式中,哪个运算符先执行后执行是要看优先级的,例如 “*、/” 的优先级高于”+、-”。
    在这里插入图片描述

🚏 案例技术:键盘录入

需求:

  • 请完成Java程序与用户交互,比如录入用户输入的名称、年龄,怎么办?。
    在这里插入图片描述

API(Application Programming Interface,应用程序编程接口)

  • Java写好的程序(功能代码),咱们可以直接调用。

  • Oracle也为Java写好的程序提供了相应的API文档(技术使用说明书)。

🚀 键盘录入功能实现的三个步骤:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-L77UvW2V-1653139376575)(%E7%B1%BB%E5%9E%8B%E8%BD%AC%E6%8D%A2%E3%80%81%E8%BF%90%E7%AE%97%E7%AC%A6.assets/image-20220521211540712.png)]

🚄 注意:

  • System、String在JDK中的Java.lang包下

  • lang包不需要我们导包,是默认的包。

// 1、导包操作 (并不需要自己写的,以后通过工具进行导入更方便)
public class ScannerDemo {
    public static void main(String[] args) {
        // 目标:接收用户的键盘输入的数据。
        // 2、得到一个键盘扫描器对象
        Scanner sc = new Scanner(System.in);

        System.out.println("请您输入您的年龄:");
        // 3、等待接收用户输入一个整数,按了回车键才会把数据交给age变量
        int age = sc.nextInt();
        System.out.println("您的年龄是:" + age);

        System.out.println("请您输入您的名称:");
        // 4、等待接收用户输入一个字符串,按了回车键才会把数据交给name变量
        String name = sc.next();
        System.out.println(name + "欢迎进入系统!");
    }
}

在这里插入图片描述

🚒 总结:

  • API是什么?

    • Application Programming Interface,应用程序编程接口。

    • Java写好的程序,咱们可以直接调用。

  • 键盘录入的开发步骤导包:

    • import java.util.Scanner;
    • 抄写代码得到扫描器对象:Scanner sc=new Scanner(System.in)
    • 抄写代码等待接收用户输入的数据:sc.nextlnt()、sc.next()

在这里插入图片描述

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gh-xiaohe

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值