Java的运算符

server/2024/10/19 23:47:57/

前言

       由于Java的运算符大部分和C语言类似,所以这里只会提及与C语言不同的要点~~

算术运算符

基本四则运算

       和C语言一样,Java也有+ - * / %(加、减、乘、除、取模)的算术运算符。

注意Java的取模运算符(%)可以用来进行小数的取模操作。但是C语言不支持,在实际应用中,我们也很少使用小数的取模运算~~



除法和取模运算时,右操作数不能为0,否则会报错,这也是和数学一样的规则。




在运算的时候,如果操作数的类型不同,会往大的数据类型去进行提升。

像这种的运算,a 会提升到long类型,之后a+b的结果就是long类型,我们前面知道不同的数据类型是不能相互赋值的。

增量运算符

和C语言用法一样,有+=,-=,*=,/=,这里不过多介绍~~

自增运算符

和C语言的用法一样,–,++,注意前置和后置的区别就可以了。

关系运算符

==,>,<,>=,<=
这些运算符用在条件表达式(也可以叫做布尔表达式)居多,运算之后的结果是布尔值(true 或者 false)


逻辑运算符

&&(逻辑与),|| (逻辑或),!(逻辑非)这几个运算符只能和布尔表达式搭配
布尔表达式1 && 布尔表达式2,布尔表达式1 || 布尔表达式2,!布尔表达式
这里要注意&& 和 || 和C语言是一样的,是有短路的情况,&&如果前面的表达式为false,就不会去计算后面的表达式,如果 || 前面的表达式为true就不会计算后面的表达式~~


程序没有抛出异常,说明没有计算后面的表达式~~

这里要注意 !(逻辑非) 在Java中只能用在布尔表达式(条件表达式)中,可以将表达式的值右false转变为true,或者由true转变为false~~

位运算符

首先和C语言是一样的用法,并且都有&(按位与),|(按位或),^(按位异或),~(按位取反),这里不再赘述,如果不清楚的可以翻看我的博客http://t.csdnimg.cn/KVZz7

特殊情况,& 和 | 如果表达式结果为 boolean 时, 也表示逻辑运算. 但与 && || 相比, 它们不支持短路求值.



程序抛出异常,说明后面的表达式进行了计算~~


移位运算符

和C语言一样有 << 和 >>,用法是一样的,但是Java中多了一个移位运算符 >>> (无符号的右移),就是每向右移动1位,首位就补0,所以是无符号的右移~~

这里也有<<=,>>=,>>>= 的运算符的~~

条件运算符(三目运算符)

表达式1?表达式2:表达式3
这里要注意的是,在Java中,使用这个运算符时一经使用必须要有变量来接收结果!!!


表达式2和表达式3的结果要是同类型的,除非能发生类型隐式类型转换~~


不仅如此,表达式返回的结果也必须要有变量来接收!!!

运算符的优先级

和C语言一样,还是一句话,你可以不背优先级,不确定哪个先计算,你就加括号保证你想要的运算顺序就可以了~~


http://www.ppmy.cn/server/21148.html

相关文章

HTTP与HTTPS 对比,区别详解(2024-04-25)

一、简介 HTTP&#xff08;超文本传输协议&#xff0c;Hypertext Transfer Protocol&#xff09;是一种用于从网络传输超文本到本地浏览器的传输协议。它定义了客户端与服务器之间请求和响应的格式。HTTP 工作在 TCP/IP 模型之上&#xff0c;通常使用端口 80。 HTTPS&#xf…

Scanpy(1)数据结构和样本过滤

注&#xff1a;主要讲述scanpy处理数据的结构、数据过滤&#xff08;生信领域&#xff09;和数据预处理&#xff08;和机器学习类似&#xff0c;但是又有不同。&#xff09; 1. Scanpy简介与安装 Scanpy 是一个可扩展的工具包&#xff0c;用于分析与 AnnData&#xff08;一种…

PDF分割合并

提取指定页面并合到一起&#xff0c;输出到代码目录下 import os import time from PyPDF2 import PdfReader, PdfWriterdef extract_pages(pdf_path, page_numbers):# 创建PdfReader对象pdf_reader PdfReader(open(pdf_path, "rb"))# 创建PdfWriter对象pdf_writer…

python facebook business SDK campaign 广告复制方法

facebook广告复制调试了一天&#xff0c;特此记录&#xff0c;广告复制分为两个步骤&#xff1a; 第一步&#xff1a;使用campaign.create_copy()复制广告系列。 第二步&#xff1a;复制源广告广告集&#xff08;ad_set&#xff09;如果广告集需要修改&#xff0c;使用api_upd…

Git系列:Refs与Reflog

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

路透社:美国SEC将拒绝以太坊ETF

4月25日&#xff0c;据路透社报道&#xff0c;美国SEC在下个月将拒绝以太坊现货ETF申请。根据4位知情人士表示&#xff0c;在最近几周与美国证券交易委员会&#xff08;SEC&#xff09;进行了会议之后&#xff0c;美国发行商和其他公司预计SEC将拒绝他们推出与以太坊价格挂钩的…

【C#】.net core 6.0 MVC返回JsonResult显示API接口返回值不可被JSON反序列化

欢迎来到《小5讲堂》 这是《C#》系列文章&#xff0c;每篇文章将以博主理解的角度展开讲解。 温馨提示&#xff1a;博主能力有限&#xff0c;理解水平有限&#xff0c;若有不对之处望指正&#xff01; 目录 背景API接口接口代码请求失败原因排查调通效果 常见返回类型相关文章 …

自适应视图增强的谣言检测图对比学习方法

论文标题&#xff1a;Propagation Tree Is Not Deep: Adaptive Graph Contrastive Learning Approach for Rumor Detection 论文链接&#xff1a;https://ojs.aaai.org/index.php/AAAI/article/view/27757 论文来源&#xff1a;AAAI 2024 一、概述 现有的一些谣言检测研究表明…