Java每日一练(2017/7/7)

1

(单选题)有以下程序片段,下列哪个选项不能插入到行 1 。()。

1.

2.public class A{

3.//do sth

4. }

A public classMainClass{ }

B package mine;

C classANotherClass{ }

D importjava.util.*;

2

(单选题)设有定义 int a=3 ,b=4,c=5; 则以下的表达式中 , 值为 false 的是 ()

A a < b&& b < c

B a <= b

C a < ( b + c )

D ! ( a < b )

3

(单选题)Given the following code:

publicclassTest {

privatestaticintj = 0;

privatestaticBoolean methodB(intk) {

j += k;

returntrue;

}

publicstaticvoidmethodA(inti) {

booleanb;

b = i < 10| methodB(4);

b = i < 10|| methodB(8);

}

publicstaticvoidmain(String args[]){

methodA(0);

System.out.println(j);

}

}

What isthe result?

A The programprints”0”

B The programprints”4”

C The programprints”8”

D The programprints”12”

E The code doesnot complete.

4

(单选题) 下列命令中,用来运行 Java 程序的是()

A java

B javadoc

C jar

D javac

5

(不定项选择题) Considerthe following code:

String s=null;

Which code fragments cause an object of type NullPointerException to be thrown?

A if((s!=null)&(s.length()>0))

B if((s!=null)&&(s.length()>0))

C if((s==null)|(s.length()==0))

D if((s==null)||(s.length()==0))

6

(不定项选择题) 实现或继承了Collection接口的是()

A Map

B List

C Vector

D Iterator

E Set

1

(单选题)有一个源代码,只包含importjava.util.* ; 这一个import语句,下面叙述正确的是? ( )

A 只能写在源代码的第一句

B 可以访问java/util目录下及其子目录下的所有类

C 能访问java/util目录下的所有类,不能访问java/util子目录下的所有类

D 编译错误

正确答案是:C

解析

导入java.util.*不能读取其子目录的类,因为如果java.util里面有个a类,java.util.regex里面也有个a类,我们若是要调用a类的方法或属性时,应该使用哪个a类呢。所以也应该选C

2

(单选题) 多个线程可同时操作一个数据,为了保证该数据的准确性,可将操作该数据的部分改为 ()

A 同步

B 异步

C 只读

D 只写

正确答案是:A

解析:

多个线程可同时操作一个数据,为了保证该数据的准确性,可将操作该数据的部分改为同步。

同步方法和同步代码块的区别是什么?

同步方法 ( 粗粒度锁 ):

1. 修饰一般方法 : public synchronized void method (){...}, 获取的是当前调用 对象 this 上的锁

2. 修饰静态方法 : public static synchronized void method (){...}, 获取当前类的 字节码对象上的锁

同步代码块 ( 细粒度锁 ):

synchronized ( obj ) {...}, 同步代码块可以指定获取哪个对象上的锁 , obj 任意

3

(单选题)A派生出子类B,B派生出子类C,并且在java源代码中有如下声明:

A a0=new A();

A a1=newB();

A a2=newC();

以下哪个说法是正确的?

A 第1行,第2行和第3行的声明都是正确的

B 第1,2,3行都能通过编译,但第2,3行运行时出错

C 第1,2行能通过编译,但第3行编译出错

D 只有第1行能通过编译

正确答案是:A

解析:

多态的三种表现形式:继承重写,重载,向上转型。A a=new B()属于向上转型,该语句创建了一个B的对象,并将A的对象变量(引用)指向B的对象,即父类引用指向子类对象,是可以的

4

(单选题)选项中哪一行代码可以替换 //add code here 而不产生编译错误

public abstract class MyClass {

public intconstInt = 5;

//add codehere

public voidmethod() {

}

}

A public abstractvoid method(int a);

B consInt=constInt+5;

C public intmethod();

D public abstractvoid anotherMethod(){}

正确答案是:A

解析:

B.类中不能直接进行运算,可以写在代码块和静态代码块中

C.和method()重复了

D.abstract不能有{}

5

(单选题) 在基本JAVA类型中,如果不明确指定,整数型的默认是什么类型?带小数的默认是什么类型?

A int float

B int double

C long float

D long double

正确答案是:B

解析:

Java中,如果对整数不指定类型,默认时int类型,对小数不指定类型,默认是double类型

如果要指定长整型,最好写为long a = 100000000L,如果要指定为单精度最好写为float a= 12.34F

6

(单选题) Whichlines of the following will produce an error?

1. byte a1 = 2,a2 = 4, a3;

2. short s = 16;

3. a2 = s;

4. a3 = a1 * a2;

A Line 3 and Line4

B Line 1 only

C Line 3 only

D Line 4 only

正确答案是:A

解析:

1、 Java中整数默认 类型为int型,浮点默认为double型;

2、对于byte型运算时,会自动转化为int 型;

3、对于byte\short\char同级别运算时,需要强制转换;

4、高级型向低级需要强制类型转换;

高级向低级必须强制类型转换byte<char<short<int<long<float<double

short,byte,char是同级别的,所有逻辑操作都会自动转换成int型再进行相关运算

原文发布于微信公众号 - java学习(javaxxf)

原文发表时间:2017-07-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏liulun

Nim教程【十二】

排除指定符号 一般情况下使用import语句,会把一个模块内的符号都导入进来 如果你像排除特定的符号(不想让某些符号被导入进来) 可以使用except子句 就像...

239100
来自专栏coding

redis列表list类型详解

68620
来自专栏一个会写诗的程序员的博客

Shell 极简教程Hello World变量函数运算符字符串数组for 循环if elseShell test 命令

注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样。同时,变量名的命名须遵循如下规则:

12810
来自专栏Android开发指南

7:多线程

31080
来自专栏coding for love

JS入门难点解析5-变量对象

(注1:如果有问题欢迎留言探讨,一起学习!转载请注明出处,喜欢可以点个赞哦!) (注2:更多内容请查看我的目录。)

13940
来自专栏技术小站

编程填空:第i位替换 编程填空:第i位取反 编程填空:左边i位取反

写出函数中缺失的部分,使得函数返回值为一个整数,该整数的第i位和m的第i位相同,其他位和n相同。

24910
来自专栏nnngu

015 反射中的 Class.forName() 与 ClassLoader.loadClass() 的区别

Class.forName() 与 ClassLoader.loadClass() 大家都知道是反射用来构造类的方法,但是他们的用法还是有一定区别的。 在讲区别...

27030
来自专栏Java 源码分析

Java 虚拟机运行时数据区

运行时数据区: Java 虚拟机的运行时数据区按照大的可以分为线程独立使用的数据区,和所有线程共享的数据区。 一.线程独立使用数据区 1.程序计数器 程序计数器...

35440
来自专栏Java 源码分析

Java 虚拟机运行时数据区

运行时数据区: Java 虚拟机的运行时数据区按照大的可以分为线程独立使用的数据区,和所有线程共享的数据区。 一.线程独立使用数据区 1.程序计数器 程序计数器...

28250
来自专栏向治洪

java造成内存泄露原因

一、Java内存回收机制  不论哪种语言的内存分配方式,都需要返回所分配内存的真实地址,也就是返回一个指针到内存块的首地址。Java中对象是采用new或者反射的...

366100

扫码关注云+社区

领取腾讯云代金券