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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 梅子派 中级黑马   /  2015-12-13 20:37  /  1277 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1.下面程序执行的结果是?(C )
                boolean b=true;                        //定义一个布尔类型变量,只是true
                if(b=false)                        //赋值语句,将false赋值给b,括号里面的值是false,不执行
                {
                        System.out.println("a");
                }
                else if(b)                        //b的值是false,所以也不执行
                {
                        System.out.println("b");       
                }
                else if(!b)                        //b的值是false,取反后是true,执行,输出c,结束循环
                {
                        System.out.println("c");
                }
                else
                {
                        System.out.println("d");
                }
        A.        a   
        B.        b  
        C.        c
        D.        d
易错点:if(b=false) 是赋值语句,将false赋值给b,括号里面的值是false,不执行

2.下列函数中能和函数int max(int  a,  int  b, double  c)构成重载关系的是( BC )
        A.  double  max(int  a, int  b, double  c)         //参数列表要不同,此处相同了
        B.  void  max(int  a, double  c, int  b)        // 对应位置参数类型不同
        C.  int  max(double a, int  b)                        //参数列表(个数)不同
        D.  int  max(int  x, int  y, double  z)         //跟参数列表的变量名无关
易错点:B选项,对应位置参数列表的类型不同也是重载,还有D选项,跟参数列表的变量名无关。
方法重载Overload:
        同一个类中,出现方法名相同,参数列表不同(个数,对应的类型)的两个或两个以上的方法时称为方法重载,方法重载与返回值的数据类型无关。

3.JDK1.7之后,switch语句后括号里的表达式可以是以下哪种类型(ABD)
        A.  char
        B.  String
        C.  long         // 没有
        D.  枚举类型
易错点:此题考的是JDK1.7之后,switch语句后括号里的表达式支持的所有类型,而不是说JDK1.7之后才支持的什么类型。
switch(表达式)表达式可以是哪种类型?
                byte,short,char,int,JDK1.5以后支持枚举,JDK1.7以后支持字符串(String)。

4.下面的哪一个程序片断可能导致错误。 ( B   )
        A.
           String s = "Gone with the wind";
           String t = " good ";
           String k = s + t;
        B.
           String s = "Gone with the wind";
           String t;
          t = s[3] + "one";                  //s[3]错误,需要数组,并未定义数组

        C.
          String s = "Gone with the wind";
          String standard = s.toUpperCase();
        D.
          String s = "home directory";
          s = s + "directory";
易错点:变量要先定义再使用,不能使用为定义的元素。

5.下列哪个声明是错误的?(BC)
        A.  int  i=10;
        B.  float  f=1.1;                //要float  f=1.1f;这样定义,小数默认类型是double类型
        C.  int other = (int) true;        //boolean类型不参与运算
        D.  byte  b=127;
易错点:整数默认类型是int类型,小数默认类型是double类型,定义float类型时要在后面加一个f;还有就是boolean类型不参与运算

6.下面程序执行的结果是( B)
                        public static void main(String [] args)
                        {
                                int num=100;                //定义整型变量赋值100
                                if(num ++>100);         //如果num ++>100则继续,否则不执行,但是后面直接加了分号,
                                {
                                num =200;                //代码块,给num赋值200
                                }
                                System.out.println(num);//输出200
                        }
        A.  100
        B.  200
        C.  201
        D.  101  
易错点:看清代码,if(num ++>100); 没有方法体,容易错选成D

7.编译如下代码,编译运行时,结果是(A)
                        public static void main(String[] atgs){
                                for(int i=0;i<3;i++){
                                        System.out.print(i);
                                }
                                System.out.print(i);         //i已被释放,未定义

                        }
A.        编译时报错
B.  正确运行,输出012
C.  正确运行,输出123
D.  正确运行,输出0123
易错点:for循环里面定义的变量,随着for循环的结束就释放了,在外面不能再被调用

8.下面关于代码String str = new String(“abc”);描述正确的是( bc  )
        a) 创建了一个字符串对象
        b) 创建了两个对象,一个是new String(  )对象,一个是”abc”对象
        c) str.equals(“abc”);将返回true     //String方法重写了equals方法
        d) str.equals(“abc”);将返回false
易错点:String方法默认重写了equals方法

9.对字符串的说法正确的是( d   )
        a) 字符串是基本数据类型        //引用类型
        b) 字符串值存储在栈内存中      //存储在常量池
        c) 字符串值初始化后可以被改变  //不可以
        d) 字符串值一旦初始化就不会被改变   
易错点:字符串值一旦初始化就不会被改变,是对的,这里的“不能发生改变”指的是字符串在常量池中的值不能发生改变,因为字符串是常量。

10.下面代码运行的结果是( a  )
                ArrayList<String> al = new ArrayList<String>();//定义一个泛型是String类型的集合
                al.add(true);                //true是布尔类型
                al.add(123);                //123是基本数据类型
                al.add(“abc”);
                System.out.println(al);
        a) 编译失败
        b) [true,123]
        c) [true,123,abc];
        d) [abc];
易错点:泛型是一种安全机制,使用泛型避免了强制类型转换,这里要添加泛型指定的类型

11.关于将int数组使用系统提供的API转成集合后,不可以进行的操作是(  a   )
        a) 增加集合中的元素                        //数组长度是固定的,改变之后运行会报错
        b) 迭代集合
        c) 修改集合中的元素
        d) 获取集合中元素的个数
易错点:数组数组长度是固定的,转成集合之后,一样不能改变长度,改变之后运行会报错

12.ArrayList的初始化内容如下:
                        ArrayList<String> list = new ArrayList<>();
                                list.add("java");
                                list.add("aaa");
                                list.add("java");
                                list.add("java");
                                  list.add("bbb");
  下面可以删除list中所有的“java”的代码是(  a )
          a)
        for (int i = list.size()-1; i >= 0; i--) {               
                        if("java".equals(list.get(i))){               
                                list.remove(i);
                        }
          }
          b)
          for (int i =0; i < list.size(); i++) {                        //当删除一个元素时,对应索引向前移动一个,
                        if("java".equals(list.get(i))){                //i++的时候会跳到下一个元素,会漏删
                                list.remove(i);
                        }
          }
         c)  list.remove("java");                //remove(int index)

          d)  list.removeAll("java");               

易错点:remove()进行删除操作的时候,不会自动装箱,也就是说,我们传的整数会直接被识别为:索引。

评分

参与人数 3黑马币 +15 收起 理由
redsifei + 5 很给力!
LOVE毛豆豆 + 5 赞一个!
guoguo291 + 5 赞一个!

查看全部评分

10 个回复

倒序浏览
!!!!!!!
回复 使用道具 举报
多谢分享
回复 使用道具 举报
貌似我都做过
回复 使用道具 举报
很不错啊!!!
回复 使用道具 举报
谢谢分享,还没看过呢。
回复 使用道具 举报
很多知识我也不太会,感谢分享
回复 使用道具 举报
感谢楼主的分享
回复 使用道具 举报
多谢分享
回复 使用道具 举报
谢谢分享
回复 使用道具 举报
谢谢分享 希望以后多晒晒
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马