Java基础之运算符

2023-11-10

运算符介绍:

   运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等

1.算术运算符;2.赋值运算符;3.关系运算符;4.逻辑运算符;5.三元运算符

  

  • 算术运算符

     算术运算符是对数值类型的变量进行运算的,在Java程序中使用的非常多

运算符

运算

范例

结果

+

正号

+8

8

-

负号

a=12;-a

-12

+

8+8

16

-

8-2

6

*

8*8

64

/

8/8

1

%

取模(取余)

8%5

3

+ +

+ +

自增(前):先运算后取值

自增(后):先取值后运算

a=2;b=++a;

a=2;b=a++;

a=3;b=3;

a=3;b=2;

- -

- -

自增(前):先运算后取值

自增(后):先取值后运算

a=2;b=--a;

a=2;b=a--;

a=1;b=1;

a=1;b=2;

+

字符串相加

“Java”+”java”

“Java java”

细节:

  1. 对于除号“/”,它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分。例如:int x =10/3,结果是3
  2. 当对于一个数取余(取模)时,可以等价 a%b=a-b/b*b,这就是取余的一个本质运算

  • 关系运算符(比较运算符)
  1. 关系运算符的结都是boolean型,也就是要么是true,要么是false
  2. 关系表达式 经常用在if结构的条件中或循环结构的条件中

运算符

运算

范例

结果

==

相等于

 9==8

false

!=

不等于

9!=8

true

<

小于

9<8

false

>

大于

9>8

true

<=

小于等于

9<=8

false

>=

大于等于

9>=8

true

instanceof

检查是否是类的对象

“Java”instanceof String

true

  • 逻辑运算符

   -- 用于连接多个条件(多个关系表达式),最终的结果也是一个boolean值

a

b

a&b

a&&b

a|b

a||b

!a

a^b

true

true

true

true

true

true

false

false

true

false

false

false

true

true

false

true

false

true

false

false

true

true

true

true

false

false

false

false

false

false

true

false

逻辑运算符规则

a&b:&叫逻辑与

规则:当a与b同时为true,则结果为true,否则为false

a&&b:&&叫短路与

   规则:当a和b同时为true,则结果为true,否则为false

a|b :|叫逻辑或

   规则:当a和b,有一个为true,则结果为true,否则false

a||b : || 叫短路或

规则:当 a 和 b ,有一个为 true ,则结果为 true,否则为 false

 !a : 叫取反,或者非运算

规则:当 a 为 true, 则结果为 false, 当 a 为 false 是,结果为 true

a^b: 叫逻辑异或

规则:当 a 和 b 不同时,则结果为 true, 否则为 false

&& 和 & 基本规则:

名称 语法 特点

1.短路与&&        条件1&&条件2    两个条件都为true,结果为true,否则false

2.逻辑与&         条件1&条件2     两个条件都为true,结果为true,否则false

&& 和 & 使用区别

  1. &&短路与:如果第一个条件为false,则第二个条件不会判断,最终结果为false,效率高
  2. &逻辑与:不管第一个条件是否为false,第二个条件都要判断,效率低

|| 和| 基本规则

名称 语法 特点

短路或 ||       条件1||条件2 两个条件中只有有一个成立,结果为true,否则为false

|逻辑或         条件1|条件2    只要有一个条件成立,结果为true,否则为false

|| 和 | 使用区别

1.|| 短路或:如果第一个条件为true,则第二个条件不会判断,最终结果为true,效率高

2.| 逻辑或:不管第一个条件是否为true,第二个条件都要判断,效率低

 取反 基本规则

       名称                 语法                                特点

! 非(取反)        !条件       如果条件本身成立,结果为false,否则true

a^b:叫逻辑异或,当a和b不同时,则结果为true,否则false

  • 赋值运算符

---赋值运算符就是将某个运算后的值,赋给指定的变量

分类:

1.基本赋值运算符 =   int a=100;

2.复合运算符

  +=,-=,*=,/=, %= 等

a+=b; 等价于a=a+b;

a-=b;等价于 a=a-b;

赋值运算的特点

  1. 运算顺序从右往左
  2. 赋值运算符的左边,只能是变量,右边可以是变量,表达式,常量值
  3. 复合赋值运算符会进行类型转换

  • 三元运算符

   基本语法:

条件表达式 ?表达式1:表达式2;

运算规则:

  1. 如果条件表达式为true,运算后的结果是表达式1;
  2. 如果条件表达式为false,运算后的结果是表达式2;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java基础之运算符 的相关文章

  • 为什么 i++ 不是原子的?

    Why is i Java 中不是原子的 为了更深入地了解 Java 我尝试计算线程中循环的执行频率 所以我用了一个 private static int total 0 在主课中 我有两个线程 主题 1 打印System out prin
  • 在 HTTPResponse Android 中跟踪重定向

    我需要遵循 HTTPost 给我的重定向 当我发出 HTTP post 并尝试读取响应时 我得到重定向页面 html 我怎样才能解决这个问题 代码 public void parseDoc final HttpParams params n
  • JAXb、Hibernate 和 beans

    目前我正在开发一个使用 Spring Web 服务 hibernate 和 JAXb 的项目 1 我已经使用IDE hibernate代码生成 生成了hibernate bean 2 另外 我已经使用maven编译器生成了jaxb bean
  • 反射找不到对象子类型

    我试图通过使用反射来获取包中的所有类 当我使用具体类的代码 本例中为 A 时 它可以工作并打印子类信息 B 扩展 A 因此它打印 B 信息 但是当我将它与对象类一起使用时 它不起作用 我该如何修复它 这段代码的工作原理 Reflection
  • Liferay ClassNotFoundException:DLFileEntryImpl

    在我的 6 1 0 Portal 实例上 带有使用 ServiceBuilder 和 DL Api 的 6 1 0 SDK Portlet 这一行 DynamicQuery query DynamicQueryFactoryUtil for
  • 如何在PreferenceActivity中添加工具栏

    我已经使用首选项创建了应用程序设置 但我注意到 我的 PreferenceActivity 中没有工具栏 如何将工具栏添加到我的 PreferenceActivity 中 My code 我的 pref xml
  • 如何为俚语和表情符号构建正则表达式 (regex)

    我需要构建一个正则表达式来匹配俚语 即 lol lmao imo 等 和表情符号 即 P 等 我按照以下示例进行操作http www coderanch com t 497238 java java Regular Expression D
  • 在两个活动之间传输数据[重复]

    这个问题在这里已经有答案了 我正在尝试在两个不同的活动之间发送和接收数据 我在这个网站上看到了一些其他问题 但没有任何问题涉及保留头等舱的状态 例如 如果我想从 A 类发送一个整数 X 到 B 类 然后对整数 X 进行一些操作 然后将其发送
  • 加密 JBoss 配置中的敏感信息

    JBoss 中的标准数据源配置要求数据库用户的用户名和密码位于 xxx ds xml 文件中 如果我将数据源定义为 c3p0 mbean 我会遇到同样的问题 是否有标准方法来加密用户和密码 保存密钥的好地方是什么 这当然也与 tomcat
  • 如何在控制器、服务和存储库模式中使用 DTO

    我正在遵循控制器 服务和存储库模式 我只是想知道 DTO 在哪里出现 控制器应该只接收 DTO 吗 我的理解是您不希望外界了解底层域模型 从领域模型到 DTO 的转换应该发生在控制器层还是服务层 在今天使用 Spring MVC 和交互式
  • 仅将 char[] 的一部分复制到 String 中

    我有一个数组 char ch 我的问题如下 如何将 ch 2 到 ch 7 的值合并到字符串中 我想在不循环 char 数组的情况下实现这一点 有什么建议么 感谢您花时间回答我的问题 Use new String value offset
  • 声明的包“”与预期的包不匹配

    我可以编译并运行我的代码 但 VSCode 中始终显示错误 早些时候有一个弹出窗口 我不记得是什么了 我点击了 全局应用 从那以后一直是这样 Output is there but so is the error The declared
  • 静态变量的线程安全

    class ABC implements Runnable private static int a private static int b public void run 我有一个如上所述的 Java 类 我有这个类的多个线程 在里面r
  • 在 Maven 依赖项中指定 jar 和 test-jar 类型

    我有一个名为 commons 的项目 其中包含运行时和测试的常见内容 在主项目中 我添加了公共资源的依赖项
  • 捕获的图像分辨率太大

    我在做什么 我允许用户捕获图像 将其存储到 SD 卡中并上传到服务器 但捕获图像的分辨率为宽度 4608 像素和高度 2592 像素 现在我想要什么 如何在不影响质量的情况下获得小分辨率图像 例如我可以获取或设置捕获的图像分辨率为原始图像分
  • 有没有办法为Java的字符集名称添加别名

    我收到一个异常 埋藏在第 3 方库中 消息如下 java io UnsupportedEncodingException BIG 5 我认为发生这种情况是因为 Java 没有定义这个名称java nio charset Charset Ch
  • 使用 JMF 创建 RTP 流时出现问题

    我正处于一个项目的早期阶段 需要使用 RTP 广播DataStream创建自MediaLocation 我正在遵循一些示例代码 该代码目前在rptManager initalize localAddress 出现错误 无法打开本地数据端口
  • 当我从 Netbeans 创建 Derby 数据库时,它存储在哪里?

    当我从 netbeans 创建 Derby 数据库时 它存储在哪里 如何将它与项目的其余部分合并到一个文件夹中 右键单击Databases gt JavaDB in the Service查看并选择Properties This will
  • 节拍匹配算法

    我最近开始尝试创建一个移动应用程序 iOS Android 它将自动击败比赛 http en wikipedia org wiki Beatmatching http en wikipedia org wiki Beatmatching 两
  • Spring Boot @ConfigurationProperties 不从环境中检索属性

    我正在使用 Spring Boot 1 2 1 并尝试创建一个 ConfigurationProperties带有验证的bean 如下所示 package com sampleapp import java net URL import j

随机推荐

  • [从零开始学习FPGA编程-22]:进阶篇 - 架构 - FPGA内部硬件电路的设计与建模

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 目录 前言 第1章 什么是数字硬件电路 1 1 什么是硬件电路
  • 使用docker-compose启动docker镜像报错exec ./docker-entrypoint.sh: no such file or directory

    报错原因 exec docker entrypoint sh no such file or directory 我们可以在linux下通过cat v命令查看 sh文件 例 cat v Dockerfile WORKDIR tools M
  • 二维向量叉积的几何意义

    叉乘 cross product 相对于点乘 叉乘可能更有用吧 2维空间中的叉乘是 V1 x1 y1 X V2 x2 y2 x1y2 y1x2看起来像个标量 事实上叉乘的结果是个向量 方向在z轴上 上述结果是它的模 在二维空间里 让我们暂时
  • Zotero 知网 PDF与CAJ 抓取模式切换

    Zotero可以通过安装茉莉花插件 jasminum 一键安装https github com l0o0 translators CN内的中文翻译器 从而实现对知网文献元数据以及相应PDF的抓取 但是在使用过程中我发现 由于知网对于学位论文
  • Visual Studio开始Python编程 && Windows下用PyCharm

    Windows搭建python开发环境 首先需要去python的官网下载环境 鼠标移动到Downloads的tab上 在这里可以下载 python的环境还是很人性化的 没有那么多罗里吧嗦的配置什么的 下载好以后直接无脑next就行了 直到f
  • VS中为QT项目添加多个ui

    在VS中创建QT项目 如下图所示 这里已经有一个 ui文件 现在的目标是再添加一个 ui文件并使之在项目中可用 添加新的 ui文件 右击项目 gt 添加 gt 新建项 gt Visual C gt QT 选择一个模板 如 Qt Dialog
  • 目标检测模型从训练到部署,其实如此简单

    目标检测的任务是找出图像中所有感兴趣的目标 物体 确定它们的类别和位置 是计算机视觉领域的核心问题之一 目标检测已应用到诸多领域 比如如安防 无人销售 自动驾驶和军事等 在许多情况下 运行目标检测程序的设备并不是常用的电脑 而是仅包含必要外
  • 分布式事务管理(Seata)

    文章目录 1 概述 分布式事务问题 什么是Seata Seata术语 怎么用 Windows安装 Docker安装 MySQL nacos seata 2 配置官网案例 分析业务逻辑 创建数据库 订单模块 建Module POM YML f
  • Qt 的一些心得

    一 背景刷成黑色 前景色设为白色 方法一 paltette方式 经测试 该方法不会影响到其他控件 推荐使用 QPalette bgpal palette bgpal setColor QPalette Background QColor 0
  • Vue.js基本指令

    目录 插值表达式 v html和v text指令 例1 v on指令 例1 v model指令 例1 v if指令 例1 判断二月份有几天 例2 比较两个数的大小 v show指令 v if和v show的区别 v for 指令 遍历数组
  • 【skynet】 skynet 之 snax

    local skynet require skynet local snax require snax local p calc nil 初始化函数 function init local seed math floor skynet ti
  • xss挑战之旅level 1 - level 4

    Level 1 观察url中的 name参数 向网站提交数据 然后返回到页面上 Level 2 第二关是可以在输入框中输入一个数据提交给服务器 然后提交的数据是会被显示到页面上的 此时再使用第一关的payload已经是不行了 看一下源码 在
  • GitHub建立个人网站(一)

    github可以当做自己的个人博客网站 做一个这样的网站的好处有哪些 装 X 如果网站够炫的话 ps 以后抽空闲下来了 肯定要弄个好看的页面 好好装X 很好的用来总结自己所学的知识 可能因为流量的问题 github上面确实只能当做记载的 但
  • 探索App保活黑科技

    我们来聊聊目前可用的App保活技术 这些方法在目前看来都还可以用 并且效果也很好 但无法保证长期可用 因为Android操作系统本身可能会更改其策略 而且各厂商在定制Android时也会引入自家节电策略 这些都有可能破坏我们原本可用的保活逻
  • 在C#中怎么设置一个全局变量,方便我在其他的窗口中可以调用

    大家按照下面的步骤就可以啦 1 首先我们进入program cs 2 在Program类后面添加一个类 注意要是静态类 如下 public static class user11 public static string yhm 3 进入其
  • 《人工智能(智能系统指南,第二版)》读书笔记——3、第二章

    1 introduction to knowledge based intelligent systems summary questions for review references 2 rule based expert system
  • STM32 一灯大师——寄存器点亮流水灯

    目录 1 配置端口输出数据寄存器 ODR 2 配置低寄存器 CRL 3 配置复位和时钟控制寄存器 RCC 4 拓展 如何让PC2和PC3两个LED灯同时闪烁 5 总结 GPIO功能框图和常用的寄存器 1 CRL和CRH寄存器 2 IDR和O
  • HP380 G9服务器RAID划分

    第一步 配置iLO口IP地址 由于HP服务器刚买回来的时 管理口的状态是自动获取IP地址 管理口没有IP地址 该如何去配置管理口IP地址 可以通过两种方式修改 首先登录到iLO口上 如何配置iLO口地址 两种方法 1 进入BIOS进行IP地
  • [Python图像处理] 十二.图像几何变换之图像仿射变换、图像透视变换和图像校正

    该系列文章是讲解Python OpenCV图像处理知识 前期主要讲解图像入门 OpenCV基础用法 中期讲解图像处理的各种算法 包括图像锐化算子 图像增强技术 图像分割等 后期结合深度学习研究图像识别 图像分类应用 希望文章对您有所帮助 如
  • Java基础之运算符

    运算符介绍 运算符是一种特殊的符号 用以表示数据的运算 赋值和比较等 1 算术运算符 2 赋值运算符 3 关系运算符 4 逻辑运算符 5 三元运算符 算术运算符 算术运算符是对数值类型的变量进行运算的 在Java程序中使用的非常多 运算符