zoukankan      html  css  js  c++  java
  • 给自己的测验差点没及格

    给定一下程序段:

    int i = 0,j = -1;
    switch(i) {
    case 0:j=1;
    //break;
    case 1:j=2;
    //break;
    case 2:j=2;
    //break;
    default:j=5;
    //break;
    }
    System.out.println("j=" + j)

    编译之后,正确的是(D)

    A. j=-1 B、j =1 C、j=2 D j= 5

     

    // switch的case穿透性,

     

    有如下程序段:空不选

    String unset = null;
    if (unset != null && unset.length() > 5) {
    System.out.println("Hello World!");
    }

    则执行以上程序段后,以下选项描述正确的是(D)

    A 运行时出现错误 B 编译正确但运行时空指针异常

    C 编译时出现空指针异常 D 没有任何错误出现

     

    //null在为常量赋值时,会成为一种特殊的常量,null常量,可以参与比较,但是不可以被引用,比如equals.就会报空指针异常。

     

    有一下代码段:

    int i = 0;
    for (; i <100; i++){
    if (i == 10) { break; }
    }
    System.out.println("i = " + i);

    则执行后程序的输出结果为:(A)

    A i = 10 B 10 C 9 D i = 9

     

    //虽然没写进for,但他依然能够读到i的值,因为有足够的判断和迭代语句。

     

    如下Java代码段

    String a = "abcdefg";String b = new String("abcdefg");
    System.out.println(a==b);

    运行后,该程序的输出结果是(B)

    A true B false C 0 D 编译错误。

     

    //new出来的String和使用字符串特殊创建的String对象,new出来的对象并不会因为对象值一样而地址相同,只有同为使用String创建对象,并且对象名一样的时候,才会指向同一个字符串常量池中的同一个地址。

     

    下面哪个不是Java关键字 A

    A integer B double C float D default

     

    // integer 是包装类的类名 而其他为关键字。。

     

    下列标识符命名原则中,正确的是(D)

    A 类名的首字母小写// 大写

    B 变量的首字母大写// 小写

    C 方法名首字母大写// 小写

    D 常量完全大写// final

     

     

    // 常量要完全大写!!

     

    有一段java应用程序,它的的主类名是a1,那么保存它的源文件名可以是(A)

    A a1.java B a1.class C a1 D 都对

    //不应该怀疑自己的判断,他的源文件就是java文件!

     

    score是一个整形数组,有5个元素,已经正确初始化并赋值,仔细阅读下面代码,程序运行结果是(D)

    temp = score[0];// 变量未定义不能使用,变量未初始化也不能使用
    for (int index = 1; index < 5;index++){
    if (score[index] < temp)
    {
    temp = score[index];
    }
    }

    A. 求最大数 B 求最小数 C 找到数组最后一个元素 D 编译错误。

    //粗心大意 temp没有经过初始化 int 类型和常量赋值。

    int a[] = {1,2},b = 2, i = 0;则 a[i++] += b;执行后: i++ 后加加 先运算后相加 a[0] += 2 ---> a[0] = 3 ---> i++ ----> i =1

    i=____1___,a[i] =___2______;

    //i++只有经过运算之后才会自加 a[i++]+=b   a[0]=a[0]+2   i++  所谓 a[i]现在指向了a[1],而a[1]的值没有经过修改所以还是2

    程序段 int i= 1;int j = i++;if(i ++ >j) i=i+j;运行后i的值是

    int i = 1;
    int j = i++;// j = 1 i = 2;
    if((i++ > j) && (i++ == j))// j = 1 i =3
    i = i+j;// 3 + 1
    i的值 2

    //j的i==处于if语句的上方,已经被读取了,所以i++生效。此时if里的语句i=2>j的全新的j++=1此时经过了第二级i++生效,进入if语句方法体内容,此时的j还是1并没有没多重的i++赋值,因为他的i每次运算过后才会运算,但是没有二次赋值,此时的i=3+1;

     

     

     

  • 相关阅读:
    python基础-6 字典相关练习题
    python基础-5
    python基础-4
    python基础-3
    读书笔记:深入理解ES6 (七)
    读书笔记:深入理解ES6 (六)
    读书笔记:深入理解ES6 (五)
    读书笔记:深入理解ES6 (四)
    读书笔记:深入理解ES6 (三)
    读书笔记:深入理解ES6 (二)
  • 原文地址:https://www.cnblogs.com/rosiness/p/14027719.html
Copyright © 2011-2022 走看看