JAVA基础:Java运算符大百科

Java千百问_03基本语法(004)_java中的运算符都有哪些 Java提供了丰富的运算符来操纵变量。我们可以把所有的Java操作符为以下几组(除位运算和其它运算符之外,其他几种操作无几乎是java中使用频率最高的语法): 算术运算符、关系运算符、逻辑运算符、赋值运算符、位运算符、其它运算符 下面来仔细说明。 阅读详情

 运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。下面介绍JAVA中的运算符。

  一、算术运算符:

  单目:+(取正)-(取负) ++(自增1) - -(自减1) 双目:+ - * / %(取余) 三目:a>b?true:false 说明:当a大于b的时候,为true(也就是冒号之前的值),否则为false;这整个运算符包括一个关系运算符(可以是“>”"<""!="等等),一个“?”,一个“:”,冒号前后需要有两个表达式或者是值或者是对象。

  二、关系运算:

  等于符号:==,不等于符号: != ,大于符号:>, 小于符号:<,大于等于符号: >= ,小于等于符号: <= 。

  三、位运算符 逻辑运算符:

  位运算符 与(&)、非(~)、或(|)、异或(^)&:当两边操作数的位同时为1时,结果为1,否则为0。如1100&1010=1000 | :当两边操作数的位有一边为1时,结果为0,否则为1。如1100|1010=1110 ~:0变1,1变0 ^:两边的位不同时,结果为1,否则为0.如1100^1010=0110 逻辑运算符 与(&&)、非(!)、或(||)

  四、赋值运算符

  = += -= *= /= %= &= ^= |= <<= >>=

  五、instanceof运算符

  该运算符是双目运算符,左面的操作元是一个对象,右面是一个类。当左面的对象是右面的类创建的对象时,该运算符运算结果是true,否则是false。

  六、 运算符综述

  Java 的表达式就是用运算符连接起来的符合Java 规则的式子.运算符的优先级决定了表达式中运算执行的先后顺序.例如,x<y&&!z相当于(x<y)&&(!z),没有必要去记忆运算符号的优先级别,在编写程序时可尽量的使用括号来实现你想要的运算次序,以免产生难以阅读或含糊不清的计算顺序.

  运算符的结合性决定了并列相同级别的运算符的先后顺序,例如,加减的结合性是从左到右,8-5+3 相当于(8-5)+3.逻辑否运算符 的结合性是右到左, x 相当于!(!x).表3.4是Java所有运算符的优先级和结合性。

  七 位移运算符

  << 带符号左移 >>带符号右移 >>> 无号右移

  例子:

  1.int a1 = 8; // 0000 0000 0000 1000

  2.System.out.println(a1>>>2); //// 0000 0000 0000 0010

  输出为 2

  运算符优先级

  按优先级从高到低排列如下:[ ]、 ( )、 ++、--、 !、 ~、 instanceof、 *、 /、 %、 +、 -、<<、 >>、 >>>、 <>、 < 、=、 >、 \、 ==、 !=、 &、^、& &、 ||、 ? :、= 。

  Java强制类型转换

  强制和转换

  Java语言和解释器限制使用强制和转换,以防止出错导致系统崩溃。整数和浮点数运算符间可以来回强制转换,但整数不能强制转换成数组或对象。对象不能被强制为基本类型。 Java中整数运算符在整数运算时,如果操作数是long类型,则运算结果是long类型,否则为int类型,绝不会是byte,short或char型。这样,如果变量i被声明为short或byte,i+1的结果会是int。如果结果超过该类型的取值范围,则按该类型的最大值取模。

  运算符操作

  一、运算符"+",如果必要则自动把操作数转换为String型。如果操作数是一个对象,它可定义一个方法toString()返回该对象的String方式,例如floata=1.0print(“Thevalueofais”+a+“\n”);+运算符用到的例子Strings=“a=”+a;+=运算符也可以用于String。注意,左边(下例中的s1)仅求值一次。s1+=a;//s1=s1+a//若a非String型,自动转换为String型。

  二、整数算术运算的异常是由于除零或按零取模造成的。它将引发一个算术异常。下溢产生零,上溢导致越界。例如:加1超过整数最大值,取模后,变成最小值。一个op=赋值运算符,和上表中的各双目整数运算符联用,构成一个表达式。整数关系运算符<,>,<=,>=,==和!=产生boolean类型的数据。

  三、数组运算符数组运算符形式如下:<expression>[<expression>]可给出数组中某个元素的值。合法的取值范围是从0到数组的长度减1。

  四、对象运算符双目运算符instanceof测试某个对象是否是指定类或其子类的实例。

  例如:

  1.if(myObjectinstanceofMyClass)

  2.{

  3.MyClassanothermyObject=(MyClass)myObject;

  4.…

  5.}

  是判定myObject是否是MyClass的实例或是其子类的实例。

  五、浮点运算符浮点运算符可以使用常规运算符的组合:如单目运算符++、--,双目运算符+、-、*和/,以及赋值运算符+=,-=,*=,和/=。此外,还有取模运算:%和%=也可以作用于浮点数,例如:a%b和a-((int)(a/b)*b)的语义相同。这表示a%b的结果是除完后剩下的浮点数部分。只有单精度操作数的浮点表达式按照单精度运算求值,产生单精度结果。如果浮点表达式中含有一个或一个以上的双精度操作数,则按双精度运算,结果是双精度浮点数。

  六、布尔运算符布尔(boolean)变量或表达式的组合运算可以产生新的boolean值,fales和true(记得是小写)。单目运算符!是布尔非。双目运算符&,|和^是逻辑AND,OR和XOR运算符,它们强制两个操作数求布尔值。为避免右侧操作数冗余求值,用户可以使用短路求值运算符&&和||。

  七、用户可以使用==和!=,赋值运算符也可以用&=、|=、^=。三元条件操作符和C语言中的一样。

  八、++运算符用于表示直接加1操作。增量操作也可以用加运算符和赋值操作间接完成。++lvalue(左值表示lvalue+=1,++lvalue也表示lvalue=lvalue+1。

  九、--运算符用于表示减1操作。++和--运算符既可以作为前缀运算符,也可以做为后缀运算符。双目整数运算符是:运算符操作**+加-减*乘/除%取模&位与|位或^位异或<<左移 >>右移(带符号) >>>添零右移整数除法按零舍入。除法和取模遵守以下等式: (a/b)*b+(a%b)==a

  java运算符问题:

  &是位

  &&是逻辑

  当&两边是整数时执行的是位运算,而两边是boolean值时执行的是逻辑运算, 如: 3&6 就是执行的位运算,结果是一个整数:

  2 true&false 执行的就是逻辑运算,结果是一个boolean值:false &的逻辑运算和&&逻辑运算是存在一定不同的

  &逻辑运算时两边都会计算的,而&&则在左边为假时则直接返的是false不再计算右边

  举个例子:

  1:

  1.int[] a={1,2,3};

  2.if(a[0]==2&a[3]==4){System.out.println("true")}

  2:

  1.int[] a={1,2,3};

  2.if(a[0]==2&&a[3]==4){System.out.println("true")}

  这两个例子中,第一个会抛出异常,而第二个则什么不会输出也不会抛异常 这是因为第一个例子中if语句中用的是&,所以两边的都会计算,当计算a[3]==4时抛出数组下标越界异常。第二个例子则在计算第一个式子a[0]==2发现结果为假则不再计算右边,直接返回false,所以该例子不会输出任何东西。

  希望通过本文的介绍,能给大家带来帮助。

铭飞MCMS源码部署 文章目录前言一、下载铭飞源码二、部署源码1.使用IDEA打开源码2.配置tomcat环境2.1下载tomcat并测试是否可以成功启动(此处不赘述)2.2在IDEA中安装tomcat环境并配置3.添加数据库,并配置3.1新建数据库3.2 导入sql配置三、启动测试 前言 铭飞MCMS基于IDEA、tomcat和mysql的环境搭建。 提示:以下是本篇文章正文内容,下面案例可供参考 一、下载铭飞源码 gitee:https://gitee.com/mingSoft/MCMS/releases(各种版本按需下 阅读详情

相关推荐

PINN内嵌物理知识神经网络入门及文献总结

内嵌物理知识深度学习方法(PINN)已经成功用于解决各类科学计算问题,其本质是将物理先验知识嵌入神经网络训练中,将一个求解PDE的问题转化为一个优化问题。这篇博客主要记录PINN相关论文

山里娃的博客 7万+

Java 常用运算符

(1)基本赋值运算符 : = 用于给变量指定变量值。(2)复合赋值运算符:例: a += 3;

zhangeer的博客 1438

二、PCIE的TLP包的封包解包原理

熟悉 PCIE 的组建包的过程,以及内部的字段细节的定 义,掌握如何发送接收 Mrd(memory read TLP)、 Mwr(Memory write TLP)、Cpl (Completion TLP)和 Cpld(Completion with data TLP)命令包,深入理解 PCIE 底层协议工作过程

k7126685的博客 3929

Java的位运算符详解实例——与(&)、非(~)、或(|)、异或(^)

位运算符主要针对二进制,它包括了:“与”、“非”、“或”、“异或”。从表面上看似乎有点像逻辑运算符,但逻辑运算符是针对两个关系运算符来进行逻辑运算,而位运算符主要针对两个二进制数的位进行逻辑运算。下面详细介绍每个位运算符。   1.与运算符 与运算符用符号“&”表示,其使用规律如下: 两个操作数中位都为1,结果才为1,否则结果为0,例如下面的程序段。 public class dat

is_zhoufeng的专栏 21万+

lattice Diamond Programmer程序下载

Lattice Diamond Programmer(支持Lattice FPGA与CPLD程序下载)

qq_44385725的博客 5172

语音测试(二)音频标注(praat)

通过点击红线下方的圆点进行区域划分,在区域中标注所属的类别。按住Alt+Backspace 键取消蓝色线条。

beishida123的博客 3734

java a运算顺序_java基础(四) java运算顺序的深入解析

1. 从左往右的计算顺序与C/C++不同的是,在Java中,表达式的计算与结果是确定的,不受硬件与环境的影响。如:int i = 5;int j = (i++) + (i++) +(i++);在C/C++中,这个例子的运算结果将会根据不同的开发环境而不同。Turbo C下,j的值是15;在VC下,j的值是 18。在Java中,表达式的计算顺序是从左往右的,也就是先计算左侧的结果,再计算右侧的结果。...

weixin_34544309的博客 738

避坑指南:Quectel EC200A-CN在OpenWrt或嵌入式Linux下的RNDIS/ECM网络配置全解析

本文详细解析了Quectel EC200A-CN模块在OpenWrt或嵌入式Linux下的RNDIS/ECM网络配置,包括模式选择、内核配置、动态切换AT指令、网络接口生成与排错、路由与防火墙设置、性能调优及特殊场景应对策略,帮助开发者避免常见配置陷阱,提升网络稳定性和效率。

weixin_42531588的博客 286

Java中的运算符

自增、自减运算 计算机进行计算时,先从内存取值存放到寄存器中,然后进行计算。 前自增、前自减在寄存器取值之前进行;后自增、后自减在寄存器取值之后进行。 前自增流程:x=1->++x(x=2)->寄存器取值(寄存器1=2)->++x(x=3)->寄存器2取值(寄存器2=3)->++x(x=4)->寄存器3取值(寄存器3=4)->寄存器的所有值相加得到寄存器...

梦里有阳光 525

GEE:基于MODIS数据计算NDVI时间序列,并使用Savatsky-Golay(SG)滤波器对其进行平滑处理

优快云@_养乐多_本文将介绍如何在 Google Earth Engine (GEE) 平台中,使用 MODIS 数据计算 NDVI 时间序列,并对该数据集应用 Savitzky-Golay 滤波器,得到了一个新的平滑后的数据集。Savitzky-Golay 滤波器可以有效地去除信号中的噪声,并平滑信号的变化。该方法可以扩展到基于 MODIS 数据计算的任何指数或者波段。

养乐多的博客 1425

YOLO26改进策略【Head】| (独家改进)轻量化检测头:利用 EfficientNet 中的移动倒置瓶颈模块 MBConv 改进检测头

本文记录的是基于移动倒置瓶颈 MBConv 的 YOLO26 的检测头轻量化改进方法研究。采用了独特的倒置瓶颈结构,通过的操作以及,在高效提取特征的同时极大地降低了计算量。本文将的设计优势融入j检测头中,使其在目标检测任务中不仅能够更精准地识别各类目标,还能在计算资源有限的情况下快速响应,展现出更为卓越的实时检测能力。EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks的实现代码如下: 首先在代码中加入如下代码: 其

Limiiiing的博客 286

java单目取正_Java基础之Java运算符大百科

【IT168技术】运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。下面介绍JAVA中的运算符。一、算术运算符单目:+(取正)-(取负) ++(自增1) - -(自减1) 双目:+ - * / %(取余) 三目:a>b?true:false 说明:当a大于b的时候,为true(也就是冒号之前的值),否则为false;这整个运算符包括一个关系运算符(可以是">""二、关系...

weixin_29793473的博客 529

Python 爬虫实战:爬取今日头条文章与阅读量数据

本文详细介绍了基于Python爬取今日头条文章与阅读量数据的完整方案。通过分析今日头条API接口,采用Requests+正则表达式技术实现数据抓取,重点解决加密参数构造、请求头模拟、反爬规避等核心问题。文章包含文章列表获取、详情数据提取、互动数据采集等完整流程,并提供数据存储与基础分析方法。同时强调合规使用爬虫技术,控制爬取频率,避免干扰平台运营。该方案可为内容传播分析、用户兴趣研究提供数据支持,但需注意接口参数更新和反爬机制变化,适时调整代码实现。

2503_91057718的博客 2519

Java基础之Java运算符大百科

[导读]运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。下面介绍JAVA中的运算符。  运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。下面介绍JAVA中的运算符。  一、算术运算符:  单目:+(取正)-(取负) ++(自增1) - -(自减1)

java原子弹 799

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

51AI插件老照片修复全攻略:结构修复、上色与超分实操指南

图像修复技术基于深度学习模型,通过掩码检测与内容填充、色彩推理和超分辨率重建,解决照片的结构性损伤、色彩缺失和清晰度不足问题。其技术价值在于自动化还原历史影像,提升视觉质量,广泛应用于家庭老照片修复、历史档案数字化和影视资料复原。在实际操作中,需遵循先修结构、再调色彩、最后提清晰的顺序,并合理设置参数以避免失真。51AI插件将修复流程模块化,支持独立调整,帮助用户高效处理各类老照片,实现自然修复效果。

weixin_33895657的博客 172

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

JAVA基础之java运算符大百科

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33940102的博客 98

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

一周总结

这周在网上看了关于讲java的视频,在课堂上没有理解的问题,也在课下通过查资料,或者在网上看教课视频也慢慢学会了。这周的学习时间比上两周增加了两个小时,通过这周自己在网上查找视频学习java也对java有了更深入的了解,我觉得java和C#各有千秋Java中对内存的分配是动态的,它采用面向对象的机制,采用运算符new为每个对象分配内存空间,而且,实际内存还会随程序运行情况而改变.程序运行中,每个,...

weixin_34216036的博客 52

2020年度程序员新书/经典书TOP10

每年的这个时候,各家出版社都会总结一下当年的年度畅销书,小编也不例外,今天就给大家汇总一下。感谢书友们一直以来的支持与陪伴。 今年,分为两部分给大家分享,第一部分2020年度新书TOP10,第二部分,2020年度经典书TOP10。 2020年新书TOP10 1、C++ Primer Plus 第6版 中文版 [美] 史蒂芬·普拉达(Stephen Prata) 著,张海龙,袁国忠 译 C++程序设计经典教程,畅销30年的C++大百科全书, 零基础自学C++入门,赠送价值99元的e读版.

人邮异步社区 3790

7、Java的表达式和运算符

学习目标: 1、熟练Java的集中基本的运算符的使用 2、通过大量联系熟练掌握这些运算符的使用学习过程: 一、算术运算符 运算符 + - * / % 说明 加 减 乘 ...

JavaDayUp 787

java中的异或(^)运算符及其应用

异或运算(^)是以二进制数据为基础进行运算的。也就是说当代码中使用到异或运算时,都会先将两个条件进行转换,转换成二进制数据后,再进行运算。异域中同位如果值相同(都是0或者都是1)则为0,不同(一个是0,一个是1)为1。 举例说明: int a = 3 int b = 8 int c =a^b 运算过程 3的二进制是 0000 0011 8的二进制是 0000 1000 异或的结果: 0000 1011 转换之后结果为11。 扩展:二进制转换为十进制: 000...

weixin_44181419的博客 1812

黑马程序员——Java介绍&&基本运算

---------------------- android培训、java培训、期待与您交流! ---------------------- 一丶JAVA三种技术架构    1、J2EE:企业版    2、J2SE:标准版    3、J2ME:小型版 二丶JRE与JDK    1、JRE:java Runtime Environment java运行

mydlife的专栏 458

java 操作符(运算符)

1 赋值运算符 说简单点,就是讲右方操作数所含的值赋给左方的操作数 以符号“=”表示 如: int a = 5; double b = 2.5d; 2 算数运算符 java中的算数运算符主要有:+ - * / % ++ --等 如: int d=a+b; int e=a-b; int f=c/b; int g= c%b; int h=a*c; 3自增和自减运算符 自增自减运算符也叫单目运算符...

不言尘世 296

InnoDB 内存结构总览:Change Buffer、AHI 与 Log Buffer

本文系统梳理InnoDB内存结构中的ChangeBuffer、Adaptive Hash Index(AHI)与LogBuffer。ChangeBuffer缓存二级索引页不在内存时的变更,减少随机IO,仅在页加载时合并;聚簇索引修改立即执行,因数据本身不可延后。AHI基于高频等值查询自动构建哈希索引,加速定位,仅支持等值操作。LogBuffer为redo log内存缓冲,配合磁盘日志实现崩溃恢复。三者均服务于性能优化,其中ChangeBuffer与AHI共享BufferPool空间,而LogBuffer独立

bksczm的博客 275

Spring AI + GPT-5.5 + Ollama 配置教程:Base URL、超时与流式调用

由于不同 Spring AI、Spring Boot 小版本之间仍可能存在差异,创建项目时应检查 Spring Initializr、Spring AI BOM 和官方兼容矩阵,不要直接复制旧教程中的 Starter 名称和版本号。多人项目最好隔离不同客户端,并在脱敏前提下记录最终 URL、状态码、请求耗时、请求 ID 和模型 ID。Spring AI 接入模型 API,至少要同时确认 Starter、Base URL、请求路径、API Key、模型 ID、连接超时、读取超时和流式客户端这 8 项。

2601_95893075的博客 232

V8 机制、手写核心函数与 TypeScript 类型体操

或固定初始化(如数组先定长、对象先给全字段)保持类型与形状稳定;这些都比"换框架"更基础。只能处理纯数据(丢函数、Date、RegExp、循环引用报错)。生产级深拷贝要处理:原始值短路、循环引用、V8(Chrome / Node 的 JS 引擎)不是"解释一行跑一行"那么简单,它用。图:V8 执行流程——解释执行 + 热点优化,优化失败会 Deopt 回退。JS 内存自动管理,但"自动"不等于"不会漏"。是"固定间隔最多执行一次"。手写 Promise 是"懂异步"的试金石。是"停下后才执行最后一次",

qq_38468358的博客 346

Java EE 进阶:8.MyBatis 操作数据库(入门)(第一弹)

Java EE 进阶:8.MyBatis 操作数据库(入门)(第一弹)

要努力去发光,而不是被照亮~ 125
上一篇: Java正则表达式应用总结
下一篇: JAVA 位操作详解
microfhu
博客等级 码龄15年 36粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值