该路径下存放了JDK的各种工具命令,常用的javac、java等命令就放在该路径下。
C 语言头文件,支持用Java本地接口和Java虚拟机接口 来实现本机代码编程
JDK自含JRE的根目录,这是系统属性java.home所指向的目录
bin: 包含执行文件和dll等库文件,可执行文件和jdk/bin是一样,本目录不需要被PATH所包含
该路径下存放的是JDK工具命令的实际执行程序。(即bin中绝大部分命令运行的是lib中程序)
2-17
下列哪些语句关于Java内存回收的说明是正确的? ( )
A.程序员必须创建一个线程来释放内存
B.内存回收程序负责释放无用内存
C.内存回收程序允许程序员直接释放内存
D.内存回收程序可以在指定的时间释放内存对象
在Java里,内存的释放由垃圾回收程序进行管理,程序员不能直接进行释放。
程序员可以调用System.gc()运行垃圾回收器,但是不能指定时间。
下述哪条关于构造方法的说法,不符合Java语法的规定( )。
A.每个类至少有一个构造方法
B.构造方法必须与类同名
C.构造方法无返回值,其返回值类型必须写为void
D.构造方法可以是private的
Java类 必须包含一个或一个以上的构造方法,没写构造方法Java也会自己初始化一个无参构造方法
构造方法也可以是私有的private,私有构造器,就是用private关键字声明的构造器。与一般公有构造器最大的区别在于,其访问权限是private,于是它只能被包含它的类自身所访问,而无法在类的外部调用,故而可以阻止对象的生成。所以,如果一个类只有一个私有构造器,而没有任何公有构造器,是无法生成任何对象的。详情请见https://blog.csdn.net/StaticFinal520/article/details/56014312?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-2.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-2.control
2-2
异常包含下列那些内容?
A.程序中的语法错误
B.程序的编译错误
C.程序执行过程中遇到的事先没有预料到的情况
D.程序事先定义好的可能出现的意外情况
下列关于System类的叙述中,错误的是( )。
A.System类是一个final类
B.System类不能实例化
C.System类中没有定义属性
D.System类主要提供了系统环境参数的访问
System类代表系统,系统级的很多属性和控制方法都放置在该类的内部。该类位于java.lang包。
由于该类的构造方法是private的,所以无法创建该类的对象,也就是无法实例化该类。其内部的成员方法和成员变量都是static(静态)的,所以也可以很方便的调用他。
system中包含了in、out和err三个成员变量,分别代表标准输入流(键盘输入)、标准输出流(显示器)和标准错误输出流(显示器)
执行完以下代码int [ ] x = new int[10];后,以下哪项说明是正确的( )。
A.x[9]为0
B.x[9]未定义
C.x[10]为0
D.x[0]为空
1、int类型定义的数组,初始化默认是0
2、String类型定义的数组,默认值是null
3、char类型定义的数组,使用UTF8字符集 给出的结果是
4、double类型定义的数组,默认值是0.0
5、float类型定义的数组,默认值是0.0
6、boolean类型定义的数组,默认值是false
在Java中用什么关键字修饰的方法可以直接通过类名来调用?( )。
A.static
B.final
C.private
D.void
引用百度经验里的方法回答这个问题https://jingyan.baidu.com/article/9f7e7ec0e61d9d6f2915546e.html
静态方法的调用方式,类名称+方法名;
编写TestStatic类,其有一个静态方法和一个实例方法。
然后编写测试类,使用类名称+方法名,去调用这两个方法,发现调用test2时,编译器报错,其不是一个类方法。
然后创建
TestStatic的一个实例ts,然后使用ts可以调用test2。
Java中()。
A.一个子类可以有多个父类,一个父类也可以有多个子类
B.一个子类可以有多个父类,但一个父类只可以有一个子类
C一个子类可以有一个父类,但一个父类可以有多个子类
D.上述说法都不对
这个题可以说相当经典了,java舍弃了C++中复杂的子类继承多个父类的功能,一个子类只能继承一个父类,一个父类能被多个子类继承。
6.要从文件" file.dat"文件中读出第10个字节到变量C中,下列哪个方法适合? A
A、 FileInputStream in=new FileInputStream("file.dat"); in.skip(9); int c=in.read();
B、 FileInputStream in=new FileInputStream("file.dat"); in.skip(10); int c=in.read();
C、 FileInputStream in=new FileInputStream("file.dat"); int c=in.read();
D、 RandomAccessFile in=new RandomAccessFile("file.dat"); in.skip(9); int c=in.readByte();
11.下列代码哪几行会出错: C
1) public void modify() {
2) int I, j, k;
3) I = 100;
4) while ( I > 0 ) {
5) j = I * 2;
6) System.out.println (" The value of j is " + j );
7) k = k + 1;
8) I--;
9) }
10} }
A、 line 4
B、 line 6
C、 line 7
D、 line 8
未初始化
12.MAX_LENGTH是int型public成员变量, 变量值保持为常量100,用简短语句定义这个变量。 D
A、 public int MAX_LENGTH=100;
B、 final int MAX_LENGTH=100;
C、 final public int MAX_LENGTH=100;
D、 public final int MAX_LENGTH=100.
变量:final成员变量表示常量,只能被赋值一次,赋值后值不再改变。
方法:只有在想明确禁止 该方法在子类中被覆盖的情况下才将方法设置为final的
类:当用final修饰一个类时,表明这个类不能被继承。也就是说,如果一个类你永远不会让他被继承,就可以用final进行修饰
20.对于下列代码:
public class Parent {
public int addValue( int a, int b) {
int s;
s = a+b;
return s;
}
}
class Child extends Parent {
}
下述哪些方法可以加入类Child? C
A、 int addValue( int a, int b ){// do something...}
B、 public void addValue (int a, int b ){// do something...}
C、 public int addValue( int a ){// do something...}
D、 public int addValue( int a, int b )throws MyException {//do something...}
23.给定下面的代码片段: C
1) String str = null;
2) if ((str != null) && (str.length() > 10)) {
3) System.out.println("more than 10");
4) }
5) else if ((str != null) & (str.length() < 5)) {
6) System.out.println("less than 5");
7) }
8) else { System.out.println("end"); }
哪些行会导致错误?
A、 line 1
B、 line 2
C、 line 5
D、 line 8
注意逻辑与是“&&”,按位与是“&”
30.下列关于Java线程的说法那些是正确的() D
A、 每一个Java线程可以看成由代码、一个真实的CPU以及数据三部份组成。
B、 创建线程的两种方法中,从Thread类中继承的创建方式可以防止出现多父类问题。
C、 Thread类属于java.util程序包。
D、 以上说法无一正确。
33.指出下列程序的运行结果 B
int i = 9;
switch (i) {
default:
System.out.println("default");
case 0:
System.out.println("zero");
break;
case 1:
System.out.println("one");
case 2:
System.out.println("two");
}
A、 default
B、 default, zero
C、 error default clause not defined
D、 no output displayed那个
default没写break
35. 下面哪个单词是Java语言的关键字( B )
A、Float B、this C、string D、unsigned
float要小写,String要大写
36. 下面哪个是Java语言中正确的标识符( C )
A、3com B、import C、that D、this
标识符是给变量、方法和类来取名字的,第一个不能是数字,且不能是关键字
40. 下面哪个是对字符串String的正确定义 ( A )
A、String s1=null; B、String s2=’null’ ;
C、String s3=(String) ‘abc’ ; D、String s4=(String) ‘\uface’;
41. 下面哪条语句不能定义一个float型的变量( B )
A、float f1= -343 ; B、float f2=3.14 ;
C、float f3=0x12345 ; D、float f4=2.8F ;
float后面如果是小数要跟一个小写的f
42. 下面哪条语句定义了5个元素的数组( A )
A、int [] a={22,23,24,25,12};
B、int a []=new int(5);
C、int [5] array;
D、int [] arr;
46. 给出一段程序,试判断哪个是正确的结果( B )
public class rtEx‘’cept{
public static void throwit(){
System.out.print(“throwit”);
throw new RuntimeException(); }
public static void main(String [] aa){
try{
System.out.print(“hello “);
throwit(); }
catch(Exception re){
System.out.print(“caught ”); }
finally{
System.out.print(“finally ”); }
System.out.print(“after ”);
}
}
A、hello throwit caught
B、hello throwit caught finally after
C、hello throwit RuntimeException after
D、hello throwit caught finally after RuntimeException
57.下面哪个修饰符修饰的变量是所有同一个类生成的对象共享的( C )
A、public B、private C、static D、final
59.下面关于java中类的说法哪个是不正确的( C )
A、类体中只能有变量定义和成员方法的定义,不能有其他语句。
B、构造函数是类中的特殊方法。
C、类一定要声明为public的,才可以执行。
D、一个java文件中可以有多个class定义。
可以有多个Class,但只能有个是用public 修饰的Class,且和文件名一致,其他的class一般不加访问权限修饰(即class XXX{}形式)
60. 下面程序运行后的输出结果为( c )
class A
{static int y=6;
void showy( ){System.out.println(“y=”+y); } }
class testA
{
public static void main(String aaa [])
{ A a1=new A( );
A.y+=1; a1.y++;
a1.showy( );
}
}
输出结果选择:
A、y=6; B、y=7; C、y=8; D、程序运行出错
static是全局的变量,都能用,都能改
62. 下面关于构造函数的说法不正确的是( B )
A、构造函数也属于类的方法,用于创建对象的时候给成员变量赋值。
B、构造函数不可以重载。
C、构造函数没有返回值。
D、构造函数一定要和类名相同。
构造函数当然可以重载
66.监听事件和处理事件 B
A、都由Listener完成 B、都由相应事件Listener处登记过的构件完成
C、由Listener和构件分别完成 D、由Listener和窗口分别完成
68.给出如下代码:
class Test{
private int m;
public static void fun() {
// some code...
}
}
如何使成员变量m 被函数fun()直接访问? C
A、将private int m 改为protected int m
B、将private int m 改为 public int m
C、将private int m 改为 static int m
D、将private int m 改为 int m
静态成员函数只能够调用静态成员变量,不能访问普通变量。
发明静态函数的目的:操作静态变量,执行一些和特定对象无关的内容
69.下面的代码段中,执行之后i 和j 的值是什么? C
int i = 1;
int j;
j = i++;
A、 1, 1 B、1, 2 C、2, 1 D、2, 2
70.欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的 ? B
A、 ArrayList myList=new Object();
B、 List myList=new ArrayList();
C、 ArrayList myList=new List();
D、 List myList=new List();
73.指出下列程序运行的结果 D
public class Example{
String str=new String("good");
char[]ch={'a','b','c'};
public static void main(String args[]){
Example ex=new Example();
ex.change(ex.str,ex.ch);
System.out.print(ex.str+" and ");
Sytem.out.print(ex.ch);
}
public void change(String str,char ch[]){
str="test ok";
ch[0]='g';
}
}
A、 good and abc
B、 good and gbc
C、test ok and abc
D、 test ok and gbc
74.运行下列程序, 会产生什么结果 A
public class X extends Thread implements Runable{
public void run(){
System.out.println("this is run()");
}
public static void main(String args[])
{
Thread t=new Thread(new X());
t.start();
}
}
A、 第一行会产生编译错误
B、 第六行会产生编译错误
C、 第六行会产生运行错误
D、 程序会运行和启动
是Runnable不是Runable
84、如果类中的成员变量可以被同一包访问,则使用如下哪个约束符? D
A、 private B、public C、protected D、no modifier
86.MAX_LENGTH是int型public成员变量, 变量值保持为常量100,用简短语句定义这个变量。 D
A、 public int MAX_LENGTH=100;
B、 final int MAX_LENGTH=100;
C、 final public int MAX_LENGTH=100;
D、 public final int MAX_LENGTH=100.
120.对于catch子句的排列,下列哪种是正确的(A )
A.父类在先,子类在后
B.子类在先,父类在后
C.有继承关系的异常不能在同一个try程序段内
D.先有子类,其他如何排列都无关
124.在异常处理中,如释放资源、关闭文件、关闭数据库等由( C)来完成。
A.try子句 B.catch子句
C.finally子句 D.throw子句
133.Java虚拟机的执行过程有多个特点,下列哪个特点不属于JVM执行特点(D )
A.多线程 B.动态连接
C.异常处理 D.异步处理
144.Java中哪个类提供了随机访问文件的功能(A )
A.RandomAccessFile类 B.RandomFile类
C.File类 D.AccessFile类
145.当方法遇到异常又不知如何处理时,下列哪种说法是正确的( C)
A.捕获异常 B.抛出异常
C.声明异常 D.嵌套异常
146.Java程序的执行过程中用到一套JDK工具,其中java.exe是指( B)
A.Java文档生成器 B.Java解释器
C.Java编译器 D.Java类分解器
149.Java语言中,下列标识符错误的是(C )
A.diss B.—name
C.&count D.—j
152.下面说法不正确的是(B )
A.Java中线程是抢占式的 B.Java中线程是分时的
C.Java中的线程可以共享数据 D.Java中的线程可以共享代码
153.下面属于Java线程同步方法的方法有( C)
A.joiny() B.run()
C.wait() D.destroy()
155.下列说法不正确的是(C )
A.IOException必须被捕获或抛出
B.java语言会自动初始化变量的值
C.java语言不允许同时继承一个类并实现一个接口
D.java语言会自动回收内存中的垃圾
157.Java语言中,下列标识符错误的是(BD )
A.—sys1 B.&—m
C.I D.40name
161.在下列事件处理机制中哪个不是机制中的角色(C )
A.事件 B.事件源
C.事件接口 D.事件处理者
164.对象使用时,下面描述错误的是( B)
A.通过“.”运算符调用成员变量和方法
B.通过成员变量的访问权限设定限制自身对这些变量方法的调用
C.将一个对象申明为类的成员时,必须在使用前为其分配内存
D.在方法中使用对象作为参数时,采用引用调用
限制自身不对,会限制子类,包内类,包外类的调用
170.JAVA程序经常用到“递归”,“递归”的基本思想是(C )
A.“让别人反复调用自己” B.“自己反复调用别人”
C.“自己反复调用自己” D.以上说法都不对
在java中下列关于自动类型转换说法正确的是( A )