非常全面的java基础笔试题

  下面是java基础笔试题,当时我去笔试,做了1个小时(80道选择题,后面的简答题就没时间做了),结果很吓人,太挫了,最后被面试官忽悠去培训去了,呵呵。我偷偷把面试题弄了下来,用来学习吧,也希望能对你们有所帮助。

1.下列说法正确的是() (程序结构)
A java程序的main方法必须写在类甩面
B java程序中可以有多个main方法
C、java程序中类名必须与文件名一样
D、JAVA程序的main方法中如果只有一条语句,可以不用{}括起来 2.java中,在如卜所示的Test类中,共有()个构造方法,(构造方法)
public class Test{
public Test(){
x=35;
}
public void Test(double f){
this.x = (int)f;
}
public Test(String s){ }
} A. 0
B. 1
C. 2
D. 3 3,变量名命名规范说法正确的是()(命名规范)
A、变晕由字母、卜划线、数字、$符号随意组成;
B,变量不能以数字作为开头:
C, A和a在Java中是同一个变撼:
D 不同类型的变量,可以起相同的名字:
4 下列javaDoc注释正确的是()(注释的规范)
A、/*我爱北京大安门**/
B、//我爱北京大安门*/
C、/**我爱北京大安门*/
D、/*我爱北京大安门**/ 5、为一个boolean类型变量赋值时,可以使用()方式
A boolean =1;
B boolean a=(9>=10);
C boolean a ="真”;
D Boolean a=false;
6 . ()不是合法的标识符(标识符的命名规)
A、STRING
B、x3x;
C、void
D、de$f 7.表达式((11+3*8)/4%3的值是()(操作符的运算)
A、31
B、0
C、1
D、2
8.()表达式不可以作为循环条件
A、i++;
B、i>5;
C、bEqual=str.equals("q");
D、count==i; 9、运算符优先级别排序正确的是()(运算符优先级)
A、由高向低分别是:()、!、算术运算符、关系运算符、逻辑运算符、赋值运算符
B、由高向低分别是:()、关系运算符、算术运算符、赋值运算符、!、逻辑运算符
C、由高向低分别是:()、算术运算符、逻辑运算符、关系运炸符、!、赋值运算符
D、由高向低分别是:()、!、关系运算符、赋值运算符、算一术运算符、逻辑运算符 10、以下程序的运行结果是:()(++操作)
public class Increment{
public static void main(String args[]){
int a;
a=6;
System.out.print{a);
System.out.print{a++);
System.out.print(a);
}
A.666
B.667
C.677
D.676 11、下列值不为true的表达式有().(运算符)
A."john"=="john"
B."john".equals("john")
C."john"="john"
D."john".equals(new String("john")) 12.下列输出结果是()(switch语句)
int a=0;
white(a<5){
switch(a){
case 0:
case 3:a=a+2;
case 1:
case 2:a=a+3;
default:a=a+5;
}
}
System.out.print(a)
A、0
B、5
C、10
D、其他
13、下列代码输出结果是()( while循环)
int i=l0;
while(i>0){
i=i+1;
if(i==10){
break;
}
}
A. while循环执行to次
B.死循环
C,循环一次都不执行
D.循环执行一次
14, 下面有关for循环的描述正确的是()(for循环)
A ,for循环体语句中,可以包含多条语句,但要用大括号括起来
B ,for循环只能用于循环次数己经确定的情况
C ,在for循环中,不能使用break语句跳出循环
D ,for循环是先执行循环体语句,后进行条件判断. 15、下列()属于引用数据类型(选择两项)(引用数据类型)
A、String
B、char
C 用户自定义的Student类型
D int 16.对象的特征在类中表示为变量,称为类的()(对象的特征)
A.对象
B。属性
c。方法
D。数据类型 17.在java中下面关于自动类型转换说法正确的是()(基本数据类型转换)
A。基本数据类型和String相加一定是字符串类型
B.char类型和整形相加一定是字符
C。double可以自动转换为int
D。char+double+int 结果一定是double 18.关于类的叙述正确的是(选择两项)()(类的描述)
A。在类中定义的变量称为成员变量,在别的类中可以直接使用
B。局部变量的作用范围仅在定义它的方法内,或者在定义它的控制流中
C。使用别的类的方法仅仅需要引用方法的名称即可
D。一个类的方法使用同类中另一个方法时可以直接引用方法名 19.下列关于字符串描述错误的是()(选择两项)(String和StringBuffer)
A.字符串是变量
B。String对象存储字符串的效率比StringBuffer效率高
C。可以使用StringBuffer sb=“这里是字符串”来声明并初始化StringBuffer对象sb
D。String类提供了很多用来操作字符串的方法:连接,提取,查询 20.以下( )代码中,能够对数组进行初始化(或者默认初始化) (数组)
A。int[] a;
B.a ={1,2,3,4,5};
C.int[] a=new int[5]{1,2,3,4,5};
D.int[] a= new int[5]; 21.score是一个整形数组,有五个元素,已经正确初始化并赋值,仔细阅读以下代码,程序的运行结果是()(数组)
tmp =score[0];
for(int index=1;index<5;index++){
if(score[index] < tmp)
tmp =score[index];
}
A.求最大值
B。求最小值
C。找到数组最后一个元素
D。编译出错 22. 下面关于数组的说法中,错误的是()(选择两项)(数组)
A.在类中声明一个整数数组作为成员变量,如果没有给它赋值,数组元素值为空
B.数组可以在内存空间连续存储任意一组数据
C.数组必须先声明、然后才能使川
D.数组本身是一个对象 23. 在,Java中下而代码是()条语句
int i;j=123;
int j=0,k=0;
System.out.println(i+";"+";"+j+""+k);
A、3
B、4
C、5
D、6
24,在java中、关于构造方法。下列说法错误的是()(构造方法)
A、构造方法的名称必须与类名相同
B、构透方法可以带参数
C、构透方法不可以重载
D,构造方法绝对不能有返问值 25,执行下面代码结果()( for语句)
for(int i=0 ;;){
system.out.println("这是"+i);
break;
}
A,语法错误,缺少表达式2和表达式3
B、死循环
C,程序什么都不输出
D、输出:这是0
26. 下面代码输出结果是()。(流程控制)
int i=0,s=0;
do{
if (i%2 ==0){
i++;
continue;
}
i++;
s=s+i;
}while(i<7)
system.out.println(s);
A.16
B.12
C.28
D.21 27.下面()不是String类提供的合法的方法。(String 类)
A.equal(string)
B.trim()
C.append()
D.indexof() 28. 在java中,以下()类的对象以键值对的方式存储对象(集合)
A.java.util.List
B.java.util.ArrayList
C.java.util.HashMap
D.java.util.LinkedList 29. 给定如下所示的java代码,运行时,会产生()类型的异常(异常)
String s=null;
s.concat("abc");
A.ArithmeticException
B.NullPointException
c.IOException
D.ClassNotFoundException 30. 给定java代码如下所示,在A处新增下列()方法,是对cal方的重载(选择两项)(方法重载)
public class Test{
public void cal(int x,int y, int z){
}
//A
}
A. public int cal(int x,int y,float z){return 0;}
B. public int cal(int x,int y,int z){return 0;}
C. public int cal(int x,int z){}
D. public int cal(int z,int y,int x){} 31.给定如下java代码片段,编译运行这段代码 结果是()
java.util.HashMap map =new java.util.HashMap();
map.put("name",null);
map.put("name","Jack");
System.out.println(map.get("name"));
A null
B Jack
C nullJack
D 运行时出现异常
32. 给定以下JAVA代码,这段代码编编译运行后输出的结果是()(异常),
public class Test {
public static int aMathod(int i) throws Exception{
try{
return i/10;
}catch{Exception ex)
throw new Exception {"exception in a aMothod")
}finaily{
System.out.print("finally");
}
}
public static void main(String[]args){
try{
aMethod(0);
}catch(Exception ex){
System.o}}t.print("exception in main");
}
System.out.print{"finished");
}
A、finallyexception in mainfinished
B、exception in mainfinally
C、finallyfinished
D、tinallyexception in mainfinished 33、在Java中,下面对于构造函数的描述错误的是()(选择两项)(构造函数)
A、类不一定要显式定义构造函数
B、构造函数的返回类型是void
C、如果构造函数不带任何参数,那么构造函数的名称和类名可以不同
D、一个类可以定义多个构造函数 34、在Java语言中,下列关于类的继承的描述,正确的是()。(继承)
A、一个类可以继承多个父类
B、一个类可以具有多个子类
C、子类可以使用父类的所有方法
D、子类一定比父类有更多的成员方法
35下列选项中关于Java中supe:关键字的说法止确的是() (super关键字)
A.super关键字是在子类对象内部指代其父类对象的引用
B. super关键字不仅可以指代子类的直接父类,还可以指代父类的父类
C. 子类通过super关键字只能调用父类的方法,而不能调用父类的属性
D. 子类通过super关键字只能调用父类的属性,而不能调用父类的方法 36.在java接口中,下列选项中有效的方法声明是()(选择两项)(接口)
A、public void aMethod();
B、void aMethod();
C、protected void aMethod():
D、private void aMethod(): 37.在JAVA异常处理模型中,能单独和finally语句一起使用的块是()(异常处理)。
A.try
B.catch
C.throw
D.throws 38.分析如下java代码,编i爷运行后将输出()
public class Test{
public Test(){}
static void print(ArrnyList a1){
al.add(2);
a1=new ArrayList();
a1.add(3);
a1.add(4);
}
pubic static; void main(String[] args){
Test test-=new Test();
ArrayList al=new ArraList();
al.add(1);
print(al);
System.out.println(al.get(1));
}
}
A.1
B.2
C.3
D.4 39. 在JAVA中,object类是所有类的父亲,用户自定义类默认扩展自Object类,下列选项中的()方法不属于object类的方法.(object 类)
A.equals(object obj)
B.getClass()
C.toString()
D.trim() 40. 下列选项中关于java封装的说法错误的是()
A.封装就是将属性私有化,提供共有的方法访问私有属性
B.属性的访问方法包括Getter和Setter方法
C.Setter方法用于赋值,Getter方法用于取值
D.包含属性的类都必须封装属性,否则无法通过编译 41. java中,如果类c是类b的子类,类b是类a的子类,那么下面描述正确的是() (继承)
A, c不仅继承b中的成员,也继承了a中的成员
B、C只继承了b中的成员
c、c只继承a中的成员
d, C不能继承A 和b中的成员 42、分析选项选项中关于java中this关键字说法正确的是()(this关键字)
A, this关键字是在对象内部指向自身的引用
B, this关键字可以在类中的任意位置使用
C、this关键字和类关联,而不是和特定的对象关联
D. 同一个类的不同对象共用一个对象 43,在JAVA中,l,inkedlist和ArrayList类同属集合框架类,下列()选项中的方法 是Linkedlaist类有而ArrayList没有的。
A、add(Object o)
B、add(int index, Object o)
C、remove{Object o)
D, removeLast() 44,在JAVA中,ArrayList类实现可变大小的数组,便于遍历元素和随机访问元素,已知获得了 ArrayList的对象 bookTypeList,则下列语句中能够实现判断列表中是否存在字符串
“小说”的是()。(集合)
A、bookTypeList.add("小说”),
B、bookTypeList.get("小说”);
C、bookTypeList.contains(”小说"}.
D, bookTypeList.remove(”小说”);
45. Java语言具有许多优点和特点,下列选项中,哪个选项放映了java程序并行机制的特点: ()(Java的特点)
A. 安全性
B、多线程
C、跨平台
D、可移植 46. 抽象方法:() (抽象方法)
A.可以有方法体
B。可以出现在非抽象类中
C. 是没有方法体的方法
D。抽象类中的方法都是抽象方法 47.关于继承的说法正确的是:()(继承)
A、子类将继承父类所有的属性和方法。
B、子类将继承父类的非私有属性和方法。
C、子类只继承父类public方法和属性
D、子类只继承父类的方法,而不继承属性 48.关于构造函数的说法哪个正确?()(构造方法)
A、一个类只能有一个构造函数
B、一个类可以有多个不同名的构造函数
C、构造函数与类同名
D、构造函数必须自己定义,不能使用父类的构造函数 49.关于接口哪个正确?()(接口)
A、实现一个接口必须实现接口的所有方法
B.一个类只能实现一个接口
C.接口间不能有继承关系
D.接口和抽象类是同一回事 50.关于super的说法正确的是()
A、是指当前对象的内存地址
B,是指当前对象的父类对象的内存地址
C、是指当前对象的父类
D、可以用在main()方法中 51.请问,如何强制垃圾回收一个指定的对象?(垃圾回收)
A用finalized()方法。
B弃所有对象的引用。
C用所有的内存
D法强制垃圾回收一个指定的对象。 52:请问,如何放掉一个指定占据的内存空间?(垃级回收)请选择一个正确答案:
A用free()方法。
B用system.gc方法。
C值给该项对象的引用为nu11}
D序员无法明确强制垃圾回收器运行 53.请问,下列那些事初始化数组的正确语法格式()多选
A.int a[]={1,2,3};
B int x[3]={1,2,3};
C int[ ]x={0.0.0};
D char[] x={‘a’、’b'}; 54请问,以下哪些是字节型数据的的取彼范围?(基本数据类型的取值范围) 请选择一个正确答案:
A 0, +255
B -127,+l28
C -128,+127
D 0..65535 55.请问,以下哪些语句用于生命明一个二维数组?( 二维数组)
A int a[][)=new ini[ 10,10]:
B int a[][]=new int[l0][10];
C int a[ 10,10]=new int[ 10][ 10];
D int [][]a=new int [10][10]: 56.给出以下代码,请问该程序的运行结果是什么?(位运算)
class Example{
public static void main(String args[]){
} 请选择一个正确答案:
A印输出-1,1
B印输出1,1
C印输出1 ,-1
D印输出 -1,-1 57.给出以下代码,请问该程序的运行结果是什么?(++操作)
class Example{
public static void main(String args[]){
int var=10;
int var2=20;
System.out.pr'sntln(var+var2+++””+vax2);
}
} 请选择一个正确答案:
A30 20
B30 21
C31 20
D31 21 58.请问表达式(short)10/10.2*2的运算结果是什么数据类型,请选择一个正确答案(类型转换)
a short
b int
c double
d float 59.请问,以下哪些描述正确的?(位运算符)
A >>为带符号移位运算符。 >>>为无符号移位运算符。
B >>>为带符一号移位运算符.>>为无符号移位运算符。
C <<为带符号移位运算符.<<<为一无符号移位运算符。
d <<<为带符号移位运算符.<<为无符号移位运算符。 60.给出以下代码,请问该程序的运行结果是什么? (三目运算符)
claSS Example{
pnblic static void main(String args[]}{
String s1 ="ab";
String s2 ="abcd";
String s3="cd";
String s4 =s1+s3;
s1 = s4:
System.out.println("s1"+((s1==s2)?"==":"!=")+"s2");
}
} 请选择一个正确答案:
A s1==s2
B sl!=s2
C s1
D s1==“abcd” 61.给出以下代码,请问该程序的运行结果是什么?(位运算)
class Example{
public static vaid main (String args[]){
System.out.println(111 & 13);
}
} 请选则一个正确答案:
A 3
B 5
C 13
D 9 62.给出以下代码,请问该程序的运行结果是什么?(位运算)
class Example{
public static vaid main (String args[]){
System.out.println(8|9 & 10^11);
} 请选择一个.正确答案:
A 8
B 9
C 10
D 11 63.给出以下代码,请问该程序的运行结果怂什么
class Example{
public static vaid main (String args[]){
char c=-l;
System.out.println(c);
}
} 请选择一个正确答案:
A代码编译失败。
B代码编译成功,打印输出-1。
C变量c不代表任何ASCII码字符。
D变量c依据代表一个Unicodc编码字符。 64.给出以下代码,请问该程序的运行结果是什么:
class Check{
public static vaid main (String args[]){
int x,a=6,b=7;
X=a++ +b++;
System.out.print{“x=”+x);
System.out.print(“,a=”+a);
System.out.print(“,b=”+b);
}
}
请选择一个正确答案:
A打印输出x=15, a=7, b=8
B打印输出x=15,a=6,b=7
C打印输出x=13 , a=7, b=8
D打印输出x=13,a=6,b=7 65。给出一条语句,请问以下哪些有关该语句的描述是正确的个
Private static int i=3;
请选择所有正确答案:
A变量i在被初始化后,其值不能再改变
B变量i只能被静态方法改变。
C变量i的值被所有其所在的类实例共享
D变量i只能被其所在类访问 66.给定如下java代码,编译运行之后将会输出()(三目运算符)
public class Example{
public static void main(String args[]){
int a =5;
System.out.printin(a%2== 1)?(a+1)/2:a/2);
}
}(选择一项)
A 1
B 2
C 2.5
D 3 67请问,以下那些修饰符用于声明一个常量? 请选择一个正确答案:
A static
B final
C abstract
D public 68.请问,以下哪些是抽象方法的币确形式?(抽象方法) 请选择一个正确答案:
A abstract void Example()
B abstract void Example(){}
C static abstract void Example()
D final abstract void Example() 69.请问,以下哪些描述是正确的? 请选择一个_正确答案:
A引用型数据不能进行类型转换。
B引用型数据在赋值语句中可以进行类型转换,但在向其方法传入参数时不能进行类型转换,
C引用型数据在向其方法传入参数时可以进行类型转换,但在赋值语句中不能进行类型转换。
D引用型数据在赋值语句中和在向其方法传入参数时均可类型转换, 70.给出以卜代码,请问第几行代码无法编译? (基本数据类型)
1.byte b=5;
  2.char c='5';
  3short s= 55;
  4.int i= 555;
  5.float f = 555.5f
  6.b=s;
  7.i=c;
  8.if(f>b}
  9.f=i; 请选择一个正确答案:
A第1行
B第2行
C第5行
D第6行 71给出以下代码,请问第儿行代码无法编译?(基本数据类型)
1.byte b=2;
2.byte b 1=3;
3._b=b*b1;
请选择一个正确答案:
A第1行
B第2行
C第3行 72.请问以下哪边些语句是Java语言中用于中断循环执行的?(循环) 请选择一个正确的答案:
A continue语句
B goto语句
C exit语句
D break语句 73.请问以下代码错在何处(for循环)
public class Example{
public static void main(String args[]){
for(i=0;j=0,i<10;++i,j+=i){
k+=i*i+ j*j;
}
} 请选择所有正确答案
A在语句块中应超过一条以上的语句
B.在i=0和j=0之间应使用逗号
c.使用了2个循环变量
D 在j=0 和i<10 中间应该使用分号 74. 以下java语句中,String str =”123456789“; str=str.subString(1,3);执行后str中的值为: (选择一项)(String类)
A."23"
B."123"
C."12"
D."234" 75.在java中,要判断D盘下是否存在文件abc.txt,应该使用以下()判断语句。(选择一项) (文件操作)
A.if(new File("d:abc.txt").exists()==1)
B.if(File.exists("d:abc.txt")==1)
C.if(new File("d/abc.txt").exists())
D.if(File.exists("d/abc.txt"))
76.MVC模式中说法不正确的趋()(mvc模式)
A MAC是指的表现层·业务层一数据库这种模式
B Model层实现系统中的业务逻辑
C view层用于与用户的交互
B Controller层是Model与View之间沟通的桥梁 77.请问以下哪些有关接口的描述的是正确的? 请选择所有正确答案:
A在接口中定义的方法默认为private方法
B在接口中定义的方法默认为public,static,final方法
C一个接口可以继承多个接口。
D关键字implements代丧继承关系。 78.请问以下哪些描述是正确的? 请选择所有正确答案:
A native关键字表明修饰的方法是有其他非lava语言编写的。
B 能够出现在Java源文件中的import语句前的只有注释语句。
c 接口中定义的一方法默认是public和abstract的,不能被private和protected修饰。
D构造器只能被public或protected修饰。 79请问以下哪些体现了多态?(多态的体现) 请选择所有正确答案:
A内部类
B匿名类
C方法过载
D方法重载 80.给出下代码,请问该程序的运行结果是什么?(数组)
public class Example{
public static void main(String args[]){
int[] refToArray ={10,11};
int var =1;
refToArray[var-1] =var =2;
System.out.printin(refToArray[0]+" " +refToArray[1]);
}
}
请选择一个正确答案:
A编译失败。
B运行期异常。
C打印输出2 11
D打印输出102 1。有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第二个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?(两种方法,面向对象) 2。请用java实现一个简单的冒泡排序算法
3.Java中值传递和引用传递有什么区别?
4.Overload和Override的区别
5.说说&和&&的区别
6.switch语句能否作用在byte上,能否作用在long上,能否作川在String上?
7.short s1=l; s1=s1+1;有什么错?short s1=1; s1+=1;有什么错?
8.用最有效率的方法算出2乘以8等于几?
9.“==”和equals方法究竞有什么区别 10. 静态变量和实例变量的区别?
11.请说出作用域pubic ,private ,protected,以及不写时的区别
12.接口是否可继承接口?抽象类是否可实现(implements)接口? 抽象类是否可继承具体类(concrete class)?抽象类中是否可以有静态的main方法? 13.abstract class和interface有什么区别? 14.内部类可以引用它的包含类的成员吗?有没有什么限制? 15.String s="Hello";s=s+”world!”;这两行代码执行后,原始的String对象中的内容到底变了没有? 16.Stringy snew String("xyz");创建了儿个String Object?二者之间有什么区别 17.String和StringBuffer的区别 18.如何把一段逗号分割的字符串转换成一个数组? 19.final, finally, finalize的区别。 20.请写出你最常见到的5个runtime exception 21.多线程有几种实现方法? 22.同步有几种实现方法? 23.当一个线程进入一个对象的一个synchronized方法后,其它线程是否可讲入此对象的其它方法? 24.HashMap和Hashtable的区别
25.List和Map区别?
26.说出一些常用的类,包,接口,请各举5个 27.Java中有儿种类型的流?jdk为每种类的流提供了一些抽象类以供继承,请说出他们分别是哪些类? 28.heap和stack有什么区别。 29.GC是什么?为什么要有GC? 30.创建线程的方式有儿种?分别是什么?(多线程)

答案区:

现提供一个我笔试的时候的一个图片,关于正确答案后续会更新上:

  非常全面的java基础笔试题

80道题,其中有两道题还是错的, 相当于我只做对了45道题,呵呵,比较菜。。。。

上一篇:PHP 多维数组 Key Value的使用


下一篇:Bytom Java版本离线签名