Java基础1.4-运算符

目录

算数运算符

数值拆分

字符串拼接操作

自增自减运算符

类型转换

隐式转换

强制转换类型

赋值运算符

关系运算符

逻辑运算符

三元运算符

运算符优先级

[Scanner 键盘录入](#Scanner 键盘录入)


算数运算符

|----|----|----------------|
| 符号 | 作用 | 说明 |
| + | 加 | 参看小学一年级 |
| - | 减 | 参看小学一年级 |
| * | 乘 | 参看小学二年级,与"×"相同 |
| / | 除 | 参看小学二年级,与"÷"相同 |
| % | 取余 | 获取的是两个数据做除法的余数 |

数值拆分

字符串拼接操作

自增自减运算符

复制代码
public class OperatorDemo2 {
    /*
                      自增自减运算符
        符号:++(自增)、--(自减)
        使用方式:
        可以放在变量的前面,也可以放在变量的后面
        使用细节:
        单独使用:符号在前或在后没有区别示例:
        c
        int a = 10;
        ++a;
        a++;
        参与运算使用:
        ++在前:先自增再操作
        ++在后:先操作再自增
     */
    public static void main(String[] args) {
        int a =10;
        int b =++a;
        System.out.println(a);
        System.out.println(b);//a=11 b=11

        int c =10;
        int d = c++;
        System.out.println(c);
        System.out.println(d);// d=10 c=11

    }
}

类型转换

隐式转换

强制转换类型

复制代码
public class TypeChangeDemo {
    /*
        byte b1 = 3;
    byte b2 = 4;
    byte b3 = b1 + b2;
    错误原因:b1 和 b2 是 byte 类型数据,相加时会自动提升为 int 类型(Java 的运算类型提升规则),最终结果是 int 类型;将 int 类型值直接赋值给 byte 类型变量,属于 "大类型赋值给小类型",会导致编译错误。
    改正方案:
    强制类型转换:byte b3 = (byte)(b1 + b2);
    改变变量类型:int b3 = b1 + b2;
    代码片段 2
    java
    byte b = 3 + 4;
    说明:这句代码不会报错,因为 Java 存在 "字面量优化机制":编译阶段(javac)会直接计算3+4的结果(7),而 7 在 byte 类型的取值范围(-128~127)内,因此编译后字节码等价于byte b = 7;。
    完整 main 方法代码
    java


    }
     */
    public static void main(String[] args) {
        byte b = 3 + 4;
        System.out.println(b);
    }
}

赋值运算符

关系运算符

逻辑运算符

把多个条件放在一起运算,最终返回布尔类型的值:true、false

需求: 在程序中,判断一个学生成绩是否在 90~100 之间,是的话程序输出优秀.

|----|------|---------------------|
| 符号 | 介绍 | 说明 |
| & | 逻辑与 | 并且, 遇 false 则 false |
| | | 逻辑或 | 或者,遇 true 则 true |
| ! | 逻辑非 | 取反 |
| ^ | 逻辑异或 | 相同为 false,不同为 true |

|------|-----|----|
| 符号 | 介绍 | 说明 |
| && | 短路与 | |
| || | 短路或 | |

复制代码
public class OperatorDemo03 {
    /*
        短路逻辑运算符:
    & : 没有短路效果,无论符号左边是true还是false,右边都要继续执行.
    && : 具有短路效果,当符号左边为false的时候,右边就不执行了.
         如果符号左边为true,右边要继续执行.

    | : 没有短路效果,无论符号左边是true还是false,右边都要继续执行.
    || : 具有短路效果,当符号左边为true的时候,右边就不执行了.
         如果符号左边为false,右边要继续执行.
     */
    public static void main(String[] args) {
        int x = 3;
        int y = 4;

        // false & false

        ++x;
        y--;
        boolean result = false;

        System.out.println(result);  // false

        System.out.println(x);      // 4
    }
}

三元运算符

运算符优先级

Scanner 键盘录入

复制代码
import java.util.Scanner;

public class ScannerDemo {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入你的年龄");
        int age = sc.nextInt();
        System.out.println("请输入你的姓名");
        String name = sc.next();

        System.out.println("姓名为"+name+"年龄为"+age);
    }
}
相关推荐
蜗牛一步步往上爬2 小时前
第十六章 C++语言在深度学习中的应用
开发语言·c++·深度学习
这个昵称不容易3 小时前
SpringBoot「衣依」服装销售平台:144个Java文件180个接口,从挑衣服到收货评价整条链路都在
java·springboot·毕设
计算机毕设定制辅导-无忧学长4 小时前
《基于微信小程序的居家医疗陪护预约系统设计与实现》
java·spring boot·微信小程序·uniapp·居家医疗陪护预约系统
张张123y4 小时前
DSH 插件调试避坑:client.js 设置面板、热重载与高频报错排查表
开发语言·javascript·人工智能·开源·ecmascript·后端开发·ai agent
文丑颜不良啊5 小时前
LeetCode2221~2240题目解析
java·leetcode
秋饼5 小时前
Computer Use Agent Java 落地实战:感知-行动循环、执行器与安全围栏生产级实现
java·ai·技术分享·后端开发
冻柠檬飞冰走茶7 小时前
字母移动游戏题解:贪心求最长可保留连续子串(附 C 实现)
c语言·开发语言·数据结构·算法·动态规划
文丑颜不良啊7 小时前
LeetCode2161~2180题目解析
java·leetcode
FRing037 小时前
vue2干货总结7(自定义指令、插槽、单页应用程序、路由的使用(VueRouter))
开发语言·前端·vue.js·vue2
雪落漂泊7 小时前
C++算法 二分查找篇(上)
开发语言·c++·算法