笔记-04-(2)

单选题

1.数组a的第三个元素表示为( D)

A.a(3)

B.a[3]

C.a(2)

D.a[2]

2.下面正确的初始化语句是(C )

A. char str[]=“hello”;

B. char str[100]=“hello”;

C. char str[]={‘h’,‘e’,‘l’,‘l’,‘o’};

D. char str[]={‘hello’};

3.数组在Java中储存在(C ) 中

A.栈

B.队列

C.堆

D.链表

4.关于数组默认值,错误的是(B )

A.double – 0.0

B.boolean–true

C.float–0.0

D.int-- 0

5.以下(D )代码,能够对数组正确初始化(或者是默认初始化)。

A.int[] a;

B.a = {1, 2, 3, 4, 5};

C.int[] a = new int[5]{1, 2, 3, 4, 5};

D.int[] a = new int[5];

6.当访问无效的数组下标时,会发生( B )

A.中止程序

B.抛出异常

C.系统崩溃

D.直接跳过

7.代码如下,运行结果是7,则横线处应该填写的内容是(C )

public static void main(String[] args){

	int[] arr = { 3,7,6,9,2,5,8 };
	System.out.println(____________);

}

A. arr[6]

B.arr[2]

C.arr[1]

D.arr[0]

8:下列代码能够正常遍历数组的是( B )

A.

public class Demo{
     

 	public static void main(String[] args){
     

 		int[] arr = {
     1,2,3,4,5,6,7};

		for (int i = 0; i <= arr.length; i++) {
     

 			System.out.println(arr[i]);

   		}

 	}

}

B.

public class Demo{
     

 	public static void main(String[] args){
     

		int[] arr = {
     1,2,3,4,5,6,7};

			for (int i = 0; i < arr.length; i++) {
     

				System.out.println(arr[i]);

			}
	
	}

}

C.

public class Demo{
     

	public static void main(String[] args){
     

		int[] arr = {
     1,2,3,4,5,6,7};

		int i = 0;

 		while(i < arr.length){
     

 			System.out.println(arr[i]);

		}

	}

}

D.

public class Demo{
     

	public static void main(String[] args){
     

 		int[] arr = {
     1,2,3,4,5,6,7};

		for (int i = 0; ; i++) {
     

			System.out.println(arr[i]);

		}

	}

}

9.下面代码用于获取数组的最大值,画横线区域处应填写代码正确的是 ( C )

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]

(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 ;

代码题

1. 训练案例1

1.1. 训练考核知识点

数组和随机数综合

1.2. 需求介绍

已知双色球由1个蓝色球和6个红色球组成,蓝色球的范围是1–16,红色球的范围是1–33;请使用程序随机生成一组双色球并保存到数组中;然后打印出数组中的这一组数据;

1.3. 思路提示

1:由题目可知需要使用一个长度为7的数组才能保存这一注双色球的数据;并且数据都是需要随机生成的,所以使用数组的动态初始化更合适;

2:蓝色球只有一个,所以可以单独生成并存放到数组的0索引位置;但是需要注意控制随机数的范围;

3:剩下的6个红色球可以使用循环生成并保存到数组中,但是需要注意控制随机数的范围;

4:数组中保存好数据以后,可以对数组遍历,打印数据即可;


import java.util.Random;

public class KuoZhan {
     
    public static void main(String[] args) {
     
        Random r = new Random();
        int blue = r.nextInt(16) +1;
        int[] arr = new int[7];
        arr[0] = blue;
        for (int i = 1; i < arr.length; i++) {
     
            int red = r.nextInt(33) +1;
            arr[i] = red;
        }
        System.out.print("第一个是蓝色球,剩余的是红色球: ");

        for (int i = 0; i < arr.length; i++) {
     
            System.out.print(arr[i] + "  ");

        }
    }

}

1.4:执行效果

(注意:随机生成的,所以每次结果都不一样呦…)

本次随机生成的双色球是[第一个是蓝色球,剩余的是红色球]:11 20 10 6 27 2 17

你可能感兴趣的:(笔记,java,算法)