包装类,包装类的自动装箱和自动拆箱
目标
1)包装类的作用,
2)掌握包装类的自动装箱和自动拆箱操作。
3)掌握包装类的转换操作。
具体内容
一切皆对象,八种基本数据类型不是对象。
把Int包装成一个类,这样的一个类就可以以对象的形式操作基本数据类型。
包装类
这八种包装类所继承的父类不全都相同。
1)Integer ,Byte,Float,Double,Short,Long都属于Number类的子类,Number类本身提供了一系列的返回
以上六种基本数据类型的操作。
2)Character属于Object子类。
3)Boolean属于Object子类。
Number类的作用
那么Number类是一个抽象类,主要是将数字包装类中内容变成基本数据类型。
主要操作方法如下:
以Integer和Float为例:
装箱及拆箱
1)将基本数据类型变成包装类称为装箱。
2)将包装类的类型变为基本数据类型称为拆箱。
public class WrapperDemo01{public static void main(String args[]){int x = 30 ; // 基本数据类型Integer i = new Integer(x) ; // 装箱:将基本数据类型变为包装类int temp = i.intValue() ;// 拆箱:将一个包装类变为基本数据类型}
};
下面再以小数为例:
public class WrapperDemo02{public static void main(String args[]){float f = 30.3f ; // 基本数据类型Float x = new Float(f) ; // 装箱:将基本数据类型变为包装类float y = x.floatValue() ;// 拆箱:将一个包装类变为基本数据类型}
};
在JDK1.5之前,对于程序本身来说,包装类不能直接进行“+,-,*,/,++,--”等操作,因为是一个类,
自动装箱和自动拆箱也就是,可以自动由int-->Integer类型转变,而自动拆箱就是自动由Integer-->int转变。
public class WrapperDemo03{public static void main(String args[]){Integer i = 30 ; // 自动装箱成IntegerFloat f = 30.3f ; // 自动装箱成Floatint x = i ; // 自动拆箱为intfloat y = f ; // 自动拆箱为float}
};
在包装类中还有一个最大的特点,
将字符串变为指定的数据类型。
如:讲一个全由数字组成的字符串变为一个int或者float类型的数据。
在Integer和Float类中分别提供了以下两种方法:
1)Integer类(字符串转int类型):public static int parseInt(String s);
2)Float类(字符串转float类型):public static float parseFloat(String s);
static关键字修饰的方法,直接由类调用
注意:这里的String s,必须由数字组成。
public class WrapperDemo04{public static void main(String args[]){String str1 = "30" ; // 由数字组成的字符串String str2 = "30.3" ; // 由数字组成的字符串int x = Integer.parseInt(str1) ; // 将字符串变为int型float f = Float.parseFloat(str2) ; // 将字符串变为int型System.out.println("整数乘方:" + x + " * " + x + " = " + (x * x)) ;System.out.println("小数乘方:" + f + " * " + f + " = " + (f * f)) ;}
};
运行结果:
整数乘方:30 * 30 = 900
小数乘方:30.3 * 30.3 = 918.08997
从初始化参数获取字符串:
public class WrapperDemo05{public static void main(String args[]){int x = Integer.parseInt(args[0]) ; // 将字符串变为int型float f = Float.parseFloat(args[1]) ; // 将字符串变为int型System.out.println("整数乘方:" + x + " * " + x + " = " + (x * x)) ;System.out.println("小数乘方:" + f + " * " + f + " = " + (f * f)) ;}
};
总结
1)java中有8种基本数据类型的包装类,可以将基本数据类型以类的形式操作。
2)基本数据类型变为包装类的过程,称为装箱,将包装类变为基本数据类型的过程称为拆箱。
3)在JDK1.5之后,提供了自动装箱和自动拆箱功能。
4)使用包装类,可以将字符串实现基本数据类型的转换操作。
包装类,包装类的自动装箱和自动拆箱相关推荐
- Java 进阶——自动装箱和自动拆箱
1.什么是自动装箱拆箱 基本数据类型的自动装箱(autoboxing).拆箱(unboxing)是自J2SE 5.0开始提供的功能. 一般我们要创建一个类的对象实例的时候,我们会这样: Class a ...
- java 自动装箱自动拆箱_自动装箱和自动拆箱
自动装箱和自动拆箱 Java 提供了 8 种基本数据类型,每种数据类型都有其对应的包装类型,包装类是面向对象的类,是一种高级的数据类型,可以进行一些比较复杂的操作,它们是引用类型而不再基本类型了. 基 ...
- 第三次学JAVA再学不好就吃翔(part64)--自动装箱和自动拆箱
学习笔记,仅供参考 自动装箱和自动拆箱 装箱:把基本类型转换为包装类类型 int x = 100; Integer i1 = new Integer(x); 拆箱:把包装类类型转换为基本类型 int ...
- 深入理解自动装箱和自动拆箱
一.什么是自动装箱.自动拆箱 此机制开始于jdk 1.5 java中有8种基本类型,对应8种基本类型有8个包装类. 整形 实型 布尔型 字符型 long/int/short/byte float/do ...
- 装箱和拆箱,自动装箱和自动拆箱
装箱和拆箱,自动装箱和自动拆箱 以Integer的创建为例. 装箱和拆箱 装箱:把基本数据类型转换成包装类对象(int->Integer) Integer num1=new Integer(17 ...
- 可能你不知道的,关于自动装箱和自动拆箱
包装类 我们知道,Java中包含了8种基本数据类型: 整数类型:byte.short.int.long 字符类型:char 浮点类型:float.double 布尔类型:boolean 这8种基本数据 ...
- 【自动装箱】Java自动装箱、自动拆箱
Java中集合只允许存储引用数据类型,那么 int char double等基础数据类型,如何存储在集合里呢?Java在JDK1.5版本以后推出了自动装箱.自动拆箱操作,那么什么是自动装箱呢,下面我们 ...
- java中为什么自动装箱拆箱_Java自动装箱和自动拆箱的理解
Java自动装箱和自动拆箱的理解 1.代码 public class AutoBoxing { public static void main(String[] args) { Integer a = ...
- 关于Integer的自动装箱与自动拆箱
关于Integer的自动装箱与自动拆箱 自动装箱 Integer x1 = 36和Integer n1 = new Integer(36)有什么区别?我们尝试运行下面代码看看会是什么结果: publi ...
最新文章
- linux中html的图片显示不出来,如何在HTML中显示原始的rgb图像
- oracle1537,dataguard 出现ORA-16136错误
- linux怎么调用静态库,Linux 静态库的创建和使用
- html扇形调节角度,CSS如何实现任意角度的扇形(代码示例)
- Alain 菜单权限控制
- IT管理系统:让酒店更便宜
- JLink驱动设备管理器中显示黄色感叹号
- quick cocos2dx 组件
- c语言程序设计判断是否是素数,C语言编程输入一个数判断是否为素数(质数)...
- 英文期刊催稿信模板_sci,催稿信,模板.docx
- android设置管理员权限设置,android 获取超级管理员权限,进行锁屏、恢复出厂设置...
- SQL经典短小代码收集
- Response响应详解
- python 中文转带音调的拼音
- android德地图点聚合,点聚合-点标记-示例中心-JS API 示例 | 高德地图API
- 详解磁盘配额的设置方法
- 计算机软技能,在个人简历中有哪些软技能可以写?
- 购房流程 - 新浪网
- 【蓝桥杯】第十四届模拟赛第一期及第二期填空汇总
- Quick-Cocos2dx升级LuaJit版本
热门文章
- win10用户名改了以后,C盘中用户文件夹下的以用户名命名的文件夹名字没有变化?还是之前的用户
- 计算机论文怎样投稿sci,计算机集成论文怎么投稿sci期刊
- AppScan系列——web安全测试---AppScan扫描工具
- 混乱与整齐-布局-PCB系列教程1-12
- 小红书最新用户量数据_近半年DAU峰回路转 重新审视小红书用户价值
- 【金猿产品展】云简业财——满足中大型企业个性化需求的报销、费控、预算、业财一体化管理平台...
- 云计算、大数据、人工智能时代,为什么不能错过Linux?
- python 100days github_GitHub - 596861134/Python-100-Days: Python - 100天从新手到大师
- 解剖学坐标体系(LPS , RAS和LAS)
- win10尘埃4点击开始游戏自动关闭没反应|dirt4.exe进程消失的解决方法