标签:Java面试题
第一题:判断题
1.Java语言是一种面向对象程序设计语言。( 对)
2.在Java有布尔类型,该类型只能有两个值:1和0。( 错)
3.Java中一个类可以同时继承多个其他类,但只能实现一个接口。( 错)
4.在Java中字符串的长度和字符串中字符的个数是相等的。( 对)
5.程序中的异常是错误的一种,通过调试程序可以解决异常。( 错)
6.使用Java语言既可以读写二进制文件,又可以读写文本文件。( 对)
7.框架JFrame作为图形用户界面的顶级容器,原子组件是不能直接放置到框架的。( 错) 8.当最小化小程序时就会调用小程序的stop()方法,暂时释放所占资源。( 对)
9.调试Java程序也就是运行Java程序,使用java命令即可完成。( 错)
10.线程就是程序,只不过是代码较少。( 错)
第二题:选择题
以下对Java语言描述不正确的是(C )
A Java语言是一个完全面对对象的语言
B Java是结构独立、与平台无关的语言
C Java是一种编译性语言
D Java是一种解释性语言
以下说法正确的是(C )
A Java程序文件名必须是和程序文件中定义的类型一致
B Java程序文件名可以和程序文件中定义的类名不一致
C Java源程序文件的扩展名必须是.java
D以上A、C说法正确,B说法不正确
以下有关运行Java应用程序(Application)正确的说法是(B )
A Java应用程序是由Java编译器解释执行的
B Java应用程序经编译后生成的字节代码可由Java虚拟机解释执行
C Java应用程序经编译后可直接在操作系统下运行
D Java应用程序经编译后可直接在浏览器中运行
4、以下有关标识符说法中正确的是(C )
A、任何字符的组合都可以形成一个标识符
B、Java的关键字也可以作为标识符使用
C、标识符是以字母、下划线或$开头,后跟字母、数字、下划线或$的字符组合
D、标识符是不分大小写
5、以下说法正确的是(D )
A、基本字符数据类型有字符和字符串两种
B、字符类型占两个字节,可保存两个字符
C、字符类型占两个字节,可保存一个字符
D、以上说法都是错误的
6、以下有关类型转变的说法错误的是(D )
A、低精度类型向高精度类型转换时,不会丢失数据精度
B、系统会自动进行(整型或浮点型)低精度类型数据向高精度类型数据的转换
C、高精度类型数据向低精度类型数据的转换、整型和浮点型数据之间的转换,必须强制进行,有可能会引起数据丢失
D、高精度类型数据向低精度类型转换时,也不会丢失数据精度,因为转换是系统进行的
7、以下正确的关系表达式(D )
A、x≥y
B、x+yz
C、>=x
D、x+y!=z
8、以下正确的逻辑表达式(A)
A、(x+y>7)&&(x-y<1)
B、!(x+y)
C、(x+y>7)||(z=a)
D、(x+y+z)&&(z>=0)
9、以下有关条件运算符(?:)说法正确的是(D)
A、条件运算符是一个三元运算符,其格式是:表达式1?表达式2:表达式3
B、格式中的“表达式1”是关系或者逻辑表达式,其值是boolean值
C、若“表达式1”成立,该条件表达式取“表达式2”的值,否则取“表达式3”的值
D、以上说法都正确
10、在if(表达式)语句中,“表达式”的值必须是(C )
A、任意整数值
B、字符串
C、布尔逻辑值
D、非零值
11、在switch(表达式)语句中,“表达式”的值必须是(D )
A、整数值
B、字符值
C、布尔逻辑值
D、整数或字符值
12、下列关于for循环和while循环的说法中,正确的是(A )
A、while循环能实现的操作,for循环也能实现
B、while循环判断条件一般是程序结果,for循环判断条件一般是非程序结果
C、两种循环任何时候都可以替换
D、两种循环结构中必须都有循环体,循环体不能为空
13、下面表达式中,用来访问数组中的第一个值的是(C )
A、intArray[1]
B、intArray.1
C、intArray[0]
D、intArray.0
14下面的表达式中正确的是(C )
String s=”你好”;if(s==”你好”) System.out.println(true);
String s=”你好”;if(s!=”你好”) System.out.println(false);
String s=”你好”;if(s.equals(”你好”)) System.out.println(true);
String s=”你好”;if(equals(s,”你好”)) System.out.println(true);
15String str;System.out.println(str.length());以上语句的处理结果是(A )
A、编译报错
B、运行结果是null
C、运行结果为0
D、随机值
16、执行String [ ] s=new String[10];代码后,下面结论正确的是(D)
A、s[10]为””
B、s[10]为null
C、s[0]未定义
D、s.length为10
17、构造器(B )被调用。
A、类定义时
B、创建对象时
C、调用对象方法时
D、适用对象的变量时
18、Java中访问限定符不包括(C)
A、public
B、private
C、default
D、final
19、有关方法重载的正确说法是(AC)
A、方法的名称一致,限定符不同
B、方法的名称一致,限定符相同
C、方法的名称一致,返回值不同
D、其他都一致,只有参数定义不同
20、如果任何包中的子类都能访问超类中的成员,则使用的限定符是(A )
A、public
B、private
C、protected
D、transient
21、有关继承下面的说法正确的是(C)
A、继承的主要目的是隐藏类的属性
B、在Java中,一个类可以从多个类中继承属性和方法
C、继承体现了事物的普遍性和特殊性
D、继承允许子类继承父类中的构造器
22、在下列事件处理机制中不是时间组件的是(C )
A、事件对象
B、事件源
C、接口
D、事件处理器
23、下面说法不正确的是(BD)
A、Java中线程是抢占式的
B、Java中线程是分时式的
C、Java中的线程可以共享数据
D、Java中的线程可以共享代码
24、下列关于Java线程的说法正确的是(D )
A、每一个Java线程由代码、一个真实的CPU以及数据3部分组成
B、创建线程的两种方法中,从Thead类中继承的创建方式可以防止出现多父类问题
C、Thead类属于java.util程序包
D、以上说法都不正确
25、下面关键字用来处理Java运行时的错误的是(A)
A、try和catch块
B、try、catch和finally块
C、try块和throw语句
D、throw语句和catch块
26.一个Java源程序编译后生成的文件为Test.class,则运行该程序应该使用的命令为(C )。(A)javac Test (B)javac Test.class
(C)java Test (D)java Test.class
27. 下面数据类型的定义中错误的是(C )。
(A)int a = 10; (B)double d = 1.2;
(C)float f = 1.2; (D)char c = ‘A’;
28. 类可以保护它的成员变量和成员函数不会被其他对象随意访问到,这一特性属于类的(A )。
(A)封装性(B)继承性
(C)多态性(D)重载
29. 以下关于字符串类的说法正确的是(B )。
(A)String类用于字符串变量,而StringBuffer类用于字符串常量
(B)String类用于字符串常量,而StringBuffer类用于字符串变量
(C)String类的对象只能用“new”关键字生成
(D)StringBuffer字符串的容量是指字符串中字符的个数
30. 在Java的异常处理语句中对finally的描述正确的是(A )。
(A)不管是否发生异常,finally中的程序都要执行
(B)只有不发生异常时,finally中的程序才需要执行
(C)只有异常发生时,finally中的程序才需要执行
(D)不管是否发生异常,finally中的程序都不会执行
31. 在子类的定义中有一个和父类同名的成员函数,这一现象称为函数的(B )。
(A)继承(B)覆盖
(C)错误(D)重载
32. 下面哪种注释能支持javadoc命令(C )。
(A)// (B)/*……*/
(C)/**……*/ (D)都能支持
33. 在Java中如果使正在运行的线程进入睡眠状态,可以调用线程的哪一个方法。(B )(A)wait() (B)sleep()
(C)stop() (D)notify()
34. 设有数组的定义int[] a = new int[3],则下面对数组元素的引用错误的是(D )。
(A)a[0];
(B)a[a.length-1];
(C)int i=1;a[i];
(D)int[2>1];
35. 关于被私有访问控制符private修饰的成员变量,以下说法正确的是(C)
(A)可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类
(B)可以被两种类访问和引用:该类本身、该类的所有子类
(C)只能被该类自身所访问和修改
(D)只能被同一个包中的类访问
36. 下面哪个修饰符修饰的变量是所有同一个类生成的对象共享的(C )。
(A)public (B)private
(C)static (D)final
37. 下面哪个是对字符串String的正确定义。(A )
(A)String s1=“\n\t null”;
(B)String s2=‘null’;
(C)String s3=(String)‘abc’;
(D)String s4=(String)‘\uface’;
38. 给出一段程序,试判断哪个是正确的结果。(D )
public class Test{
public static void main (String args[]){
try{ System.out.print(“Hello world ”); }
finally{System.out.println(“Finally executing”); }
}
}
(A)无法编译运行,因为没有指定异常
(B)无法编译运行,因为没有catch子句
(C)Hello world
(D)Hello world Finally executing
39. 下面哪项可以得到数组元素的个数,java中定义数组名为abc。(B )。
(A)abc.length( ) (B)abc.length
(C)len(abc) (D)ubound(abc)
40、Applet类中的直接父类是(D )
A、Component类
B、Container类
C、Frame类
D、Panel类
第三题:填空题
常用的Java语言开发工具有__JCreater _____和_jbuilder_____,本书采用__eclipse_____。Java源程序是由__package____、___import____、_ClassDefinition______和___INTERFACEdEFINITION____组成的。
HTML语言的语法比较简单,所有标记符都用_尖括号__括起来。
DOS操作系统是按照树形目录结构管理文件的,位于最上层的目录为__根目录_____,每个目录上一层目录为该目录的___父目录_____,下一层目录为该目录的___子目录____。
5、变量的作用范围是由__数据类型_____决定的,可以分成___静态____和_____动态__。
6、__控制组件_____是图形用户界面的最小单位之一,它里面不在包含其他的元素。例如___单选按钮___、___文本框___和____菜单命令___。
7、在面向对象设计过程中,通过对象的____属性___和__方法_____两个方面来描述对象。
8、使用面向对象方法解决问题的过程可以大体划分为__总结____、__抽象___和_____加工_3大步骤。
9、数组是___元素____的集合。每个数组都有长度,也就是其___元素个数____。求数组长度的语句是___数组名.length数组num_1和num2______。
10、如果声明了一个长度为100的boolean类型的数组boo,则其第一个元素为____ture___,最后一个元素为__boo[99]__。
11、所谓排序是指___将数据按一定规律排列起来___。到目前为止最常用的排序方法有___插入___、___选择__和____交换____等排序法。不论使用哪种排序方法编写Java程序,其最根本的操作是___将无序记录调整为有序记录________。
12、如果一个方法没有返回值,则该方法类型为___.类的构造____。
13、方法的__覆盖_____是指在同一类中,声明方法名称相同但参数不同的多个方法。
14、实例变量的修饰符可以是_类中的非静态变量___,但是不能使用__abstract _____;静态变量使用___private public protected final
____修饰符。
15、在类的构造方法和实例方法中,使用关键字__this____可以解决局部变量与实例变量同名的问题。
16、如果希望某个变量可以被类本身访问和调用,则应该使用___private____修饰符。
17、在Java语言中,.包____是组织Java程序中类的一种手段,其作用与Window系统中的____文件夹___类似。
18,、接口中的方法均是使用修饰符__public_____和关键字___abstract
____修饰。
19、抽象方法不能使用修饰符__final_____和___virtual___修饰。
20、图形用户界面中的复选框和单选按钮可以分别通过Swing中的___Checkbox____类和__JFrame_____类来创建。
第四题:程序填空:
1.根据下面程序段写出输出结果。
int a = 1,b=2;
String str = “hello”;
System.out.println(str+a+b);
System.out.println(a+b+str);
程序两次输出结果分别为: hello12
3hello
2. public static void main(string[] args){
Int sum=0;
For(int i=1;i<=101;i++){
Sum+=I;
}
System.out.println(“1到101的累加和是:”+sum);
}
1到101的累加和是:5151
第五题:简答题
1 Java语言有哪些特点? P2
2 每一个Java应用程序有几个main()方法?main()方法处于程序的位置不同时,程序运行时开始点是否还是在main()方法处?
第六题:编程题:
1编写一个名为PrintArguments的程序,打印从命令行中获取的四个参数。例如在命令行中输入”java PrintArguments 10 20 30 40”时,将打印出”10 20 30 40”.
public class PrintArguments {
public static void main(String[] args) {
if (args.length!=4)
{System.out.println(“Please input 4 arguments”);
System.exit(0);
}
for (int i=0;i<4;i++) System.out.print(args*i++” “);
}
}
标签:Java面试题
1.结构化程序设计有哪三种流程?他们分别对应Java中那些语句。
结构化程序设计有三种基本流程:循环、分支和顺序。Java程序中的分支语句包含if语句、switch语句;循环语句包括了while语句,do-while语句、for语句;其他语句如变量、对象定义、赋值语句、方法调用语句、以及上面的循环结构、分支结构等按照上下文排列都是顺序语句。
2.在一个循环中使用break、continue和return有什么不同?
break用于跳出整个循环语句,在循环结构中一旦遇到break语句,不管循环条件如何,程序立即退出所在的循环体。
continue用于跳过本次循环中尚未执行的语句,但是仍然继续执行下一次循环中的语句。
在循环中使用return语句,将终止当前方法调用,同时终止循环,使流程返回到调用语句的下一个语句执行。
3.面代码将输出:________
a=9;b=18;c=4;d=14;e=-14;f=-2
g=18.4;h=2.3999999999999986;i=5;j=3;k=5
public class test3{
public static void main(String args[]){
int a=5+4;
int b=a*2;
int c=b/4;
int d=b-c;
int e=-d;
int f=e%4;
double g=18.4;
double h=g%4;
int i=3;
int j=i++;
int k=++i;
System.out.println(“a=”+a+”;b=”+b+”;c=”+c+”;d=”+d+”;e=”+e+”;f=”+f); System.out.println(“g=”+g+”;h=”+h+”;i=”+i+”;j=”+j+”;k=”+k);
}
}
4.下面代码将输出:________
25<3=false
3!=0&&25/3>5=true
0!=0&&25/0>5=false
public class LogicTest{
public static void main(String args[]){
int a=25,b=3;
boolean d=a
System.out.println(a+”<“+b+”=”+d);//=;
int e=3;
d=(e!=0&&a/e>5);
System.out.println(e+”!=0&&”+a+”/”+e+”>5=”+d); int f=0;
d=(f!=0&&a/f>5);
System.out.println(f+”!=0&&”+a+”/”+f+”>5=”+d); }
}
5.编写程序,求两个整数的最大公约数。
import java.util.Scanner;
public class Gcd_Lcm{
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
System.out.println(“输入2个数:以‘,’隔开“);
String []str = sc.next().split(“,”);
int m = Integer.parseInt(str[0]);
int n = Integer.parseInt(str[1]);
int min = m>n?n:m;
int max = m>n?m:n;
int num1 =1;
int num2 = max;
for (int i = min; i>0; i–) {
if (m%i==0&&n%i==0) {
num1 = i;break;
}
}
while (true) {
if (num2%m==0&&num2%n==0) {
break;
}
num2 = m*n>num2*2?num2*2:m*n;
}
System.out.println(“最大公约数:“+num1+”最小公倍数:”+num2); }
}
6.编写程序,打印出如下九九乘法表。
* | 1 2 3 4 5 6 7 8 9
——-|——————————————————-
1 | 1
2 | 2 4
3 | 3 6 9
4 | 4 8 12 16
5 | 5 10 15 20 25
6 | 6 12 18 24 30 36
7 | 7 14 21 28 35 42 49
8 | 8 16 24 32 40 48 56 64
9 | 9 18 27 36 45 54 63 72 81
public class NineByNineMul{
public static void main(String args[]){
System.out.print(“ * |”);
for(int i=1;i<=9;i++){
System.out.print(“”+i+””);
}
System.out.println();
System.out.print(“——-|—–”);
for(int i=1;i<=9;i++){
System.out.print(“—–”);
}
System.out.println();
for(int i=1;i<=9;i++){
System.out.print(“”+i+” | ”);
for(int j=1;j<=i;j++){
System.out.print(i*j+””);
}
System.out.println();
}
}
}
7.下面代码将输出: one two default int i = 1;
switch (i) {
case 0: System.out.println(“zero”); break;
case 1: System.out.println(“one”);
case 2: System.out.println(“two”);
default:System.out.println(“default”);
}
8.下面代码将输出: Equal
class EqualsTest {
public static void main(String[] args) {
char a=’\u0005′;
String s=a==0x0005L?“Equal”:”Not Equal”;
System.out.println(s);
}
}
9.编写程序,对A[]={30,1,-9,70,25}数组由小到大排序。public class booktest {
public static void main(String[] args) {
int a[]={30,1,-9,70,25};
System.out.print(“数组原始顺序:“);
for (int i=0;i for (int i = 0; i < a.length; i++) { int lowerIndex = i; for (int j = i + 1; j < a.length; j++) if (a[j] < a[lowerIndex]) lowerIndex = j; int temp = a[i]; a[i] = a[lowerIndex]; a[lowerIndex] = temp; } System.out.print(“\n数组排序后的顺序:“); for (int i=0;i } 10.运行下面代码将输出什么内容? one int i=1; switch(i){ case 0: System.out.println(“zero”); break; case 1: System.out.println(“one”); break; case 2: System.out.println(“two”); break; default: System.out.println(“default”); } 11.编写程序,求2-1000内的所有素数,并按每行5列的格式输出。 public class PrimeTest{ public static void main(String args[]) { int num=2; System.out.print(2 + ””); for(int i=3;i<=1000;i+=2){ boolean f = true; for (int j=2;j if(i % j == 0){ f= false; break; } } if(!f) {continue;} System.out.print(i + ””); if(num++%5 == 0)System.out.println(); } } } 12.编写程序,生成100个1~6之间的随机数,统计1~6每个数字出现的概率。 public class RandomTest { public static void main(String[]args){ int[] randomnum=new int[100]; int[] n=new int[6]; double a; for(int i=0;i<100;i++){ a = Math.random()*6; a = Math.ceil(a); randomnum[i] = new Double(a).intValue(); System.out.print(randomnum[i]); switch (randomnum[i]){ case 1: n[0]++; break; case 2: n[1]++; break; case 3: n[2]++; break; case 4: n[3]++; break; case 5: n[4]++; break; case 6: n[5]++; break; } } System.out.println();//以下可改为循环输出 System.out.println(“数字1出现的概率=”+(n[0]/100.0)*100+”%”); System.out.println(“数字2出现的概率=”+(n[1]/100.0)*100+”%”); System.out.println(“数字3出现的概率=”+(n[2]/100.0)*100+”%”); System.out.println(“数字4出现的概率=”+(n[3]/100.0)*100+”%”); System.out.println(“数字5出现的概率=”+(n[4]/100.0)*100+”%”); System.out.println(“数字6出现的概率=”+(n[5]/100.0)*100+”%”); } } 13.编写程序,求1!+2!+3!+…+15!。 public class FactorialSum { static int f(int x) { if (x<=0) return 1; else return x*f(x-1); } public static void main(String[]args){ int sum=0; for(int j=1;j<=15;j++) { sum+=f(j); } System.out.println(sum); } } 14.编写程序,分别用do-while和for循环计算1+1/2!+1/3!+1/4!+…的前15项的和。for循环代码: public class For_FactorialSum { static int f(int x) { if (x<=0) return 1; else return x*f(x-1); } public static void main(String[]args){ double sum=0; for(int j=1;j<=15;j++) { sum+=1.0/f(j); } System.out.println(sum); } } do-while循环代码: public class DoWhile_FactorialSum { static int f(int x) { if (x<=0) return 1; else return x*f(x-1); } public static void main(String[]args){ double sum=0; int j=1; do { sum+=1.0/f(j); j++; } while(j<=15); System.out.println(sum); } } 15.编写一个程序,用选择法对数组a[]={20,10,55,40,30,70,60,80,90,100}进行从大到小的排序。 (分别采用冒泡排序、选择排序和插入排序方法) public class SortAll { public static void main(String[] args) { int a[]={20,10,55,40,30,70,60,80,90,100}; System.out.println(“—-冒泡排序的结果:“); maoPao(a); System.out.println(); System.out.println(“—-选择排序的结果:“); xuanZe(a); System.out.println(); System.out.println(“—-插入排序的结果:“); chaRu(a); } // 冒泡排序 public static void maoPao(int[] x) { for (int i = 0; i < x.length; i++) { for (int j = i + 1; j < x.length; j++) { if (x[i] > x[j]) { int temp = x[i]; x[i] = x[j]; x[j] = temp; } } } for (int i : x) { System.out.print(i + ””); } } // 选择排序 public static void xuanZe(int[] x) { for (int i = 0; i < x.length; i++) { int lowerIndex = i; // 找出最小的一个索引 for (int j = i + 1; j < x.length; j++) { if (x[j] < x[lowerIndex]) { lowerIndex = j; } } // 交换 int temp = x[i]; x[i] = x[lowerIndex]; x[lowerIndex] = temp; } for (int i : x) { System.out.print(i + ””); } } // 插入排序 Java工程师笔试题 一、填空题(本大题10小题,每空1分,共20分)。 1.Java语言的三大特性即是: 继承、封装、多态。 2.在Java中,char 型采用____unicode_______编码方案,这样,无论是中文字符还是英文字符,都是占用__2___个字节的内存空间。 3. 形式参数指的是方法被__定义____ 时的参数行,实际参数是方法被__调用__ _ 时所传递进去的变量或值。 4.JSP内置对象中,application对象是代表应用程序上下文,它允许JSP页面与包括在同一应用程序中的任何Web组件共享信息,而session 对象则是每个客户专用的。 5.如果想把一个对象写入一个流,那么这个类就必须实现Seralizable 接口。 6.程序中实现多线程的方法有两种:继承Thread类和实现___Runable _ 接口。 7.多线程中,可以通过调用相应的setPriority() 方法来修改一个线程的相对优先级。 8.面向对象编程的五大设计原则,分别是单一职责、开放封闭、 里氏替换、依赖倒置、接口分离 9.通过Ajax,客户端获取的数据主要有两种类型:文本型和xml 10.Socket通常也称为套接字,用于描述__ ip 和_ _接口 二、选择题(本大题20 小题,每小题2分.共40分)。 1.在JA V A中,如果父类中某些方法不包含任何逻辑,并且需要由子类重写.应该使用( )关键字来声明父类的这些方法: A) final B) static C) abstract D) void 2.在JA V A中,已定义两个接口B和C,要定义一个实现这两个接口的类,以下语句正确的是()。 A) interface A extend B,C B) interface A implements B,C C) class A implements B,C D) class A implements B, implements C 一:选择题 1. 关于以下程序代码的说明正确的是( D ) 1.class HasStatic{ 2. private static int x=100; 3. public static void main(String args[ ]){ 4. HasStatic hs1=new HasStatic( ); 5. hs1.x++; 6. HasStatic hs2=new HasStatic( ); 7. hs2.x++; 8. hs1=new HasStatic( ); 9. hs1.x++; 10. HasStatic.x- -; 11. System.out.println(“x=”+x); 12. } 13. } A、 5行不能通过编译,因为引用了私有静态变量 B、 10行不能通过编译,因为x是私有静态变量 C、程序通过编译,输出结果为:x=103 D、程序通过编译,输出结果为:x=102 2. 下列关于for循环和while循环的说法中哪个是正确的?( B ) A.while循环能实现的操作,for循环也都能实现 B.while循环判断条件一般是程序结果,for循环判断条件一般是非程序结果C.两种循环任何时候都可替换 D.两种循环结构中都必须有循环体,循环体不能为空 3. 以下选项中循环结构合法的是( C ) A、while (int i<7) { i++; System.out.println(“i is “+i); } B、 int j=3; while(j) { System.out.println(“ j is “+j); } C、int j=0; for(int k=0; j + k !=10; j++,k++) { System.out.println(“ j is “+ j + “k is”+ k); } D、 int j=0; do{ System.out.println( “j is “+j++); if (j = = 3) {continue loop;} }while (j<10); 4. 给出下面代码段, 哪行将引起一个编译时错误?( D ) Java开发工程师笔试试题 (请不要在试题上留任何痕迹,所有答案均写在答题纸上) 一.编程题(共26分) 1.任意写出一种排序算法。(6分) public void sort(int [] array){ //代码区 } 2.求1+2+3+..n(不能使用乘除法、for 、while 、if 、else 、switch 、case 等关 键字以及条件判断语句)(8分) public int sum(int n){ //代码区 return 0; } 3.完成下面方法,输入一个整数,输出如下指定样式图案。(12分) 输入:3, 输出: 1*2*3 7*8*9 4*5*6 输入:4 输出: 1*2*3*4 9*10*11*12 13*14*15*16 5*6*7*8 public void drawNumPic(int n){ //代码区 } 二.选择题(定项选择每题3分,不定项选择每题4分,共63分) 1.在基本JAVA类型中,如果不明确指定,整数型的默认是__类型,带小数的默认是__类型?( B ) A.int float B.int double C.long float D.long double 2.只有实现了__接口的类,其对象才能序列化( A ) A.Serializable B.Cloneable https://www.wendangku.net/doc/239876081.html,parable D.Writeable 3.代码System. out. println(10 % 3 * 2);将打印出?( B ) A.1 B.2 C.4 D.6 4.以下程序运行的结果为( A ) public class Example extends Thread{ @Override public void run(){ try{ Thread.sleep(1000); }catch (InterruptedException e){ e.printStackTrace(); } System.out.print("run"); } public static void main(String[] args){ Example example=new Example(); example.run(); System.out.print("main"); } } 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。 2.继承: 继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。 3.封装: 封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。 4. 多态性: 多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。 5、String是最基本的数据类型吗 基本数据类型包括byte、int、char、long、float、double、boolean和short。 类是final类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用StringBuffer类 6、int 和Integer 有什么区别 Java提供两种不同的类型:引用类型和原始类型(或内置类型)。Int是java的原始数据类型,Integer是java为int 提供的封装类。Java为每个原始类型提供了封装类。 原始类型封装类 boolean Boolean char Character byte Byte short Short int Integer long Long float Float double Double 引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为null,而原始类型实例变量的缺省值与它们的类型有关。 7、String 和StringBuffer的区别 JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String 类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变的时候你就可以使用StringBuffer。典型地,你可以使用StringBuffers来动态构造字符数据。 8、运行时异常与一般异常有何异同 异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。 9、说出Servlet的生命周期,并说出Servlet和CGI的区别。 Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求 Java软件开发工程师笔试题(答案) Java工程师笔试题 1,填空(此大题10项,每空1分,共20分) 1。Java语言的三个特性是继承性、封装性和多态性2.在Java中,char 使用_ _ _ _ Unicode _ _ _ _ _ _编码方案,因此中文字符和英文字符都占用__2__字节的内存空间 3。当方法由_ _定义时,形参指的是参数行,当方法由_ _调用时,实际参数是传入的变量或值。 4。JSP内置对象,应用程序对象代表应用程序上下文,它允许JSP 页面与包含在同一应用程序中的任何网络组件共享信息,而会话对象是特定于每个客户的 5。如果你想把一个对象写到一个流中,这个类必须实现Seralizable 接口 6。在程序中实现多线程有两种方法:继承线程类和实现_ _ Runable _ interface 7。在多线程中,线程的相对优先级可以通过调用相应的setPriority()方法来修改 8。面向对象编程的五个设计原则是单一责任、开放和封闭、里氏尺度替换、依赖倒置、接口分离。通过Ajax,客户端获取的数据主要有两种类型:文本类型和xml 10。Socket通常也叫socket,用来描述__ ip和_ _ interface 2,多项选择题(这个大题20项,每项2分,共40分) 1。在JA V A中,如果父类中的一些方法不包含任何逻辑并且需要被子类重写,那么父类的这些方法应该使用()关键字来声明:a)final b)static c)abstract d)void 2。在JA V A中,已经定义了两个接口b和c。要定义实现这两个接口的类,下面的语句是正确的() a)接口aextend b,c b)接口a implements b,c c)类a mplements b,c d)类a mplements b,实现c 3。可以在JA V A接口()中定义 A)静态方法b)常量c)构造函数d)抽象方法 4。假设A有构造函数A (int a),那么在A类的其他构造函数中调用的构造函数和语句格式应该是() a)a(x)b)this . a(x)c)this(x)d)super(x) 5。如果x = 1,y = 2,z = 3,表达式y+= z-/++x的值为()a)3b)3.5°c)4d)5 6。下列关于继承的陈述中哪一个是正确的?( )a)子类只继承父类的公共方法和属性:b)子类继承父类的非私有属性和方法: C)子类继承父类的方法,但不继承父类的属性:d)子类继承所有的属性和方法。 7。在爪哇。使用JDBC时对于对同一个SQL语句的多次调用,使用()通常会提高效率 a)语句b)可调用语句c)准备语句d)prarmeters语句8。以下方法无法控制Servlet的生命周期:a)服务b)销毁c) dopost d) init9。可以分配给字节变量的值的范围是()0 ~ 65535 b) (-128) ~ 127 c) (-32,768) ~ 32, JA V A编程方面 1.Java中switch是否能作用在byte上,是否能作用在long上,是否能作用在String上?(3’) 2.Java中String 对象能否被继承?STRING与STRINGBUFFER的区别?(6’) 3.说说你熟悉的几种Java的常用设计模式,一般在哪种情况下用到这些设计模式?你对设 计模式有什么看法?用java实现一个单例模式?(12’) 4.abstract class和interface有什么区别?(5’) 5.说说你所知道的java解析XML的方法。(4’) 6.简述ArrayList和Vector的区别,HashMap和Hashtable的区别。(20’) 7.写一个Javascript函数,返回指定的英文句子中的每个单词及其字符的起止位置。 例:”Th at is right.”应依次返回”Th at 0-4”, ”is 5-7” ,”right 8-13”(15’) 8.当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变 化后的结果?那么这里到底是值传递还是引用传递? (5’) 数据库方面 1.事务是什么?(5’) 2.Oracle中有2张表格T1和T2,如下所示: T1 A B C 1 1 1 1 21 1 12 21 1 12 1 Null 12 41 2 12 4 3 T2 A B C 12 1 5 13 1 1 14 2 2 22 5 2 2 16 1 请问select * from T2 where c not in (select c from T1)结果是什么?(10’) 英文翻译(15’) Foremost amongst these is the Spring Framework's Inversion of Control (IoC) container. A thorough treatment of the Spring Framework's IoC container is closely followed by comprehensive coverage of Spring's Aspect-Oriented Programming (AOP) technologies. The Spring Framework has its own AOP framework, which is conceptually easy to understand, and which successfully addresses the 80% sweet spot of AOP requirements in Java enterprise programming. Coverage of Spring's integration with AspectJ (currently the richest - in terms of features - and certainly most mature AOP implementation in the Java enterprise space) is also provided. 软件工程师笔试题 笔试时间为60min 请在答题卡上作答,请勿在试卷上进行勾画,感谢您的配合 第一部分:判断题 1.Java语言是一种面向对象程序设计语言。( ) 2.在Java有布尔类型,该类型只能有两个值:1和0。( ) 3.Java中一个类可以同时继承多个其他类,但只能实现一个接口。( ) 4.在Java中字符串的长度和字符串中字符的个数是相等的。( ) 5.程序中的异常是错误的一种,通过调试程序可以解决异常。( ) 6.使用Java语言既可以读写二进制文件,又可以读写文本文件。( ) 7.框架JFrame作为图形用户界面的顶级容器,原子组件是不能直接放置到框架的。( ) 8.当最小化小程序时就会调用小程序的stop()方法,暂时释放所占资源。( ) 9.调试Java程序也就是运行Java程序,使用java命令即可完成。( ) 10.线程就是程序,只不过是代码较少。( ) 第二部分:选择题(可多选) 1.以下有关类型转变的说法错误的是() A低精度类型向高精度类型转换时,不会丢失数据精度 B系统会自动进行(整型或浮点型)低精度类型数据向高精度类型数据的转换 C高精度类型数据向低精度类型数据的转换、整型和浮点型数据之间的转换,必须强制进行,有可能会引起数据丢失 D高精度类型数据向低精度类型转换时,也不会丢失数据精度,因为转换是系统进行的 2. 以下有关条件运算符(?:)说法正确的是() A条件运算符是一个三元运算符,其格式是:表达式1?表达式2:表达式3 B格式中的“表达式1”是关系或者逻辑表达式,其值是boolean值 C若“表达式1”成立,该条件表达式取“表达式2”的值,否则取“表达式3”的值 D以上说法都正确 3.在switch(表达式)语句中,“表达式”的值必须是() A 整数值 B 字符值 C 布尔逻辑值 D 整数或字符值 4.下列关于for循环和while循环的说法中,正确的是() A while循环能实现的操作,for循环也能实现 B while循环判断条件一般是程序结果,for循环判断条件一般是非程序结果 C 两种循环任何时候都可以替换 D 两种循环结构中必须都有循环体,循环体不能为空 5. 下面的表达式中正确的是() A String s=”你好”;if(s==”你好”) System.out.println(true); B String s=”你好”;if(s!=”你好”) System.out.println(false); C String s=”你好”;if(s.equals(”你好”)) System.out.println(true); D String s=”你好”;if(equals(s,”你好”)) System.out.println(true); 6.String str;System.out.println(str.length());以上语句的处理结果是() A 编译报错 B 运行结果是null C 运行结果为0 D 随机值 7. 执行String [ ] s=new String[10];代码后,下面结论正确的是() 一、选择题 1.Java中提供了名为()的包装类来包装原始字符串类型。 A.Integer B.Char C.Double D.String 2.https://www.wendangku.net/doc/239876081.html,ng包的()方法比较两个对象是否相等,相等返回true。 A.toString() B.equals() C.compare() D.以上所有选项都不正确 3.下面的集合中,()不可以存储重复元素。 A.Set B.Collection C.Map D.List 4. Java接口的修饰符可以为() A private B protected C final D abstract 5. 下面哪些是Thread类的方法() A start() B run() C exit() D getPriority() 6. 下面关于https://www.wendangku.net/doc/239876081.html,ng.Exception类的说法正确的是() A 继承自Throwable B Serialable C集成自Error D以上都不正确 7.下面程序的运行结果:() public static void main(String[] args) { // TODO Auto-generated method stub Thread t = new Thread() { public void run() { pong(); } }; t.run(); System.out.print("ping"); } static void pong() { System.out.print("pong"); } A pingpong B pongping C pingpong和pongping都有可能 D 都不输出 8. 下面哪个流类属于面向字符的输入流( ) A BufferedWriter B FileInputStream C ObjectInputStream D InputStreamReader 9. ArrayList list = new ArrayList(20);中的list扩充几次() A 0 B 1 C 2 D 3 Java 软件高级工程师笔试题 【智力部分】(30分) 1.烧一根不均匀的绳要用一个小时,如何用它来判断半个小时?(5分) 2.4,4,10,10,加减乘除,怎么出24点?(5分) 3.如果你有无穷多的水,一个容积为3L的和5L的提桶,你如何准确称出4L的水?(5分) 4.一只蜗牛从井底爬到井口,每天白天蜗牛要睡觉,晚上才出来活动,一个晚上蜗牛可以向上爬3尺,但是白天 睡觉的时候会往下滑2尺,井深10尺,问蜗牛几天可以爬出来?(5分) 5.有一种细菌,经过一分钟分裂为2个,再过一分钟,分裂为4个,这样,将一个细菌放在一个瓶子里面,一个 小时后瓶子被细菌充满了。现在假设一开始放入瓶中的为两个细菌,那么到充满瓶子要多长的时间?(10分) 【专业部分】(70分) 6.简述一下面向对象的特征,并举例说明你对面向对象的理解?(5分) 7.ArrayList和HsahSet的区别,HashMap和Hashtable的区别?(5分) 8.线程同步的关键字是什么?sleep() 和wait() 有什么区别?怎么唤醒wait()停止的线程?(5分) 9.列举你在项目中常用的设计模式(伪代码或类图),并说明每种设计模式的具体应用场景。(5分) 10.Spring中事务管理支持哪几种方式以及每种方式的具体使用方法。(5分) 11.Hibernate的缓存等级及其特点(5分) 12.至少写出一种11位手机号码的正则表达式。(5分) 13.用简短的代码实现字符串“s tr in g”到“s tr in g”转换。即将多个空格转换为一个空格(5 分) 14.使用Socket编写一个程序,客户端向服务器端发送请求(发送字符串即可),服务端接收后发送反馈信息.(10 分) 某公司Java工程师笔试题 java工程师是要参加的,下面YJBYS小编为大家搜集的一篇某公司Java工程师,供大家参考借鉴,希望可以帮助到有需要的朋友! 一、问答题(共两题每题5分) 1、在软件开发的形式中,有单独开发和团队开发,请您分析两种开发形式的利弊? 2、除了工资还有什么福利对你具有吸引力? 二、案例分析(共四题每题5分) 1、案例一:项目经理陈经理所在的项目组接到总监分配的一项紧急任务,要求在2天内完成A项目,陈经理马上召集其下属工程师小张和小黄进行工作分配并分析项目要点和各个要点的主要做法。时间已经过去了1天半,工程师小张发现,根据陈经理对项目要点的主要做法行不通,但时间已经所剩不多了。 问题一:如果你是小张,你会怎么做?为什么? 问题二:由于项目做法的问题导致项目的进度无法按总监的要求在2天内完成,总监怪罪下来,你认为这是谁的责任,为什么? 2、案例二:工程师小李和工程师小陈分别在同一个项目组负责软件开发工作,他俩是同时进入公司的,而且被分配在邻座,因此关系非常好。工程师小李最近发现小陈经常在上班时间做一些与本公司业务无关的工作,并且在一次偶然的机会让小李发现,小陈的薪资比自己的薪资要高一倍多。 问题一:如果你是小李,你会怎么做,为什么? 问题二:如果你是小陈,你发现做的事情被小李发现了,你会怎么做,为什么? 技术题 一、基础题,共十题每题2分 1、GC是什么?为什么要有GC? 2、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?Byte a=1,b=1,bye c=a+b有什么错?Short a=1,b=1,Short c=a+b有什么错(答对一个给0.5分) JAVA工程师笔试题 一,选择题 1.如下代码 2.public class Test { 3.public int aMethod() { 4.static int i = 0; 5.i++; 6.return i; 7.} 8.public static void main (String args[]) { 9.Test test = new Test(); 10.(); 11.int j = (); 12. 13.} 14.} 15.输出结果是什么 16. A. 0 B. 1 C. 2 D. 编译失败 2. 如下代码 int i =1,j =10; do { if(i++> --j) { continue; } } while (i <5); "i = " +i+ "and j = "+j); 输出结果是什么 A. i = 6 and j = 5 B. i = 5 and j = 5 C. i = 6 and j = 5 D. i = 5 and j = 6 E. i = 6 and j = 6 3. 如下代码: public class SwitchTest { public static void main(String[] args) { "value = " + switchIt(4)); } public static int switchIt(int x) { int j = 1; switch (x) { case 1: j++; case 2: j++; case 3: j++; case 4: j++; case 5: j++; default: j++; } return j + x; } } 输出结果是什么 A. value = 3 B. value = 4 C. value = 5 D. value = 6 E. value = 7 F. value = 8 4. 在接口中以下哪条定义是正确的 (两个答案) A. void methoda(); B. public double methoda(); C. public final double methoda(); D. static void methoda(double d1); E. protected void methoda(double d1); 5. 如下代码: public void test(int x) { int odd = x%2; if (odd) { "odd); } else { "even"); } } 哪个描述正确 A. 编译失败. B. "odd" 永远被输出. C. "even" 永远被输出 D. "odd" 输出x的值, E. "even" 输出x的值 6. 如下代码: public class X { public X aMethod() { return this;} } public class Y extends X { } 哪两个方法能加到Y类的定义中 A. public void aMethod() {} B. private void aMethod() {} C. public void aMethod(String s) {} D. private Y aMethod() { return null; } E. public X aMethod() { return new Y(); } Java笔试题 第一部分:数据结构 } } staticboolean foo(char c) { returntrue; } publicstaticvoid main(String[] argv) { int i = 0; ABDCBDCB B. ABCDABCD C. Compilation fails. D. An exception is thrown at runtime. 三、1. class A { 2. protected int method1(int a, int b) { return 0; } 3. } Which two are valid in a class that extends class A? (Choose two) A. public int method1(int a, int b) { return 0; } B. private int method1(int a, int b) { return 0; } C. private int method1(int a, long b) { return 0; } D. public short method1(int a, int b) { return 0; } E. static protected int method1(int a, int b) { return 0; } publicclass B extends A{ /** *@param args */ } 四、 1. public class Outer{ 2. public void someOuterMethod() { 3. } 5. public class Inner{} 6. public static void main( String[]argv ) { 7. Outer o = new Outer(); 8. } 10. } Which instantiates an instance of Inner? A. new Inner(); new Inner(); new (); new (); ew Inner() 五、有两个页面和,要从传值到有几种方法?分别是什么? JAVA工程师笔试题 一、选择题 1.如下代码 public class Test { public int aMethod() { static int i = 0; i++; return i; } public static void main (String args[]) { Test test = new Test(); test.aMethod(); int j = test.aMethod(); System.out.println(j); } } 输出结果是什么? A.0 B. 1 C. 2 D. 编译失败 2.如下代码 int i =1,j =10; do { if(i++> --j) { continue; } } while (i <5); System.out.println("i = " +i+ "and j = "+j); 输出结果是什么? A.i = 6 and j = 5 B. i = 5 and j = 5 C. i = 6 and j = 5 D. i = 5 and j = 6 3. 如下代码: public class SwitchTest { public static void main(String[] args) { System.out.println("value = " + switchIt(4)); } public static int switchIt(int x) { int j = 1; switch (x) { case 1: j++; case 2: j++; case 3: j++; case 4: j++; case 5: j++; default: j++; } 1.web中的forward和redirect的区别? 前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;后者则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。这样,从浏览器的地址栏中可以看到跳转后的链接地址。所以,前者更加高效,在前者可以满足需要时,尽量使用forward()方法,并且,这样也有助于隐藏实际的链接。在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用sendRedirect()方法。 2. xml在解释的时候DOM和SAX协议的区别和含义? DOM:处理大型文件时其性能下降的非常厉害。这个问题是由DOM的树结构所造成的,这种结构占用的内存较多,而且DOM必须在解析文件之前把整个文档装入内存,适合对XML的随机访问 SAX:不现于DOM,SAX是事件驱动型的XML解析方式。它顺序读取XML文件,不需要一次全部装载整个文件。当遇到像文件开头,文档结束,或者标签开头与标签结束时,它会触发一个事件,用户通过在其回调事件中写入处理代码来处理XML文件,适合对XML的顺序访问 3说明JNDI、JMS、JTA、RMI的意思? JNDI(Java Naming and Directory Interface)是一个应用程序设计的API,为开发人员提供了查找和访问各种命名和目录服务的通用、统一的接口,类似JDBC都是构建在抽象层上。 JMS(Java Messaging Service)是Java平台上有关面向消息中间件的技术规范,翻译为Java消息服务。JMS支持点对点和发布/订阅两种消息模型。 JTA(Java Transaction API) 为 J2EE 平台提供了分布式事务服务。要用 JTA 进行事务界定,应用程序要调用https://www.wendangku.net/doc/239876081.html,erTransaction 接口中的方法. RMI是Java的一组拥护开发分布式应用程序的API。RMI使用Java语言接口定义了远程对象,它集合了Java序列化和Java远程方法协议(Java Remote Method Protocol)。它大大增强了Java开发分布式应用的能力 4.单例模式 Public class Signle{ Private Signle(){ } Pirvate static Signle signle = new Signle(); Public static Signle gets(){ Retrun signle; } } 5数据库中left join的意思,和在什么场合中应用? LEFT JOIN操作用于在任何的 FROM 子句中,组合来源表的记录。使用 LEFT JOIN 运算来创建一个左边外部联接。左边外部联接将包含了从第一个(左边)开始的两个表中的全部记录,即使在第二个(右边)表中并没有相符值的记录。 6 ejb中的sessionbean和entitybean的区别和含义? SessionBean在J2EE应用程序中被用来完成一些服务器端的业务操作,例如访问数据库、调用其他EJB组件。EntityBean 被用来代表应用系统中用到的数据。 对于客户机,SessionBean是一种非持久性对象,它实现某些在服务器上运行的业务逻辑。 对于客户机,EntityBean是一种持久性对象,它代表一个存储在持久性存储器中的实体的对象视图,或是一个由现有企业应用程序实现的实体。 7抽象类和接口的区别 1:一个类可以实现任意多的接口,但是最多只能对一个抽象类进行子类化。 2:一个抽象类可以包括非抽象方法,而一个接口的所有方法在效果上都是抽象的。 3:一个抽象类可以申明并使用变量,而一个接口不行。 4:一个抽象类中的方法的访问修饰符可以使public,internal,protected,protected internal,private,而接口成员的访问修饰符在默认情况下都是public,而且,在申明接口成员时,不允许使用访问修饰符(甚至不能使用public)。 1、抽象: 抽象就就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只就是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一就是过程抽象,二就是数据抽象。 2、继承: 继承就是一种联结类的层次模型,并且允许与鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法与实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。 3、封装: 封装就是把过程与数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其她对象。 4、多态性: 多态性就是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性与包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。 5、String就是最基本的数据类型不? 基本数据类型包括byte、int、char、long、float、double、boolean与short。 java、lang、String类就是final类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用StringBuffer类 6、int 与Integer 有什么区别 Java提供两种不同的类型:引用类型与原始类型(或内置类型)。Int就是java的原始数据类型,Integer就是java为int 提供的封装类。Java为每个原始类型提供了封装类。 原始类型封装类 boolean Boolean char Character byte Byte short Short int Integer long Long float Float double Double 引用类型与原始类型的行为完全不同,并且它们具有不同的语义。引用类型与原始类型具有不同的特征与用法,它们包括:大小与速度问题,这种类型以哪种类型的数据结构存储,当引用类型与原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为null,而原始类型实例变量的缺省值与它们的类型有关。 7、String 与StringBuffer的区别 JA V A平台提供了两个类:String与StringBuffer,它们可以储存与操作字符串,即包含多个字符的字符数据。这个String 类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当您知道字符数据要改变的时候您就可以使用StringBuffer。典型地,您可以使用StringBuffers来动态构造字符数据。 8、运行时异常与一般异常有何异同? 异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,就是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但就是并不要求必须声明抛出未被捕获的运行时异常。 JAVAEE工程师笔试题目 一、选择题 1.下面哪一项属于java语言面向对象的三大特性() A.多线程 B.安全 C.跨平台 D.多态 2.下面哪一项不属于java语言中基本数据类型() A.int B.long C.char D.string 3.在java程序中满足条件并确保程序的执行,使用到的关键字是() A.final B.finalize C.finally D.synchronized 4.不属于switch语句所支持的数据类型是() A.short B.int C.枚举 D.String 5.下面关于定义类和接口的说法,哪一项是正确的() A.自定义一个类的时候可以继承多个父类。 B.继承类的时候使用的关键字是implements C.只有接口可以实现接口,类不能实现接口。 D.接口中的方法都是抽象方法,不可实例化。 E.接口中不可以没有任何方法。 6.下面说法错误的是() A.java语言规范将派生于Error类的异常成为已检查异常,派生于RuntimeException类的异常称为未检查异常。 B.编译器将核查是否为所有的已检查异常提供了异常处理 C.程序中不应该声明从RuntimeException继承的那些未检查异常。 D.如果一个方法有可能抛出多个已检查异常,那么就必须在方法的首部列出所有的异常类。 7.当前线程进入wait等待池,以下哪个方法会确保让该线程回复工作() A.start B.run C.notify D.notifyAll 8.Struts2的核心控制器是() A.FilterDispatcher B.Action C.ActionMapper D.ActionProxy 9.0.63的数据类型是() A.float B.double C.Float D.Double 10.struts的配置文件中的result标签中的type默认值是() A.success B.input C.error D.以上都不是 11.下面说法正确的是() A.struts2项目中只需配置struts.xml,不需要配置web.xml B.package标签中可以没有extends属性 C.package标签中的extends属性值是struts-default时,result标签中可以没有任何属性. D.struts2与ajax和json进行整合时,package标签中的extends属性值是json. 12.有一个多线程类myThread,除run方法外还包含一个方法void disp()。对如下语句myThread mt=new myThread(); mt.start(); mt.disp(); 说法正确的是() A.运行完线程体run方法后再运行disp()方法 B.运行完disp()后才能启动线程体run C.线程体run一定会在disp结束前结束。 1.Java是从(B )语言改进重新设计 A Ada B C++ C Pascal D BASIC 2.下列语句哪一个正确(B ) A Java程序经编译后会产生machine code B Java程序经编译后会产生byte code C Java程序经编译后会产生DLL D 以上都不正确 3.下列说法正确的有(C ) A class中的constructor不可省略 B constructor必须与class同名,但方法不能与class同名 C constructor在一个对象被new时执行 D 一个class只能定义一个constructor 4.提供Java存取数据库能力的包是(A ) A java.sql B java.awt C j https://www.wendangku.net/doc/239876081.html,ng D java.swing 5.下列运算符合法的是(A ) A && B <> C if D := 6.下列哪一种叙述是正确的(D ) A abstract修饰符可修饰字段、方法和类 B 抽象方法的body部分必须用一对大括号{ }包住 C 声明抽象方法,大括号可有可无 D 声明抽象方法不可写出大括号 7.下列语句正确的是(A ) A 形式参数可被视为local variable B 形式参数可被所有的字段修饰符修饰 C 形式参数为方法被调用时,真正被传递的参数 D 形式参数不可以是对象 8.下列哪种说法是正确的(D ) A 实例方法可直接调用超类的实例方法 B 实例方法可直接调用超类的类方法 C 实例方法可直接调用其他类的实例方法 D 实例方法可直接调用本类的类方法 9. Unicode 缺省是用16位来表示一个字的( A )。 A 对 B 错 10.执行如下程序代码后, 1 2 3 4 5 6 7 a = 0; c = 0; do { --c; a = a - 1; } while ( a > 0 ); c 的值是( C ) A 0 B 1 C - 1 D 死循环 11. 原生类中的数据类型均可任意转换( B )。 A 对 B 错 12.Java 程序的种类有( BCD ) A 类(Class ) B Applet C Application D Servlet 13.下列说法正确的有( ACD ) A 环境变量可在编译source code 时指定 B 在编译程序时,所能指定的环境变量不包括class path C javac 一次可同时编译数个Java 源文件 D javac.exe 能指定编译结果要置于哪个目录(directory ) 14. 下列标识符不合法的有( ACD ) A new B $Usdollars C 1234 D car.taxi 15.下列说法错误的有( BCD ) A 数组是一种对象 B 数组属于一种原生类 C int number=[]={31,23,33,43,35,63}Java软件开发工程师笔试题(答案)
java高级工程师_面试题和答案
Java开发工程师笔试题(带答案)
Java工程师面试题(含答案)
Java软件开发工程师笔试题(答案)
java软件工程师笔试试题
JAVA初级程序员笔试题(电讯盈科)
JAVA工程师笔试题
JAVA高级工程师笔试题(技术部分)
某公司Java工程师笔试题
java工程师笔试题
JAVA助理工程师笔试题答案副
JAVA工程师笔试题
用友软件Java工程师面试题(含答案)
Java工程师面试题(含答案)
JAVA高级工程师笔试题目
腾讯JAVA工程师笔试题