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基础之运算符 的相关文章

  • 使用 Intellij Idea 和 gradle 在应用程序引擎上调试 localhost

    我正在使用 IntelliJ 社区添加并使用 Gradle 构建应用程序引擎标准环境应用程序 在迁移到 IntelliJ 和端点框架之前 我使用的是 Android Studio 我无法调试我的本地主机 我添加了 jvmFlags 如下所述
  • TreeMap 删除所有大于某个键的键

    在项目中 我需要删除键值大于某个键的所有对象 键类型为Date 如果重要的话 据我所知TreeMapJava中实现的是红黑树 它是一种二叉搜索树 所以我应该得到O n 删除子树时 但除了制作尾部视图并一一删除之外 我找不到任何方法可以做到这
  • java.lang.ClassNotFoundException:javax.mail.MessagingException

    我想使用 eclipse 将电子邮件从我的 gmail 帐户发送到另一个邮件帐户 我使用 apache tomcat 7 0 34 作为我的 Web 服务器 并使用端口 8080 作为 apache 服务器 HTTP 1 1 并使用 JRE
  • 垃圾收集器如何在幕后工作来收集死对象?

    我正在阅读有关垃圾收集的内容 众所周知 垃圾收集会收集死亡对象并回收内存 我的问题是 Collector 如何知道任何对象已死亡 它使用什么数据结构来跟踪活动对象 我正在研究这个问题 我发现GC实际上会跟踪活动对象 并标记它们 每个未标记的
  • 什么是抽象类? [复制]

    这个问题在这里已经有答案了 当我了解抽象类时 我说 WT H 问题 创建一个无法实例化的类有什么意义呢 为什么有人想要这样的课程 什么情况下需要抽象类 如果你明白我的意思 最常见的是用作基类或接口 某些语言有单独的interface构建 有
  • 从 MATLAB 调用 Java?

    我想要Matlab程序调用java文件 最好有一个例子 需要考虑三种情况 Java 内置库 也就是说 任何描述的here http docs oracle com javase 6 docs api 这些项目可以直接调用 例如 map ja
  • 如何在单个查询中搜索 RealmObject 的 RealmList 字段

    假设我有一堂课 public class Company extends RealmObject private String companyId private RealmList
  • 在 Java 中如何找出哪个对象打开了文件?

    我需要找出答案哪个对象在我的 Java 应用程序中打开了一个文件 这是为了调试 因此欢迎使用工具或实用程序 如果发现哪个对象太具体了 这class也会很有帮助 这可能很棘手 您可以从使用分析器开始 例如VisualVM http visua
  • 断言 Kafka 发送有效

    我正在使用 Spring Boot 编写一个应用程序 因此要写信给 Kafka 我这样做 Autowired private KafkaTemplate
  • Java 中如何将 char 转换为 int? [复制]

    这个问题在这里已经有答案了 我是Java编程新手 我有例如 char x 9 我需要得到撇号中的数字 即数字 9 本身 我尝试执行以下操作 char x 9 int y int x 但没有成功 那么我应该怎么做才能得到撇号中的数字呢 ASC
  • Android 无法解析日期异常

    当尝试解析发送到我的 Android 客户端的日期字符串时 我得到一个无法解析的日期 这是例外 java text ParseException 无法解析的日期 2018 09 18T00 00 00Z 位于 偏移量 19 在 java t
  • Sun 在 EDT 之外做 GUI 工作的演示?

    我正在看SplashDemo java http download oracle com javase tutorial uiswing examples misc SplashDemoProject src misc SplashDemo
  • 如何在.NET中使用java.util.zip.Deflater解压缩放气流?

    之后我有一个转储java util zip Deflater 可以确认它是有效的 因为 Java 的Inflater打开它很好 并且需要在 NET中打开它 byte content ReadSample sampleName var inp
  • Spring @Cacheable 和 @Async 注解

    我需要缓存一些异步计算的结果 具体来说 为了克服这个问题 我尝试使用 Spring 4 3 缓存和异步计算功能 作为示例 我们采用以下代码 Service class AsyncService Async Cacheable users C
  • 部署 .war 时出现 Glassfish 服务器错误:部署期间发生错误:准备应用程序时出现异常:资源无效

    我正在使用以下内容 NetBeans IDE 7 3 内部版本 201306052037 爪哇 1 7 0 17 Java HotSpot TM 64 位服务器虚拟机 23 7 b01 NetBeans 集成 GlassFish Serve
  • 使用 HtmlUnit 定位弹出窗口

    我正在构建一个登录网站并抓取一些数据的程序 登录表单是一个弹出窗口 所以我需要访问这个www betexplorer com网站 在页面的右上角有一个登录链接 写着 登录 我单击该链接 然后出现登录弹出表单 我能够找到顶部的登录链接 但找不
  • 在 Spring 上下文中查找方法级自定义注释

    我想知道的是 所有的类 方法Spring http en wikipedia org wiki Spring Framework注释为 Versioned的bean 我创建了自定义注释 Target ElementType METHOD E
  • Hibernate 本机查询 - char(3) 列

    我在 Oracle 中有一个表 其中列 SC CUR CODE 是 CHAR 3 当我做 Query q2 em createNativeQuery select sc cur code sc amount from sector cost
  • Java RMI - 客户端超时

    我正在使用 Java RMI 构建分布式系统 它必须支持服务器丢失 如果我的客户端使用 RMI 连接到服务器 如果该服务器出现故障 例如电缆问题 我的客户端应该会收到异常 以便它可以连接到其他服务器 但是当服务器出现故障时 我的客户端什么也
  • Java 11 - 将 Spring @PostConstruct 替换为 afterPropertiesSet 或使用 initMethod

    我正在使用 spring 应用程序 有时会使用 PostConstruct用于代码和测试中的设置 看来注释将被排除在外Java 11 https www baeldung com spring postconstruct predestro

随机推荐

  • [从零开始学习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程序中使用的非常多 运算符