1、包装类概念:
将基本数据类型数据组装成引用数据类型数据。
2、包装类作用:
String使用数据类型与基本数据类型(byte,short,int,long,float…)的区别,基本数据类型只是一个取值范围,没有具体方法或者属性。String类除了有取值范围外,还包含属性和方法。sun公司想能否将每个的基本数据类型都提供一个引用类型,从而能否具有属性和方法,方便程序使用。所以推出包装类。
3、包装类分类

4、Integer类
(1)API介绍

(2)属性

public class Demo7_Integer {
public static void main(String[] args) {
int bytes = Integer.BYTES;
System.out.println(bytes);//4,一个int占4个字节(byte)
int maxValue = Integer.MAX_VALUE;
System.out.println(maxValue);//2147483647,int类型能取的最大值
//byte 127~-128
int minValue = Integer.MIN_VALUE;
System.out.println(minValue);//-2147483648,int类型能取的最小值
int size = Integer.SIZE;
System.out.println(size);//32,一个int占32个比特(bit)
}
}
(3)构造方法

public class Demo7_Integer {
public static void main(String[] args) {
//构造防范
//Integer(int)
Integer i = new Integer(10);
System.out.println(i);//10
//Integer(String)
Integer ii = new Integer("10");
System.out.println(ii);//10
//作用:用于区分字符串的内容是否是数字
Integer iii = new Integer("abc");//java.lang.NumberFormatException: For input string: "abc"
System.out.println(iii);
//method_属性();
}
}
(4)运算功能方法

public class Demo7_Integer {
public static void main(String[] args) {
//运算方法
int max = Integer.max(10, 20);
System.out.println(max);//20
int min = Integer.min(2, 6);
System.out.println(min);//2
int sum = Integer.sum(8, 9);
System.out.println(sum);//17
//method_构造方法();
//method_属性();
}
}
(5)转换功能方法

package day11;
public class Demo7_Integer {
public static void main(String[] args) {
//转换方法
//1、int转Integer
int n = 10;
Integer i = new Integer(n);
System.out.println(i.toString());//10
i = Integer.valueOf(n);
System.out.println(i.toString());//10
//2、Integer转int
int n1 = i.intValue();
System.out.println(n1 - 8);//2
//3、String转Integer
String s = "675";
Integer ii = new Integer(s);
System.out.println(ii.toString());//675
ii = Integer.valueOf(s);
System.out.println(ii.toString());//675
//4、Integer转String
Integer iii = new Integer(10);
String ss = iii.toString();
System.out.println(ss + 1);
ss = String.valueOf(iii);
System.out.println(ss + 1);
System.out.println(iii + "1");
//5、int转String
String sss = Integer.toString(10);
System.out.println(sss);//10 将数字以10进制方式显示
sss = Integer.toBinaryString(10);
System.out.println(sss);//1010 将数字以2进制方式显示
sss = Integer.toHexString(10);
System.out.println(sss);//a 将数字以16进制方式显示
sss = Integer.toOctalString(10);
System.out.println(sss);//12 将数字以8进制方式显示
sss = String.valueOf(10);
System.out.println(sss);//10
System.out.println(10 + "");//10
//6、String转int
int nn = Integer.parseInt("101");
System.out.println(nn + 1);//102
//method_运算方法();
//method_构造方法();
//method_属性();
}
}
5、自动装箱和拆箱
(1)概念:基本数据类型自动转包装类型称之为自动装箱,反之包装类型自动转换成基本数据类型称之为拆箱。
public class Demo7_Integer {
public static void main(String[] args) {
//自动装箱和拆箱
int n = 10;//自动装箱
Integer i = n;
System.out.println(i.toString());//10
n = i;//自动拆箱
System.out.println(n + 10);//20
int num = i - 1;
System.out.println(num);//9
}
}
6、关于类型的面试题
class Test {
int i;
}
public class Demo8_类型的面试题 {
public static void main(String[] args) {
int i = 888;
change(i);
System.out.println(i);//888
Test test = new Test();
test.i = 888;
change(test);
System.out.println(test.i);//20
String s = "goods";
change(s);
System.out.println(s);//goods
StringBuilder builder = new StringBuilder("goods");
change(builder);
System.out.println(builder);
//注意
//1、java中只有值传递,没有引用传递
//2、基本数据类型作为参数传递,参数修改不会被保留。引用数据类型作为参数传递,参数修改会被保留。
//3、String类虽然是引用类型,但是使用方式类似基本数据类型,所以作为参数传递时,修改不会保留
//4、如果需要将字符串作为参数传递后,修改仍然能保留,可以使用StringBuilder代替String
}
public static void change(Test test) {
test.i = 20;
}
public static void change(int num) {
num = 20;
}
public static void change(String s){
s = "wahaha";
}
public static void change(StringBuilder builder){
builder.setLength(0);
builder.append("wahaha");
}
}
本文详细介绍了Java中的包装类概念及用途,包括Integer类的API、属性、构造方法、运算和转换功能方法等内容,并探讨了自动装箱和拆箱的过程。
1万+

被折叠的 条评论
为什么被折叠?



