Day04作业
大约 6 分钟
Day04作业
点击回到笔记 📒👈
1. 简答题 🍐
1️⃣ 1.1 请问为什么要有数组,它能帮我们做什么?
回答
可以用Typora或者editplus
或者notepad++
或者在idea
中书写答案
2️⃣ 1.2 请问数组有哪些特点?
回答
可以用Typora或者editplus
或者notepad++
或者在idea
中书写答案
3️⃣ 1.3 请说出你对数组的索引的理解?最小索引和最大索引分别是什么?
回答
可以用Typora或者editplus
或者notepad++
或者在idea
中书写答案
4️⃣ 1.4 请问数组的动态初始化和静态初始化有何区别?
回答
可以用Typora或者editplus
或者notepad++
或者在idea
中书写答案
5️⃣ 1.5 请说出java内存分配中,几块区域分别的作用?
回答
可以用Typora或者editplus
或者notepad++
或者在idea
中书写答案
6️⃣ 1.6 请描述断点调试的作用?以及操作步骤?
回答
可以用Typora或者editplus
或者notepad++
或者在idea
中书写答案
2. 选择题 🔡
1️⃣ 2.1(单选):下列数组创建并初始化格式错误的是( )
A. int[] arr = new int[] {33,22,11};
B. int[] arr = new int[4];
C. double[] arr = new double[3]{5.2, 3.14, .18};
D. int[] arr = {11,22,33};
2️⃣ 2.2(单选):下列操作中能够正常编译运行的是( )
A.
public static void main(String[] args){
int[] arr = {1,2,3};
int num = arr;
}
B.
public static void main(String[] args){
int[] arr = {1,2,3};
int num = arr0;
}
C.
public static void main(String[] args){
int[] arr = {1,2,3};
arr[1] = 5;
}
D.
public static void main(String[] args){
int[] arr = {1,2,3};
arr.[0] = 2;
}
3️⃣ 2.3(多选题!!!):代码如下,求数组中元素的奇数和,请选择下面选择中说法错误的是( )
public static void main(String[] args){
int[] arr = {3,7,6,9,2,4,5,8};
for(int i = 0; i <= arr.length;i++){
int sum = 0;
if(i % 2 == 1){
sum += arr[i];
}
}
System.out.println("sum = " + sum);
}
A. 第4行代码有错,int sum = 0; 需要定义在循环上面,否则sum无法实现累加效果
B. 第3行有错,i <= arr.length改成i < arr.length - 1
C. 第5行有错,i % 2 == 1应该 arr[i] % 2 == 1
D. 以上说法都有错
4️⃣ 2.4(多选题!!!):下列选项中,哪几个选项的代码,可以实现数组元素反转( )
A.
public static void main(String[] args) {
int arr[] = {1, 3, 5, 7, 9};
for(int i=0;i < arr.length/2;i++){
int temp = arr[i];
arr[i] = arr[arr.length-1-i];
arr[arr.length-1-i] = temp;
}
}
B.
public static void main(String[] args) {
int arr[] = {1, 3, 5, 7, 9};
for(int i=0;i < arr.length;i++){
int temp = arr[i];
arr[i] = arr[arr.length-1-i];
arr[arr.length-1-i] = temp;
}
}
C.
public static void main(String[] args){
int arr[] = {1, 3, 5, 7, 9};
int s = 0;
int e = arr.length - 1; // 最右边的索引
while (s < e) {
// 循环中,交换元素
// 定义一个临时变量
int temp = arr[s];
arr[s] = arr[e];
arr[e] = temp;
s++;
e--;
}
}
D.
public static void main(String[] args) {
int arr[] = {1, 3, 5, 7, 9};
for (int s = 0,e = arr.length-1; s < e; s++,e--) {
int temp = arr[s];
arr[s] = arr[e];
arr[e] = temp;
}
}
5️⃣ 2.5(单选):下列关于数组的说法正确的是()
A. 在Java中数组的长度是可变的
B. 数组中存储的数据的类型,必须是相同的,除非满足隐式类型转换
C. int[] arr = new int[]{1,2,3}; arr = new int[10]; 是将数组的大小扩容到了10,且原数组中的元素{1,2,3}依然保留了下来
D. 数组是存储到栈内存中的。
6️⃣ 2.6(单选):下列代码能够获取任意数组中元素最大值的是( )
A.
public class Demo{
public static void main(String[] args){
int[] arr = {23,544,56,1,23,45,21,1,78};
for (int i = 1; i < arr.length; i++) {
int max = arr[0];
if(max < arr[i]){
max = arr[i];
}
System.out.println(max);
}
}
}
B.
public class Demo{
public static void main(String[] args){
int[] arr = {23,544,56,1,23,45,21,1,78};
int max = arr[0];
for (int i = 1; i < arr.length; i++) {
if(max > arr[i]){
max = arr[i];
}
}
System.out.println(max);
}
}
C.
public class Demo{
public static void main(String[] args){
int[] arr = {23,544,56,1,23,45,21,1,78};
int max = arr[0];
for (int i = 1; i < arr.length; i++) {
if(max < arr[i]){
max = arr[i];
}
}
System.out.println(max);
}
}
D.
public class Demo{
public static void main(String[] args){
int[] arr = {-23,-544,-56,-1,-23,-45,-21,-1,-78};
int max = 0;
for (int i = 0; i < arr.length; i++) {
if(max < arr[i]){
max = arr[i];
}
}
System.out.println(max);
}
}
7️⃣ 2.7(单选):应用程序的main方法中有以下语句,则执行后输出的结果是 ( )。
public static void main(String[] args){
int[] x = {125,21,5,168,98};
int max = x[0];
for (int i=1; i<x.length; i++){
if(x[i] < max)
max = x[i];
}
System.out.println(max);
}
A. 125
B. 5
C. 98
D. 168
8️⃣ 2.8(单选):下面代码用于获取数组的最大值,画横线区域处应填写代码正确的是( )
public static void main(String[] args){
int[] arr = { 2,7,-1,6,3 };
_____(1)______
for(int i=1;i<arr.length;i++){
if(___(2)____){
___(3)____
}
}
System.out.println("最大值是:" + max);
}
A. (1)int max = 0;
(2)arr[i]<max;
(3)arr[i] = max;
B. (1)int max = 0;
(2)arr[i] > max;
(3)max = arr[i];
C. (1)int max = arr[0];
(2)arr[i] > max;
(3)max = arr[i];
D. (1)int max = arr[0];
(2)arr[i] > max;
(3)arr[i] = max;
3. 代码题 ✏️
[0-100]
之间的整数存放到数组中,然后计算出数组中所有元素之和,以及平均数并打印。
1️⃣ 3.1 创建一个长度为6的整数数组,请编写代码,随机生成六个 3.1.1 参考步骤:
参考步骤
- 定义长度为6的int数组。
- 创建随机数Random类对象。
- 遍历数组,在循环中生成随机数并给数组元素赋值。
- 定义求和变量,初始化值为0。
- 遍历数组,获取每一个元素,累加。
- 再通过累加和 除以 数组元素个数,获得平均数
- 遍历结束,打印结果。
3.1.2 答案:
回答
代码写在Idea中
2️⃣ 3.2 通过键盘录入的方式, 将下图 6个 旅游线路的价格存入到数组中, 然后再键盘录入一个价格, 查找该价格在数组中的索引,并在控制台输出找到的索引值。
注意: 如果没有找到对应的价格 请打印 -1

3.2.1 演示效果:

3.2.2 参考步骤:
提示
- 创建一个长度为6的数组
- 将这些手机的价格分别存入到数组中
- 键盘录入一个要查找的价格
- 定义一个变量 index , 赋值为-1
- 遍历数组
- 依次拿着数组的元素和要找的价格比较
- 如果相等,将数组的索引赋值给 index
- 循环结束后输出 index
3.2.3 答案:
回答
代码写在Idea中
3️⃣ 3.3 【选做题】创建一个长度10的数组,将10个1-20之间的随机数存入数组中,要求数组中的元素不能重复,再创建一个新数组,将原数组中元素为奇数全部在左边,偶数全部在右边。
3.3.1 最终效果

3.3.2 答案:
回答
代码写在Idea中