A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

问题1:
        下面代码的输出结果是什么
             int[] arr = new int[20];
             System.out.println(arr[1]);
正确答案:0,为什么不是null?

问题2:
           下面哪个语句正确地声明一个整型的二维数组
                    A. int arr1[][] = new int[][];
                    B.int arr2[10][10] = new int[][];
                    C.int []products[] = new int[30][];
                    D.int names[][] = new int[][10];
答案:C,我知道ABC都是错的,二维数组可以这样声明吗?

问题3:
           下面代码的输出结果是什么?
               String s1 = new String("hello");
               s1 = s1.replace('e','x');
               String s3 = "hxllr";
               String s4 = "hxllr";
               String s2 = s1.replace('o','r');
               System.out.println(s2);
               System.out.println(s2 == s3);
               System.out.println(s3 == s4);
      A.hxllr       B.hxllr       C.hxllr        D.以上全不对
         false         true           true
         true          true           false
答案:A,这题似懂非懂,地址?引用?

问题4:
         下面哪些赋值语句是正确的?(多选)
               A.int test = 012;
               B.float f = -412;
               C.int other = (int) true;
               D.double d = 0x12345678;
答案:A、B、D,通一套题,前面有一个单选,C却是对的?答案错了?

问题5:
          String类型的值传递是什么传递?

谢谢各位亲朋好友了(づ ̄ 3 ̄)づ

7 个回复

正序浏览
int other = (int) true;是错误的,boolean类型的值是无法强转的
回复 使用道具 举报
我是来看题的
回复 使用道具 举报
建议仔细看下视频教程,尤其是传智播客刘意的那个基础视频,这几个题都有讲过
回复 使用道具 举报
第一题因为会有默认初始化,int型默认值0
回复 使用道具 举报
问题3:
           下面代码的输出结果是什么?
               String s1 = new String("hello");
               s1 = s1.replace('e','x');
               String s3 = "hxllr";
               String s4 = "hxllr";
               String s2 = s1.replace('o','r');
               System.out.println(s2);
               System.out.println(s2 == s3);
               System.out.println(s3 == s4);
      A.hxllr       B.hxllr       C.hxllr        D.以上全不对
         false         true           true
         true          true           false
第一个hxllr没问题吧

第二个因为凡是有关String操作的方法返回的都是新的new出来的字符串,具体的看源码,反正你也看不懂,我也看不懂,记到就行了,String类有一个常量池,跟new出来的不一样,如果没new,直接Sting s = "hello"这样赋值的话s直接指向该常量池对应的hello的地址,如果是通过String s = new String("hello"),这种方式指向hello的话就是s指向new 出来的这个地址,new这里面再指向常量池地址,所以是两个指向的地址不一样,false


评分

参与人数 1黑马币 +1 收起 理由
洋葱头头 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
问题2:
           下面哪个语句正确地声明一个整型的二维数组
                    A. int arr1[][] = new int[][];
                    B.int arr2[10][10] = new int[][];
                    C.int []products[] = new int[30][];
                    D.int names[][] = new int[][10];

二维数组初始化的问题:
int[][] arr = new int[]10[];  前面两个[][不能填数字,后面两个第一个一定要填,因为这是静态初始化,后面一个可以不填,也可以填

评分

参与人数 1黑马币 +1 收起 理由
洋葱头头 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
问题1:建议你看一下数组的两种初始化的方方式, 这种 方式是静态初始化,为数分配固定的空间大小,会对里面的数值进行默认初始化 int类型的默认是0   
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马