【Math类】
请编程进行以下运算:
请计算3的5次幂
请计算3.2向上取整的结果
请计算3.8向下取整的结果
请计算5.6四舍五入取整的结果
参考答案:
public static void main(String[] args) {
System.out.println(Math.pow(3, 5));
System.out.println(Math.ceil(3.2));
System.out.println(Math.floor(3.8));
System.out.println(Math.round(5.6));
}
【System类】
请定义一个集合,并将1至1千万这1千万个数字添加到集合中,计算这个行为运行的时间,并打印。
参考答案:
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<>();
long t1 = System.currentTimeMillis();
for (int i = 1; i <= 10000000; i++) {
list.add(i);
}
long t2 = System.currentTimeMillis();
System.out.println("向集合中添加1千万个数字需要的时间是:"+(t2-t1)+"毫秒");
}
(注意:每个人的电脑性能不一样,所以打印结果不一样也很正常!!!)
【BigDecimal类】
求以下double数组的平均值(四舍五入保留两位小数):
double[] arr = {0.1,0.2,2.1,3.2,5.56,7.21};
参考答案:
public static void main(String[] args) {
double[] arr = {0.1,0.2,2.1,3.2,5.56,7.21};
BigDecimal sum = new BigDecimal(0);
for (int i = 0; i < arr.length; i++) {
sum = sum.add(BigDecimal.valueOf(arr[i]));
}
BigDecimal avg = sum.divide(BigDecimal.valueOf(arr.length), 2, BigDecimal.ROUND_HALF_UP);
System.out.println("数组的平均值是:"+avg);
}
【包装类】
1 请写出八种基本类型和它们对应的包装类的名字
byte --> Byte
short --> Short
int --> Integer
long --> Long
char --> Character
boolean --> Boolean
float --> Float
double --> Double
2 请问什么是自动装箱和自动拆箱?
从基本数据类型自动变成包装数据类型就是自动装箱
从包装数据类型自动变成基本数据类型就是自动拆箱
3:【包装类】
在一行中通过键盘输入自己的年龄和身高(要带小数),年龄和身高中间使用逗号分隔,请利用今天的技术和字符串的切分方法,将键盘输入的数据转成整数和小数;
参考答案:
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入年龄和身高:(年龄是整数,身高是小数,中间使用逗号分隔)");
String s = sc.next();
String[] arr = s.split(",");
//0索引是年龄,1索引是身高
int i = Integer.parseInt(arr[0]);
double v = Double.parseDouble(arr[1]);
System.out.println("转成整数后的年龄是:"+i);
System.out.println("转成小数后的身高是:"+v);
}
编程题【Arrays】
已知数组如下:
int[] arr = {431,54,25,25,26,45,2,4,65,3,64,6,46,7,54};
1:使用Arrays对数组元素进行排序并打印排序后的结果;
2:使用二分法查找元素:2,并打印查询结果;
3:使用二分法查找200,并打印查找结果;
参考答案:
public static void main(String[] args) {
int[] arr = {431,54,25,25,26,45,2,4,65,3,64,6,46,7,54};
//排序
Arrays.sort(arr);
//打印
System.out.println(Arrays.toString(arr));
//查询元素2
int i = Arrays.binarySearch(arr, 2);
System.out.println("元素2在数组中的索引是:"+i);
//查询元素200
int i2 = Arrays.binarySearch(arr, 200);
System.out.println("元素200在数组中的索引是:"+i2);
}
编程题【递归】
请使用递归计算从1到100之间的所有数之和。
参考答案:
public static void main(String[] args) {
int result = getJc(100);
System.out.println("1至100之间的和是:"+result);
}
private static int getJc(int i) {
//1,就是一定要找到出口.
if(i == 1){
return 1;
}else{
//2.就是递归的规则
return i + getJc(i - 1);
}
}