一、分别有哪些数据类型
引用数据类型 | 基本数据类型 |
---|---|
类(String) | byte(字节)int,short,long |
接口 | float(单精度),double(双精度) |
数组 | boolean(布尔);char(字符) |
二、引用数据类型和基本数据类型的区别
1.=
等号表示赋值。
对于基本数据类型,赋值的是内容。
对于引用数据类型,赋值的是地址。
int a=1;
int b=a;
b=2;
System.out.println(a);//输出结果为:1
String[] str1={"a","b","c"};
String[] str2=str1;
str2[0]="zzz";
System.out.println(str1[0]);//输出结果为:zzz
String ss1="abc";
String ss2=ss1;
ss2="www";
System.out.println(ss1);//String是特殊引用数据类型,这里输出结果为:abc
2.==
双等号表示比较,返回boolean值。
对于基本数据类型,比较的是内容。
对于引用数据类型,比较的是地址。
这里主要看引用数据类型String
(一)
String s1="abc";
String s2="abc";
System.out.println(s1==s2); //(2)true
(二)
String s3=new String("abc");
String s4=new String("abc");
System.out.println(s3==s4); //(4)false
开始我是没明白,所以现在记录一下。
(一)这里首先s1赋值为"abc",它会有一个新地址比如:s1x1。s2在赋值的时候系统首先会判断s2的值是否在系统存在相同的值"abc",如果存在,就把已经存在的值的地址(s1x1)赋值给s2,所以这里s1和s2其实就是同一个地址。
(二)就不用说了吧,因为new了,所以是新地址。
注解]: 基础学习,多多指教