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);
    }
}
相关推荐
刘一说4 小时前
Java 中实现多租户架构:数据隔离策略与实践指南
java·oracle·架构
lsx2024064 小时前
Java 对象概述
开发语言
Mr_Xuhhh4 小时前
C++11实现线程池
开发语言·c++·算法
beata4 小时前
Java基础-9:深入 Java 虚拟机(JVM):从底层源码到核心原理的全面解析
java·后端
无水先生4 小时前
python函数的参数管理(01)*args和**kwargs
开发语言·python
py小王子4 小时前
dy评论数据爬取实战:基于DrissionPage的自动化采集方案
大数据·开发语言·python·毕业设计
小陶的学习笔记4 小时前
python~基础
开发语言·python·学习
SimonKing4 小时前
分享一款可以管理本地端口的IDEA插件:Port Manager
java·后端·程序员
lsx2024064 小时前
JavaScript 条件语句
开发语言
玄同7654 小时前
Python 自动发送邮件实战:用 QQ/163 邮箱发送大模型生成的内容
开发语言·人工智能·python·深度学习·机器学习·邮件·邮箱