**
学习总结
学习内容:
学习时间:
8:00~9:05*0 学习打卡
9:00~11:30学习java基本语法
15:00~18:00 VJ刷题
20.00:总结
学习产出:
1.Calendar类概述
1.java.util.Calendar类:是一个日历类
2 Calendar类是一个抽象类,里边提供了很多操作日历字段的方法。
3 Calendar类无法直接创建对象使用,里边有一个静态方法叫 getInstance(),getInstance()方法返回了 Calendar类的子类对象。static Calendar getInstance()使用默认时区和语言环境获得一个日历。
2.Calender获取对象的方式
Calendar类是一个抽象类,由于Calendar类是抽象类,且Calendar类的构造方法是protected的,所以无法使用Calendar类的构造方法来创建对象,提供了getInstance方法用来创建对象。
import java.util.Calendar;
public class Demo01Calendar {
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();//默认是当前日期
System.out.println(calendar);
}
}
3、Calendar类对象信息的设置与获得
get() 方法:
返回给定日历字段的值
import java.util.Calendar;
public class DemoCalendarGet {
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
System.out.println(
"年:" + calendar.get(Calendar.YEAR) + "\n" +
"月:" + calendar.get(Calendar.MONTH) + "\n" +
"一个月中的某一天:" + calendar.get(Calendar.DATE) + "\n" +
"一个月中的某一天:" + calendar.get(Calendar.DAY_OF_MONTH) + "\n" +
"时:" + calendar.get(Calendar.HOUR) + "\n" +
"分:" + calendar.get(Calendar.MINUTE) + "\n" +
"秒:" + calendar.get(Calendar.SECOND)
);
}
}
add() 方法:
根据日历的规则,为给定的日历字段添加或减去指定的时间量。
Calendar c1 = Calendar.getInstance();
//把c1对象的日期加上10,也就是c1所表的日期的10天后的日期,其它所有的数值会被重新计算
c1.add(Calendar.DATE, 10);
//把c1对象的日期加上-10,也就是c1所表的日期的10天前的日期,其它所有的数值会被重新计算
c1.add(Calendar.DATE, -10);
其他字段属性的add的意义以此类推
import java.util.Calendar;
public class DemoCalendarAdd {
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
System.out.println("\n变化前");
System.out.println(
"年:" + calendar.get(Calendar.YEAR) + "\n" +
"月:" + calendar.get(Calendar.MONTH) + "\n" +
"一个月中的某一天:" + calendar.get(Calendar.DAY_OF_MONTH)
);
calendar.add(Calendar.YEAR, -2);
calendar.add(Calendar.MONTH, 3);
calendar.add(Calendar.DAY_OF_MONTH, 10);
System.out.println("\n变化后");
System.out.println(
"年:" + calendar.get(Calendar.YEAR) + "\n" +
"月:" + calendar.get(Calendar.MONTH) + "\n" +
"一个月中的某一天:" + calendar.get(Calendar.DAY_OF_MONTH)
);
}
}
getTime() 方法:
返回一个表示此 Calendar时间值(从历元到现在的亳秒偏移量)的Date对象。
Calendar c1 = Calendar.getInstance();
// 获得年份
int year = c1.get(Calendar.YEAR);
// 获得月份
int month = c1.get(Calendar.MONTH) + 1;(MONTH+1)
// 获得日期
int date = c1.get(Calendar.DATE);
// 获得小时
int hour = c1.get(Calendar.HOUR_OF_DAY);
// 获得分钟
int minute = c1.get(Calendar.MINUTE);
// 获得秒
int second = c1.get(Calendar.SECOND);
// 获得星期几(注意(这个与Date类是不同的):1代表星期日、2代表星期1、3代表星期二,以此类推)
int day = c1.get(Calendar.DAY_OF_WEEK);
import java.util.Calendar;
public class DemoCalendarGetTime {
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
System.out.println(
calendar.getTime()
);
}
}
4 Math 类
说明:
java 的 Math 包含了用于执行基本数学运算的属性和方法,如初等指数、对数、平方根和三角函数。Math 的方法都被定义为 static 形式,通过 Math 类可以在主函数中直接调用。
Math 类方法:
1 xxxValue()
将 Number 对象转换为xxx数据类型的值并返回。
2 compareTo()
将number对象与参数比较
3 equals()
判断number对象是否与参数相等。
4 valueOf()
返回一个 Number 对象指定的内置数据类型
5 toString()
以字符串形式返回值。
6 parseInt()
将字符串解析为int类型。
7 abs()
返回参数的绝对值。
8 ceil()
返回大于等于( >= )给定参数的的最小整数,类型为双精度浮点型。
9 floor()
返回小于等于(<=)给定参数的最大整数 。
10 rint()
返回与参数最接近的整数。返回类型为double。
11 round()
它表示四舍五入,算法为 Math.floor(x+0.5),即将原来的数字加上 0.5 后再向下取整,所以,Math.round(11.5) 的结果为12,Math.round(-11.5) 的结果为-11。
12 min()
返回两个参数中的最小值。
13 max()
返回两个参数中的最大值。
14 exp()
返回自然数底数e的参数次方。
15 log()
返回参数的自然数底数的对数值。
16 pow()
返回第一个参数的第二个参数次方。
17 sqrt()
求参数的算术平方根。
18 sin()
求指定double类型参数的正弦值。
19 cos()
求指定double类型参数的余弦值。
20 tan()
求指定double类型参数的正切值。
21 asin()
求指定double类型参数的反正弦值。
22 acos()
求指定double类型参数的反余弦值。
23 atan()
求指定double类型参数的反正切值。
24 atan2()
将笛卡尔坐标转换为极坐标,并返回极坐标的角度值。
25 toDegrees()
将参数转化为角度。
26 toRadians()
将角度转换为弧度。
27 random()
返回一个随机数。
public class Test {
public static void main (String []args)
{
System.out.println("90 度的正弦值:" + Math.sin(Math.PI/2));
System.out.println("0度的余弦值:" + Math.cos(0));
System.out.println("60度的正切值:" + Math.tan(Math.PI/3));
System.out.println("1的反正切值: " + Math.atan(1));
System.out.println("π/2的角度值:" + Math.toDegrees(Math.PI/2));
System.out.println(Math.PI);
}
}