`
ss1
  • 浏览: 79778 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

JAVA操作符

阅读更多

JAVA 操作符

几乎所有运算符都只能操作 主类型 Primitives )。例外是 “=” “= =” “! =” ,它们能操作所有对象。除此以外, String 类支持 “+” “+=”

  (1) 赋值

主类型使用 “A=B” ,那么 B 处的内容就复制到 A 。若修改 A ,那么 B 根本不会受修改的影响。

对象 赋值 的时候情况发生了变化。对一个对象进行操作时,我们真正操作的是它的句柄。所以倘若 从一个对象到另一个对象 赋值,实际就是将句柄从一个地方复制到另一个地方。这意味着假若为对象使用 “C=D” ,那么 C D 最终都会指向最初只有 D 才指向的那个对象。

short s1 = 1; s1 = s1 + 1; s1+1 运算结果是 int 型,需要强制转换类型)

short s1 = 1; s1 += 1; (可以正确编译) += 运算符无类型转换问题

2 )算术运算符

Java 的算术运算符:加号( + )、减号( - )、除号( / )、乘号( * )以及模数( % ,从整数除法中获得余数)。整数除法会直接砍掉小数,而不是进位。

3 )自动递增、递减

对于前递增和前递减(如 ++A --A ),会先执行运算,再生成值。

对于后递增和后递减(如 A++ A-- ),会先生成值,再执行运算。

4 )关系运算符

关系运算符包括 < > <= >= = = !=

等于和不等于适用于所有内建的数据类型,但其他比较不适用于 boolean 类型。

想对比两个对象的实际内容是否相同,必须使用所有对象都适用的特殊方法 equals()

equals() 方法不适用于 主类型 ,那些类型直接使用 = = != 即可。

equals() 的默认是比较句柄。所以除非在自己的新类中改变了 equals() ,否则不可能表现出我们希望的行为

大多数 Java 类库都实现了 equals() ,所以它实际比较的是对象的内容,而非它们的句柄

= = ! = 比较的是对象句柄,而不是对象的实际内容

5 )逻辑运算符

逻辑运算符 && || ! 能生成一个布尔值

& && 都可作为逻辑运算符“与”使用,但是 && 是“短路 与”,运算时先判断符号前面的表达式的值,如果能够确定整个表达式的值,则不进行符号后面的表达式的运算。

另外, & 可作为位运算符使用

6 )按位运算符

按位 AND 运算符( &

按位 OR 运算符( |

按位 XOR ^ ,异或)

按位 NOT ~ ,也叫作 运算符)属于一元运算符,生成与输入位的相反的值

7 )移位运算符

              左移位运算符( << )能将运算对象向左移动运算符右侧指定的位数(在低位补 0 )。

有符号右移位运算符( >> )将运算对象向右移动运算符右侧指定的位数。有符号右移位运算符使用了符号扩展:若值为正,则在高位插入 0 ;若值为负,则在高位插入 1

无符号右移位运算符( >>> ),它使用了 零扩展 :无论正负,都在高位插入 0

8 )三元 IF-ELSE 运算符

              布尔表达式 ? 0: 1   布尔表达式 的结果为 true ,就计算 0” ,否则计算“值 1

9 )字符串运算符+

int x = 0, y = 1, z = 2;
System.out.println(“out:” + x + y + z);
在这里, Java 编译程序会将 x y z 转换成它们的字串形式,而不是先把它们加到一起

              运用 “String +” 时,若表达式以一个 String 起头,那么后续所有运算对象都会转换到字串。

想通过 加号 连接字串(使用 Java 的早期版本),请务必保证第一个元素是字串

10 )造型( Cast )运算符

对于 缩小转换 Narrowing Conversion )的操作(能容纳更多信息的数据类型,将其转换成容量较小的类型,例如 int short ),此时就可能面临信息丢失的危险。此时,编译器会强迫我们进行明确造型

对于 放大转换 Widening conversion ),则不必进行明确造型 ,因为新类型肯定能容纳原来类型的信息,不会造成任何信息的丢失

布尔值( bollean )根本不允许进行任何造型处理,其它任何主类型可互相造型

float double 值造型成整数值后,总是将小数部分 砍掉 ,不作任何进位处理

Math.round(11.5) 等於多少 ? Math.round(-11.5) 等於多少 ?

Math.round(11.5)==12      Math.round(-11.5)==-11

round 方法返回与参数最接近的长整数 ,参数加 1/2 后求其 floor.

       11 )优先级

运算符(优先级从低到高)

+ - ++ – [[ rest...]]

* / % + - << >>

> < >= <= == !=

&& || & | ^

A > B ? X : Y

= (and compound assignment like *=)

分享到:
评论

相关推荐

    java操作符

    Java 操作符与变量初始化是编程中至关重要的概念,它们直接影响到代码的正确性和效率。在 Java 中,操作符用于执行特定的操作,如比较、算术运算或逻辑运算,而变量初始化则是确保变量具备合适初始值的过程。 1. **...

    Java操作符总结-动力节点共20页.pdf.zip

    Java操作符是编程语言中用于执行特定操作的符号,它们在Java编程中起着至关重要的作用,帮助我们构建复杂的逻辑和算法。这份“Java操作符总结-动力节点共20页.pdf”很可能是对Java中各种操作符的一个全面概述,包括...

    Java操作符的优先级和结合性

    以下是一个完整的Java操作符优先级列表: 1. 后缀运算符:`[ ]`、`.`、`( )`(函数调用) —— 这些操作符从左到右执行。例如,`array[index]`、`object.method()` 和 `(expression)`。 2. 单目运算符:`!`、`~`、...

    Thinking in java4(中文高清版)-java的'圣经'

    2.8.2 语法 2.8.3 嵌入式HTML 2.8.4 一些标签示例 2.8.5 文档示例 2.9 编码风格 2.10 总结 2.11 练习 第3章 操作符 3.1 更简单的打印语句 3.2 使用Java操作符 3.3 优先级 3.4 赋值 3.4.1 方法调用中的别名问题 3.5 ...

    Java软件工程师企业测评测试题.pdf

    1. Java操作符:Java操作符包括算术操作符、比较操作符、逻辑操作符等。在测试题4中,byte类型变量b和e进行了加法操作,结果赋值给byte类型变量f。 四、Java编译和运行 1. Java编译:Java编译需要将java文件编译成...

    java 移位操作符的使用

    Java中的移位操作符用于对二进制数进行左移()、右移(&gt;&gt;)和无符号右移(&gt;&gt;&gt;)操作。 左移()操作符:将一个数的所有位向左移动指定的位数,右侧空出的位用0填充。 右移(&gt;&gt;)操作符:将一个数的所有位向右移动...

    Java跨平台得秘密.pdf

    本文档详细介绍了Java跨平台的秘密,包括Java虚拟机、Java Runtime Environment、Java Development Kit、Java基本数据类型、Java操作符、Java控制流、Java函数、Java继承、Java接口、Java多线程、Java字符串和Java...

    JAVA工程师笔试题汇总(免费)

    本资源汇总了JAVA工程师笔试题,涵盖了Java基本知识、Java编程语言、Java安全机制、Java操作符等多个方面的知识点,旨在帮助Java工程师快速掌握和巩固相关知识。 知识点1:Java基本输出语句 System.out.println(4|...

    java培训笔记.doc

    在给出的笔记中,提到了几种Java操作符: 1. 三元操作符 `?:`:这是Java中的条件操作符,语法为 `条件 ? 表达式1 : 表达式2`。如果条件为真,它会执行表达式1,否则执行表达式2。在示例中,`c = a &gt; b ? 4 : 5;` ...

    Java基础知识之数据类型和操作符

    Java支持多种类型的操作符,包括算术操作符(如+、-、*、/)、比较操作符(如==、!=、&gt;、&lt;)、逻辑操作符(如&&、||、!)和赋值操作符(如=)。此外,Java还提供了一些特殊的操作符,如三元操作符(? :)和位操作符...

    java的应用领域 操作符

    3. **移动应用**:Android操作系统广泛采用Java作为其主要的开发语言。Android SDK允许开发者使用Java或Kotlin(基于Java虚拟机的现代语言)创建原生移动应用。Java的可移植性使得开发者能轻松地在不同设备上部署...

    操作符学习案例

    在这个"操作符学习案例"中,我们将深入探讨Java语言中的各种操作符及其用法,通过分析`OperatorTest.java`这个源码文件来加深理解。 首先,我们要了解Java中的主要操作符类型: 1. **算术操作符**:这些操作符用于...

    Java语言中的操作符及操作符的优先级[借鉴].pdf

    Java语言中的操作符是编程语法的重要组成部分,它们用于执行各种计算和逻辑判断。理解操作符的用法和优先级对于编写高效、准确的代码至关重要。本文将详细解析Java中的主要操作符及其应用。 首先,我们来看算术操作...

    java 按位操作符的使用

    在Java中,按位操作符用于对整数进行位级别的操作 按位与(&)操作符 按位或(|)操作符 按位异或(^)操作符 按位取反(~)操作符 左移()操作符 右移(&gt;&gt;)操作符

    java笔记学习之操作符

    这些只是Java操作符的基本介绍。在实际编程中,还有其他更复杂的操作符,如位操作符(如按位与 `&`、按位或 `|`、按位异或 `^`、左移 `、右移 `&gt;&gt;` 和无符号右移 `&gt;&gt;&gt;`),赋值操作符(如 `+=`、`-=`、`*=`、`/=` 和...

    java学习实例(都是一些比较基础的实例)

    虽然代码片段不完整,但从文件名推测,该程序可能涉及各种Java操作符的使用,如算术操作符、关系操作符、逻辑操作符等。 ### 总结 以上分析的这些示例覆盖了Java编程的基础知识,包括但不限于类和对象的概念、基本...

    java 三元操作符的使用

    在Java中,三元操作符是一种简洁的条件表达式,用于在两个值之间进行选择。

    51CTO学院-《Java编程思想》精讲视频教程(上部).docx

    - **使用 Java 操作符**:介绍各种常用操作符。 - **优先级**:讲解操作符的优先级顺序。 - **赋值**:探讨赋值操作符的使用。 #### 3.3 操作符-算术、自动递增和递减操作符 - **算术操作符**:包括加、减、乘、除...

Global site tag (gtag.js) - Google Analytics