@

一、运算符

一、分类

二、算数运算符

  1. 加  $+$
  2. 减  $-$
  3. 乘  $*$
  4. 商    /
  5. 取余数    %
  6. 自加1   ++
  7. 自减1  - -

关于 ++ 和 - -(用 ++ 举例,- - 的用法和++一样)

1、位置:

  • 可以出现在变量前和变量后,如:a++ 、++a 都是可以的,不管出现在前后,执行结束后变量都会加一;

2、++ 出现在前后的区别:

  • 当 ++ 在变量前时,先进行自加1的运算,然后再赋值;
  • 当 ++ 在变量后时,先赋值,然后在进行自加1的运算;

三、关系运算符

1.大于     >

2. 大于等于   > =

3. 小于    <

4. 小于等于  < =

5. 等等于   = =

6. 不等于   ! =

注:所有的关系运算符运算结果都是布尔值,不是true就是false,不可能是其他的值

四、逻辑运算符

  1. 逻辑与(并)  &
  2. 逻辑或(且)  |
  3. 逻辑非(取反)  $!$
  4. 短路与    & &
  5. 短路或    ||
  1. & 与 && 的区别

    对于逻辑与 & 来说,只要一边是false,结果就是false,只有两边为true,结果才为true,不管什么情况,左右两边式子都会执行;

    对于短路与 && 来说,只要一边是false,结果就是false,只有两边为true,结果才为true,如果左边式子为false时,出现短路现像,右边式子不执行;
  2. | 与 || 的区别

    对于逻辑或 | 来说,只要一边是true,结果就是true,只有两边为false,结果才为false,不管什么情况,左右两边式子都会执行;

    对于逻辑或 || 来说,只要一边是true,结果就是true,只有两边为false,结果才为false,如果左边式子为true时,出现短路现像,右边式子不执行;

五、赋值运算符

  1. 基本赋值运算符:=
  2. 扩展的赋值运算符:+=、-=、*=、/=、%=

 下面我们用 += 运算符作为代表,了解扩展赋值运算符:

  1. x += 100 和 x = x + 100 真的是完全一样吗?

  重要结论:使用扩展运算符时,永远都不会改变运算结果类型;

  eg:byte x = 100;

     x += 1;

  因为 x += 1实际上会转换为 x = (byte)(x+1)的形式,因此自诞生以来 x 都是byte类型,x变量的类型永远都是byte。不会变,不管后面是多大的数字;

  然而,如果是以下定义,代码是无法通过编译的:

  eg:byte x = 100;

     x = x + 1;

  因为编译器会检测到 x + 1 是 int 类型,然而 int 类型是不能赋给 byte 类型的,因此会报:不兼容的类型: 从int转换到byte可能会有损失错误;

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

  1. 布尔表达式 ? 表达式1 :表达式2

    原理:布尔表达式的结果为true时,表达式1的执行结果作为整个表达式的结果;

    布尔表达式的结果为false时,表达式2的执行结果作为整个表达式的结果。

七、+运算符

  1. $+$ 运算符在java语言中有两个作用。

    作用1:求和:当 + 运算符两边都是数字类型的时候,求和;

    作用2:字符串拼接:当 + 运算符两边的“任意一边”是字符串类型,那么这个+会进行字符串拼接操作(字符串拼接完之后的结果还是一个字符串);

相关链接:

链接: 003-Java中的变量和数据类型.

链接: 002-Java的标识符和关键字.

链接: 001-Java学习前基础.

004-Java中的运算符的更多相关文章

  1. 【JAVA零基础入门系列】Day5 Java中的运算符

    运算符,顾名思义就是用于运算的符号,比如最简单的+-*/,这些运算符可以用来进行数学运算,举个最简单的栗子: 已知长方形的长为3cm,高为4cm,求长方形的面积. 好,我们先新建一个项目,命名为Rec ...

  2. Java 中的运算符和流程控制

    Java 中的运算符和流程控制 + 面试题 算术运算符 Java 中的算术运算符,包括以下几种: **算术运算符** **名称** **举例** + 加法 1+2=3 - 减法 2-1=1 \* 乘法 ...

  3. Java中移位操作运算符的理解

    java中的移位运算符有三种: 1. <<: 左移 2. >>: 右移 3. >>>: 无符号右移 使用方法:左移就是将左边的操作数在内存中的二进制数据左移指 ...

  4. JAVA_SE基础——11.Java中的运算符

    在程序设计中,运算符应用得十分广泛,通过运算符可以将两个变量进行任意运算.数学中的"+"."-"."*"."/"运算符同 ...

  5. Java中位运算符的使用

    先预知识: 数据在计算机中是以二进制的形式进行存储的,而二进制在内存中是以补码的形式进行存储的.在介绍位运算之前,首先来看一下原码.反码和补码的概念.由于正数的原码.反码和补码的形式都是一样的,所以以 ...

  6. Java中的运算符及表达式

    常用的运算符:赋值运算符(=).加法运算符(+).乘法运算符(*).除法运算符(/).括号运算符(( )).余数运算符(%).布尔运算符. 注释符(//).注释的内容为双反斜杠后的内容至换行结束. j ...

  7. Java 中位移运算符 >>,>>>,<<

    Java 中的三种位移运算符 java中有三种移位运算符 <<      :     左移运算符,num << 1,相当于num乘以2 >>      :     ...

  8. Java中逗号运算符的使用

    今天看到一道面试题,题目如下: 题目解释: 上面有一个类,有四个成员属性,以及两个构造方法(一个四个参数,一个两个参数),题目给出四个选项,问哪些选项可以满足在在四个参数的构造方法中完成x=a,y=b ...

  9. 004 java中的变量

    这篇文章为你搞懂三个问题 什么是变量? 如何使用变量? 变量命名有哪些规范? 变量 计算机的内存类似于人的大脑,电脑使用内存来存储计算所需要的数据. 内存像旅馆一样,不同的房间类型对应不同的数据类型, ...

  10. java 中的运算符

    Java的运算符,分为四类: 算数运算符.关系运算符.逻辑运算符.位运算符. 算数运算符():+ - * / % ++ -- 关系运算符():== != > >= < <= 逻 ...

随机推荐

  1. node应用层中间件使用

    var express = require("express") var path = require("path") var app = express() ...

  2. windows(wsl)下的trino编译和升级注意事项

    最近在进行旧版本的prestosql和prestodb升级相关的操作,尝试自己编译了一下,这里记录一下过程和遇到问题的处理. 因为Trino不支持windows下的编译,如果使用windows最方便的 ...

  3. 创建一个springboot项目

    进入https://start.spring.io/ 再点击GENERATE,下载解压即可 注意配置好阿里云的仓库镜像,免得依赖无法下载 不下载最新版springboot是因为我在测试中遇到了问题,貌 ...

  4. .NET测试断言工具Shouldly

    .NET测试断言工具Shouldly .NET测试 Shouldly在GitHub的开源地址:https://github.com/shouldly/shouldly Shouldly的官方文档:ht ...

  5. 在Windows服务中添加定时器

    创建windows服务: 在VisualStudio中用C#创建一个Windows服务,微软MSDN参考地址: http://msdn.microsoft.com/zh-cn/library/zt39 ...

  6. 02.从0实现一个JVM语言之词法分析器-Lexer-03月02日更新

    从0实现JVM语言之词法分析器-Lexer 本次有较大幅度更新, 老读者如果对前面的一些bug, 错误有疑问可以复盘或者留言. 源码github仓库, 如果这个系列文章对你有帮助, 希望获得你的一个s ...

  7. 《C++ Primer》笔记 第1章 开始

    输出运算符<< 的计算结果就是其左侧运算对象 std::endl 结束当前行,并将与设备关联的缓冲区中的内容刷到设备中. 程序员常常在调试时添加打印语句.这类语句应该保证"一直& ...

  8. 基于角色访问控制RBAC权限模型的动态资源访问权限管理实现

    RBAC权限模型(Role-Based Access Control) 前面主要介绍了元数据管理和业务数据的处理,通常一个系统都会有多个用户,不同用户具有不同的权限,本文主要介绍基于RBAC动态权限管 ...

  9. HTB系列之七:Bastard

    出品|MS08067实验室(www.ms08067.com) 这次挑战的是 HTB 的第7台靶机:Bastard 技能收获: PHP Unserilaize CMS Version Identify ...

  10. C# 基础 - linq 举例应用

    public class Player { public string Id { get; set; } public string Name { get; set; } public int Age ...