1. 包装类(包含了一些功能)

    基本数据类型包装成对象

    以面向对象的思想来使用这些类型
基本数据类型    包装类
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean
  1. 装箱操作:将基本数据类型转换成对应的包装类

    -1-
eg:
int a = 10;
Integer num1 = new Integer(a);//Integer 内含toString方法,所以可以直接输出对象
Integer num2 = Integer.valueOf(a);
System.out.println(num1);
System.out.println(num2);
【10】

-2-

   输出最大最小值
System.out.println(num.MAX_VALUE);
System.out.println(num.MIN_VALUE);

-3-

System.out.println(num.TYPE);
//可以知道是由什么基本数据类型转变过来的

-4-

转换成二进制
System.out.println(num.toBinaryString(5));

-5-

Integer可以将字符串转换成整型,但双引号里必须是数字
Integer num3 = new Integer("123");

【123】

3.拆箱操作:将包装类转换成对应的基本数据类型

(只有装箱了,才能拆箱)

        Integer i = Integer.valueOf(15);
int i1 = i.intValue();

-1-

char
装箱:
Character c = new Character('a');
或者
Character c = Character.valueOf('a');
拆箱:
Character c1 = c.charValue();
System.out.println(c);
System.out.println(c1);

a
a

-2-

long
装箱:
Long l = new Long(15);
或者
Long l = Long.valueOf(15);
拆箱:
Long l1 = l.longValue();

15
15

  1. 自动装箱:可以直接把一个基本数据类型赋值给对应的包装类

    自动拆箱:可以直接把一个包装类赋值给对应的基本数据类型

    (语法糖)
//自动装箱
Integer i = 5;
System.out.println(i);
//自动拆箱
int i1 = i;
System.out.println(i1);
//自动装箱
Character c = 'j';
//自动拆箱
char c1 = c;

字符串相关转化

        //字符串转换成包装类
Integer i = Integer.valueOf("123");
String i1 = i.toString();
//要得知i和i1的类型
System.out.println(i.getClass());
System.out.println(i1.getClass());
【class java.lang.Integer
class java.lang.String】
//包装类转换成字符串
String i2 = i.toString(); //基本数据类型转变成字符串类型
//在其后直接加" ";
int a = 1;
String a1 = a+" ";
String a2 = a+"/5"; //字符串类型转变成基本数据类型
String s = String.valueOf("123");
int s2 = Integer.parseInt(s);
System.out.println(s);
System.out.println(s2); String s3 = String.valueOf("100");
double s4 = Double.parseDouble(s3); //字符串类型转变成布尔类型
//(除了true和true任何形式的大小写输出为true,其他打印均为false)
Boolean b = Boolean.valueOf("qq");
System.out.println(b);
【false】
Boolean b2= Boolean.valueOf("true");
System.out.println(b2);
【true】
  1. 包装类和基本数据类型的区别
  • 默认值的不同

    int 默认值:0

    Integer默认值:null
  • 包装类中提供了许多直接可以使用的方法
eg:
十进制转换为二进制
System.out.println(Integer.toBinaryString(4));
System.out.println(Integer.toBinaryString(11));
【100
1011】
  • 集合框架中不能存放基本数据类型,只能存对象 (包装类)
  • 什么时候有包装类,什么时候有基本数据类型

    包装类:(存放在堆中)在类中创建对象的字段时

    基本数据类型:(存放在栈中)在方法中
  1. 缓存设计valueOf
//同一个内存地址
Integer i = Integer.valueOf(15);
Integer i2 = Integer.valueOf(15);
System.out.println(i==i2);
【true】
//创建了新的内存地址
Integer i3 = new Integer(15);
Integer i4 = new Integer(15);
System.out.println(i3==i4);
【false】
Integer的范围时-128到127
//超出范围
Integer i5 = Integer.valueOf(128);
Integer i6 = Integer.valueOf(128);
System.out.println(i5==i6);
【false】
Character的范围是0到127

java31的更多相关文章

  1. IO(02)--属性集、缓冲流、转换流

    属性集[Properties] java.util.Properties类继承于Hashtable,用来表示一个持久的属性集.它使用键值结构存储数据,每个键及其对应的值都是一个字符串. 构造方法 ​ ...

  2. 数据库1 --- > 数据库概念、安装、卸载

    数据库概念 ​为什么学习数据库?1.web中的数据量非常大:2. 数据不方便存储和管理 ​什么是数据库: 用于存储和管理数据的仓库 数据库的特点: 数据可以实现持久化存储,其实数据库就是一个文件系统. ...

  3. sql操作数据库(1)-->DDL、DML、DQL

    SQL 操作数据库 概念:结构化查询语言 Structured Quary Language 作用:  1.是一种数据库的查询的标准,对所有的数据库都支持  2.不同的数据库SQL语句可能有点不同 ( ...

随机推荐

  1. win10以管理员身份运行cmd方法

    win10以管理员身份运行cmd方法 win8win10以管理员身份运行cmd方法1.直接到 C:\Windows\System32 下面找cmd.exe 右键以管理员方式打开就可以了 2.按WIN+ ...

  2. MySQL中链接查询inner join与left join使用

    连接查询其实就是对两个表记录做笛卡尔乘积.如果不指定连接条件的话,则会对每行都做笛卡尔乘积,这样最后返回的结果树就会是两个表记录数的乘积:如果指定则,则仅对符合列条件的行进行笛卡尔乘积,并返回结果.在 ...

  3. 编译安装redis4.0

    下载redis4.0的安装包:http://download.redis.io/releases/redis-4.0.11.tar.gz 这里用的是已经下载到电脑上,只需上传即可 解压缩 [root@ ...

  4. runners

    saltstack return 除了在配置文件中可以定义外(太繁琐),还可以自定义retunner,当然,这需要通过代码实现了,实现方式和自定义的pillar和grains类似,步骤如下: #创建_ ...

  5. 排序算法(Gif动图演示)

    冒牌排序(BubbleSort) 冒泡排序是一种比较简单的排序算法,它循环走过需要排序的元素,依次比较相邻的两个元素,如果顺序错误就交换,直至没有元素交换,完成排序. 若对n个人进行排序,我们需要n- ...

  6. [C++] C语言及C++语言中包含的头文件名称,及作用

    头文件主目录include 头文件目录中总共有32个.h头文件.其中主目录下有13个,asm子目录中有4个,linux子目录中有10个,sys子目录中有5个.这些头文件各自的功能如下,具体的作用和所包 ...

  7. IE6-IE9中tbody的innerHTML不能赋值

    对于IE6-IE9里如果要设置tbody的innerHTML,可以使用如下替代方法 Js代码 function setTBodyInnerHTML(tbody, html) { var div = d ...

  8. python入门(十二):面向对象

    1.场景:玩过游戏.主人公,进入了一个场景,有10个小怪物是一样的.有攻击力,血(100格).如果小怪物有多个数值需要管理,小怪物的血量.小怪物出现在屏幕的地点. 可以使用字典来进行记录: {&quo ...

  9. JUnit源码分析 - 扩展 - 自定义Rule

    JUnit Rule简述 Rule是JUnit 4.7之后新加入的特性,有点类似于拦截器,可以在测试类或测试方法执行前后添加额外的处理,本质上是对@BeforeClass, @AfterClass, ...

  10. 20175314 《Java程序设计》第七周学习总结

    20175314 <Java程序设计>第七周学习总结 教材学习内容总结 第八章:常用实用类 String()类代表字符串:Java 程序中的所有字符串字面值(如 "abc&quo ...