java编程思想阅读笔记 第三章(赋值操作=)
来源:互联网 发布:青岛淘宝美工速成班 编辑:程序博客网 时间:2024/06/10 23:52
Java的赋值操作(=)应该分为两种情况:
1. 针对基本数据类型的赋值操作
2. 针对对象的赋值操作
基本数据类型的赋值很简单。基本数据类型存储了实际的数值,而并非是指向对象的引用,所以在为其赋值的时候,是直接讲一个地方的内容复制到了另一个地方。例如对基本数据类型使用a=b,那么b的内容直接复制给a。若接着又修改了a,而b根本不会受影响。
以交换两个数为例:
public class Swap {public void swap(int a ,int b){int temp=a;a=b;b=temp;}public static void main(String[] args) {int a=5,b=6;System.out.println("a="+a+"\tb="+b);Swap s=new Swap();s.swap(a, b);}}
输出结果为:a=5 b=6
我们可以看到,对基本数据类型的赋值操作并不会影响到原来的值。
但是当为对象赋值时,情况发生了变化。对一个对象进行操作时,我们真正操作的是对象的引用。所以如果将一个对象赋值给另一个对象,实际上是将引用从一个地方复制到另一个地方。这意味着如果对对象使用c=d,那么c和d都指向原本只有d指向的那个对象。举个例子来看:
class Tank{int level;}public class Assignment {public static void main(String[] args) {Tank t1=new Tank();Tank t2=new Tank();t1.level=1;t2.level=2;System.out.println("t1.level:"+t1.level+"\tt2.level:"+t2.level);t1=t2;System.out.println("t1.level:"+t1.level+"\tt2.level:"+t2.level);t1.level=25;System.out.println("t1.level:"+t1.level+"\tt2.level:"+t2.level);}}
输出结果为:
t1.level:1t2.level:2t1.level:2t2.level:2t1.level:25t2.level:25
方法调用的过程中也存在这样的别名问题:
class Letter{char c;}public class PassObject {static void f(Letter f){f.c='z';}public static void main(String[] args) {Letter x=new Letter();x.c='a';System.out.println("x.c:"+x.c);f(x);System.out.println("x.c:"+x.c);}}
输出结果为:
x.c:ax.c:z
我们可以看到,实际上函数传递了一个引用,所以f()实际上改变的是该函数之外的对象。
0 0
- java编程思想阅读笔记 第三章(赋值操作=)
- java编程思想阅读笔记 第三章(==与equals)
- java编程思想第三章 操作符 笔记
- Java编程思想笔记——第三章 操作符
- java编程思想阅读笔记 第二章
- java编程思想阅读笔记(一)
- java 编程思想 阅读笔记(1)
- java 编程思想 阅读笔记(2)
- java 编程思想 阅读笔记(3)
- java 编程思想阅读笔记(4)
- java 编程思想 阅读笔记(5)
- Java编程思想阅读笔记(一)
- java编程思想阅读笔记(一)
- java编程思想阅读笔记(二)
- java编程思想阅读笔记(三)
- 《Java 编程思想》--第三章:操作符
- JAVA编程思想-第三章 操作符
- 《Java编程思想》第三章 操作符
- 动态规划练习--X()
- Android 国际化
- JS精华记录(一)
- 2017年4月阅读清单
- Java Html/jsp服务器表单
- java编程思想阅读笔记 第三章(赋值操作=)
- 如何解决request对象中的乱码问题
- mybatis查询时间段sql语句
- java数据写入Excel报表
- Css
- 分治法 or BIT 求逆序对
- 从零开始学习音视频编程技术(十八) 录屏软件开发之编码AAC
- app好友接口设计方案
- 总结数据类型、运算符,语句
原创粉丝点击
热门IT博客
热门问题
老师的惩罚
人脸识别
我在镇武司摸鱼那些年
重生之率土为王
我在大康的咸鱼生活
盘龙之生命进化
天生仙种
凡人之先天五行
春回大明朝
姑娘不必设防,我是瞎子
野猪养殖
抓野猪工具
野猪价格
特种野猪肉
中国野猪
小野猪
野猪牙
杀野猪图片
野猪吃人吗
野猪王
打野猪
野猪吃什么
小野猪图片
野猪野猪
捉野猪工具
那里有野猪
捕杀野猪
猎杀野猪
怎样抓野猪
野生野猪
东北野猪
狗抓野猪
捉野猪
怎么逮野猪
捕野猪犬
野猪种
捕野猪网
野猪崽价格
野猪冲撞
怎样捉野猪
野猪套做法
www.野猪
黑山野猪
捕野猪夹
野猪流
捕捉野猪
抓野猪
大块野猪肉
野猪肉怎么做好吃
野猪鲁24小时有效进入免费
野猪闯进ktv0