Java操作符
来源:互联网 发布:英雄无敌5 mac版 编辑:程序博客网 时间:2024/06/03 19:32
本文内容来自:Java操作符 – Break易站
Java操作符 用于接受一个或多个参数,并生成一个新的值。加号和一元的正号(+)、减号和一元的负号(一)、乘号(*)、除号(/)以及赋值号(=)的用法和大多数编程语言都类似。
操作符作用于操作数,生成一个新值。另外,有些操作符可能会改变操作数自身的值,这被称为“副作用’。那些能改变其操作数的操作符,最普遍的用途就是用来产生副作用;但要记住,使用此类操作符生成的值,与使用没有副作用的操作符生成的值,没有什么区别。几乎是所有的操作符都只能操作“基本类型”。,但“=”、“==“和”!=“能操作所有对象。String支持”+“和”+=“。
优先级
一个表达式存在多个操作符的时候,计算时就是按照操作符的优先级,先乘除后加减。最简便的方法就是利用括号()控制操作符的顺序。
而String类型的可以用+来连接每个String。
赋值
普通赋值:赋值使用操作符“=”,把右边的值复制给左边,左值必须是明确的变量。比如: a=8;
对象赋值:在为对象‘赋值”的时候,我们真正操作的是对对象的引用。倘若“将一个对象赋值给另一个对象”,实阮是将“引用”从一个地方复制到另一个地方。这意味着假若对对象使用C=B,那么C和B都指向原本只有B指向的那个对象。下面这个例子将向大家阐示这一点。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class
Breakyizhan {
int
Y;
}
public
static
void
main(String[] args){
Breakyizhan c1=
new
Breakyizhan();
Breakyizhan c2=
new
Breakyizhan();
c1.Y =
2
;
c2.Y =
80
;
System.out.println(
"1: c1.Y: "
+c1.Y +
", c2.Y:"
+c2.Y);
//对象c1和c2都指向了c2的对象;要记得c1和c2只是一个引用;
c1=c2;
System.out.println(
"2: c1.Y: "
+c1.Y +
", c2.Y:"
+c2.Y);
//对象c1的引用被覆盖之后,就是丢失了,也就是c1之前所指的对象被“垃圾回收”了,c1现在和c2一样指的是同一个对象
c1.Y =
33
;
System.out.println(
"3: c1.Y: "
+c1.Y +
", c2.Y:"
+c2.Y);
}
结果是:
1
2
3
1
: c1.Y:
2
, c2.Y:
80
2
: c1.Y:
80
, c2.Y:
80
3
. c1.Y:
33
, c2.Y:
33
这种Java操作对象的方法叫做“别名现象”,为了避免这个现象,可以这么写: c1.Y=c2.Y;
本文内容来自:Java操作符 – Break易站
—Author: Arvin Chen —Web Address: www.breakyizhan.com (Break易站)
阅读全文
0 0
- Java:操作符
- java位操作符
- java操作符
- Java操作符
- java中的&|^操作符
- java 位操作符
- Java操作符
- java操作符说明
- 3 java操作符
- 使用 Java 操作符
- Java操作符复习
- java 操作符
- java操作符
- java-位操作符
- java 位操作符
- java instanceof操作符
- Java +=操作符
- Java instanceof操作符
- 挑战程序设计竞赛2 算法和数据结构 读后感
- TeraTerm Language 帮助文档1-[如何运行]
- JAVA——动态代理
- SpringMVC和Struts2中拦截器实现思路思想
- 问题 G: 整数转字符串
- Java操作符
- HDOJ 2016 数据的交换输出
- 图片验证码
- 把OSC_IN/OSC_OUT引脚作为GPIO端口PD0/PD1
- Django模型字段常用的类型
- TensorFlow入门教程
- HDOJ 2017 字符串统计
- java.lang.ClassNotFoundException: org.quartz.JobDetail Spring与Quartz的整合实现定时任务调度
- Leetcode 刷题之哈希表