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(基础语法之运算符)
算术运算符 基础运算之加 减 乘 除 取余( - * / %) 运算符之相加( ) 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设置开机自动运行应用
系统版本:Ubuntu 24.04.1 LTS桌面版 按招网上的资料显示,当前版本主要的实现方式有以下两种, 方式1:通过图形界面的【启动应用程序】设置开机自启动;方式2:配置为服务实现开机自启动。 但是在我的电脑上方…...
蓝桥与力扣刷题(蓝桥 数的分解)
题目:把 2019分解成 3个各不相同的正整数之和,并且要求每个正整数都不包含数字 2 和 4,一共有多少种不同的分解方法? 注意交换 3 个整数的顺序被视为同一种方法,例如 1000100118和 1001100018 被视为同一种。 解题思…...
用ACM模式模板刷hot100
面试手撕给的模板基础上写 给的模板一般是下面这样 把while内容删除(一般刷hot100题目输入不需要同时输入几组) 第一个方法里写处理输入输出 自己再写一个方法,就是力扣里的核心代码(加上static) 第一个处理输入输…...
Java IO 流:从字节到字符再到Java 装饰者模式(Decorator Pattern),解析与应用掌握数据流动的艺术
在 Java 编程中,IO(输入输出)流是处理数据输入输出的核心工具。无论是读取文件、网络通信,还是处理用户输入,IO 流都扮演着重要角色。本文将深入探讨 Java IO 流的核心概念、分类、经典代码实例及其应用场景࿰…...
爬虫案例-爬取某站视频
文章目录 1、下载FFmpeg2、爬取代码3、效果图 1、下载FFmpeg FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。 点击下载: ffmpeg 安装并配置 FFmpeg 步骤: 1.下载 FFmpeg: 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系统基于流(Stream)的概念,分为三层结构: 流对象(如cin, cout, fstream)流缓冲区(streambuf,负责底层数据处理)数据源/目的…...
企业级前端架构设计与实战
一、架构设计核心原则 1.1 模块化分层架构 典型目录结构: src/├── assets/ # 静态资源├── components/ # 通用组件├── pages/ # 页面模块├── services/ # API服务层├── store/ # 全局状态管理├── uti…...
从入门到精通【MySQL】 CRUD
文章目录 📕1. Create 新增✏️1.1 单行数据全列插入✏️1.2 单行数据指定列插入✏️1.3 多行数据指定列插入 📕2. Retrieve 检索✏️2.1 全列查询✏️2.2 指定列查询✏️2.3 查询字段为表达式✏️2.4 为查询结果指定别名✏️2.5 结果去重查询 …...
08_双向循环神经网络
双向网络 概念 双向循环神经网络(Bidirectional Recurrent Neural Network, BiRNN)通过同时捕捉序列的正向和反向依赖关系,增强模型对上下文的理解能力。与传统的单向网络不同,BIRNN 能够同时从过去和未来的上下文信息中学习,从而提升模型的…...
JSON数据修改的实现
JSON数据的修改 示例代码如下: using System.Collections; using System.Collections.Generic; using UnityEngine; //C#命名空间(以System开头) using System.IO; using LitJson; public class JsonChange : MonoBehaviour {// Start is called befor…...
2025年Postman的五大替代工具
虽然Postman是一个广泛使用的API测试工具,但许多用户在使用过程中会遇到各种限制和不便。因此,可能需要探索替代解决方案。本文介绍了10款强大的替代工具,它们能够有效替代Postman,成为你API测试工具箱的一部分。 什么是Postman&…...
(四)---四元数的基础知识-(定义)-(乘法)-(逆)-(退化到二维复平面)-(四元数乘法的导数)
使用四元数的原因 最重要的原因是因为传感器的角速度计得到的是三个轴的角速度, 这三个轴的角速度合成一个角速度矢量, 结果就是在微小时间内绕着这个角速度矢量方向为轴旋转一定角度. 截图来源网址四元数 | Crazepony开源四轴飞行器...
汇能感知高品质的多光谱相机VSC02UA
VSC02UA概要 VSC02UA是一款高品质的200万像素的光谱相机,适用于工业检测、农业、医疗等领域。VSC02UA 包含 1600 行1200 列有源像素阵列、片上 10 位 ADC 和图像信号处理器。它带有 USB2.0 接口,配合专门的电脑上位机软件使用,可进行图像采集…...
【SpringBoot】MorningBox小程序的完整后端接口文档
以下是「晨光宅配」小程序的完整接口文档,涵盖了所有12个表的接口。 每个接口包括请求方法、URL、请求参数、响应格式和示例 接口文档 1. 用户模块 1.1 获取用户信息 URL: /user/{userId}方法: GET请求参数: userId (路径参数): 用户ID响应格式:{"userId": 1,&qu…...
Blazor+PWA技术打造全平台音乐播放器-从音频缓存到离线播放的实践之路
开局三张图… 0.起源 主要是自己现在用的是苹果手机,虽然手机很高级,但是想听自己喜欢的歌曲确是不容易,在线app都要付费,免费的本地播放器都不太好用(收费的也不太行),基础功能都不满足。此外…...
使用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 今日计划 调试代码有时可能会非常困难,尤其是在面对那些难以发现的 bug 时。显然,调试工具是其中一个非常重要的工具,但在游戏开发中,另一个非常常见的工具就是自定义的调试工具&a…...
springCloud集成tdengine(原生和mapper方式) 其一
第一种 mapper方式,原生方式在主页看第二章 一、添加pom文件 <!-- HikariCP 连接池 --><dependency><groupId>com.zaxxer</groupId><artifactId>HikariCP</artifactId></dependency><!-- TDengine 连接器--><de…...
数据结构知识点1
目录 一、时间复杂度和空间复杂度 1.1时间复杂度: 1.2空间复杂度: 二、装箱和拆箱 三、泛型 3.1泛型类的使用: 3.2泛型的上界: 3.3泛型方法: 一、时间复杂度和空间复杂度 1.1时间复杂度: 时间复杂…...
时序数据库QuestDB在Winform窗体应用
以下是QuestDB在Winform使用的代码: //初始化 private void Init() { //创建数据库对象 (用法和EF Dappper一样通过new保证线程安全) SqlSugarClient Db new SqlSugarClient(new ConnectionConfig() { ConnectionString “host10.3.5.227;port8812;usernameadmin;…...
从零开始学习 Go 语言
Go 语言(又称 Golang)是由 Google 开发的一种静态强类型、编译型、并发型编程语言。它以其简洁的语法、高效的并发支持和强大的标准库而闻名,非常适合开发高性能的服务器端应用、分布式系统和云计算工具。本文将从零开始,详细介绍…...
自由学习记录(45)
顶点片元着色器(important) 1.需要在Pass渲染通道中编写着色器逻辑 2.可以使用cG或HLSL两种shader语言去编写Shader逻辑 3.代码量较多,灵活性较强,性能消耗更可控,可以实现更多渲染细节 4.适用于光照处理较少…...
数据源支持远程Excel/CSV,数据集支持分组字段功能,DataEase开源BI工具v2.10.6 LTS版本发布
2025年3月17日,人人可用的开源BI工具DataEase正式发布v2.10.6 LTS版本。 这一版本的功能变动包括:数据源方面,新增支持远程Excel/CSV数据源,支持以HTTP、HTTPS、FTP协议获取远程服务器上的Excel和CSV数据文件,并且可以…...
SpringBoot3使用CompletableFuture时java.util.ConcurrentModificationException异常解决方案
问题描述 在Spring Boot 3项目中,使用CompletableFuture进行异步编程时,偶发{"code":500,"msg":"java.util.ConcurrentModificationException"}异常,但代码中并未直接操作List或CopyOnWriteArrayList等集合类…...
【Nodejs】2024 汇总现状
之前已经调研了容器、nexus-public,实现了本地构建应用镜像和基础设施的镜像。为实现分布式一体化协作开发的目标,还需要配套的线上协作开发环境。故而重回前端调研现状,比较 5 年前的 nodejs 快好的啊。 以下是针对 Node.js 工具链的深度解析…...
LeetCode 每日一题 2025/3/17-2025/3/23
记录了初步解题思路 以及本地实现代码;并不一定为最优 也希望大家能一起探讨 一起进步 目录 3/17 1963. 使字符串平衡的最小交换次数3/18 2614. 对角线上的质数3/19 2610. 转换二维数组3/20 2612. 最少翻转操作数3/21 2680. 最大或值3/22 2643. 一最多的行3/23 2116…...
















