Java基础day02

Java基础day02
2引用类型
对象名,对象的引用,对象
User user= new User();
所有的引用类型的默认值都是null;
3public class test3 {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	Perso pp=new Perso();
	pp.name="张三";
	System.out.println(pp.name);
	aa(pp);
	System.out.println(pp.name);
}
public static void aa(Perso p)
{
	
	
	p.name="里斯";
}

}
第一次输出张三
第二次输出里斯
基本数据类型 创建了一个对应的引用的数据类型
基本数据类型 引用数据类型(封装类)
byte Byte
short Short
int Integer
long Long
char Char
float Float
double Double
boolean Boolean
Integer a=new Integer(3);
Integer b=3;
//Integer b=Integer.value0f(3);
包装类和基本类比较会拆箱在比较
java数据类型有基本数据类型和引用数据类型,为了方便将基本数据类型当作对象处理,java引入了基本数据类型相对应的封装类,如int封装类是Integer。
java自动拆箱和自动装箱
1、自动装箱
自动装箱其实就是将基本数据类型转换为引用数据类型(对象)
2、自动拆箱
自动拆箱其实就是将引用数据类型转化为基本数据类型
int和Interger的区别
int是基本数据类型,Integer是引用数据类型;
int默认值是0,Integer默认值是null;
int类型直接存储数值,Integer需要实例化对象,指向对象的地址。
例子:
public static void main(String[] args) {
// TODO Auto-generated method stub

	int a=100;
	int b=100;
	System.out.println(a==b);//true
	
	Integer c=new Integer(100);
	Integer d=new Integer(100);
	System.out.println(c==d);//false
	
	Integer e=new Integer(100);
	Integer f=100;//Integer.valueOf(100);
	System.out.println(f==e);//false
	
	Integer g=100;
	Integer h=100;
	System.out.println(g==h);//true
	
	Integer i=1000;
	Integer j=1000;
	System.out.println(i==j);//false
	
	int k=100;
	Integer l=100;
	System.out.println(k==l);//true
	
	int m=100;
	Integer n=new Integer(100);
	System.out.println(m==n);//true
	
	
	
	
	
}

结论:
1、都是封装类,都是new出来的,肯定不相等。因为对象的内存地址不一样。
2、都是封装类,都不是new出来的,如果值在-128~127之间,那就相等,否则不相等。
3、都是封装类,一个是new出来的,一个不是new出来的,都不相等。
3、如果是封装类和基本类型进行比较,只要数值相等那就相等,否则就不相等。因为封装类和基本数据类型进行比较的时候会有一个自动拆箱操作。
4、都是基本数据类型,如果数值相等,那就相等;否则不相等

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值