zoukankan      html  css  js  c++  java
  • 八大基本数据类型及包装类(装箱拆箱)

    一、八大基本数据类型

      八大基本数据类型包括:整数类型(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小数
  • 相关阅读:
    Array对象---添加或删除数组中的元素->splice()
    微信小程序-文本作用域
    微信小程序-模块化
    属性动画的核心方法:ValueAnimator.ofInt(int... values)
    关于原生+WebView js交互、数据传输问题
    Beam Search快速理解及代码解析
    vue项目启动报错 spawn cmd ENOENT errno
    TortoiseGit提交每次都需要输入账号密码的解决办法
    Grpc.Core.RpcException: Status(StatusCode=DeadlineExceeded, Detail="Deadline Exceeded")
    公司限制网络,不能访问b站..etc,怎么办?搞起来
  • 原文地址:https://www.cnblogs.com/HuiH/p/11665880.html
Copyright © 2011-2022 走看看