zoukankan      html  css  js  c++  java
  • JAVA-基础-常用API(基本类型包装类,system系统类)

           基本类型包装类

    JAVA将基本类型值封装成了对象,可以提供更多的操作基本数值的功能

    8种基本数据类型对应的包装类:

    byte---------Byte    short--------Short    int---------Integer    long---------Long

    char---------Character  boolean---------Boolean    fiot---------Flot    double---------Double

    特点:用于在基本数据和字符串之间进行转换。

    parseXXX(String s);其中XXX表示基本类型,参数为可以转成基本类型的字符串,如果字符串无法转成基本类型,将会发生数字转换的问题 NumberFormatException

    将基本数值转成字符串的方式:

     基本类型直接与” ”相连接即可;34+" "

    调用String的valueOf方法;String.valueOf(34)

     调用包装类中的toString方法;Integer.toString(34)

     

        基本类型和对象转换

    l  基本数值---->包装对象

    Integer(int value) 构造一个新分配的Integer对象 ,它表示指定的int的值

    Integer(String s)构造一个新分配的Integer对象,它表示String参数所指定的int的值

    Integer i = new Integer(4);//使用构造函数函数

    Integer ii = new Integer("4");//构造函数中可以传递一个数字字符串

    static Integer valueOf(int i) 返回一个指定的int值的 Integer 实例

    static Integer ValueOf(String s) 返回保存指定的String的值的 Integer对象

    Integer iii = Integer.valueOf(4);//使用包装类中的valueOf方法

    Integer iiii = Integer.valueOf("4");//使用包装类中的valueOf方法

    l  包装对象---->基本数值

    int intValue() 以int类型返回 Integer的值

     

    自动装箱拆箱

     

     

    在需要的情况下,基本类型与包装类型可以通用。有些时候我们必须使用引用数据类型时,可以传入基本数据类型。

    基本类型可以使用运算符直接进行计算,但是引用类型不可以。而基本类型包装类作为引用类型的一种却可以计算,原因在于,Java”偷偷地”自动地进行了对象向基本数据类型的转换。

    相对应的,引用数据类型变量的值必须是new出来的内存空间地址值,而我们可以将一个基本类型的值赋值给一个基本类型包装类的引用。原因同样在于Java又”偷偷地”自动地进行了基本数据类型向对象的转换。

     

     

    l  自动拆箱:对象自动直接转成基本数值

     

    l  自动装箱:基本数值自动直接转成对象

     

    Integer i = 4;//自动装箱。相当于Integer i = Integer.valueOf(4);

    i = i + 5;//等号右边:将i对象转成基本数值(自动拆箱) i.intValue() + 5; 加法运算完成后,再次装箱,把基本数值转成对象

     

                  System类

    System中代表程序所在系统,提供了对应的一些系统属性信息,和系统操作。

    System类不能手动创建对象,因为构造方法被private修饰,阻止外界创建对象。

    System类中的都是static方法,类名访问即可。

    常用方法:

     currentTimeMillis() 获取当前系统时间与1970年01月01日00:00点之间的毫秒差值

    exit(int status) 用来结束正在运行的Java程序。参数传入一个数字即可。通常传入0记为正常状态,其他为异常状态

    gc() 用来运行JVM中的垃圾回收器,完成内存中垃圾的清除。

    getProperty(String key) 用来获取指定(字符串名称)中所记录的系统属性信息

    arraycopy方法,用来实现将源数组部分元素复制到目标数组的指定位置

     

     System类的方法练习

    l  练习一:验证for循环打印数字1-9999所需要使用的时间(毫秒)

    public static void main(String[] args) {
         long start = System.currentTimeMillis();
        for (int i=0; i<10000; i++) {
             System.out.println(i);
    }
    long end = System.currentTimeMillis();
    System.out.println("共耗时毫秒:" + (end-start) );
    }

     

    l  将src数组中前3个元素,复制到dest数组的前3个位置上

    复制元素前:src数组元素[1,2,3,4,5],dest数组元素[6,7,8,9,10]

    复制元素后:src数组元素[1,2,3,4,5],dest数组元素[1,2,3,9,10]

    public static void main(String[] args) {
    int[] src = new int[]{1,2,3,4,5};
    int[] dest = new int[]{6,7,8,9,10};
    System.arraycopy( src, 0, dest, 0, 3);
    代码运行后:两个数组中的元素发生了变化
    src数组元素[1,2,3,4,5]
    dest数组元素[1,2,3,9,10]
    }

    l  循环生成100-999之间的的三位数并进行打印该数,当该数能被10整除时,结束运行的程序

    public static void main(String[] args){
         Random random = new Random();
        while(true){
        int number = random.nextInt(900)+100; //0-899 + 100
        if (nmumber % 10 == 0) {
            System.exit(0);
    }
    }
    }

     

  • 相关阅读:
    Java成神之路技术整理(长期更新)
    WEB攻击手段及防御第1篇-XSS
    JSON是什么,为什么这么流行?
    常用的 7 款 MySQL 客户端工具,你值得拥有!
    Spring的核心思想,总结得非常好!
    到底什么级别才算是高并发?
    非常详尽的 Shiro 架构解析
    7 种 JVM 垃圾收集器,看完我跪了。。
    电商那些年,我摸爬打滚出的高并发架构实战干货
    Spring Boot 把 Maven 干掉了,拥抱 Gradle!
  • 原文地址:https://www.cnblogs.com/zhangwei2065289/p/9227621.html
Copyright © 2011-2022 走看看