zoukankan      html  css  js  c++  java
  • Java 包装类 Math System

    1、基本类型包装类

    (1)字符串与基本数据之间转换

      

    基本数据类型对象包装类特点:用于在基本数据和字符串之间进行转换。

    将字符串转成基本类型:

     parseByte():字符串转成byte类型

    parseShort():字符串转成short类型

    parseInt()转成int

    parseLong()转成long

    parseFloat()转成float类型

    parseDouble()转成double类型

    parseBoolean()转成波尔类型

     将基本数值转成字符串有3种方式:

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

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

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

    package demo02;
    
    public class Demo01 {
    
        public static void main(String[] args) {
            //将字符串转成整型(基本数据类型)
            String s1="123";
            int n1=Integer.parseInt(s1);
            System.out.println(n1);
            //将字符串转换为double类型
            String s2="12.1";
            double n2=Double.parseDouble(s2);
            System.out.println(n2);
            //将基本数据类型转为字符串:与双引号连接
            System.out.println(12+""+1);
            //将基本数据类型转为字符串:String类中的valueof方法
            System.out.println(String.valueOf(12)+6);
            //将基本数据类型转为字符串:toString方法
            System.out.println(Integer.toString(11)+3); 
        }
    
    }

     基本类型和对象的转换

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

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

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

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

     intValue()

    public static void main(String[] args) {
            Integer i = new Integer(5);//使用构造函数函数
            Integer ii = new Integer("4");//构造函数中可以传递一个数字字符串
            System.out.println(ii);
            System.out.println(i);
            Integer iii = Integer.valueOf(6);//使用包装类中的valueOf方法
            Integer iiii = Integer.valueOf("7");//使用包装类中的valueOf方法
            System.out.println(iii);
            System.out.println(iiii);
            int num = i.intValue();//包装对象转换成基本数值
            System.out.println(num);
        }
    
    }

     自动拆箱装箱:

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

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

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

    2、 System类

     (1)

    System类不能手动创建对象,因为构造方法被private修饰,阻止外界创建对象。System类中的都是static方法,类名访问即可。

     (2)常用方法

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

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

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

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

     System类的方法练习:

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

    public class Demo02 {
    
        public static void main(String[] args) {
            // 验证for循环打印数字1-9999所需要使用的时间(毫秒)
            long time1=System.currentTimeMillis();
            for(int i=1;i<9999;i++){
                System.out.println(i);
            }
            long time2=System.currentTimeMillis();
            System.out.println("共耗时:"+(time2-time1));
        }
    
    }

     练习二:将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 class Demo03 {
    
        public static void main(String[] args) {
            int[] src={1,2,3,4,5};
            int[] dest={6,7,8,9,10};
            System.arraycopy(src,0,dest,0,3);
            for(int i=0;i<dest.length;i++){
                System.out.print(dest[i]+" ");
            }
            
        }
    
    }

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

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

    3、Math类 

     

     

     abs方法,结果都为正数、、绝对值
    
    double d1 = Math.abs(-5); // d1的值为5
    
    double d2 = Math.abs(5); // d2的值为5
    
     ceil方法,结果为比参数值大的最小整数的double值、、向上取整
    
    double d1 = Math.ceil(3.3); //d1的值为 4.0
    
    double d2 = Math.ceil(-3.3); //d2的值为 -3.0
    
    double d3 = Math.ceil(5.1); // d3的值为 6.0
    

    floor方法,结果为比参数值小的最大整数的double值、、向下取整 double d1 = Math.floor(3.3); //d1的值为3.0 double d2 = Math.floor(-3.3); //d2的值为-4.0 double d3 = Math.floor(5.1); //d3的值为 5.0 max方法,返回两个参数值中较大的值 double d1 = Math.max(3.3, 5.5); //d1的值为5.5 double d2 = Math.max(-3.3, -5.5); //d2的值为-3.3 min方法,返回两个参数值中较小的值 double d1 = Math.min(3.3, 5.5); //d1的值为3.3 double d2 = Math.max(-3.3, -5.5); //d2的值为-5.5 pow方法,返回第一个参数的第二个参数次幂的值,次方值 double d1 = Math.pow(2.0, 3.0); //d1的值为 8.0 double d2 = Math.pow(3.0, 3.0); //d2的值为27.0 round方法,返回参数值四舍五入的结果 double d1 = Math.round(5.5); //d1的值为6.0 double d2 = Math.round(5.4); //d2的值为5.0 random方法,产生一个大于等于0.0且小于1.0的double小数 double d1 = Math.random();
  • 相关阅读:
    java学习笔记05--字符串 .
    java学习笔记04--数组
    java学习笔记07--日期操作类
    java学习笔记14--动态代理
    java学习笔记09--反射机制
    java学习笔记06--正则表达式
    java学习笔记08--泛型
    java学习笔记10--枚举
    java学习笔记11--Annotation
    交叉熵代价函数
  • 原文地址:https://www.cnblogs.com/cgj1994/p/10003957.html
Copyright © 2011-2022 走看看