06_JAVA练习题第六章-数组与字符串
[单选题]
1.给出下面程序代码:
byte[] a1, a2[];
byte a3[][];
byte[][] a4;
下列数组操作语句中哪一个是不正确的?()
A)a2 = a1
B)a2 = a3
C)a2 = a4
D)a3 = a4
答案:A
解析: 【解析】只有维数相同的数组才能相互赋值。
2.关于数组,下列说法中不正确的是()。
A)数组是最简单的复合数据类型,是一系列数据的集合
B)数组元素可以是基本数据类型、对象或其他数组
C)定义数组时必须分配内存
D)一个数组中所有元素都必须具有相同的数据类型
答案:C
解析: 【解析】数组元素可以是基本数据类型、对象或其他数组
3.设有下列数组定义语句:
int a[] = {1, 2, 3};
则对此语句的叙述错误的是()。
A)定义了一个名为a 的一维数组
B)a 数组有3 个元素
C)a 数组元素的下标为1~3
D)数组中每个元素的类型都是整数
答案:C
解析: 【解析】数组元素的下标是从0 开始的。
4.执行语句: int[] x = new int[20]; 后,下面哪个说法是正确的?()
A)x[19] 为空
B)x[19] 未定义
C)x[19] 为0
D)x[0] 为空
答案:C
解析: 【解析】此语句定义了x 数组后, x[0]~x[19] 的值全部为0。
5.下面代码运行后的输出结果为()。
public class X6_1_5 {
public static void main(String[] args)
{ AB aa = new AB();
AB bb;
bb = aa;
System.out.println(bb.equals(aa));
}
}
class AB{ int x = 100; }
A)true
B)false
C)编译错误
D)100
答案:A
解析: 【解析】同一个类的两个对象可以相互赋值,赋值后两个对象具有相同的存储空间,因
此是相同的。
6.已知有定义: String s="I love" ,下面哪个表达式正确?()
A)s += "you";
B)char c = s[1];
C)int len = s.length;
D)String s = s.toLowerCase();
答案:A
解析: 【解析】字符串对象可以执行“ +=”运算,但不能用s[1]这种方式取其中的字符,也不能用length 求它的长度,可以用length() 求其长度,因此B、C 不正确,不能再次定义s字符串,因此D 不正确。
[填空题]
7.___________类是所有类的直接或间接父类,它在java.lang 包中。
答案:Object
解析:
8.System 类是一个功能强大、非常有用的特殊的类,它提供了标准输入/输出、运行时系统信息等重要工具。这个类不能  ________,即不能创建System 类的对象,所以它所有的属性和方法都是static 类型,
引用时以类名System 为前缀即可。
答案:实例化
解析:
9.Applet 由浏览器自动调用的主要方法init , start , stop 和  _______分别对应了Applet 从初始化、启动、暂停到消亡的生命周期的各个阶段。
答案:destroy
解析:
10.数组是一种复合数据类型,在Java 中,数组是作为对象来处理的。数组是有限
元素的有序集合,数组中的元素具有相同的  _______,并可用统一的数组名和下标来唯一确定其元素。
答案:数据类型
解析:
java数组字符串转数组
11.在数组定义语句中,如果[] 在数据类型和变量名之间时, [] 之后定义的所有变量都是  ______类型,当[] 在变量名之后时,只有[] 之前的变量是数组类型,之后没有[] 的则不是数组类型。
答案:数组
解析:
12.数组初始化包括  ______初始化和 _________ 初始化两种方式。
答案:静态  ,动态
解析:
13.利用System 类中的arraycopy() 方法可以实现数组元素的复制;利用Arrays 类中的  ______和  ________ 方法可以实现对数组元素的排序、查等操作。
答案:sort()  ,binarySearch()
解析:
14.Java 语言提供了两种具有不同操作方式的字符串类:  ______类和______类。它们都是java.lang.O
bject 的子类。
答案: String  ,StringBuffer
解析:
[问答题]
15.写出下列程序的运行结果
public class X6_3_1 {
public static void main(String[] args)
{ int
a[]={12,39,26,41,55,63,72,40,83,95};
int i1=0,i2=0;
for(int i=0;i<a.length;i++)
if(a[i] %2 == 1) i1++;
else i2++;
System.out.println(i1+"\t"+i2);
}
答案:【运行结果】
6 4
解析:
16.写出下列程序的运行结果
public class X6_3_2 {
public static void main(String[] args)
{ int a[]={36,25,48,14,55,40,32,66};
int b1,b2;
b1=b2=a[0];
for(int i=1;i<a.length;i++)
if ( a[i] >b1 ){
if ( b1 >b2 ) b2=b1;
b1=a[i];
}
System.out.println(b1+"\t"+b2);
}
}
答案:【运行结果】
66 55
解析:
17.写出下列程序的运行结果
public class X6_3_3 {
public static void main(String[] args) { int a[]={36,25,48,14,55,40,32,66 }; int b1,b2;
b1=b2=a[0];
for (int i=1;i<a.length;i++)
if ( a[i]<b1 ) {
if ( b1<b2 ) b2=b1;
b1=a[i];
}
System.out.println(b1+"\t"+b2);
}
}
答案:【运行结果】
14 25
解析:
18.写出下列程序的运行结果
public class X6_3_4 {
public static void main(String[] args) { String str = "abcdabcabfgacd";
char[] a =CharArray();
int i1 =0, i2=0, i;
for(i=0;i<a.length;i++) {
if(a[i] == 'a' ) i1++;
if(a[i] == 'b' ) i2++;
}
System.out.println(i1+"\t"+i2);
}
}
答案:【运行结果】
4 3
解析:
19.写出下列程序的运行结果
public class X6_3_5 {
public static void main(String[] args) { String str ="abcdabcabdaeff";
char[] a = CharArray();
int b[] = new int[5],i;
for(i=0;i<a.length;i++) {
switch (a[i]) {
case 'a': b[0] ++; break;
case 'b': b[1] ++; break;
case 'c': b[2] ++; break;
case 'd': b[3] ++; break;
default : b[4] ++;
}
}
for(i =0; i<5; i++)
System.out.print(b[i]+"\t");
System.out.println();
}
}
答案:【运行结果】
4 3 2 2 3
解析:
20.写出下列程序的运行结果
public class X6_3_6 {
public static void main(String[] args) { int a[] = {76,83,54,62,40,75,90,92,77,84}; int b[] = {60,70,90,101};
int c[]=new int[4],i;
for (i=0; i<a.length; i++)
{ int j =0;
while (a[i] >= b[j] ) j ++;
c[j] ++;
}
for (i=0; i<4; i++)
System.out.print(c[i]+"\t");
System.out.println();
}
}
答案:【运行结果】
2 1 5 2
解析:
21.写出下列程序的运行结果

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。