八大基本数据类型及包装类(装箱拆箱)

一、八大基本数据类型

  八大基本数据类型包括:整数类型(byte、short、int、long),浮点类型(float、double),字符类型(char),布尔类型(boolean)

    byte:8位,占用空间为1字节,最多存储数据量是255,存放的数据范围为-128~127之间。

    short:16位,占用空间为2字节,最大数据存储量为65536,数据范围为-32768~32767。

    int:32位,占用空间为4字节,最大数据存储量为232-1,数据范围为-231~231-1。

    long:64位,占用空间位8字节,最大数据存储量为264-1,数据范围为-263~263-1。

    float:32位,占用空间为4字节,数据范围为3.4e45~1.4e38,直接赋值时必须在数字后加上f或F。

    double:64位,占用空间为8字节,数据范围为4.9e324~1.8e308,赋值时可以加d或D,也可以不加。

    boolean:占内存1字节,可存储true与false两个数值,分别表示逻辑的真与假。

    char:16位,存储Unicode码,用单引号赋值。

  范围从小到大依次为:byte、short、char、int、long、float、double

二、包装类

2.1 Java为每种基本数据类型分别设计了对应的类,称之为包装类。

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

每个包装类的对象可以封装一个相应的基本数据类型的数据,并提供了其他一些有用的方法。包装类对象一经创建,其内容不可改变。

基本数据类型与包装类的相互交换:

  由基本数据类型向对应的包装类转换称为装箱,例如把int包装成integer类的对象。

  由包装类相对应的基本数据类型转换称为拆箱,例如把integer类的对象重新简化为int。

2.2 包装类的应用

  1)实现int和integer的相互转换

  可以通过integer类的构造方法将int装箱,通过integer类的intValue方法对integer拆箱。

 1 public static void main(String[] args) {
 2         int m = 500;
 3         Integer iobj = new Integer(m);
 4         int n = iobj.intValue();
 5         System.out.println("n=" + n);
 6
 7         Integer iobj2 = new Integer(500);
 8         System.out.println("iobj 等价于 obj2 ?" + iobj.equals(iobj2));
 9     }
10      /*
11         n=500
12         iobj 等价于 obj2 ?    true
13      */

  2)将字符串转换为整数

  integer类有一个静态的parseInt()方法,可以将字符串转换为整数。

  语法为parseInt(String s,int radix);其中s为要转换的字符串,radix为进制(默认为十进制)。

 1 public static void main(String[] args) {
 2         String str[] = {"123", "123abc", "435ssA", "abcxyz", "aa", "a"};
 3         for(String elemStr : str){
 4             try{
 5                 int iNumber = Integer.parseInt(elemStr, 10);
 6                 System.out.println("ok.");
 7             }catch(Exception e){
 8                 System.out.println("can not cast to int type.");
 9             }
10         }
11     }

  3)将整数转换为字符串

  integer类有一个静态的toString()方法,可以将整数转换为字符串。

1 int myIntValue = 999;
2 String intStr = Integer.toString(myIntValue);
3 System.out.println("value is " + intStr);
4 // value is 999

三、自动拆箱和装箱

  自动拆箱:对象转换成基本数值

  自动装箱:基本数值转换成对象

1 int m = 500;
2 Integer obj = m;
3 int n = obj;
4 System.out.println("n =  " + n);
5 Integer obj1 = 500;
6 System.out.println("iobj 等价于 obj2 ?" + obj.equals(obj1));
7     /* n =  500
8         iobj 等价于 obj2 ?true
9     */

四、小结

  1.常用方法

1  public int parseInt(String str):把字符串转成基本类型int
2  public static String toString(int x):把基本类型int转成字符串
3  public static Integer valueOf(int x):把基本类型i字符串转成Integer对象
4  public int intValue():以 int类型返回该包装类对象的值

  2.System类:系统属性信息工具

1   public static long currentTimeMillis():获取当前系统时间与1970年01月01日00:00点之间的毫秒差值
2   public static void exit(int status):用来结束正在运行的Java程序。参数通常传入0记为正常状态,其他为异常状态
3   public static void gc():用来运行JVM中的垃圾回收器,完成内存中垃圾的清除。
4   public static String getProperties():用来获取系统属性信息

  3.Arrays类:数组操作工具类

1    public static void sort方法,用来对指定数组中的元素进行排序(元素值从小到大进行排序)
2    public static String toString方法,用来返回指定数组元素内容的字符串形式
3    public static void binarySearch方法,在有序数组中,查找给定元素值出现的位置。若没有查询到,返回位置为插入点-1。

  4.Math类:数字运算工具类

1  abs方法,结果都为正数
2  ceil方法,结果为比参数值大的最小整数的double值
3  floor方法,结果为比参数值小的最大整数的double值
4  max方法,返回两个参数值中较大的值
5  min方法,返回两个参数值中较小的值
6  pow方法,返回第一个参数的第二个参数次幂的值
7  round方法,返回参数值四舍五入的结果
8  random方法,产生一个大于等于0.0且小于1.0的double小数

原文地址:https://www.cnblogs.com/HuiH/p/11665880.html

时间: 2024-08-30 07:34:49

八大基本数据类型及包装类(装箱拆箱)的相关文章

包装类 装箱拆箱 进制转换

简介 基本数据类型对象包装类 byte        Byteshort      Shortint           Integer    Integer.MAX_VALUElong        Longfloat        Floatdouble    Doublechar       Characterboolean  Boolean 自动装箱.自动拆箱 Integer i = 4; //自动装箱,会自动转换为以下形式:Integer i = new Integer(4); i +

Java知多少(24)包装类、拆箱和装箱详解

虽然 Java 语言是典型的面向对象编程语言,但其中的八种基本数据类型并不支持面向对象编程,基本类型的数据不具备“对象”的特性——不携带属性.没有方法可调用. 沿用它们只是为了迎合人类根深蒂固的习惯,并的确能简单.有效地进行常规数据处理. 这种借助于非面向对象技术的做法有时也会带来不便,比如引用类型数据均继承了 Object 类的特性,要转换为 String 类型(经常有这种需要)时只要简单调用 Object 类中定义的toString()即可,而基本数据类型转换为 String 类型则要麻烦得

基本类型包装类、自动装箱拆箱

基本类型包装类 public class Demo03 { public static void main(String[] args) { //字符串转基本数据类型 String str="12"; int strint=Integer.parseInt(str); System.out.println(strint+1);  //13 String s2="2.3"; double dou=Double.parseDouble(s2); System.out.p

int和Integer的区别?包装类?装箱?拆箱?

int和Integer的区别: 1) int是基本数据类型,直接存储的数值,默认是0; 2) Integer 是int的包装类,是个对象,存放的是对象的引用,必须实例化之后才能使用,默认是null; 包装类?装箱拆箱? 菜鸟教程 -- https://www.runoob.com/java/java-number.html 原文地址:https://www.cnblogs.com/liaowenhui/p/12251434.html

Java之集合初探(二)Iterator(迭代器),collections,打包/解包(装箱拆箱),泛型(Generic),comparable接口

Iterator(迭代器) 所有实现了Collection接口的容器都有一个iterator方法, 用来返回一个实现了Iterator接口的对象 Iterator对象称作迭代器, 用来方便的实现对容器内的元素的遍历 迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构.迭代器通常被称为"轻量级"对象,因为创建它的代价小. Java中的Iterator功能比较简单,并且只能单向移动: (1) 使用方法iterator()要求容器返回一个I

[Java5新特性]自动装箱/拆箱

自动装箱/拆箱概述 Java中具有基本类型(int,double,float,long,boolean,char,byte,short)和基本类型包装类(Integer,Double,Float,Long,Boolean,Char,Byte,Short),我们实现基本类型与包装类之间的转换基本有两种方式: 一种为JDK5之前的方式,比如Integer i = Integer.valueof(5);(这里5为基本类型int,Integer包装类利用valueof()方法将其转换为Integer类型

C#装箱拆箱

.       装箱和拆箱是一个抽象的概念 2.       装箱是将值类型转换为引用类型 :拆箱是将引用类型转换为值类型        利用装箱和拆箱功能,可通过允许值类型的任何值与Object 类型的值相互转换,将值类型与引用类型链接起来 例如: int val = 100; object obj = val; Console.WriteLine (“对象的值 = {0}", obj); 这是一个装箱的过程,是将值类型转换为引用类型的过程 int val = 100; object obj

Java 装箱 拆箱

Java 自动装箱与拆箱 ??什么是自动装箱拆箱 基本数据类型的自动装箱(autoboxing).拆箱(unboxing)是自J2SE 5.0开始提供的功能. 一般我们要创建一个类的对象的时候,我们会这样: Class a = new Class(parameter); 当我们创建一个Integer对象时,却可以这样: Integer i = 100; (注意:不是 int i = 100; ) 实际上,执行上面那句代码的时候,系统为我们执行了:Integer i = new Integer(1

java自动装箱拆箱总结

对于java1.5引入的自动装箱拆箱,之前只是知道一点点,最近在看一篇博客时发现自己对自动装箱拆箱这个特性了解的太少了,所以今天研究了下这个特性.以下是结合测试代码进行的总结. 测试代码: int a = 1; Integer b = 1; Integer c = 1; Integer d = 2; Integer e = 3; Integer f = 128; Integer g = 128; Long h = 3L; Double m = 4.0; Double n = 4.0; Float

6个重要的.NET概念:栈,堆,值类型,引用类型,装箱,拆箱

6个重要的.NET概念:栈,堆,值类型,引用类型,装箱,拆箱 引言 本篇文章主要介绍.NET中6个重要的概念:栈,堆,值类型,引用类型,装箱,拆箱.文章开始介绍当你声明一个变量时,编译器内部发生了什么,然后介绍两个重要的概念:栈和堆:最后介绍值类型和引用类型,并说明一些有关它们的重要原理. 最后通过一个简单的示例代码说明装箱拆箱带来的性能损耗. 声明变量的内部机制 在.NET程序中,当你声明一个变量,将在内存中分配一块内存.这块内存分为三部分:1,变量名:2,变量类型:3,变量值. 下图揭示了声