1. Math
记一下类名和类的作用,养成查阅API帮助文档的习惯。
是一个帮助我们进行数学计算的工具类。
私有化构造方法,所有的方法都是静态的。
1.1 Math 类的常用方法
方法名 | 说明 |
---|---|
public static int abs(int a) | 获取参数绝对值 |
public static double ceil(double a) | 向上取整 |
public static double floor(double a) | 向下取值 |
public static int round(int a) | 四舍五入 |
public static int max(int a,int b) | 获取两个int值中的较大值 |
public static double pow(double a,double b) | 返回a的b次幂的值 |
public static double random() | 返回值为double的随机值,范围[0.0,1.0) |
public static int sqrt(int a) | 返回a的平方根 |
public static int cbrt(int a) | 返回a的立方根 |
1.2 练习题
判断一个数是否是质数
package Math.test;
import java.util.Scanner;
public class Test1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入数字");
int num = sc.nextInt();
boolean flag = isPrime(num);
if(flag){
System.out.println("Prime number");
}else{
System.out.println("Not Prime number");
}
}
public static boolean isPrime(int n) {
for (int i = 2; i <= Math.sqrt(n); i++) {
if(n % i == 0) {
return false;
}
}
return true;
}
}
自幂数,一个n位自然数等于自身各个数位上数字的n次幂之和
如果自幂数是一位数,也叫做:独身数
三位数叫做:水仙花数 四位自幂数:四叶玫瑰数......
统计一共有多少个水仙花数
package Math.test;
public class Test2 {
public static void main(String[] args) {
int count = 0;
for (int i = 100; i <= 999; i++) {
int ge = i % 10;
int shi = i / 10 % 10;
int bai = i / 100 % 10;
//判断:
//每一位的三次方之和 跟本身 进行比较
double sum = Math.pow(ge,3) + Math.pow(shi,3) + Math.pow(bai,3);
if(sum == i){
count++;
}
}
System.out.println(count);
}
}
2. System
System也是一个工具类,提供了一些与系统相关的方法。
方法名 | 说明 |
---|---|
public static void exit(int status) | 终止当前运行的 Java虚拟机 |
public static long currentTimeMillis() | 返回当前系统的时间毫秒值形式 |
public static void arraycopy(数据源数组,起始索引,目的地数组,起始索引,拷贝个数) | 数组拷贝 |
package System.demo;
public class SystemDemo1 {
public static void main(String[] args) {
//方法的形参
//状态码
//0:表示当前虚拟机是正常停止
//非0:表示当前虚拟机异常停止
//System.exit(0);
System.out.println("Hello World");
//数组拷贝
int[] arr = {1,2,3,4,5,6,7,8,9,10};
int[] newArr = new int[arr.length];
//public static void arraycopy(数据源数组,起始索引,目的地数组,起始索引,拷贝个数)
//细节:
//如果数据源数组和目的地数组都是基本数据类型,那么两者的数据类型必须保持一致否则会报错
//在拷贝的时候要考虑数组的长度,如果超出范围也会报错
//如果数据源数组和目的地数组都是引用数据类型,同种类型可以赋值,且子类型可以赋值给父类型
System.arraycopy(arr,0,newArr,0,arr.length);
for (int i = 0; i < newArr.length; i++) {
System.out.print(newArr[i] +" ");
}
}
}