• Java基础(运算符)


    运算符

    运算符和表达式

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

    表达式:用运算符把字面量或者变量连接起来,符合java语法的式子就可以称为表达式;不同运算符连接的表达式体现的是不同类型的表达式。

    算术运算符(加、减、乘、除、取模、取余)(字符串只有加)
    一、案例:
    1. Spackage cn.wwq.YunSuanFu;
    2. import java.util.Scanner;
    3. public class demo1 {
    4.    /**
    5.     *需求:键盘录入一个三位数,将其拆分为个位、十位、百位后,打印在控制台
    6.     * 公式总结:
    7.     * 个位:数值 % 10
    8.     * 十位:数值 / 10 % 10
    9.     * 百位:数值 / 100 % 10
    10.     * 千位:数值 / 1000 % 10
    11.     * */
    12.    public static void main(String[] args) {
    13.        //1.键盘录入
    14.        Scanner sc = new Scanner(System.in);
    15.        System.out.println("请输入一位三位数");
    16.        int number = sc.nextInt();
    17.        //2.获取个位,十位,百位
    18.        //个位:数值 % 10
    19.        // 十位:数值 / 10 % 10
    20.        //百位:数值 / 100 % 10
    21.        int ge = number % 10;
    22.        int shi = number / 10 % 10;
    23.        int bai = number / 100 % 10;
    24.        System.out.println(ge);
    25.        System.out.println(shi);
    26.        System.out.println(bai);
    27.   }
    28. }
    二、"+"操作的三种情况

    1.数字相加

    数字进行运算时,数据类型不一样不能运算,需要转成一样的,才能运算。

    2.字符串相加

    3.字符相加

    字符+字符/字符+数字时,会把字符通过 ASCII 码表查询到对应的数字再进行计算。

    三.隐式转换和强制转换

    隐式转换(自动类型提升):取值范围的数值转换成取值范围的数值。

    取值范围从小到大:byte

    什么时候转换?数据类型不一样,不能进行计算,需要转成一样的才可以进行计算。

    隐式转换的两种提升规则:

    1.取值范围小的,和取值范围大的进行运算,小的会先提升为大的,再进行运算。

    2.byte short char 三种类型的数据在运算的时候,都会直接先提升为int,然后再进行运算。

    看代码说结果:

    强制转换:取值范围的数值转换成取值范围的数值。

    四.注意事项:

    / 和 % 的区别:两个数据做除法,/ 取结果的商,% 取结果的余数。整数操作只能得到整数,要想得到小数,必须有浮点数参与运算。

    自增自减运算符-基本使用

    基本用法:

    单独使用方式++ 和 -- 既可以放在变量前边,也可以放在变量后边,单独写一行结果是一样的

    1. package cn.wwq.YunSuanFu;
    2. public class demo2 {
    3.    public static void main(String[] args) {
    4.        //++ 和 --
    5.        int a = 5;
    6.        a++;
    7.        System.out.println(a);//6
    8.        ++a;
    9.        System.out.println(a);//7
    10.        a--;
    11.        System.out.println(a);//6
    12.        --a;
    13.        System.out.println(a);//5
    14.   }
    15. }

    参与计算方式:1. int a = 10; int b = a++; (先用后加)

    2. int a = 10; int b = ++a; (先加后用)

    赋值运算符和关系运算符
    赋值运算符:

    注意:+=,-=,*=,/=,%=底层都隐藏了一个强制类型转换

    关系运算符(比较运算符):

    注意事项:关系运算符的结果都是boolean类型,要么是true,要么是false。千万不要把“==”误写成“=”。

    1. package cn.wwq.YunSuanFu;
    2. import java.util.Scanner;
    3. /**
    4. *您和您的约会对象在餐厅约会。
    5. *键盘录入两个整数,表示你和你约会对象衣服的时髦度(手动录入0-10之间的整数)
    6. * 如果你的时髦程度大于你对象的时髦程度,就相亲成功,输出true,否则输出false。
    7. */
    8. public class demo3 {
    9.    public static void main(String[] args) {
    10.         //1.键盘录入
    11.        Scanner sc = new Scanner(System.in);
    12.        System.out.println("请输入自己衣服的时髦度:");
    13.        int my = sc.nextInt();
    14.        System.out.println("请输入相亲对象衣服的时髦度:");
    15.        int girl = sc.nextInt();
    16.        //比较
    17.        boolean result = my > girl;
    18.        //打印
    19.        System.out.println(result);
    20.   }
    21. }
    逻辑运算符
    一、逻辑运算符的分类:

    提示:取反的感叹号不要写多次,要么不写,要么只写一个。

    &两个都要满足,|满足一个就可以

    二、短路逻辑运算符

    短路逻辑运算符具有短路效果,当左边的表达式能确定最终结果,那么右边就不会参与运行了。

    注意事项:

    1.&|,无论左边是true还是false,右边都要执行。

    &&||,如果左边能确定整个表达式的结果,右边不执行。

    %%:左边为false,右边不管是真是假,整个表达式的结果一定是false。

    ||:左边为true,右边不管是真是假,整个表达式的结果一定是true。

    这两种情况下,右边不执行,提高了效率。

    2.最常用的逻辑运算符:&&,||,!

    1. package cn.wwq.YunSuanFu;
    2. import java.util.Scanner;
    3. /**
    4. * 数字6是一个真正伟大的数字,键盘录入两个整数。
    5. * 如果其中一个为6,最后结果输出true。
    6. * 如果它们的和为6的倍数,最终结果输出为true,其他情况都是false.
    7. * */
    8. public class demo4 {
    9.    public static void main(String[] args) {
    10.        //键盘录入
    11.        Scanner sc = new Scanner(System.in);
    12.        System.out.println("请输入一个整数");
    13.        int number1 = sc.nextInt();
    14.        System.out.println("请输入另一个整数");
    15.        int number2 = sc.nextInt();
    16.        //用短路逻辑运算符链接三个判断
    17.        boolean result = number1 == 6 || number2 == 6 || (number2 + number1) % 6 == 0;
    18.        //打印
    19.        System.out.println(result);
    20.   }
    21. }

    三元运算符
    一、三元运算符的作用:

    可以进行判断,根据判断的结果得到不同的内容。

    二、 三元运算符(三元表达式)格式:

    关系表达式?表达式1:表达式2;

    1. package cn.wwq.YunSuanFu;
    2. /**
    3. * 使用三元表达式,获取两个整数的较大值
    4. * */
    5. public class demo5 {
    6.    public static void main(String[] args) {
    7.        //1.定义两个变量记录两个整数
    8.        int number1 = 19;
    9.        int number2 = 29;
    10.        //2.使用三元表达式,获取两个整数的较大值
    11.        int max = number1 > number2 ? number1 : number2;
    12.        System.out.println(max);
    13.   }
    14. }
    三、计算规则:

    1.首先计算关系表达式的值

    2.如果值为true表达式1的值就是运算结果

    3.如果值为false表达式2的值就是运算结果

    四、案例
    1. package cn.wwq.YunSuanFu;
    2. /**
    3. * 一座寺庙住着三个和尚,已知他们的身高分别为150cm、210cm、165cm。
    4. * 请用程序实现获取这三个和尚的最高身高。
    5. * */
    6. public class demo6 {
    7.    public static void main(String[] args) {
    8.        //1、定义三个变量记录三个和尚的身高
    9.        int height1 = 150;
    10.        int height2 = 210;
    11.        int height3 = 165;
    12.        //2、拿着第一个和尚和第二个和尚比较
    13.        // 再拿结果与第三个和尚比较
    14.        int result = height1 > height2 ? height1 : height2;
    15.        int result2 = result > height3 ? result : height3;
    16.        System.out.println(result2);
    17.   }
    18. }
    五、运算符优先级

    ()优先于所有。

  • 相关阅读:
    终于搞懂了!原来vue3中template使用ref无需.value是因为这个
    第八章 设计zrlog项目接口自动化测试框架(8.5章节)
    Allegro如何给铜皮导弧操作详解
    12【事务的隔离级别】
    从头开始构建GPT标记器
    前端面试准备
    Delphi主窗体实现透明
    Python分享之数学与随机数 (math包,random包)
    Stable Diffusion中的常用术语解析
    vue3 TS数据处理常见错误分析:列表变为对象的错误如何处理
  • 原文地址:https://blog.csdn.net/2403_83673579/article/details/138195673