Java学习

学习目标:

JavaSE-语法入门10-包装器类型


学习内容:

包装器类型:
Java中的对象:
在Java中,所谓的对象,就是指一个类的实例,或者可以说一个类的引用或代表,一个类可以由多个实例代表。

Scanner scan = new Scanner(System.in);
对于上面的这一条语句来说,scan就是Scanner类型的一个实例的引用。

我们之前在HelloWorld程序之中,输出过一段双引号包围起来的文本,双引号包围起来的部分也是一个对象,是一个字符串类型的对象,只是我们没有使用引用来代表而已,直接把这个字符串对象放在输出语句中直接使用了而已。

System.out.println("helloworld");
以上的这种方式,也可以写成:
String str = "helloworld";
System.out.println(str);

基本数据类型
在学习基本数据类型的时候,int i=0;对于这一条语句的含义:声明一个int类型的变量,名字叫做i,它所代表的值是0

引用数据类型的对象:
对于对象来说:
    Scanner scan = new Scanner(System.in);
这一条语句的含义:创建一个Scanner类型的对象,由一个名字叫做scan的变量来引用这个实例,或者说代这个Scanner类型的对象。

基本数据类型变量和引用数据类型的对象的最直观的区别:
1.基本数据类型不是对象,没有方法或属性给我们进行调用
2.引用数据类型是对象,对象可以提供各种各样的方法或属性,提供给我们进行操作。


java是百分之百面向对象的编程语言,也就是说在Java中所有的东西都是以对象的角度来看待的,但是Java中的基本数据类型不是对象,为了弥补基本数据类型不是对象,Java中提供了包装器类型,可以将对应的基本数据类型转变为对象。

基本数据类型:        包装器类型
byte            Byte
short            Short
int            Integer
long            Long
float            Float
double            Double
boolean            Boolean
char            Character

所谓的包装器类型就是让我们提供一个对象的实例作为所谓的"壳",将基本数据类型包装到这个对象之中,这样就变成在操作一个对象,就好像把基本数据类型当做对象一样操作。

装箱:把基本数据类型转变为对象(包装器类型)
1.手动装箱:将基本数据类型的数据包装到一个包装器类型中
int number = 10;
Integer iter = new Integer(number);

2.自动装箱:在JDK1.5版本之后提供的,自动把基本数据类型转变为对包装器类型
int number = 10;
Integer iter = number;

拆箱:把包装器类型的对象还原为基本数据类型的变量
1.手动拆箱:调用相应的方法,将包装器类型的对象变为基本数据类型的变量
int number = 10;
Integer iter = number;
double a = iter.doubleValue();
System.out.println(a);
2.自动拆箱:自动将包装器类型的对象变为基本数据类型的变量
int number = 10;
Integer iter = number;
double a = iter;//直接赋值,integer可以向double发生自动类型转换
int b = iter;//直接赋值
//注意:integer不能向byte类型发生自动类型转换,也不能强制转换
//若想将iter对象代表的值传入byte类型的变量中,首先要考虑能否装得下(-128~127)
//其次要考虑,强制转换语法
byte c = (byte) b;//要先转成integer对应的int型,再强制转换为byte型
System.out.println(a);


对于==的补充说明:

==可以作用在两个基本数据类型之间,代表比较基本数据类型的值是否相等。
Integer iter1 = 100;
Integer iter1 = 100;
System.out.println("iter1==iter2");

==可以作用在两个引用数据类型之间,代表比较引用数据类型的 内存地址是否相同。
Integer iter1 = 200;
Integer iter1 = 200;
System.out.println("iter1==iter2");
对于一个字节能表示的范围内的数字(-128-127)使用的都是同一个内存地址。


null:
代表不存在的对象,就是说不存在于堆内存中的对象。

"":代表空的字符串。

引用数据类型的对象,如果指定为null之后,在没有给定一个具体的引用之前,不能调用其属性或方法,当使用不存在的对象去执行方法或属性时,会产生一个NullPointerException(空指针异常),产生的原因就是对象都不存在,更别提调用对象的属性或方法。

public static void problem(){
    Scanner scan =new Scanner(System.in);
    System.out.println("请你输入一个整数:");
    String str = scan.nextLine;
    while(!str.matches("\\d+")){
        System.out.println("SB 请输入整数:");
        scr = scan.nextLine();
    }
    int number = Integer.parseInt(Str);
    System.out.println("输入一个整数:");+(number+100);
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值