Java学习的第十六天(JavaSE精英篇06_常用API_Calendar_包装类Integer.._Random_Math)

Java中的第五个API—Calendar(日历类)

作用:用来操作日期对象的每一个具体的字段用的,具体用来操作日历对象单独的年月日时分秒用的

package com.bianyiit.demo;

import java.util.Calendar;
import java.util.Date;

public class Demo_Calendar {
    public static void main(String[] args) {
        //System.out.println(Calendar.getInstance().get(Calendar.YEAR));   //获取当前系统的年份
        //获取日期对象
        Date d1 = new Date();
        //获取Calendar对象
        Calendar c1 = Calendar.getInstance();
        get(c1); //int get(int field) 返回给定日历字段的值
        getTime(c1);//Date getTime();  返回当前系统的时间对象
        set(c1);   //void set(int field,int value)  将给定的日历字段设置给定值
        System.out.println(d1.toLocaleString());   //获取当前系统的时间
        add(c1);  //添加或减少指定的时间量  add具有自动转换的效果
    }

    private static void add(Calendar c1) {
        //添加或减少指定的时间量  add具有自动转换的效果
        c1.add(Calendar.YEAR,5);
        System.out.println(c1.get(Calendar.YEAR));  //自动转换
        c1.add(Calendar.MONTH,5);
        System.out.println(c1.get(Calendar.MONTH)+1);  //月份0-11
        c1.add(Calendar.DAY_OF_MONTH,1);
        System.out.println(c1.get(Calendar.DAY_OF_MONTH));
    }

    private static void set(Calendar c1) {
        //void set(int field,int value)  将给定的日历字段设置给定值
        c1.set(Calendar.YEAR,2020);
        c1.set(2020,9,20,12,12,12);
        System.out.println(c1.getTime().toLocaleString());
    }

    private static void getTime(Calendar c1) {
        //Date getTime();  返回当前系统的时间对象
        Date t1 = c1.getTime();
        System.out.println(t1.toLocaleString());
    }

    private static void get(Calendar c1) {
        //int get(int field) 返回给定日历字段的值
        int year = c1.get(Calendar.YEAR);
        int month = c1.get(Calendar.MONTH) + 1;
        int day = c1.get(Calendar.DAY_OF_MONTH);
        int hour = c1.get(Calendar.HOUR_OF_DAY);
        int minte = c1.get(Calendar.MINUTE);
        System.out.println(year+"-"+month+"-"+day+" "+hour+":"+minte);
    }
}
Java中的第六个API—包装类

基本数据类型无法满足复杂的操作,如果想对数据进行方法操作,那么就要将基本数据类型变成包装类
自动装箱:将基本数据类型的数据自动封装成包装类
自动拆箱:将包装类自动拆分成基本数据类型的数据

package com.bianyiit.cast;

public class Demo_Integer {
    public static void main(String[] args) {
        //基本数据类型不能进行复杂的操作
        //如果想对基本数据类型进行一些复杂的操作的时候,我们就要依赖其他类的方法
        //想要数据自己也拥有方法--把基本数据类型变成包装类
        /*基本数据类型            包装类
        * int                     Integer
        * char                    Character
        * byte                    Byte
        * short                   Short
        * long                    Long
        * float                   Float
        * double                  Double
        * boolean                 Boolean*/
        /*包装类的作用:
         *   1.将int类型的数据可以转换成字符串
         *   2.将字符串转换成int类型的数据*/
        gouZaoMethod();   //包装类的构造方法
        intAndStringZhuanHuan();  //int和String互相转换的方法
        zhuangXiangAndChaiXiang();  //自动装箱和自动拆箱
    }

    private static void zhuangXiangAndChaiXiang() {
        //自动装箱和自动拆箱
        /*自动装箱:将int类型的数据自动封装成包装类
        * 自动拆箱:将包装类自动拆分成int类型的数据*/
        //自动拆箱代码演示
        Integer i1=10;
        //Integer i2=new Integer(10); 
        //自动拆箱代码演示
        int i3=new Integer(10);
        /*Integer it1=new Integer(10);
        * int i4=it1.intValue();*/
    }

    private static void intAndStringZhuanHuan() {
        //将int类型的数据转换成字符串
        //第一种方法
        int a=10;
        String s1=a+"";
        System.out.println(s1);
        //第二种方法:使用包装类
        int b=10;
        Integer i2 = new Integer(b);
        String s2=i2.toString();    //使用toString()
        System.out.println(s2);
        //将String类型的数据转换成int类型的数据
        //第一种方式
        String s3="12345";
        Integer i3 = new Integer(s3);
        int i4 = i3.intValue();
        System.out.println(i4);
        //第二种方法(也是开发中常用的一种方式)
        int i5 = Integer.parseInt("50");
        System.out.println(i5);
    }

    private static void gouZaoMethod() {
        //除了int char的包装类需要记忆,其它数据的包装类都是首字母大写
        //提供了两种构造方法
        /*第一种构造方法  Integer(int value) */
        Integer i1 = new Integer(10);   //Integer重写了object中的toString()
        System.out.println(i1);
        /*第二种构造方法  Integer(String s) */
        Integer i2 = new Integer("20");
        System.out.println(i2);
        //如果我们输入的值不单单只要数字
       /* Integer i3 = new Integer("20haha");
        System.out.println(i3);     //java.lang.NumberFormatException*/
        //如果参数是字符串,那么字符串也只能是数字
    }
}
Java中的第七个API—Math类

作用:进行数学运算,不能创建对象(构造方法被私有化了)

package com.bianyiit.demo;

public class Demo_Math {
    public static void main(String[] args) {
        /*static double E
          比任何其他值都更接近 e(即自然对数的底数)的 double 值*/
        System.out.println(Math.E);
        /*static double PI
          比任何其他值都更接近 pi(即圆的周长与直径之比)的 double 值*/
        System.out.println(Math.PI);
        /*abs求绝对值*/
        System.out.println(Math.abs(-5));
        /*ceil天花板的意思,就是返回大的值*/
        System.out.println(Math.ceil(2.4));
        /*floor地板的意思,就是返回小的值 */
        System.out.println(Math.floor(2.7));
        /*round 四舍五入,float时返回int值,double时返回long值*/
        System.out.println(Math.round(3.75f));
        System.out.println(Math.round(3.75));
        /*random 取得一个大于或者等于0.0小于不等于1.0的随机数*/
        System.out.println(Math.random());
        /*Math.sqrt()//计算平方根*/
        System.out.println(Math.sqrt(4));
        /*Math.cbrt()//计算立方根*/
        System.out.println(Math.cbrt(27));
        /*Math.pow(a, b)//计算a的b次方*/
        System.out.println(Math.pow(2,4));
        /*Math.max( , );//计算最大值*/
        System.out.println(Math.max(1,5));
        /*Math.min( , );//计算最小值*/
        System.out.println(Math.min(1,5));
    }
}
//输出结果
	2.718281828459045
	3.141592653589793
	5
	3.0
	2.0
	4
	4
	0.6260086134518977
	2.0
	3.0
	16.0
	5
	1
Java中的第八个API—Random类(随机器)

作用:用来产生随机数用的
系统中随机生成的一个数,没有规律可言--什么是随机器

package com.bianyiit.demo;
//第一步:导入随机器
import java.util.Random;

public class Demo_Random {
    public static void main(String[] args) {
        //生成随机数的三个步骤
        //第二步:生成具体的随机器对象
        Random r1 = new Random();
        //第三步:通过随机器对象生成具体的随机数
        int i1 = r1.nextInt();  //默认生成的是int类型的取值范围的数值(-2147483648--2147483647)
        System.out.println(i1);   //1122978622
        //因为默认产生的随机数太大了,实际开发中很难应用的上,所以要去限定产生的随机数据的范围
        System.out.println(r1.nextInt(10));  //取值范围[0,10)
        //加入要生成1-11取值范围的随机数
        System.out.println(r1.nextInt(10)+1);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值