前注:本文参考传智博客毕向东老师的java教学视屏加上本菜鸟的一些总结理解,错漏之处烦请各位批评改正,望共同进步。
一. 基本数据类型包装类的简单介绍
java里有8种基本数据类型(byte short int long float double char boolean),为了对各种基本数据类型进行更方便的操作便有了基本数据类型包装类。它把各种基本数据类型的独有特点及方法等包装在对应的类里。对应8种基本数据类型,它们的包装类有Byte Short Integer Long Float Double Character Boolean。
在这里我介绍一种包装类Integer,先来看看下面的几个问题。
1.int类型是我们所熟悉的,那么int类型的数据的最大值是多少呢?
2.如何声明变量x(假设变量x可以为byte short int long这四种类型)才能让x声明后的数据类型更节约内存呢?
3.基本数据类型(除了char boolean)比较数据的大小用大于号,小于号。那么包装类对象怎么比较大小?
好了,我们来解决上面三个小问题。
1.int类型数据最大有多大,这个问题它的包装类Integer最清楚。用静态方法Integer.MAX_VALUE()可以得出。
所以,个人觉得Integer是典型的面向对象思想体现,而且很人性化(它的人性化就像linux的命令一样)。
2.Integer有一种方法byteValue()。它的作用是让封装的数据用byte类型返回。
byte的范围是-128到+127.
Integer i = new Integer(128);//封装128
byte by = i.byteValue();//让128以byte类型返回。128超出byte范围那么会不会抛出异常呢?
System.out.println(by);
结果打印出(不抛出异常):-128
Integer封装300,打印的结果是负数。
那么我想如果byteValue方法返回的数据范围超出了byte范围则显示为负数。
那么方法intValue,方法longValue是否相似?
如果相似的话(当然本人没有实验,以为目前还是java菜鸟,看不懂API的一些内容,所以这里提出了我的一个想法而已)
假设intValue方法和LongValue方法和byteValue相似封装数据超出范围那么返回就是负数的话。
那么就可以用判断语句,条件是否负数来决定它最节约内存的声明。
3.compareTo(Integer anotherInteger)。
二, 进制的转换
1.十进制转换为其它进制。
下面以数字60为例。
System.out.println(Integer.toBinaryString(60));//转二进制
System.out.println(Integer.toOctalString(60));//转八进制
System.out.println(Integer.toHexString(60));//转十六进制
2.其它进制转十进制
System.out.println(Integer.parseInt("3c",16);// 16代表把3c视为16进制,那么把3c视为16进制转换成10进制结果得出60。
三 end
谢谢大家,下篇博客会尽快上传。
望共同进步。