Java输入输出和数组

  • Post author:
  • Post category:java


一、问答题

1. 如何声明和创建一个一维数组?

Int i[]=new int[3]

2. 如何访问数组的元素?

Int a[]=new int a[3]

for (int x=0;x<a.length;x++){

System.out.print(i[x]);

}

System.out.println();

3.数组下标的类型是什么?最小的下标是什么?一维数组a的第三个元素如何表示?

整型  最小下标为0;a[3]

4.怎样获取一维数组的长度,怎样获取二维数组中一维数组的个数。

5.数组越界访问会发生什么错误?怎样避免该错误?

Array Index Out Of Bounds Exception数组越界异常 应明确数组的范围大小避免出现数组下标大于实际存储数量-1

二、选择题

1.下面正确的初始化语句是


c

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

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

2.定义了一维int型数组a[10]后,下面错误的引用是

B

A. a[0]=1;       B. a[10]=2;           C. a[0]=5*2;         D. a[1]=a[2]*a[0];

3.下面的二维数组初始化语句中,正确的是

D

A. float b[2][2]={0.1,0.2,0.3,0.4};           B. int a[][]={

{1,2},{3,4}};

C. int a[2][]= {

{1,2},{3,4}};                    D. float a[2][2]={0};

4.引用数组元素时,数组下标可以是

D

A. 整型常量       B. 整型变量       C. 整型表达式   D. 以上均可

5.定义了int型二维数组a[6][7]后,数组元素a[3][4]前的数组元素个数为

B

A. 24           B. 25           C. 18           D. 17

6.下列初始化字符数组的语句中,正确的是

B

A. char str[5]=”hello”;                        B. char str[]={‘h’,’e’,’l’,’l’,’o’,’\0′};

C. char str[5]={“hi”};                         D. char str[100]=””;

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

A. 栈          B. 队列            C. 堆    D. 链表

8.下面( )不是创建数组的正确语句

C

A.float f[][]=new float[6][6];           B.float f[]=new float[6];

C.float f[][]=new float[][6];                   D.float [][]f=new float[6][];

9.下面不是数组复制方法的是

C

A. 用循环语句逐个复制数组         B. 用方法arraycopy

C. 用”=”进行复制                     D. 用clone方法

10.数组a的第三个元素表示为

D

A. a(3)                 B. a[3]                C.a(2)            D. a[2]

11.当访问无效的数组下标时,会发生

B

A. 中止程序    B. 抛出异常      C. 系统崩溃     D. 直接跳过

12.使用arraycopy()方法将数组a复制到b正确的是

A

A. arraycopy(a,0,b,0,a.length)     B. arraycopy(a,0,b,0,b.length)

C.arraycopy(b,0,a,0,a.length)     D. arraycopy(a,1,b,1,a.length)

13.关于数组默认值,错误的是

B

A. char–‘”u0000’   B. Boolean–true   C. float–0.0f    D. int– 0

14.关于数组作为方法的参数时,向方法传递的是

A

A. 数组的引用 B. 数组的栈地址 C. 数组自身  D. 数组的元素

15.关于数组复制,下列说法错误的两项是

AC

A. “=”可以实现数组复制

B. 运用循环语句进行数组复制必须两个数组长度相同

C. arraycopy()方法没有给目标数组分配内存空间

D. 数组复制是数组引用的传递

16.下列语句会造成数组new int[10]越界是

D

A. a[0] += 9;       B. a[9]=10;        C. —a[9]

D. for(int i=0;i<=10;i++)  a[i]++;

17.关于数组排序方法,错误的是

C

A. 选择排序 B. 插入排序 C. 二分排序  D. 用arrays.sort( )排序

18.关于char类型的数组,说法正确的是

D

A. 其数组的默认值是’A’      B. 可以仅通过数组名来访问数组

C. 数组不能转换为字符串    D. 可以存储整型数值

19.对于数组a[10],下列表示错误的是

B

A. a[0]          B. a(0)                    C. a[9]          D. a[1]

20.下列数组声明,下列表示错误的是

D

A. int[] a          B. int a[]                 C. int[][] a      D. int[]a[]

21.对于int a[] = new int[3];下列哪个叙述是错误的?

B

A. a.length的值是3。

B. a[1]的值是1。

C. a[0]的值是0。

D. a[a.length-1]的值等于a[2]的值。

22.下列代码的执行结果是

A

public class Beirun{

public static void main(String args[]){

System.out.println(5/2);

}

}

A. 2.5        B. 2.0      C. 2.50       D. 2

23. 下列代码的执行结果是

B

public class Beirun{

public static void main(String args[]){

System.out.println(100%3);

System.out.println(100%3.0);

}

}

A. 1和1        B. 1和1.0      C. 1.0和1       D. 1.0和1.0

三、阅读程序

1.上机调试下列程序,注意System.out.print()和System.out.println()的区别。

2.下列程序标注的【代码1】,【代码2】的输出结果是什么?

public class E {

public static void main (String args[ ]){

long[] a = {1,2,3,4};

long[] b = {100,200,300,400,500};

b = a;

System.out.println(“数组b的长度:”+b.length); //【代码1】

System.out.println(“b[0]=”+b[0]); //【代码2】

}

}



输出结果为:数组b的长度:4



B[0]=1

3.下列程序标注的【代码1】,【代码2】的输出结果是什么?

public class E {

public static void main(String args[]) {

int [] a={10,20,30,40},b[]={

{1,2},{4,5,6,7}};

b[0] = a;

b[0][1] = b[1][3];

System.out.println(b[0][3]); //【代码1】

System.out.println(a[1]);   //【代码2】

}

}



输出结果为




; 40    7

4.下面程序的运行结果是

main() {

int a[][]={

{1,2,3},{4,5,6}};

System.out.printf(“%d”, a[1][1]);

}



输出结果为




: 5

5.下面程序的运行结果是

main() {

int x=30;

int[] numbers=new int[x];

x=60;

System.out.println(numbers.length);

}



输出结果为:




30

6.下面程序的运行结果是

main() {

char s1[]=”ABCDEF”.toCharArray();

int i=0;

while(s1[i++]!=’\0′)

System.out.println(s1[i++]);

}



版权声明:本文为qq_47112287原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。