当前位置: 首页 > ds >正文

Java—— 常见API介绍 第一期

Math

说明:

Math是帮助我们进行数学计算的工具类。

里面的方法都是静态的,可以通过类名Math直接调用。

常用方法: 

方法名说明
public static int abs(int a)获取参数绝对值
public static double ceil(double a)向上取整
public static double floor(double a)向下取整
public static int round(float a)四舍五入
public static int max(int a,int b)获取两个int值中的较大值
public static int min(int a,int b)获取两个int值中的较小值
public static double pow(double a,double b)返回a的b次幂的值
public static double sqrt(double a)返回a的平方根
public static double cbrt(double a)返回a的立方根
public static double random( )返回值为double的随机值,范围[0.0,1.0)

代码演示:

public class Test {public static void main(String[] args) {//public static int abs(int a)	获取参数绝对值//public static double ceil(double a)	向上取整//public static double floor(double a)	向下取整//public static int round(float a)	四舍五入//public static int max(int a,int b)	获取两个int值中的较大值//public static double pow(double a,double b)	返回a的b次幂的值//public static double sqrt(double a)	返回a的平方根//public static double cbrt(double a)	返回a的立方根//public static double random( )	返回值为double的随机值,范围[0.0,1.0)System.out.println(Math.abs(10));//10System.out.println(Math.abs(-10));//10System.out.println(Math.ceil(10.5));//11.0System.out.println(Math.ceil(-10.5));//-10.0System.out.println(Math.floor(10.5));//10.0System.out.println(Math.floor(-10.5));//-11.0System.out.println(Math.round(10.4));//10System.out.println(Math.round(10.5));//11System.out.println(Math.round(-10.4));//-10System.out.println(Math.round(-10.5));//-10System.out.println(Math.round(-10.6));//-11System.out.println(Math.pow(2,3));//8.0System.out.println(Math.pow(4,0.5));//2.0System.out.println(Math.pow(2,-2));//0.25System.out.println(Math.sqrt(4));//2.0System.out.println(Math.cbrt(8));//2.0System.out.println(Math.random());//0.3164356899167895}
}

练习: 

自幂数,一个n位自然数等于自身每一位上数字的n次幂的和
举例1:三位数 1^3+5^3 +3^3 = 153
举例2:四位数 1^4 +6^4 +3^4 +4^3 = 1634
自幂数是一位数,也叫做:独身数
三位自幂数:水仙花数
四位自幂数:四叶玫瑰数
五位自幂数:五角星数
六位自幂数:六合数
七位自幂数:北斗七星数
八位自幂数:八仙数
九位自幂数:九九重阳数
十位自幂数:十全十美数

要求1:统计一共有多少个水仙花数。
要求2:证明没有两位的自幂数。
要求3:分别统计有多少个四叶玫瑰数和五角星数。(答案:都是3个) 

public class Test2 {public static void main(String[] args) {//定义计数器int count = 0;//统计一共有多少个水仙花数。for (int i = 100; i < 999; i++) {//调用方法获得3位自然数每一位上数字的3次幂的和int sum = getNumber(i, 3);//365if (sum == i) {//System.out.println(i);count++;}}System.out.println(count);//4//证明没有两位的自幂数//计数器归0count = 0;for (int i = 10; i < 99; i++) {//调用方法获得2位自然数每一位上数字的2次幂的和int sum = getNumber(i, 2);if (sum == i) {//System.out.println(i);count++;}}System.out.println(count);//0//统计有多少个四叶玫瑰数//计数器归0count = 0;for (int i = 1000; i < 9999; i++) {//调用方法获得4位自然数每一位上数字的4次幂的和int sum = getNumber(i, 4);if (sum == i) {//System.out.println(i);count++;}}System.out.println(count);//3//统计有多少个五角星数//计数器归0count = 0;for (int i = 10000; i < 99999; i++) {//调用方法获得5位自然数每一位上数字的5次幂的和int sum = getNumber(i, 5);if (sum == i) {//System.out.println(i);count++;}}System.out.println(count);//3}//定义方法计算2位自然数每一位上数字的2次幂的和public static int getNumber(int n, int m) {int sum = 0;while (n != 0) {int num = n % 10;sum = (int) (sum + Math.pow(num, m));n = n / 10;}return sum;}
}

System

说明:

System提供了一些与系统相关的方法

里面的方法都是静态的,可以通过类名System直接调用。

常用方法: 

方法名说明
public static void exit (int status)终止当前运行的 Java 虚拟机
public static long currentTimeMillis ()返回当前系统的时间毫秒值形式
public static void arraycopy (数据源数组,起始索引,目的地数组,起始索引,拷贝个数)数组拷贝

代码演示:

public class Test3 {public static void main(String[] args) {//public static void exit (int status)	终止当前运行的 Java 虚拟机//public static long currentTimeMillis ()	返回当前系统的时间毫秒值形式//public static void arraycopy (数据源数组,起始索引,目的地数组,起始索引,拷贝个数) 数组拷贝//在一段代码的前面和后面分别获取当前系统的时间,其差值可以看作这段代码运行的耗时long time1 = System.currentTimeMillis();int sum = 0;for (int i = 0; i < 1000000000; i++) {sum = sum + i;}long time2 = System.currentTimeMillis();System.out.println(time2 - time1);//540 单位是毫秒int[] arr1 = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};int[] arr2 = new int[10];System.arraycopy(arr1, 0, arr2, 0, 10);for (int i = 0; i < arr2.length; i++) {System.out.print(arr2[i] + " ");}//1 2 3 4 5 6 7 8 9 10 System.exit(0);//0 正常停止,非0 异常停止}
}







 

http://www.xdnf.cn/news/571.html

相关文章:

  • 探秘Python 工匠:案例、技巧与工程实践:解锁Python进阶的通关秘籍
  • 【Linux】43.网络基础(2.5)
  • accelerate并行计算:训练环境和训练参数的配置字典
  • 【赵渝强老师】TiDB提供的命令行工具
  • 【信息获取能力】
  • HAL库配置RS485+DMA+空闲中断收发数据
  • 修改 <li> 元素小圆点的颜色
  • @EnableAsync+@Async源码学习笔记之六
  • 对象存储概述
  • 关于学习STM32的C语言的知识
  • linux学习 4.2 目录修改相关命令
  • 在小米AX6000中通过米家控制tailscale
  • 微服务治理与可观测性
  • PCI总线和PCIe总线
  • 数据结构学习笔记 :排序算法详解与C语言实现
  • Spring 依赖冲突解决方案详解
  • AUTOSAR图解==>AUTOSAR_SWS_EFXLibrary
  • BGP选路实验
  • 2024年3月 GESP 图形化二级考级真题——找因数
  • 解锁思想道德修养的奥秘:用思维导图开启智慧之旅
  • Multi-Query Attention (MQA) PyTorch 实现
  • 《擦除序列》线性时间做法题解
  • 利用 FastAPI 实现三种推送方式
  • 企业微信自建应用开发回调事件实现方案
  • AI文生图工具推荐
  • swift-12-Error处理、关联类型、assert、泛型_
  • Java ThreadPoolExecutor 深度解析:从原理到实战
  • 编译Spring源码时遇到的错误
  • HDMI如何进行插入检测
  • QML中的3D功能--纹理应用