当前位置: 首页 > article >正文

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

算术运算符

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

  • 运算符之相加( + )
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);//输出0System.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);//输出7System.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); // falseSystem.out.println(a != b); // trueSystem.out.println(a < b); // trueSystem.out.println(a > b); // falseSystem.out.println(a <= b); // trueSystem.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 的结果要是同类型的,除非能发生类型隐式类型转换
  • 表达式不能单独存在,其产生的结果必须要被使用

    算符的优先级运

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

 

相关文章:

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

算术运算符 基础运算之加 减 乘 除 取余&#xff08; - * / %&#xff09; 运算符之相加&#xff08; &#xff09; 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);//…...

二十五、实战开发 uni-app x 项目(仿京东)- 前后端轮播图

定义了一个名为 Swiper 的Java类,用于表示一个轮播图实体。它使用了 Jakarta Persistence API (JPA) 来映射数据库表,并使用了 Lombok 库来简化代码。以下是对代码的详细讲解: 1. 包声明 package com.jd.jdmall.model; 这行代码声明了该类所在的包路径为 com.jd.jdmall.mode…...

ubuntu设置开机自动运行应用

系统版本&#xff1a;Ubuntu 24.04.1 LTS桌面版 按招网上的资料显示&#xff0c;当前版本主要的实现方式有以下两种&#xff0c; 方式1&#xff1a;通过图形界面的【启动应用程序】设置开机自启动&#xff1b;方式2&#xff1a;配置为服务实现开机自启动。 但是在我的电脑上方…...

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

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

用ACM模式模板刷hot100

面试手撕给的模板基础上写 给的模板一般是下面这样 把while内容删除&#xff08;一般刷hot100题目输入不需要同时输入几组&#xff09; 第一个方法里写处理输入输出 自己再写一个方法&#xff0c;就是力扣里的核心代码&#xff08;加上static&#xff09; 第一个处理输入输…...

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 能够同时从过去和未来的上下文信息中学习,从而提升模型的…...

JSON数据修改的实现

JSON数据的修改 示例代码如下: using System.Collections; using System.Collections.Generic; using UnityEngine; //C#命名空间&#xff08;以System开头&#xff09; using System.IO; using LitJson; public class JsonChange : MonoBehaviour {// Start is called befor…...

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;可进行图像采集…...

【SpringBoot】MorningBox小程序的完整后端接口文档

以下是「晨光宅配」小程序的完整接口文档,涵盖了所有12个表的接口。 每个接口包括请求方法、URL、请求参数、响应格式和示例 接口文档 1. 用户模块 1.1 获取用户信息 URL: /user/{userId}方法: GET请求参数: userId (路径参数): 用户ID响应格式:{"userId": 1,&qu…...

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…...

springCloud集成tdengine(原生和mapper方式) 其一

第一种 mapper方式&#xff0c;原生方式在主页看第二章 一、添加pom文件 <!-- HikariCP 连接池 --><dependency><groupId>com.zaxxer</groupId><artifactId>HikariCP</artifactId></dependency><!-- TDengine 连接器--><de…...

数据结构知识点1

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

时序数据库QuestDB在Winform窗体应用

以下是QuestDB在Winform使用的代码&#xff1a; //初始化 private void Init() { //创建数据库对象 (用法和EF Dappper一样通过new保证线程安全) SqlSugarClient Db new SqlSugarClient(new ConnectionConfig() { ConnectionString “host10.3.5.227;port8812;usernameadmin;…...

从零开始学习 Go 语言

Go 语言&#xff08;又称 Golang&#xff09;是由 Google 开发的一种静态强类型、编译型、并发型编程语言。它以其简洁的语法、高效的并发支持和强大的标准库而闻名&#xff0c;非常适合开发高性能的服务器端应用、分布式系统和云计算工具。本文将从零开始&#xff0c;详细介绍…...

自由学习记录(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等集合类…...

【Nodejs】2024 汇总现状

之前已经调研了容器、nexus-public&#xff0c;实现了本地构建应用镜像和基础设施的镜像。为实现分布式一体化协作开发的目标&#xff0c;还需要配套的线上协作开发环境。故而重回前端调研现状&#xff0c;比较 5 年前的 nodejs 快好的啊。 以下是针对 Node.js 工具链的深度解析…...

LeetCode 每日一题 2025/3/17-2025/3/23

记录了初步解题思路 以及本地实现代码&#xff1b;并不一定为最优 也希望大家能一起探讨 一起进步 目录 3/17 1963. 使字符串平衡的最小交换次数3/18 2614. 对角线上的质数3/19 2610. 转换二维数组3/20 2612. 最少翻转操作数3/21 2680. 最大或值3/22 2643. 一最多的行3/23 2116…...