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);
    }
}
相关推荐
菜鸟233号21 小时前
力扣647 回文子串 java实现
java·数据结构·leetcode·动态规划
qq_124987075321 小时前
基于Java Web的城市花园小区维修管理系统的设计与实现(源码+论文+部署+安装)
java·开发语言·前端·spring boot·spring·毕业设计·计算机毕业设计
h7ml21 小时前
查券返利机器人的OCR识别集成:Java Tesseract+OpenCV优化图片验证码的自动解析方案
java·机器人·ocr
野犬寒鸦21 小时前
从零起步学习并发编程 || 第五章:悲观锁与乐观锁的思想与实现及实战应用与问题
java·服务器·数据库·学习·语言模型
Volunteer Technology21 小时前
Sentinel的限流算法
java·python·算法
岁岁种桃花儿21 小时前
SpringCloud从入门到上天:Nacos做微服务注册中心
java·spring cloud·微服务
jdyzzy21 小时前
什么是 JIT 精益生产模式?它与传统的生产管控方式有何不同?
java·大数据·人工智能·jit
Chasmれ21 小时前
Spring Boot 1.x(基于Spring 4)中使用Java 8实现Token
java·spring boot·spring
froginwe1121 小时前
Python 条件语句
开发语言
汤姆yu21 小时前
2026基于springboot的在线招聘系统
java·spring boot·后端