Math类
初等指数、对数、平方根和三角函数。Math 类的方法都被定义为静态形式,通过Math 类可以在主函数中直接调用。
package com.test;
public class Test {
public static void main(String args[]) {
int r=10;
System.out.println("9o°的余弦值:"+Math.sin(Math.PI/2));
System.out.println("Π/2的角度值:"+Math.toDegrees(Math.PI/2));
System.out.println("半径为10的圆形面积:"+Math.PI*Math.pow(r, 2));
}
}
输出:
90°的余弦值:1.0
Π/2的角度值:90.0
半径为10的圆形面积:314.1592653589793
Random类
无参数的构造方法创建的Random 实例对象每次以当前时间戳作为种子,因此每个对象所产生的随机数是不同的。
有参数的构造方法对于相同种子数的Random 对象,相同次数产生的随机数字是完全相同的。
package com.test;
import java.util.Random;
public class Test {
public static void main(String args[]) {
for(int j=0;j<2;j++)
{
//不传入种子
Random r1=new Random();
for(int i=0;i<10;i++)
{
//产生100以内的随机数
System.out.print(r1.nextInt(100)+",");
}
System.out.println();
}
for(int j=0;j<2;j++)
{
//传入种子
Random r2=new Random(5);
for(int i=0;i<10;i++)
{
//产生100以内的随机数
System.out.print(r2.nextInt(100)+",");
}
System.out.println();
}
}
}
输出:
28,37,94,16,59,55,79,58,53,81,
30,19,36,88,8,79,8,94,15,34,
87,92,74,24,6,5,54,91,22,21,
87,92,74,24,6,5,54,91,22,21,
Date、Calendar与DecimalFormat类
package com.test;
import java.util.Date;
import java.util.Calendar;
public class Test {
public static void main(String args[]) {
Date data=new Date();
//获取当前时间并显示
System.out.println(data.toString());
Calendar c=Calendar.getInstance();
System.out.println("年:"+c.get(Calendar.YEAR));
System.out.println("月:"+(c.get(Calendar.MONTH)+1));
System.out.println("日:"+c.get(Calendar.DATE));
System.out.println("时:"+c.get(Calendar.HOUR_OF_DAY));
System.out.println("分:"+c.get(Calendar.MINUTE));
System.out.println("秒:"+c.get(Calendar.SECOND));
//1代表星期日
System.out.println("星期:"+c.get(Calendar.DAY_OF_WEEK));
}
}
输出:
Thu Jul 08 11:37:58 CST 2021
年:2021
月:7
日:8
时:11
分:37
秒:58
星期:5
DecimalFormat:主要用来将数据快速格式化。
package com.test;
import java.text.DecimalFormat;
public class Test {
public static void main(String[] args) {
double pi = 3.1415927; // 圆周率
// 取一位整数
System.out.println(new DecimalFormat("0").format(pi)); // 3
// 取一位整数和两位小数
System.out.println(new DecimalFormat("0.00").format(pi)); // 3.14
// 取两位整数和三位小数,整数不足部分以0 填补
System.out.println(new DecimalFormat("00.000").format(pi)); // 03.142
// 取所有整数部分
System.out.println(new DecimalFormat("#").format(pi)); // 3
// 以百分比方式记数,并取两位小数
System.out.println(new DecimalFormat("#.##%").format(pi)); // 314.16%
long c = 299792458; // 光速
// 显示为科学记数法,并取5 位小数
System.out.println(new DecimalFormat("#.#####E0").format(c)); // 2.99792E8
// 显示为两位整数的科学记数法,并取4 位小数
System.out.println(new DecimalFormat("00.####E0").format(c)); // 29.9792E7
// 每3 位以逗号进行分隔
System.out.println(new DecimalFormat(",###").format(c)); // 299,792,458
// 将格式嵌入文本
System.out.println(new DecimalFormat("光速为,###米每秒。").format(c));
}
}
Scanner类与Enum类
package com.test;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
// 从键盘接收数据
// next 方式接收字符串,空白会当作结束符,输入的空白会自动去掉,回车符表示终止输入。
//nextLine可以获得空格符,回车符当作结束符,同时表示终止输入
System.out.println("next 方式接收:");
// 判断是否还有输入
if (scan.hasNext()) {
String str1 = scan.next();
//String str1 = scan.nextLine();
System.out.println("输入的数据为:" + str1);
}
}
}
输出:
next 方式接收:
hello world
输入的数据为:hello
枚举类
package com.test;
public class Test {
public static void main(String[] args) {
EnumTest test = EnumTest.TUE;
// compareTo(E o)
switch (test.compareTo(EnumTest.MON)) {
case -1:
System.out.println("TUE 在 MON 之前");
break;
case 1:
System.out.println("TUE 在 MON 之后");
break;
default:
System.out.println("TUE 与 MON 在同一位置");
break;
}
// name()和toString()
System.out.println("name(): " + test.name());
System.out.println("toString(): " + test.toString());
// ordinal(),返回值从0 开始
System.out.println("ordinal(): " + test.ordinal());
}
}
输出:
TUE 在 MON 之后
name(): TUE
toString(): TUE
ordinal(): 1
包装类
8 个和基本数据类型对应的类统称为包装类(wrapper class),有时也翻译为外覆类或数据类型类。
对于包装类说,这些类的用途主要有两个:
- 作为和基本数据类型对应的类类型存在,方便涉及对象的操作。
- 包含每种基本数据类型的相关属性,如最大值、最小值等,以及相关的操作方法。
package com.test;
public class Test {
public static void main(String[] args) {
//布尔对象
Boolean b1,b2;
b1= new Boolean(true);
b2=new Boolean(false);
//布尔变量
boolean b;
b=b1.equals(b2);
System.out.println(b);
byte bt=50;
Byte bt1=Byte.valueOf(bt);
Byte bt2=Byte.valueOf("30");
System.out.println(bt1+","+bt2);
}
}
输出:
false
50,30
Character类:用于对单个字符进行操作。
package com.test;
public class Test {
public static void main(String[] args) {
Character ch1 = Character.valueOf('A');
Character ch2 = new Character('A');
Character ch3 = Character.valueOf('C');
char c1 = ch1.charValue();
char c2 = ch2.charValue();
char c3 = ch3.charValue();
System.out.println("ch1:" + c1 + ", ch2:" + c2 + ", ch3:" + c3);
int a1 = ch1.compareTo(ch2);
int a2 = ch1.compareTo(ch3);
System.out.println("ch1.compareTo(ch2):" + a1 + ", ch1.compareTo(ch3):" + a2);
boolean bool1 = ch1.equals(ch2);
boolean bool2 = ch1.equals(ch3);
System.out.println("ch1.equals(ch2): " + bool1 + ", ch1.equals(ch3): " + bool2);
boolean bool3 = Character.isUpperCase(ch1);
boolean bool4 = Character.isUpperCase('s');
System.out.println("bool3:" + bool3 + ", bool4:" + bool4);
char c4 = Character.toUpperCase('s');
Character c5 = Character.toLowerCase(ch1);
System.out.println("c4:" + c4 + ", c5:" + c5);
}
}
输出:
ch1:A, ch2:A, ch3:C
ch1.compareTo(ch2):0, ch1.compareTo(ch3):-2
ch1.equals(ch2): true, ch1.equals(ch3): false
bool3:true, bool4:false
c4:S, c5:a