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 中,操作符用于执行特定的操作,如比较、算术运算或逻辑运算,而变量初始化则是确保变量具备合适初始值的过程。 1. **...
Java操作符是编程语言中用于执行特定操作的符号,它们在Java编程中起着至关重要的作用,帮助我们构建复杂的逻辑和算法。这份“Java操作符总结-动力节点共20页.pdf”很可能是对Java中各种操作符的一个全面概述,包括...
以下是一个完整的Java操作符优先级列表: 1. 后缀运算符:`[ ]`、`.`、`( )`(函数调用) —— 这些操作符从左到右执行。例如,`array[index]`、`object.method()` 和 `(expression)`。 2. 单目运算符:`!`、`~`、...
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 ...
1. Java操作符:Java操作符包括算术操作符、比较操作符、逻辑操作符等。在测试题4中,byte类型变量b和e进行了加法操作,结果赋值给byte类型变量f。 四、Java编译和运行 1. Java编译:Java编译需要将java文件编译成...
Java中的移位操作符用于对二进制数进行左移()、右移(>>)和无符号右移(>>>)操作。 左移()操作符:将一个数的所有位向左移动指定的位数,右侧空出的位用0填充。 右移(>>)操作符:将一个数的所有位向右移动...
本文档详细介绍了Java跨平台的秘密,包括Java虚拟机、Java Runtime Environment、Java Development Kit、Java基本数据类型、Java操作符、Java控制流、Java函数、Java继承、Java接口、Java多线程、Java字符串和Java...
本资源汇总了JAVA工程师笔试题,涵盖了Java基本知识、Java编程语言、Java安全机制、Java操作符等多个方面的知识点,旨在帮助Java工程师快速掌握和巩固相关知识。 知识点1:Java基本输出语句 System.out.println(4|...
在给出的笔记中,提到了几种Java操作符: 1. 三元操作符 `?:`:这是Java中的条件操作符,语法为 `条件 ? 表达式1 : 表达式2`。如果条件为真,它会执行表达式1,否则执行表达式2。在示例中,`c = a > b ? 4 : 5;` ...
Java支持多种类型的操作符,包括算术操作符(如+、-、*、/)、比较操作符(如==、!=、>、<)、逻辑操作符(如&&、||、!)和赋值操作符(如=)。此外,Java还提供了一些特殊的操作符,如三元操作符(? :)和位操作符...
3. **移动应用**:Android操作系统广泛采用Java作为其主要的开发语言。Android SDK允许开发者使用Java或Kotlin(基于Java虚拟机的现代语言)创建原生移动应用。Java的可移植性使得开发者能轻松地在不同设备上部署...
在这个"操作符学习案例"中,我们将深入探讨Java语言中的各种操作符及其用法,通过分析`OperatorTest.java`这个源码文件来加深理解。 首先,我们要了解Java中的主要操作符类型: 1. **算术操作符**:这些操作符用于...
Java语言中的操作符是编程语法的重要组成部分,它们用于执行各种计算和逻辑判断。理解操作符的用法和优先级对于编写高效、准确的代码至关重要。本文将详细解析Java中的主要操作符及其应用。 首先,我们来看算术操作...
在Java中,按位操作符用于对整数进行位级别的操作 按位与(&)操作符 按位或(|)操作符 按位异或(^)操作符 按位取反(~)操作符 左移()操作符 右移(>>)操作符
这些只是Java操作符的基本介绍。在实际编程中,还有其他更复杂的操作符,如位操作符(如按位与 `&`、按位或 `|`、按位异或 `^`、左移 `、右移 `>>` 和无符号右移 `>>>`),赋值操作符(如 `+=`、`-=`、`*=`、`/=` 和...
虽然代码片段不完整,但从文件名推测,该程序可能涉及各种Java操作符的使用,如算术操作符、关系操作符、逻辑操作符等。 ### 总结 以上分析的这些示例覆盖了Java编程的基础知识,包括但不限于类和对象的概念、基本...
在Java中,三元操作符是一种简洁的条件表达式,用于在两个值之间进行选择。
- **使用 Java 操作符**:介绍各种常用操作符。 - **优先级**:讲解操作符的优先级顺序。 - **赋值**:探讨赋值操作符的使用。 #### 3.3 操作符-算术、自动递增和递减操作符 - **算术操作符**:包括加、减、乘、除...