网络日志

每日一题——初始Java语言练习

第一题:

解析

答案:B

java规定类名首字母必须大写,这里可以直观的看出来Boolean是一个引用类型,不是基本数据类型。

java中的基本数据类型都对应一个引用类型,如Float是float的引用类型,Integer是int的引用类型。

第二题:

解析

本题涉及到两个知识点:

  • num++ 是先赋值,然后再自增,++num 是先自增,然后再赋值
  • switch代码块在没有break关键字时会发生case穿透现象本题num=2,所以匹配到 case2,执行++num,num的值变为3。但此时因为没有break关键字,case被穿透,程序会继续向下执行。进入case3执行++num,num值变为4,case3中也没有break关键字,那么程序继续执行进入default又一次++num,num变为5,这是才遇到break关键字跳出。因此答案为D 

第三题:

解析:

System是java.lang中的类,out为System中的一个静态成员,out是java.io.PrintStream类的对象,而println()是java.io.PrintStream类的方法,所有可以调用类.静态方法.println()方法。

第四题:

解析:

C选项,compareTo是String类的方法,按字典顺序比较两个字符串大小,返回值是int,时常出现在一些类构造器中,如TreeMap 。

第五题:

解析:

构造函数的作用是完成对象的初始化。当程序执行到new操作符时, 首先去看new操作符后面的类型,因为知道了类型,才能知道要分配多大的内存空间。分配完内存之后,再调用构造函数,填充对象的各个域,这一步叫做对象的初始化。而选项B、D中,对象的初始化并不是通过构造函数完成的,而是读取别的内存区域中的对象的各个域来完成。