欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

数据类型、装箱、拆箱以及引用类型String

程序员文章站 2022-05-06 09:33:26
...

数据类型

数据类型分为两大类:
(1)基本类型
数据类型、装箱、拆箱以及引用类型String
范围大小:
byte < ( short = char) < int < long < float < double
(2)引用类型
String array etc…

装箱

Integer i  = 10;            //valueOf方法 装箱
Integer i2 = (Integer)10;   //显示装箱

数据类型、装箱、拆箱以及引用类型String

拆箱

int i2 = i;                 //intvalue方法拆箱
int i3 = new Integer(20);   //显示拆箱

数据类型、装箱、拆箱以及引用类型String

基本类型之间的转化的两个方法:

自动转化

byte b=10;
int a=b;
long l = a;

强制转化

 byte b=10;
 char ch = (char)b;   // 必须强转 byte------>int----->char

 short sh = 10;
 char ch2 = (char)sh;  // 必须强转 (short有符号位)

 int ii = 10; 
 char ch3 = (char)ii;

 byte b2 = (byte)128;
 System.out.println(b2);  //(b2的值为-128;127+1=-128)

 byte b3 = 10;
 byte b4 = 10;
 //byte b5 = b3+b4;(转化错误原因:byte----->int---->  )
 byte b5 = byte(b3+b4);

String

JVM可以分为如图几个部分:
数据类型、装箱、拆箱以及引用类型String
1.

String str3 = new String("Tulun");
String str4 = new String("Tulun");
System.out.println(str3 == str4);
System.out.println("======");
//结果:False  

Tulun是在堆中新建的两个不同的,但在常量池中是一样的,但是在堆中是不一样的
数据类型、装箱、拆箱以及引用类型String
2.

String str1 = "Tulun";
String str2 = "Tulun";
System.out.println(str1 == str2);
System.out.println("======");
//结果:True    

没有新建,在常量池中是一个东西
数据类型、装箱、拆箱以及引用类型String
3.

String str5 = new String("Tulun");
String str6 = "Tulun";
System.out.println(str5 == str6);
System.out.println("======");
//结果:False     

数据类型、装箱、拆箱以及引用类型String
4.

String str7 = new String("Tulun");
String str8 = "Tu"+"lun";
System.out.println(str7 == str8);
System.out.println("======");
//结果:False

数据类型、装箱、拆箱以及引用类型String
5.

String str9 = new String("Tulun");
String str10 = "Tu"+new String("lun");
System.out.println(str9 == str10);
System.out.println("======");
//结果:False

因为new了一个新的,所以和3的错误原因一样
6.

char[] array = {'T','u','l','u','n'};
String str11 = new String(array);
String str12 = "Tulun";
System.out.println(str11 == str12);
//结果:False

数据类型、装箱、拆箱以及引用类型String