27天!
数学工具类
1.1数组工具类Arrays
package Demo2101;
/*
注意事项:是Arrays进行调用,不是变量进行调用!!!
* java.util.Arrays是一个与数组相关的工具类,里面提供了大量的静态方法(不用new,直接.调用),
* 用来实现数组的常见操作。
*
* public static String toString(数组):将参数数组{元素1,元素2,元素3...}变成字符串(按照默认格式:[元素1,元素2,元素3...])
* public static void sort(数组):按照默认升序(从小到大)对数组的元素进行排序。
备注:
1.如果是数值,sort默认按照升序从小到大
2。如果是字符串,sort默认按照字母升序
3.如果是自定义类型,那么这个自定义的类需要有Comparable或者Comparator接口的支持。(今后学习)
* */
import java.util.Arrays;
public class Demo01Arrays {
public static void main(String[] args) {
//Arrays.toString
int[] intArray = {2,3,4,5,6};
String string1 = Arrays.toString(intArray);
System.out.println(string1);//[2, 3, 4, 5, 6]
//Arrays.sort
int[] sortArray = {4,2,3,6,1,5};
Arrays.sort(sortArray);//没有返回值,这时候已经在原来数组上对其排好了
//将排好的数组按照默认格式输出
System.out.println(Arrays.toString(sortArray));//[1, 2, 3, 4, 5, 6]
String[] stringArray = {"aaa","ccc","bbb"};
Arrays.sort(stringArray);
System.out.println(Arrays.toString(stringArray));//[aaa, bbb, ccc]
}
}
1.2 Arrays:字符串倒序排列
题目:“avhdbjd”–>[a, b, d, d, h, j, v]
package Demo2101;
/*
* 题目:"avhdbjd"-->[a, b, d, d, h, j, v]
* 请使用Arrays相关的API,将一个随机字符串中的所有字符升序排列,并倒序打印
* 关于这道题有对于toCharArray()的问题:
* 关于该方法的疑问:按理说返回值应该是一个数组{1,2,3},但是返回值只有123字符,没有数组格式?
* */
import java.util.Arrays;
public class Demo02ArraysPractice {
public static void main(String[] args) {
//1.定义一个字符串
String str1 = "avhdbjd";
//2.转换为字符数组
char[] chars = str1.toCharArray();
//System.out.println(chars);//avhdbjd
//3.升序排列字符数组
Arrays.sort(chars);
Arrays.toString(chars);//此时chars已经变成了升序的字符数组
//System.out.println(Arrays.toString(chars));//[a, b, d, d, h, j, v]
//4.倒序输出打印[v, j, h, d, d, b, a]
System.out.print("[");
for (int i = chars.length - 1; i >= 0 ; i--) {
if (i != 0) {
System.out.print(chars[i] + ", ");//注意逗号后面有空格
}else {
System.out.print(chars[i] + "]");
}
}
}
}
2.1 数学工具类Math
package Demo2101;
/*
* java.util.Math类是数学相关的工具类,里面提供了大量的静态方法,完成与数学运算的相关操作。
*
* public static double abs(double num):获取绝对值
* public static double ceil(double num):向上取整,所谓的向上,是靠数轴的右边取值。-10.9———》-10
* public static double floor(double num):向下取整
* public static round(double num):四舍五入
*
* Math.PI代表圆周率的近似值(double)
* */
public class Demo03Math {
public static void main(String[] args) {
//1.获取绝对值
System.out.println(Math.abs(-3));//3
//2.向上取整
System.out.println(Math.ceil(3.4));//4.0
System.out.println(Math.ceil(34));//34.0
//3.向下取整
System.out.println(Math.floor(3.4));//3.0
System.out.println(Math.floor(34));//34.0
//4.四舍五入
System.out.println(Math.round(3.4));//3
System.out.println(Math.round(34));//34
}
}
2.2 Math:小学数学真题
计算在-10.8到5.9之间,绝对值大于6或者绝对值小于2.1的整数有多少个?
package Demo2101;
/*
自增运算符也可以用于double中!!
* 题目:
* 计算在-10.8到5.9之间,绝对值大于6或者绝对值小于2.1的整数有多少个?
*
* 思路:
* 1.与操作运算符,两者条件满足其一则增加1
* */
public class Demo04MathPractice {
public static void main(String[] args) {
int num = 0;
for (double i = -10.8; i <= 5.9 ; i++) {
if (Math.abs(i) > 6.0 || Math.abs(i) < 2.1){
num++;
}
}
System.out.println("绝对值大于6或者小于2.1的整数有:" + num + "个");//绝对值大于6或者小于2.1的整数有:9个
}
}