public static void main(String[] args)
{ int[] a1 = {1,2,3,4,5};
int[] a2;
a2=a1;
for(int i= 0;i<a2.length;i++){
a2[i]++;
}
for(int i =0;i<a1.length;i++){
System.out.println("a1|"+i+"| = " +a1[i]);
}
}输出结果是:
a1|0| = 2
a1|1| = 3
a1|2| = 4
a1|3| = 5
a1|4| = 6为什么不是12345 呢,我都没看出 a2什么时候把值付给a1了。请大虾解释一下,小生感激不尽
解决方案 »
- ssh2 用filter拦截器后、拦截成功但是登陆空异常
- 求一个能够读取网页纯文本内容的程序
- myeclipse8.6中安装groovy插件
- 求struts2购物车中求总价的思路
- 关于BufferedOutputStream写入流
- tomcat安装好了,但http://127.0.0.1:8080/admin为空白页!
- 项目外包:现场开发30天 JAVA,Hibernate+Spring+JasperReport 双倍于薪资的报酬
- 考试题,刚接触不太会,请教高手!
- 做j2EE的,用java的,你们月薪几何?
- 向struts说NO。
- 中文的范围
- java.lang.ClassCastException: java.lang.String。求解
a2=a1; 的效果是令a1,a2指向同一个数组
所以a1指向的数组的数据改变就等于a2指向的数组的数据改变了
a2和a1指向了同一个数组
a2 = a1.clone();
a2=Arrays.copyOf(a1,a1.length); //做个拷贝就不一样了,这样a1,a2引用的就不是同一个数组对象了
int长度数据类型有:byte(8bits)、short(16bits)、int(32bits)、long(64bits)
float长度数据类型有:单精度(32bits float)、双精度(64bits double)
boolean类型变量的取值有:ture、false
char数据类型有:unicode字符,16位
对应的类类型:Integer、Float、Boolean、Character、Double、Short、Byte、Long转换原则:从低精度向高精度转换byte 、short、int、long、float、double、char
注:两个char型运算时,自动转换为int型;当char与别的类型运算时,也会先自动转换为int型的,再做其它类型的自动转换1,基本类型向类类型转换正向转换:
通过类包装器来new出一个新的类类型的变量
Integer a= new Integer(2);反向转换:
通过类包装器来转换
int b=a.intValue();2,类类型向字符串转换正向转换:
因为每个类都是object类的子类,而所有的object类都有一个toString()函数,所以通过toString()函数来转换即可反向转换:
通过类包装器new出一个新的类类型的变量
eg1: int i=Integer.valueOf(“123”).intValue()
说明:上例是将一个字符串转化成一个Integer对象,然后再调用这个对象的intValue()方法返回其对应的int数值。
eg2: float f=Float.valueOf(“123”).floatValue()
说明:上例是将一个字符串转化成一个Float对象,然后再调用这个对象的floatValue()方法返回其对应的float数值。
eg3: boolean b=Boolean.valueOf(“123”).booleanValue()
说明:上例是将一个字符串转化成一个Boolean对象,然后再调用这个对象的booleanValue()方法返回其对应的boolean数值。
eg4:double d=Double.valueOf(“123”).doubleValue()
说明:上例是将一个字符串转化成一个Double对象,然后再调用这个对象的doubleValue()方法返回其对应的double数值。
eg5: long l=Long.valueOf(“123”).longValue()
说明:上例是将一个字符串转化成一个Long对象,然后再调用这个对象的longValue()方法返回其对应的long数值。
eg6: char=Character.valueOf(“123”).charValue()
说明:上例是将一个字符串转化成一个Character对象,然后再调用这个对象的charValue()方法返回其对应的char数值。3,基本类型向字符串的转换正向转换:
如:int a=12;
String b;
b=a+””;反向转换:
通过类包装器
eg1:int i=Integer.parseInt(“123”)
说明:此方法只能适用于字符串转化成整型变量
eg2: float f=Float.valueOf(“123”).floatValue()
说明:上例是将一个字符串转化成一个Float对象,然后再调用这个对象的floatValue()方法返回其对应的float数值。
eg3: boolean b=Boolean.valueOf(“123”).booleanValue()
说明:上例是将一个字符串转化成一个Boolean对象,然后再调用这个对象的booleanValue()方法返回其对应的boolean数值。
eg4:double d=Double.valueOf(“123”).doubleValue()
说明:上例是将一个字符串转化成一个Double对象,然后再调用这个对象的doubleValue()方法返回其对应的double数值。
eg5: long l=Long.valueOf(“123”).longValue()
说明:上例是将一个字符串转化成一个Long对象,然后再调用这个对象的longValue()方法返回其对应的long数值。
eg6: char=Character.valueOf(“123”).charValue()
说明:上例是将一个字符串转化成一个Character对象,然后再调用这个对象的charValue()方法返回其对应的char数值。
牛人!膜拜。
a2=a1;这一句只是将a1的引用给了a2,所以他们共用同一块内存地址。