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);
}
}