Java教程

2022-07-28 第六小组 高佳誉 学习笔记

本文主要是介绍2022-07-28 第六小组 高佳誉 学习笔记,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

常用API

重点

  1. Date类
  2. Math类
  3. Arrays类

思维导图

知识点

1.Math类

Math继承于java.lang.Object类。 Math 类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。
与 StrictMath 类的某些数学方法不同,并非 Math 类所有等价函数的实现都定义为返回逐位相同的结果。此类在不需要严格重复的地方可以得到更好的执行。

具体方法见代码
点击查看代码
//字段摘要
static double	E
          比任何其他值都更接近 e(即自然对数的底数)的 double 值。
static double	PI
          比任何其他值都更接近 pi(即圆的周长与直径之比)的 double 值。
//方法摘要
static double	abs(double a)
          返回 double 值的绝对值。
static float	abs(float a)
          返回 float 值的绝对值。
static int	abs(int a)
          返回 int 值的绝对值。
static long	abs(long a)
          返回 long 值的绝对值。
static double	acos(double a)
          返回一个值的反余弦;返回的角度范围在 0.0 到 pi 之间。
static double	asin(double a)
          返回一个值的反正弦;返回的角度范围在 -pi/2 到 pi/2 之间。
static double	atan(double a)
          返回一个值的反正切;返回的角度范围在 -pi/2 到 pi/2 之间。
static double	atan2(double y, double x)
          将矩形坐标 (x, y) 转换成极坐标 (r, theta),返回所得角theta。
static double	cbrt(double a)
          返回 double 值的立方根。
static double	ceil(double a)
          返回最小的(最接近负无穷大)double 值,该值大于等于参数,并等于某个整数。
static double	copySign(double magnitude, double sign)
          返回带有第二个浮点参数符号的第一个浮点参数。
static float	copySign(float magnitude, float sign)
          返回带有第二个浮点参数符号的第一个浮点参数。
static double	cos(double a)
          返回角的三角余弦。
static double	cosh(double x)
          返回 double 值的双曲线余弦。
static double	exp(double a)
          返回欧拉数 e 的 double 次幂的值。
static double	expm1(double x)
          返回 ex -1。
static double	floor(double a)
          返回最大的(最接近正无穷大)double 值,该值小于等于参数,并等于某个整数。
static int	getExponent(double d)
          返回 double 表示形式中使用的无偏指数。
static int	getExponent(float f)
          返回 float 表示形式中使用的无偏指数。
static double	hypot(double x, double y)
          返回 sqrt(x2 +y2),没有中间溢出或下溢。
static double	IEEEremainder(double f1, double f2)
          按照 IEEE 754 标准的规定,对两个参数进行余数运算。
static double	log(double a)
          返回 double 值的自然对数(底数是 e)。
static double	log10(double a)
          返回 double 值的底数为 10 的对数。
static double	log1p(double x)
          返回参数与 1 之和的自然对数。
static double	max(double a, double b)
          返回两个 double 值中较大的一个。
static float	max(float a, float b)
          返回两个 float 值中较大的一个。
static int	max(int a, int b)
          返回两个 int 值中较大的一个。
static long	max(long a, long b)
          返回两个 long 值中较大的一个。
static double	min(double a, double b)
          返回两个 double 值中较小的一个。
static float	min(float a, float b)
          返回两个 float 值中较小的一个。
static int	min(int a, int b)
          返回两个 int 值中较小的一个。
static long	min(long a, long b)
          返回两个 long 值中较小的一个。
static double	nextAfter(double start, double direction)
          返回第一个参数和第二个参数之间与第一个参数相邻的浮点数。
static float	nextAfter(float start, double direction)
          返回第一个参数和第二个参数之间与第一个参数相邻的浮点数。
static double	nextUp(double d)
          返回 d 和正无穷大之间与 d 相邻的浮点值。
static float	nextUp(float f)
          返回 f 和正无穷大之间与 f 相邻的浮点值。
static double	pow(double a, double b)
          返回第一个参数的第二个参数次幂的值。
static double	random()
          返回带正号的 double 值,该值大于等于 0.0 且小于 1.0。
static double	rint(double a)
          返回最接近参数并等于某一整数的 double 值。
static long	round(double a)
          返回最接近参数的 long。
static int	round(float a)
          返回最接近参数的 int。
static double	scalb(double d, int scaleFactor)
          返回 d × 2scaleFactor,其舍入方式如同将一个正确舍入的浮点值乘以 double 值集合中的一个值。
static float	scalb(float f, int scaleFactor)
          返回 f × 2scaleFactor,其舍入方式如同将一个正确舍入的浮点值乘以 float 值集合中的一个值。
static double	signum(double d)
          返回参数的符号函数;如果参数为 0,则返回 0;如果参数大于 0,则返回 1.0;如果参数小于 0,则返回 -1.0。
static float	signum(float f)
          返回参数的符号函数;如果参数为 0,则返回 0;如果参数大于 0,则返回 1.0;如果参数小于 0,则返回 -1.0。
static double	sin(double a)
          返回角的三角正弦。
static double	sinh(double x)
          返回 double 值的双曲线正弦。
static double	sqrt(double a)
          返回正确舍入的 double 值的正平方根。
static double	tan(double a)
          返回角的三角正切。
static double	tanh(double x)
          返回 double 值的双曲线余弦。
static double	toDegrees(double angrad)
          将用弧度表示的角转换为近似相等的用角度表示的角。
static double	toRadians(double angdeg)
          将用角度表示的角转换为近似相等的用弧度表示的角。
static double	ulp(double d)
          返回参数的 ulp 大小。
static float	ulp(float f)
          返回参数的 ulp 大小

2.System类

System是系统类
位于jdk中的lang包下,system类中的构造器有private修饰,不允许被实例化,因此类中的方法都是static修饰的,
定义类 public final class extends Object
成员变量 in, out, err三个变量,代表是 标准输入流(键盘输入), 标准输出流(显示器)和标准错误输入出流(显示器)。

方法:
arraycopy(object scr,int srcpos,object descpos,int destpos,int length)
作用:将指定源数组中指定位置复制到目标数组中的指定位置,最后指定复制长度,
src - 源数组。
srcPos - 源数组中的起始位置。
dest - 目标数组。
destPos - 目的地数据中的起始位置。
length - 要复制的数组元素的数量。
2.exit 终止当前运行的java虚拟机
System.exit(0);非零表示异常终止
3.gc 运行垃圾回收器

3. Arrays类

Arrays工具类:用来操作数组的各种方法,如排序和搜索

方法:
使用二分查找:Arrays.binarySearch(int[] array,int value)
数组内容转换成字符串的形式输出:Arrays.toString(int[ ] array)
数组排序:Arrays.sort(int[] array)
判断两个数组是否相等:Arrays.equels()
使用指定元素填充数组:Arrays.fill()
复制指定数组:Arrays.copyOf(int[] array,int length)

4. Date类

Date类,表示一个日期和时间,内部精确到毫秒

方法:
public long getTime():获取当前日期对象距离标准基准时间的毫秒值
public void setTime(long time):设置当前日期对象距离标准基准时间的毫秒值,意味着改变了当前日期对象
public boolean after(Date when):测试此日期是否在指定日期之后
public boolean before(Date when):测试此日期是否在指定日期之前

5. Calendar类

Calendar类:表示一个【日历类】,可以进行日期运算
它也是一个抽象类,不能创建对象,我们使用它的子类 GregorianCalendar

方法:
public void set(int field,int value) 设置某个字段的值
public void add(int field,int amount) 为某个字段增减指定的值
public void setTime(Date date) 使用给定的Date设置此Calendar的时间
public boolean before(Object when) 判断当前日历对象的时间是否在指定日历对象时间之前
public boolean after(Object when) 判断当前日历对象的时间是否在指定日历对象时间之后
点击查看代码
// 创建当前日历的日历对象
Calendar calendar = Calendar.getInstance();
// 创建calendar日历对象 年 字段的值
int year = calendar.get(Calendar.YEAR);
System.out.println(year);
// 创建calendar日历对象 月 字段的值
int month = calendar.get(Calendar.MONTH);
System.out.println(month);
// 设置calendar日历对象 年 字段的值为2030年
calendar.set(Calendar.YEAR,2030);
System.out.println(calendar.get(Calendar.YEAR));
// 设置calendar日历对象 年 字段的值 +2
calendar.add(Calendar.YEAR,2);
System.out.println(calendar.get(Calendar.YEAR));
// 设置calendar日历对象 年 字段的值 -1
calendar.add(Calendar.YEAR,-1);
System.out.println(calendar.get(Calendar.YEAR));
System.out.println("================");
// 创建当前日历的日历对象
Calendar c = Calendar.getInstance();
// 需求:获取1998年10月10日对应的日历对象
String birthdayString = "1996年04月22日";
// 把字符串的日期转换为Date类型的日期
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
Date birthdayDate = sdf.parse(birthdayString);
// 调用c的setTime方法,把日期对象传入
c.setTime(birthdayDate);
System.out.println("年:"+c.get(Calendar.YEAR));
System.out.println("月:"+(c.get(Calendar.MONTH)+1));
System.out.println("日:"+c.get(Calendar.DAY_OF_MONTH));
// 当前日历对象
Calendar nowC = Calendar.getInstance();
System.out.println("c生日日历对象是否在c2当前日历对象 表示时间之前:"+c.before(nowC));// true
System.out.println("c生日日历对象是否在c2当前日历对象 表示时间之前:"+c.after(nowC));// false

6. SimpleDateFormat类

DateFormat本身是一个抽象类,SimpleDateFormat类是DateFormat类的子类,一般来说DateFormat类很少直接使用,一般都使用SimpleDateFormat类完成

掌握程度

都会用了,但是不能第一时间想到方法名。 自我建议:在之后的练习里慢慢熟悉。

收获

勤奋、严谨、求实、创新

学习效果展示

这篇关于2022-07-28 第六小组 高佳誉 学习笔记的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!