一:判断题
1-1
一个数组可以存放许多不同类型的数值。F
解:一个数组只能放一种类型的数值。
1-2
制造(new)数组时,要指定数组长度,以便为数组分配内存。T
1-3
Java中数组的元素只能是简单数据类型。F
解:也可以是某一类的对象。
1-4
数组作为方法的参数时,必须加在数组名后加方括号。T
1-5
数组中有length()这个方法,如array.length()表示数组array中元素的个数. F
解:因为数组中没有length这个方法,数组中有的是这个属性。
1-6
Java语言中的数组元素下标总是从0开始,下标可以是整数或整型表达式。T
1-7
把数组中元素按某种顺序排列的过程叫做查找 。F
解:这个过程叫排序。
二选择:
2-1有语句String s=”hello world”; ,以下操作哪个是不合法的?( B
A.int i=s.length();
B.s>>>=3;
C.String ts=s.trim();
D.String t=s+”!”;
2-2 执行完以下代码int [ ] x = new int[10];后,以下哪项说明是正确的( A
A.x[9]为0
B.x[9]未定义
C.x[10]为0
D.x[0]为空
2-3执行下面代码,下面描述正确的是( D)。
public class Person{ static int arr[] = new int[10]; public static void main(String a[]){ System.out.println(arr[1]); } }
A.产生编译错误
B.输出空
C.编译正确,运行错误
D.输出0
2-4定义了一维int型数组a[10]后,下面错误的引用是(B
A.a[0]=1
B.a[10]=2
C.a[0]=5*2
D.a[1]=a[2]*a[0]
2-5下面程序的运行结果是( C)
main() {
int x=30;
int[] numbers=new int[x];
x=60;
System.out.println(numbers.length);
}
A.60
B.20
C.30
D.50
2-6关于char类型的数组,说法正确的是(B )。
A.其数组的默认值是'A'
B.可以仅通过数组名来访问数组
C.数组不能转换为字符串
D.可以存储整型数值
解:int类型定义的数组,默认值为0;
string类型定义的数组,默认值为null;
char类型定义的数组,默认值为0所对应的字符。
2-7给出下面代码,关于该程序以下哪个说法是正确的?( C
public class Person{
static int arr[] = new int[5];
public static void main(String a[]) {
System.out.println(arr[0]);
}
}
A.编译时将产生错误
B.编译时正确,运行时将产生错误
C.输出0
D.输出空
2-8下列数组声明,下列表示错误的是(D
A.int[ ] a
B.int a[ ]
C.int[ ][ ] a
D.int[ ]a[ ]
2-9下列语句会造成数组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]++;
2-10下面关于数组声明和初始化的语句那个有语法错误?(D )
A.int a1[]={3,4,5};
B.String a2[]={"string1","string1","string1"};
C.String a3[]=new String(3);
D.int[][] a4=new int[3][3];
2-1定义了int型二维数组a[6][7]后,数组元素a[3][4]前的数组元素个数为( B)
A.24
B.25
C.18
D.17
解:3*7+4=25;
三
该程序功能是遍历数组,输出一维数组的所有元素,
public class Main {
public static void main(String[] args) {
int[] a={10,3,1,3,53,23,232,90,21,33};
for(
int i=0;i<a.length;i++)
{
System.out.print(a[i]+" ");
}
}
}
用数组来求Fibonacci数列问题,打印前20项数列,每行打印4个数。。
public class Main {
public static void main(String[] args) {
int f[]=new int[20];
f[0]=1;
f[1]=1;
for(int i=2;i<20;i++){
f[i]=f[i-1]+f[i-2];
}
for(int i=0;i<20;i++){
System.out.printf("%12d",f[i]);
if((i+1)%4==0)
System.out.println();
}
}
}