JavaSE1.0(基础语法之运算符)

news2025/3/25 11:59:07

算术运算符

基础运算之加 减 乘 除 取余( +  -  *  /  % 

  • 运算符之相加( + )
public static void main(String[] args) {

        System.out.println("Hello world!");
        int a = 10;
        int b = 20;
        int c = a + b;
        
        System.out.println(c);//输出30
    }
  • 最基础的运算符 + 用来相加两个数。可以用来计算整型与浮点型数值,与数学中的运算规则一样
  • 运算符之相减 ( - )
public static void main(String[] args) {

        System.out.println("Hello world!");
        int a = 10;
        int b = 20;
        int c = b - a;
        System.out.println(c);//输出10
        
        
    }
  • 最基础的运算符  -  用来相加两个数。可以用来计算整型与浮点型数值,与数学中的运算规则一样
  • 运算符之乘法( * )
public static void main(String[] args) {

        System.out.println("Hello world!");
        int a = 7;
        int b = 20;
        System.out.println(a * b);//输出140
        
  • 最基础的运算符  *  用来相加两个数。可以用来计算整型与浮点型数值,与数学中的运算规则一样
  • 运算符之除法( / )
public static void main(String[] args) {

        System.out.println("Hello world!");
        int a = 7;
        int b = 20;
        System.out.println(a/b);//输出0
        System.out.println(b/a);//输出2
  • Java中整数的除法跟数学中的除法不太一样,在不够整除时会把余数去掉,只留下整除部分,如上上面的代码中不够整除所以输出2和0;
  • 运算符之取模(取余数)( % )
public static void main(String[] args) {

        System.out.println("Hello world!");
        int a = 7;
        int b = 20;
        System.out.println(a %  b);//输出7
        System.out.println(b %  a);//输出6
  • 取模就是就取余, 跟 除法 相对,去掉整数部分,只留余数部分
  • 除法和取模需要注意以下几点

  • 运算符的右数不能为0

  • 与浮点数进行计算时会转为浮点类型

增量运算符

  • 加强版运算符之 += 、  -= *= 、/= 、%=
  • 增量之加等 +=

  • 其它四种也是相同概念

  • 增量运算符之自增(++)自减(--)

  • 主要是区分符号是在变量的前面还是后面,在前面称为前置,先对变量进行加一或者减一,后置则是变量先使用,在使用完之后在加一或者减一。

关系运算符

  • 关系运算符主要有六个: == != < > <= >= ,其计算结果是 true 或者 false
public static void main(String[] args) {

        System.out.println("Hello world!");
        int a = 10;
        int b = 20;
// 注意:在Java中 = 表示赋值,要与数学中的含义区分
// 在Java中 == 表示相等
        System.out.println(a == b); // false
        System.out.println(a != b); // true
        System.out.println(a < b); // true
        System.out.println(a > b); // false
        System.out.println(a <= b); // true
        System.out.println(a >= b); // false
  • 注意:当需要多次判断时,不能连着写,比如: 3 < a < 5 Java 程序与数学中是有区别的
逻辑运算符
  • 逻辑运算符主要有三个: &&  ||  ! ,运算结果都是 boolean类型
  • 逻辑之逻辑与&&
  • 语法规则:表达式 1 && 表达式 2 ,左右表达式必须是 boolean 类型的结果。
  • 相当于现实生活中的并且,需要满足两个条件。如:颜值和才华,必须都具备才是真
  • 两个表达式都为真,结果才是真,只要有一个是假,结果就是假。
  • 逻辑之逻辑或 ||
  • 语法规则:表达式 1 || 表达式 2 ,左右表达式必须是 boolean 类型的结果。
  • 相当于现实生活中的或,有两个条件只需满足一个就可以,如颜值和才华,有一个就为真
public static void main(String[] args) {

        int a = 1;
        int b = 2;
        System.out.println(a == 1 || b == 2); // 左为真 且 右为真 则结果为真
        System.out.println(a == 1 || b > 110); // 左为真 但 右为假 则结果也为真
        System.out.println(a > 210 || b == 2); // 左为假 但 右为真 则结果也为真
        System.out.println(a > 10 || b > 20); // 左为假 且 右为假 则结果为假
  • 逻辑之逻辑非 !
  • 语法规则:! 表达式  ------  作用:真变假,假变真


位运算符

  • Java 中数据存储的最小单位是字节,而数据操作的最小单位是比特 . 字节是最小的存储单位,每个字节是由 8 个二 进制比特位组成的,多个字节组合在一起可以表示各种不同的数据。
  • 位运算符主要有四个 : &  |  ~  ^ 
  • 位操作表示 按二进制位运算 . 计算机中都是使用二进制来表示数据的 (0和1 构成的序列 ), 按位运算就是在按照二进制位 的每一位依次进行计算
  • 位运算符之按位与 &
  • 如果两个二进制位都是 1, 则结果为 1, 否则结果为 0.

  • 位运算符之按位或 |
  • 如果两个二进制位都是 0, 则结果为 0, 否则结果为 1.
  • 注意 : & | 的操作数为整数 (int, short, long, byte) 的时候 , 表示按位运算 , 当操作数为 boolean 的时候 , 表示逻辑运算.
  • 位运算符之按位取反 ~
  • 如果该位为 0 则转为 1, 如果该位为 1 则转为 0
  • 所以最后输出负数21
  • 位运算符之按位异或 ^
  • 如果两个数字的二进制位相同, 则结果为 0, 相异则结果为 1.


移位运算符

  • 移位运算符有三个 : <<  >>  >>> ,都是按照二进制比特位来运算的。
  •  移位运算符之左移 <<: 最 左 侧 位 不 要 , 最 右 侧 补  0

  • 可能出现符号位变成1,直接变成负数
  • 移位运算符之左移 >>
  • 最 右侧 位 不 要 , 最左侧补符号位(正数补0, 负数补1

  • 移位运算符之无符号右移 >>> :最右侧位不要了, 最左侧补 0

  • 跟右移相似,但是符号位始终补0,这样不会出现负数
  • 左移 1 位, 相当于原数字 * 2. 左移 N 位, 相当于原数字 * 2 的N次方.
  •  右移 1 位, 相当于原数字 / 2. 右移 N 位, 相当于原数字 / 2 的N次方.
  • 由于计算机计算移位效率高于计算乘除, 当某个代码正好乘除 2 的N次方的时候可以用移位运算代替.
  • 移动负数位或者移位位数过大都没有意义.

条件运算符

  • 条件运算符只有一个 :
  • 表达式1 ? 表达式 2 : 表达式 3
  • 当 表达式 1 的值为 true , 整个表达式的值为 表达式 2 的值 ; 当 表达式 1 的值为 false , 整个表达式的值为 表达式 3 的值 . 也是 Java 中唯一的一个 三目运算符 , 是条件判断语句的简化写法 .
  • 表达式 2 和表达式 3 的结果要是同类型的,除非能发生类型隐式类型转换
  • 表达式不能单独存在,其产生的结果必须要被使用

    算符的优先级运

    运算符之间是有优先级. 具体的规则我们不必记忆. 在可能存在歧义的代码中加上括号,自己不同清楚的情况下加上括号,按照自己需要的顺序来执行

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2320541.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

蓝桥与力扣刷题(蓝桥 数的分解)

题目&#xff1a;把 2019分解成 3个各不相同的正整数之和&#xff0c;并且要求每个正整数都不包含数字 2 和 4&#xff0c;一共有多少种不同的分解方法&#xff1f; 注意交换 3 个整数的顺序被视为同一种方法&#xff0c;例如 1000100118和 1001100018 被视为同一种。 解题思…

Java IO 流:从字节到字符再到Java 装饰者模式(Decorator Pattern),解析与应用掌握数据流动的艺术

在 Java 编程中&#xff0c;IO&#xff08;输入输出&#xff09;流是处理数据输入输出的核心工具。无论是读取文件、网络通信&#xff0c;还是处理用户输入&#xff0c;IO 流都扮演着重要角色。本文将深入探讨 Java IO 流的核心概念、分类、经典代码实例及其应用场景&#xff0…

爬虫案例-爬取某站视频

文章目录 1、下载FFmpeg2、爬取代码3、效果图 1、下载FFmpeg FFmpeg是一套可以用来记录、转换数字音频、视频&#xff0c;并能将其转化为流的开源计算机程序。 点击下载: ffmpeg 安装并配置 FFmpeg 步骤&#xff1a; 1.下载 FFmpeg&#xff1a; 2.访问 FFmpeg 官网。 3.选择 Wi…

nacos-未经授权创建用户漏洞

1、修改配置文件 vim application.properties# 修改配置项 nacos.core.auth.enabledtrue nacos.core.auth.enable.userAgentAuthWhitefalse2、重启nacos systemctl restart nacos3、验证 打开nacos部署服务器输入命令 curl -XPOST -d “usernametest123&passwordtest!123…

C++:IO库

一、C IO库的架构 C标准库中的IO系统基于流&#xff08;Stream&#xff09;​的概念&#xff0c;分为三层结构&#xff1a; ​流对象​&#xff08;如cin, cout, fstream&#xff09;​流缓冲区​&#xff08;streambuf&#xff0c;负责底层数据处理&#xff09;​数据源/目的…

企业级前端架构设计与实战

一、架构设计核心原则 1.1 模块化分层架构 典型目录结构&#xff1a; src/├── assets/ # 静态资源├── components/ # 通用组件├── pages/ # 页面模块├── services/ # API服务层├── store/ # 全局状态管理├── uti…

从入门到精通【MySQL】 CRUD

文章目录 &#x1f4d5;1. Create 新增✏️1.1 单行数据全列插入✏️1.2 单行数据指定列插入✏️1.3 多行数据指定列插入 &#x1f4d5;2. Retrieve 检索✏️2.1 全列查询✏️2.2 指定列查询✏️2.3 查询字段为表达式✏️2.4 为查询结果指定别名✏️2.5 结果去重查询 &#x1f…

08_双向循环神经网络

双向网络 概念 双向循环神经网络&#xff08;Bidirectional Recurrent Neural Network, BiRNN&#xff09;通过同时捕捉序列的正向和反向依赖关系&#xff0c;增强模型对上下文的理解能力。与传统的单向网络不同,BIRNN 能够同时从过去和未来的上下文信息中学习,从而提升模型的…

2025年Postman的五大替代工具

虽然Postman是一个广泛使用的API测试工具&#xff0c;但许多用户在使用过程中会遇到各种限制和不便。因此&#xff0c;可能需要探索替代解决方案。本文介绍了10款强大的替代工具&#xff0c;它们能够有效替代Postman&#xff0c;成为你API测试工具箱的一部分。 什么是Postman&…

(四)---四元数的基础知识-(定义)-(乘法)-(逆)-(退化到二维复平面)-(四元数乘法的导数)

使用四元数的原因 最重要的原因是因为传感器的角速度计得到的是三个轴的角速度, 这三个轴的角速度合成一个角速度矢量, 结果就是在微小时间内绕着这个角速度矢量方向为轴旋转一定角度. 截图来源网址四元数 | Crazepony开源四轴飞行器

汇能感知高品质的多光谱相机VSC02UA

VSC02UA概要 VSC02UA是一款高品质的200万像素的光谱相机&#xff0c;适用于工业检测、农业、医疗等领域。VSC02UA 包含 1600 行1200 列有源像素阵列、片上 10 位 ADC 和图像信号处理器。它带有 USB2.0 接口&#xff0c;配合专门的电脑上位机软件使用&#xff0c;可进行图像采集…

Blazor+PWA技术打造全平台音乐播放器-从音频缓存到离线播放的实践之路

开局三张图… 0.起源 主要是自己现在用的是苹果手机&#xff0c;虽然手机很高级&#xff0c;但是想听自己喜欢的歌曲确是不容易&#xff0c;在线app都要付费&#xff0c;免费的本地播放器都不太好用&#xff08;收费的也不太行&#xff09;&#xff0c;基础功能都不满足。此外…

使用LangChain开发智能问答系统

代码地址见文末 1. 项目配置 1.1 Neo4j 数据库配置 1. 安装与环境变量 解压路径:将neo4j-community-5.x.x.zip解压至D:\neo4j-community-5.x.x环境变量: NEO4J_HOME: D:\neo4j-community-5.x.xJAVA_HOME: D:\neo4j-community-5.x.x\jdk(注意:需指向 JDK 目录)Path 变量…

Centos操作系统安装及优化

Centos操作系统安装及优化 零、环境概述 主机名 centos版本 cpu 内存 Vmware版本 ip地址 test CentOS Linux release 7.6.1810 (Core) 2C 2G 15.5.1 10.0.0.10 一、介质下载 1、7.6版本下载 CentOS7.6标准版下载链接: https://archive.kernel.org/centos-vault/7.6.1810/i…

游戏引擎学习第177天

仓库:https://gitee.com/mrxiao_com/2d_game_4 今日计划 调试代码有时可能会非常困难&#xff0c;尤其是在面对那些难以发现的 bug 时。显然&#xff0c;调试工具是其中一个非常重要的工具&#xff0c;但在游戏开发中&#xff0c;另一个非常常见的工具就是自定义的调试工具&a…

数据结构知识点1

目录 一、时间复杂度和空间复杂度 1.1时间复杂度&#xff1a; 1.2空间复杂度&#xff1a; 二、装箱和拆箱 三、泛型 3.1泛型类的使用&#xff1a; 3.2泛型的上界&#xff1a; 3.3泛型方法&#xff1a; 一、时间复杂度和空间复杂度 1.1时间复杂度&#xff1a; 时间复杂…

自由学习记录(45)

顶点片元着色器&#xff08;important&#xff09; 1.需要在Pass渲染通道中编写着色器逻辑 2.可以使用cG或HLSL两种shader语言去编写Shader逻辑 3.代码量较多&#xff0c;灵活性较强&#xff0c;性能消耗更可控&#xff0c;可以实现更多渲染细节 4.适用于光照处理较少&#xf…

数据源支持远程Excel/CSV,数据集支持分组字段功能,DataEase开源BI工具v2.10.6 LTS版本发布

2025年3月17日&#xff0c;人人可用的开源BI工具DataEase正式发布v2.10.6 LTS版本。 这一版本的功能变动包括&#xff1a;数据源方面&#xff0c;新增支持远程Excel/CSV数据源&#xff0c;支持以HTTP、HTTPS、FTP协议获取远程服务器上的Excel和CSV数据文件&#xff0c;并且可以…

SpringBoot3使用CompletableFuture时java.util.ConcurrentModificationException异常解决方案

问题描述 在Spring Boot 3项目中&#xff0c;使用CompletableFuture进行异步编程时&#xff0c;偶发{"code":500,"msg":"java.util.ConcurrentModificationException"}异常&#xff0c;但代码中并未直接操作List或CopyOnWriteArrayList等集合类…

STM32__红外避障模块的使用

目录 一、红外避障模块 概述 二、直接读取OUT引脚电平 三、使用中断方式触发 一、红外避障模块 概述 引脚解释&#xff1a; VCC接3.3V 或 5.0VGND接开发板的GNDOUT数字量输出(0或1&#xff09;; 低电平时表示前方有障碍 ; 通过可调电阻调整检测距离 产品特点&#xff1a; …