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.下列代码的执行结果是

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++]);
}

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

孙小小白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值