文档章节

五道java选择题,一题一个易错点

孟飞阳
 孟飞阳
发布于 2017/03/18 08:05
字数 591
阅读 115
收藏 0
  1. 下列代码在1.5以后版本的JVM中的执行结果是?

    public class Example {
    
    public static void main(String[] args) {
    
    Integer i1 = -128;
    
    Integer i2 = -128;
    
    Integer i5 = -129;
    
    Integer i6 = -129;
    
    System.out.println(i1 == i2);
    
    System.out.println(i1.equals(i2));
    
    System.out.println(i5 == i6);
    
    System.out.println(i5.equals(i6));
    
    }
    
    }

    A. 代码不能编译通过,因为赋值运算左右数据类型不一致

    B. false true false true

    C. true true false true

    D. true true true true

    可以先看看这篇文章《包装类型实例优先使用整数池的解析

  2. 下列代码的执行结果是( )

    public class Example {
    
      public static void main(String[] args) {
    
      List list = new ArrayList();
    
         list.add("a");
    
         list.add("b");
    
        list.add("c");
    
      List<Integer> intList = list;
    
        for (int i = 0; i < list.size(); i++) {
    
        System.out.println(intList.get(i));
    
      }
    
     }
    
    }

    A. 第7行编译错误,因为列表的泛型类型不同

    B. 编译成功,运行时在第9行出现类型转换错误

    C. 输出a b c

    D. 编译成功,无任何输出

  3. 下列代码的执行结果是?()

    public class Example {
    
    public static void main(String[] args) {
    
    Object str = "test";
    
    Math math = (Math) str;
    
    System.out.println(math instanceof String);
    
    }
    
    }

    A. 程序编译成功,运行时在第4行出现对象造型异常

    B. 程序编译失败

    C. true

    D. false

  4. 以下代码的执行结果是?

    public class Example {
    
    public static void main(String[] args) {
    
    TreeSet<String> t = new TreeSet<String>();
    
    if (t.add("one"))
    
    if (t.add("two"))
    
    if (t.add("three"))
    
    t.add("four");
    
    for (String s : t) {
    
    System.out.print(s);
    
    }
    
    }
    
    }

    A. one

    B. onethreetwo

    C. onetwothreefour

    D. fouronethreetwo

  5. 下列代码执行的结果是( )

    public class Example {
    
    public static void stringReplace (String text) {
    
    text = text.replace (‘j’ , ‘i’);
    
    }
    
    public static void bufferReplace (StringBuffer text) {
    
    text.append (“C”);
    
    text=new StringBuffer(“Hello”);
    
    text.append(“World!”);
    
    }
    
    public static void main (String args[]) {
    
    String textString = new String (“java”);
    
    StringBuffer textBuffer = new StringBuffer (“java”);
    
    stringReplace (textString);
    
    bufferReplace (textBuffer);
    
    System.out.println (textString + textBuffer);
    
    }
    
    }

    A. iavaHelloWorld

    B. javajavaC

    C. javaHelloWorld

    D. iavajavaC

参考答案:CCBDB

第一题优先使用整数池没问题,

第二题Java所谓的泛型,其实就是一颗语法糖。C#的泛型是基于类型膨胀,那是真正的实现,但Java的泛型只存在于源码中,在编译后就已经不存在了,变为了原生类型,也叫裸类型,这也就是著名的类型擦除了!所以,对运行期的Java来说,ArrayList String和 ArrayList int没有区别。泛型,只是编译器的一个小把戏而已啦!这种实现,也叫伪泛型!

第三题的话instanceof运算符的应用,

第四题字符串的排序是按照Unicode排序,

第五题StringBuffer和String的区别。

本文转载自:http://www.toutiao.com/i6398413171178078721/

孟飞阳
粉丝 217
博文 1056
码字总数 566359
作品 5
朝阳
个人站长
私信 提问
最新scjp认证考试技巧

Java以其平台无关性、面向对象、支持多线程等优点成为越来越多的程序开发人员的新宠,Java技术以其独特的优势在越来越多的领域得以使用和发展。作为程序开发人员,为了检验对Java掌握的程度,...

vdhafy
2011/03/09
257
1
Java老司机看过来,这些基础知识都掌握了吗?20道选择题,测测你的Java基础水平

你是Java新手还是高手?Java开发基础技术你掌握了多少?快来测一测吧!我们还为你准备了Java零基础入门教程 答题开始即开始计时,中途不可暂停,如超时则自动提交 1、考试共(20)道选择题,...

wd1095864717
2017/06/23
2
0
提给程序员和开发者的 10 道 Java 泛型面试题

关于泛型的面试题在 Java面试中变得越来越常见,因为 Java 5问世已经有相当长的时间了,越来越多的应用已经迁移到Java 5上来了,并且几乎所有新的Java开发工作也都是在Tiger(Java 5的项目代号...

lwei
2013/10/18
13.6K
30
Java面试:投行的15个多线程和并发面试题

本文由ImportNew -一杯哈希不加盐 翻译自dzone。欢迎加入翻译小组。转载请见文末要求。 多线程和并发问题已成为各种 Java 面试中必不可少的一部分。如果你准备参加投行的 Java 开发岗位面试,...

ImportNew
2018/08/23
0
0
BAT等大厂Android面试书单和知识点清单

java是Android开发的基础,在BAT的初面中,会涉及到比较多的java基础知识,所以比较重要,下面我介绍的书籍内容是由浅到深。 1.Thinking in java:这本书被称为Java的三大圣经之一,虽然书比...

android自学
2018/07/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

JS 打印控制

JS 打印控制 var PrintStartString = "<!--打印开始标示符-->";//设置打印开始区域var PrintEndString = "<!--打印结束标示符-->";//设置打印结束区域var HtmlText = window.do......

DrChenXX
11分钟前
5
0
LevelDB:使用介绍

LevelDB 提供的接口其实很简单,下面举例进行简单说明。 安装 git clone https://github.com/google/leveldb cd leveldb mkdir -p build && cd build cmake -DCMAKE_BUILD_TYPE=Release .. ......

slagga
16分钟前
5
0
《JavaScript正则表达式迷你书》读书笔记

正则基础 常见简写形式 字符组 具体含义 记忆方式 \d 表示 [0-9]。表示是一位数字。 其英文是 digit(数字) \D 表示 [^0-9]。表示除数字外的任意字符。 \w 表示 [0-9a-zA-Z_]。表示数字、大小...

muzi131313
21分钟前
4
0
Git的反悔操作

概述 这次主要来讲讲Git的反悔操作,自己平时在写代码的过程中经常会出现想要弃用所有的改动或回滚到上一次commit的情况。Git上的反悔操作有reset、rebase、revert等,每个操作各有区别和对应...

duduYZ
21分钟前
2
0
实现双向绑定Proxy比defineproperty优劣如何?

前言 双向绑定其实已经是一个老掉牙的问题了,只要涉及到MVVM框架就不得不谈的知识点,但它毕竟是Vue的三要素之一. Vue三要素 响应式: 例如如何监听数据变化,其中的实现方法就是我们提到的双向...

寻找海蓝
33分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部