搜档网
当前位置:搜档网 › Java基础练习题附答案

Java基础练习题附答案

Java基础练习题附答案
Java基础练习题附答案

J a v a基础练习题附答案 TTA standardization office【TTA 5AB- TTAK 08- TTA 2C】

J a v a基础练习题附答案一、简单Java程序调试

1)以下哪个是Java应用程序main方法的有效定义

A. public static void main();

B. public static void main( String args );

C. public static void main( String args[] );

D. public static void main( Graphics g );

E. public static boolean main( String a[] );

2) 编译和运行以下代码的结果为:

public class MyMain{

public static void main(String argv){

}

}

A.编译错误;

B.运行输出 "Hello cruel world";

C.编译无错,但运行时指示没有定义构造方法。

D.编译无错,但运行时指示没有正确定义main方法。

3)下列选项中不属于Java虚拟机的执行特点的一项是:

A.异常处理 B.多线程 C.动态链接 D.简单易学

4)不属于Java语言特点的一项是:

A.分布式 B. 安全性 C. 编译执行 D.面向对象

5)以下程序的运行结果为:

public class Test{

public static void main(String argv[ ]){

}

}

A. 5

B. x=5

C. "x="+5

D. "x="5

6) 以下程序的运行结果为:

public class Test{

public static void main(String argv[ ]){

}

}

A. goodmorning

B. "good"+"morning"

C. good morning

D. good+morning

二、Java符号与表达式

1) 现有一个int类型的整数和一个double类型的数进行加法运算,则得到的结果类型为:

A.int类型 B. double类型 C. float类型 D. long类型

2)下面程序段的输出结果是:

int a = 2;

A.333 B.334 C.234 D.233

3) 以下代码的输出结果

public class Test{

int x=3;

public static void main(String argv[]){

int x= 012;

}

}

A.12 B.012 C.10 D.3

4) 下列定义语句正确的是:

A.char c="/n"; B.int i=12; C.float f=; D.boolean b=null;

5)检查如下代码:

public class Quiz2_l{

public static void main(String[] args) {

int a = 8;

int b = -8;

," + (b>>1) );

}

}

下列哪条语句正确描述了程序在编译和运行时的行为

A.编译成功,输出为“32,-4 ”

B. 编译成功,输出为“16,4 ”

C. 编译成功,输出为“32,”

D. 编译成功,输出为“16,”

E. 编泽器拒绝表达式 b>>,因为不能对一个负数应用>>操作符6)以下代码中变量result的可能类型有哪些

byte b = 11;

short s = 13;

result = b * ++s;

A.byte, short, int, long, float, double

B.boolean, byte, short, char, int, long, float, double

C.byte, short, char, int, long, float, double

D.byte, short, char

E.int, long, float, double

7)以下代码的输出结果为:

A.第3行出现编译错误

B.输出23, 5, 5 和23.

C.输出5, 5, 5 和23.

D.输出 23, 5, 23 和23.

8)设有如下变量说明:

byte myByte;

int myInt;

long myLong;

char myChar;

float myFloat;

double myDouble;

以下赋值语句哪个需要强制转换。

A.myInt = myByte;

B.myInt = myLong;

C.myByte = 3;

D.myInt = myChar;

E.myFloat = myDouble;

F.myFloat = 3;

G.myDouble = ;

9)考虑如下两语句:

1. boolean passingScore = false && grade == 70;

2. boolean passingScore = false & grade == 70;表达式grade == 70 在什么地方被计算

A.在 1 和 2中均计算

B.在 1 和 2中均未计算

C.在1中计算,在2中未计算

D.在2中计算,在1中未计算

E.非法,因为 false 应写 FALSE

10)设有一个整数x 其二进制值为用1 字节表示),则执行如下语句后 z的二进制值为:

int y = 1 << 7;

int z = x & y;

A.B.C.00000001

D.E.

11) 以下哪些编译正确?

A.short myshort = 99S;

B.String name = 'Excellent tutorial Mr Green';

C.char c = 17c;

D.int z = 015;

12) 以下哪些是java关键字?

A.double B.Switch C.then D.instanceof

13) 以下程序行的输出结果为

A.14 B.0 C.6 D.12

14) 设有如下变量

char c = 'c';

int i = 10;

double d = 10;

long l = 1;

String s = "Hello";

以下哪些语句编译不出错

A.c=c+i; B. s+=i; C. i+=s; D. c+=s;

15) 整型变量a,b的值定义如下:

int a=3;

int b=4;

则表达式 ++a==b的值为:

A.4 B.false C.3 D.true

16) 执行下列代码后输出结果为:

public class test {

public static void main(String args[]) {

int a=2;

int b=3;

int c=7;

int d=a>c?a:c;

d=d>>2>b d:b;

}

}

A.2 B.3 C.5 D.7

三、分支程序设计

1)下列语句片段的结果为

int result;

int a=17,b=6;

result=(a%b>4) a%b:a/b ;

A. 0

B. 1

C. 2

D. 5

2)以下程序的运行结果为:

1. public class Conditional {

2. public static void main(String args [] ) {

3. int x = 4;

5. }

6. }

A. 输出:value is

B. 输出: value is 9

C. 输出: value is

D. 在第4行出现编译错误

3)以下代码段的输出结果为

1. int x = 0, y = 4, z = 5;

2. if (x > 2) {

3. if (y < 5) {

4. System. out .println ( "message one" );

5. }

6. else {

8. }

9. }

10. else if (z > 5) {

12. }

13. else {

15. }

A. message one

B. message two

C. message three

D. message four

4)以下程序的输出结果为:

public class test {

public static void main(String args[]) {

int x=1,y=1,z=1;

if (x--==1&&y++==1||z++==1)

}

}

A. x=0,y=2,z=1

B. x=1,y=2,z=1

C. x=0,y=1,z=1

D. x=0,y=2,z=2

5)编译和运行以下代码结果为:

1. public class EqualsTest{

2. public static void main(String args[]){

3. byte A=(byte)4096;

6. }

7. }

A.在第3行出现转换丢失精度的编译错误.

B.输出 "Not Equal".

C.输出 "Equal".

6)关于以下程序哪条叙述正确

1. int j = 2;

2. switch ( j ) {

3. case 2:

5. case 2 + 1:

7. break;

8. default:

10. break;

11. }

A. 第5行的表达式不合法;

B. 变量j是可接受的,switch中表达式可以是byte, short, int,或long的任何类型;

C. 输出为value is two

D. 输出是value is two 后跟value is three

E. 输出是value is two 后跟 value is 2

7)以下程序的编译运行结果为:

1: public class Q10

2: {

3: public static void main(String[] args) 4: {

5: int i = 10;

6: int j = 10;

7: boolean b = false;

8:

9: if( b = i == j)

11: else

13: }

14: }

A. 第9行出现编译错误;

B. 第9行出现运行错误;

C. 输出 True

D. 输出 False

8)以下程序的编译和运行结果为?

class test {

static boolean check;

public static void main(String args[]) { int i;

if(check == true)

i=1;

else

i=2;

if(i=2) i=i+2;

else i = i + 4;

}

}

A. 3

B. 4

C. 5

D. 6

E. 语句if(i=2)编译出错

9) 以下代码:

if (a >4)

else if (a >9)

else

a为何值将有输出结果test2

A. 小于 0

B. 小于 4

C. 4 和9之间

D. 大于9

E. 无任何可能

10)有如下代码段:

switch ( x ){

case 2:

}

变量x的取值下列哪些情形时,能使程序输出"Two" 。

A. 1

B. 2

C. 3

D. default

11)以下程序的输出结果为

public class test {

public static void main(String agrs[]) {

char c1=’B’,c2=’C’;

if (c1+1

}

}

A. B

B. b

C. C

D. c

12) 假设a是int类型变量,并初始化为1,则下列哪个为合法的条件语句?

A. if (a) { }

B. if (a<<3) { }

C. if (a=2) { }

D. if (true) { }

四、循环程序设计

1)执行以下程序后,输出结果为

public class ex2{

public static void main(String args[]) {

int f=1;

int k;

for (k=2;k<5;k++)

f*=k;;

}

}

A. 0

B. 1

C. 5

D. 4

E. 24

2)设有如下类

class Loop{

public static void main(String[] agrs) {

int x=0;int y=0;

outer:

for(x=0;x<100;x++){

middle:

for(y=0;y<100;y++){

if(y==10){ <<>> }

}

}

}

}

在<<>>处插入什么代码可以结束外循环

A.continue middle;

B.break outer;

C.break middle;

D.continue outer;

E.none of these

3)以下代码的运行结果为:

public class Calc {

public static void main (String args []) {

int total = 0;

for (int i = 0, j = 10; total > 30; ++i, --j) { total += (i + j);

}

}

}

A. 产生运行错误

B. 产生编译错误

C. 输出 "Total 0"

D. 产生如下输出:

i = 0 : j = 10

i = 1 : j = 9

i = 2 : j = 8

Total 30

4)以下程序的运行结果为:

public class test {

public static void main(String args[]) {

int i=0, j=2;

do {

i=++i;

j--;

} while(j>0);

}

}

A. 0

B. 1

C. 2 D.3

5)以下程序的运行结果为?

class xyz {

public static void main(String args[]) { int i,j,k;

for (i = 0; i < 3; i++) {

for(j=1; j < 4; j++) {

for(k=2; k<5; k++) {

if((i == j) && (j==k))

}

}

}

}

}

A. 0

B. 1

C. 2

D. 3

E. 4

6)以下程序的运行结果为?

class test {

public static void main(String args[]) { int i,j=0;

for(i=10;i<0;i--) { j++; }

switch(j) {

case (0) : j=j+1;

case (1) : j=j+2; break;

case (2) : j=j+3; break;

case (10) : j=j+10; break;

default : break;

}

}

}

A. 0

B. 1

C. 2

D. 3

E. 10

7)观察以下程序段:

int i=1,j=10;

do{

if(i++>--j) continue;

} while(i<5);

执行完后,i、j的值分别为:

A. i=6 j=5 B. i=5 j=5

C. i=6 j=4 D. i=5 j=6

8)以下程序的输出结果为:

public class example {

public static void main(String args[]) { int s=0;

for (int i=0;i<5;i++) {

for (int j=10;j>3*i;j--)

s += i*j;

}

}

}

A. 127

B.136

C. 147

9) 以下程序的输出结果为:

public class example {

public static void main(String args[]) { int i=0;

for (i=0;i<4;i++) {

if (i==3)

break;

}

}

}

.0122 C

10) 以下程序的运行结果为

class Prob10 {

static boolean b1;

public static void main(String [] args) { int i1 = 11;

double f1=;

do {

b1 = (f1 > 4) && (i1-- < 10);

f1 += ;

} while (!b1);

}

}

A. false,9,

B. true,11,

C. false,8,

D. true,8,

五、方法设计

1)以下代码的输出结果

public class Test{

static int x=5;

public static void main(String argv[]){ change(x);

x++;

}

static void change(int m){

m+=2;

}

}

A. 7

B. 6

C. 5

D. 8

2) 以下代码的输出结果

public class Test{

int x=5;

public static void main(String argv[]){ Test t=new Test();

++;

change(t);

}

static void change(Test m){

+=2;

}

}

A. 7

B. 6

C. 5

D. 8

3) 以下代码的输出结果

public class Test{

public static void main(String argv[]){

String x="hello";

change(x);

}

static void change(String m){

m=m+2;

}

}

A. hello

B. hello2

C. 编译报错

D. 运行报错,不能将串与整数相加4)设有如下类:

class MyPoint {

void myMethod() {

int x, y;

x = 5; y = 3;

switchCoords( x, y );

}

void switchCoords( int x, int y ) {

int temp;

temp = x;

x = y;

y = temp;

}

}

如果执行myMethod()方法,则输出结果为

A. (5, 3) (5, 3) (5, 3)

B. (5, 3) (3, 5) (3, 5)

C. (5, 3) (3, 5) (5, 3)

5)以下程序的输出结果为:

public class test {

public static void main(String args[]) { int s=0;

for (int k=0;k<=10;k++)

s+=method(2,k)-1;

}

public static int method(int n,int m) { if (m==0)

return 1;

else

return n*method(n,m-1);

}

}

A. 2048

B. 1024

C. 2036

6) 以下程序的输出结果为:

public class test {

public static void main(String args[]) { int m=0;

for ( int k=0;k<2;k++)

method(m++);

}

public static void method(int m) {

}

}

A. 000

B. 012

C.123

六、数组的使用

1)输入如下命令运行Java应用程序。 java MyTest "1 2 3"

《JAVA程序设计》试卷含答案

《JAVA 程序设计》试卷 《JAVA 程序设计》试卷 第1页,共6页 第2页,共6页 Java 程序设计 一、 填空题(要求将答案写在空白处,共11道小题,每空1分,共20分) 1、Java 的三大体系分别是______、______、______。 2、Java 程序的运行环境简称之为______。 3、Java 中的程序代码都必须在一个类中定义,类使用______关键字来定义。 4、布尔常量即布尔类型的两个值,分别是______和______。 5、在Java 中,byte 类型数据占______个字节,short 类型数据占______个字节,int 类型数据占______个字节,long 类型数据占______个字节。 6、若x = 2,则表达式 ( x + + )/3 的值是______。 7、若int a =2; a+=3;执行后,变量a 的值为______。 8、若int []a={12,45,34,46,23}; ,则a[2]= ______。 9、若int a[3][2]={{1,1},{2,2},{3,3}},则a[2][1]= ______。 10、 面向对象的三大特征是______、______和______。 11、 定义在类中的变量被称为______,定义在方法中的变量被称为______ 二、 选择题(将正确答案写在括号内,注意没有在题目中特别说明的均为单选题, 共10题,每题2分,共20分) 1、以下选项中,哪个用来编译源程序 A 、Javadoc B 、Java 运行工具 C 、Java 编译器 D 、Java 打包工具 2、Java 属于以下哪种语言? A 、机器语言 B 、 汇编语言 C 、高级语言 D 、以上都不对 3、下面哪种类型的文件可以在Java 虚拟机中运行? A 、.java B 、.jre C 、class D 、.exe 4、以下选项中,switch 语句判断条件可以接收的数据类型有哪些? (多选) A 、int B 、byte C 、char D 、short 5、假设int x = 2,三元表达式 x>0?x+1:5 的运行结果是以下哪一个? A 、0 B 、2 C 、3 D 、5 6、下面的运算符中,用于执行除法运算是哪个? A 、% B 、\ C 、/ D 、* 7、下列语句哪些属于循环语句?(多选) A 、for 语句 B 、if 语句 C 、while 语句 D 、switch 语句 8、下面哪种写法可以实现访问数组arr 的第1个元素? A 、arr[0] B 、arr(0) C 、arr[1] D 、arr(1) 9、以下哪个选项可以正确创建一个长度为3的一维数组? A 、 new int [2]; B 、 new int[3][]; C 、 new int[3]; D 、 以上答案皆不对 10、请先阅读下面的代码。 int x = 1; int y = 2; if (x % 2 == 0) { y++; } else { y--; } System.out.println("y=" + y); 上面一段程序运行结束时,变量y 的值为下列哪一项? A 、3 B 、2 C 、1 D 、switch 语句 三、程序阅读题(要求将分析结果写在答题纸上,共4道小题,每题5分,共20分) 阅读下面的程序,分析代码是否能够编译通过,如果能编译通过,请列出运行的结果。否则请说明编译失败的原因。 代码一: public class Test01 {

java基础笔试题(答案已整理)

Java基础试题 一:选择题(1*30=30)(题目写在答题纸上面) 1:Java 提供哪几种运算符多选( abcd )。 A)算术运算符B)位运算符 C)关系运算符D)逻辑运算符E)条件运算符 2:https://www.sodocs.net/doc/c316628411.html,ng包的()方法比较二个对象是否相等返回true.。(b) A:toString() B:equals() C:compare D:以上都不正确 3:下列对Java 的变量与函数说法正确的是多选(ace )。 A)变量是用来保存数据的B)变量是用来实现操作过程的C)函数是用来实现操作过程的D)函数是用来保存数据的E)函数的参数是数据的入口 4:已知:int[] a = new int[100];在下列给出的数组元素中,非法的是。(d) A:a[0] B:a[1] C:a[99] D:a[100] 5:在java中,一个类可同时定义许多同名的方法,在这些方法的形式参数个数,类型或顺序各不相同,传值也可以各不相同。这种面向对象程序的特性称为。(c) A:隐藏B:覆盖C:重载D:Java不支持此特性 6:()是一组常量和抽象方法的集合。(d) A:实例B:类C:包D:接口 7:下面关于数组说法正确的是多选(abcde)。 A)一维数组实质上是相同类型变量的列表 B)创建一个数组首先定义数组变量所需的类型 C)char c[]=new char[26];可声明一个含有26 个元素的char型数组 D)当为一个多维数组的时候分配内存时,仅需要为第一指定内存,然后再分配其他维的存E)int twain[][] = new int[4][5];可声明一个二维数组 8:Java源文件和编译后的文件扩展名分别为。(b) A:.class和.java B:.java各.class C:.class和.class D:.java和.java 9:设x=5;则y=x--和y=--x的结果,使y分别为。(c) A:5,5 B:5,6 C:5,4 D:4,4 10:若x是float类变量,x=10/4;则x 的值是。(b) A:2 B:2.0 C:2,5 D:编译错误 11:.下面方法中,用于调度线程使其运行的是?多选(bc ) A. init() B. start() C. run() D. resume() E. sleep() 12.下面哪种情况能实现自动转换多选(ace )。 A)byte 型转换成int 型B)int 型转换成byte 型 C)float 型转换成double型D)double 型转换成int 型E)char型转换成int 型 13:下列那些是正确的JAVA字符串?多选(abd )。 A. "\"\"" B. "Oxzabc" C. "\"\" D. "\t\t\r\n" E. "boolean"5 14:在使用super 和this关键字时,以下描述正确的是。(a) A::在子类构造方法中使用super()显示调用父类的构造方法,super()必须写在子类构造方法的第一行,否则编译不通过 B:super()和this()不一定要放在构造方法内第一行

Java基础测试题(答案)

1. 有以下程序片段,下列哪个选项不能插入到行1。( D ) 1. 2.public class Interesting{ 3.//do sth 4. } (只能有一个public修饰的class) A、import java.awt.*; B、package mypackage; C、class OtherClass{ } D、public class MyClass{ } 2. 以下哪项是接口的正确定义?( B D ) A、interface B { void print(){};} (接口里的方法都是抽象的,不能有方法体) B、abstract interface B { void print() ;} C、abstract interface B extends A1,A2 //A1、A2为已定义的接口 { abstract void print(){ };} (同上) D、interface B { void print();} 1.接口可以声明为public(公共)或默认的访问权限。接口隐含表明是抽象的(abstract)的。 2.接口的方法默认即为public(公共)且是abstract(抽象)的. 3.接口中的变量默认即为public(公共), static(静态) and final(最终的)。 接口声明编译器如何解释呢 public interface Searchable {}public abstract interface Searchable {} abstract interface Searchable {}abstract interface Searchable {} interface Searchable {}abstract interface Searchable {}

java基础测试题及答案

一、选择题(每题2分,共40分) 1、下面哪个是Java语言中正确的标识符( C ) A、3com B、import C、that D、this 2、下面哪个语句(初始化数组)是不正确的:(B) A.int x[] = {1,2,3}; B.int x[3] = {1,2,3}; C.int[] x = {1,2,3}; D.int x[] = new int[]{1,2,3}; 3、下述概念中不属于面向对象方法的是( D )。 A.对象、消息 B.继承、多态 C.类、封装 D.过程调用 4、下面的代码段中,执行之后i 和j 的值是什么? ( B ) int i = 1; int j; j = i++*2+3*--i; A.1, 2 B.1, 5 C.2, 1 D.2, 2 5、下面哪条语句把方法声明为抽象的公共方法?(B ) A.public abstract method(); B.public abstract void method(); C.public abstract void method(){} D.public void method() extends abstract; 6、下面关于java中类的说法哪个是不正确的?( C ) A.类体中只能有变量定义和成员方法的定义,不能有其他语句。 B.构造函数是类中的特殊方法。 C.类一定要声明为public的,才可以执行。 D.一个java文件中可以有多个class定义。 7、假设A类有如下定义,设a是A类的一个实例,下列语句调用哪个是错误的?( C ) class A { int i; static String s; void method1() { } static void method2() { } } A、System.out.println(a.i); B、a.method1(); C、A.method1(); D、A.method2() 8、容器被重新设置大小后,哪种布局管理器的容器中的组件大小不随容器大小 的变化而改变? ( B ) A、CardLayout B、FlowLayout C、BorderLayout D、GridLayout 9、下列哪个用户图形界面组件在软件安装程序中是常见的? ( C ) A.滑块 B.进度条 C.按钮 D.标签

Java程序设计期末考试试题

Java程序设计期末考试试题、试卷、习题A卷 一、选择题。本题共20小题,每题2分,满分40 分。 1、在浏览器中执行applet 程序,以下选项中的哪个方法将被最先执行……… () A)init() B)start() C)destroy() D)stop() 2、有以下方法的定义,请选择该方法的返回类型() ReturnType method(byte x, double y) { return (short)x/y*2; } A)byte B)short C)int D)double 3、以下哪项可能包含菜单条()。 A)Panel B)Frame C)Applet D)Dialog 4、Java application中的主类需包含main方法,main方法的返回类型是什么?()A)int B)float C)double D)void 5、Java application中的主类需包含main方法,以下哪项是main方法的正确形参?( ) A)String args B)String ar[] C)Char arg D)StringBuffer args[] 6、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( )。 A). java B) .class C) . html D) .exe 7、设int型变量x = 1 , y = 2 , z = 3,则表达式y+=z--/x++ 的值是( )。 A)3 B)3. 5 C)4 D)5 8、不允许作为类及类成员的访问控制符的是( )。 A)public B)private C)static D)protected 9、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )。 A)static void method( ) B)public void method( ) C)final void method( ) D)abstract void method( ) 10、以下哪一个不是JAVA的标准数据流( )。 A)标准输出数据流B)标准输入数据流C)标准错误数据流D)标准运算数据流 11.设有下面两个赋值语句:( ) a = Integer.parseInt(“123”); b = Integer.valueOf(“123”).intValue(); 下述说法正确的是()。 A)、a是整数类型变量,b是整数类对象。B)、a是整数类对象,b是整数类型变量。C)、a和b都是整数类对象并且值相等。D)、a和b都是整数类型变量并且值相等。 12、下列代表十六进制整数的是( ) A)0123 B)1900 C)fa00 D)0xa2

Java工程师面试题(含答案)

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基础测试题

一、选择题48分每题2分 1.面向对象的三大特性不包括() A 封装 B 继承 C 多态 D 消息通信 2.下列声明哪个是错误的() A int i = 10; B float f = 1.1; C double d = 34.4; D long m = 4990; 3.程序的执行结果是() public class Test { public static void main(String [] args){ System.out.println(“”+'a'+1); } } A 98 B a 1 C 971 D 197 4.程序的执行结果是() public class Test { int x; public static void main(String [] args){ Test t = new Test(); t.x=5; change(t); System.out.println(t.x); } public static void change(Test t){ t.x=3; } } A 5 B 3 C 编译出错 D 以上答案都不对 5.关于类与对象说法错误的是() A 类是模板,对象是产品 B 人是类,男人是对象 C 类是对某一事物的描述是抽象的,对象是实际存在的该类事物的个体 D 汽车设计图是类,制造的若干汽车是对象 6.关于构造函数说法错误的是() A 构造函数名与类相同 B 构造函数无返回值,可以使用void 修饰 C 构造函数在创建对象时被调用 D 在一个类中如果没有明确的给出构造函数,编译器会自动提供一个构造函数7.程序的执行结果是() public class Test { public static void main(String [] args){ String str1= new String("abc"); String str2 = new String("abc"); String str3=str1; if(str1.equals(str2)){ System.out.println("true"); }else{ System.out.println("false"); } if(str1==str3){

java基础考试题及答案

新员工考试 一、选择题(共30题,每题 2 分) 1. 下面哪些是合法的标识符?(多选题) A. $persons B. TwoUsers C. *point D. this E. _endline 答案A,B,E 分析Java 的标识符可以以一个Unicode 字符,下滑线(_),美元符($)开始,后续字符可以是前面的符号和数字,没有长度限制,大小写敏感,不能是保留字(this 保留字)。 2. 哪些是将一个十六进制值赋值给一个long 型变量?(单选题) A. long number = 345L; B. long number = 0345; C. long number = 0345L; D. long number = 0x345L 答案D 分析十六进制数以Ox开头,Io ng型数以L (大小写均可,一般使用大写,因为小写的 l 和数字1 不易区分)。 3. 下面的哪些程序片断可能导致错误? (多选题) A. String s = "Gone with the wind"; String t = " good "; String k = s + t; B. String s = "Gone with the wind"; String t; t = s[3] + "one"; C. String s = "Gone with the wind"; String standard = s.toUpperCase(); D. String s = "home directory"; String t = s - "directory"; 答案B,D 分析 A:String 类型可以直接使用+进行连接运算。 B:String 是一种Object ,而不是简单的字符数组,不能使用下标运算符取其值的某个元 素,错误。 C:toUpperCase()方法是String 对象的一个方法,作用是将字符串的内容全部转换为大写并返回转换后的结果(String 类型)。 D:String 类型不能进行减(- )运算,错误。 4. point x 处的哪些声明是句法上合法的? (多选题) cIass Person { private int a; pubIic int change(int m){ return m; } } pubIic cIass Teacher extends Person { public int b;

JAVA程序设计试卷一

浙江工商大学2006/2007学年第一学期考试试卷课程名称:Java程序设计考试方式:闭卷完成时限:120分钟班级名称:学号:姓名:题号一二三四五六七八九十总分分值 得分 阅卷人 一、选择题(每题2分,共30分) 1、Java程序的执行过程中用到一套JDK工具,其中java.exe是指B。 A.Java文档生成器 B.Java解释器 C.Java编译器 D.Java类分解器 2、Java语言中,下列标识符错误的是D。 A.—sys1 B.&—m C.I D.40name 3、下列语句执行后,变量a、c的值分别是B。 int x=182; int a,c; c=x/100; a=x%10; A)1,2B)2,1C) 1.82,2D)100,82 4、应用程序的main方法中有以下语句,则输出的结果是A。 String s1="0.5",s2="12"; double x=Double.parseDouble(s1); int y=Integer.parseInt(s2); System.out.println(x+y); A)12.5B)120.5C)12D)“12.5” 5、下列程序段执行后的结果是A。 String s=new String("abcdefg");

for(int i=0;i

JAVA基础面试题经典

JAVA基础面试题经典

第一阶段题库 基础知识部分: 1.JDK是什么?JRE是什么? a)答:JDK:java开发工具包。JRE:java运行时 环境。 2.什么是java的平台无关性? a)答:Java源文件被编译成字节码的形式,无论 在什么系统环境下,只要有java虚拟机就能运行这个字节码文件。也就是一处编写,处处运行。这就是java的跨平台性。 3.在一台电脑上配置java环境,path起什么作 用?如何配置? a)答:path的作用是在DOS环境下,能在任意 位置使用JDK目录中bin文件夹中的可执行程序,来编译执行java程序。 b)在环境变量中找到path变量,把bin文件夹 的绝对路径加上即可。 4.什么样的标识符是合法的? a)由字母、数字、_和$组成,长度不限。其中字 母能够是大写或小写的英文字母,数字为0到9。

b)标识符的第一个字符不能是数字。 c)标识符区分大小写。 d)标识符不能包含空格。 5.Java有几种基本数据类型? a)byte,short,int,long,char,boolean,float,double 6.什么是隐式类型转换?什么是显示类型转换? a)当将占位数少的类型赋值给占位数多的类型 时,Java自动使用隐式类型转换。 b)当把在级别高的变量的值赋给级别底变量时, 必须使用显示类型转换运算。 7.&&和&区别,||和|区别? a)&&和||是短路与,短路或,当左边的表示式能 判断当前结果,则不判断右边的表示式。 b)而& 和|则将两边的表示式都运算完毕后,再 算结果。 8.break,continue区别? a)break结束最近的一个循环,continue结束当 次循环,进入下次循环。 9.类的命名规则是什么? a)如果类名使用拉丁字母,那么名字的首写字母 使用大写字母。

java基础选择题

练习01:请问,以下哪些是合法的变量名? 请选择一个正确答案: (1)_int (2)$marie (3)Integer (4)2much (5)选项(1)、(2)、(3)均正确 答(5) 练习02:请问,以下哪些是JA V A应用的入口程序main()的方法正确语法形式? 请选择一个正确答案: (1)p ublic static void main(Sting[]args) (2)s tatic public void main(String[]args) (3)p ublic void main(String args[]) (4)选项(1)、(2)均正确 (5)选项(1)、(2)、(3)均正确。 答(4) 练习03:请问,以下哪些是初始化数组的正确语法形式? 请选择一个正确答案: (1)i nt x[]={1,2,3};

(2)i nt x[3]={1,2,3}; (3)i nt[]x={0,0,0}; (4)c har[]x={…a?,?b?}; (5)选项(1),(3),(4)均正确。 答(5) 练习04:请问,以下哪些是字节型数据的的取值范围? 请选择一个正确答案: (1)0,+255 (2)-127..+128 (3)-128..+127 (4)0..65535 (5)-32767..+32768 答(3) 练习05:请问,以下哪些描述是正确的? 请选择一个正确答案: (1)int是32位的带符号型整型值。 (2)short型是16位的带符号整形值。 (3)char型是16位的Unicode编码字符。 (4)float型是64位的浮点值。 (5)选项(1),(2),(3)均正确。

Java基础试题及答案

《Java面向对象程序设计》 姓名: 一、判断题(15’) 1.Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。错 finalize()方法 2.对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。错方法赋值采用相应的方法 3.有的类定义时可以不定义构造函数,所以构造函数不是必需要写的。对4.类及其属性、方法可以同时有一个以上的修饰符来修饰。对 5.Java的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点错6.抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法。错7.Final类中的属性和方法都必须被final修饰符修饰。错 8.最终类不能派生子类,最终方法不能被覆盖。对 9.子类要调用父类的方法,必须使用super关键字。错 10.一个Java类可以有多个父类。错 二、选择题(30’) 1、关于被私有保护访问控制符private protected修饰的成员变量,以下说法正确的是(C) A.可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类 B.可以被两种类访问和引用:该类本身、该类的所有子类 C.只能被该类自身所访问和修改 D.只能被同一个包中的类访问 2、关于被私有访问控制符private修饰的成员变量,以下说法正确的是(C)A.可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类 B.可以被两种类访问和引用:该类本身、该类的所有子类 C.只能被该类自身所访问和修改 D.只能被同一个包中的类访问 3、关于被保护访问控制符protected修饰的成员变量,以下说法正确的是(D)A.可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类 B.可以被两种类访问和引用:该类本身、该类的所有子类 C.只能被该类自身所访问和修改 D.只能被同一个包中的类访问 4、下列关于修饰符混用的说法,错误的是(D) A.abstract不能与final并列修饰同一个类 B. abstract类中不可以有private的成员 C.abstract方法必须在abstract类中

最新java基础面试题(答案)

1 1、如下哪些不是java的关键字? 2 A)const B)NULL C) false D)this E) native 3 答:B 4 2、关于垃圾收集的哪些叙述是对的 5 A)程序开发者必须自己创建一个线程进行内存释放的工作 6 B)垃圾收集将检查并释放不在使用的内存 7 C)垃圾收集允许程序开发者明确指定并立即释放该内存 8 D)垃圾收集能够在期望的时间释放被java对象使用的内存 9 答:B 10 3、已知表达式 int m [ ] = {0,1,2,3,4,5,6};下面哪个表达式11 的值与数组下标量总数相等? 12 A)m.length() B)m.length C)m.length()+1 D)m.length-1 13 答:D 14 4、已知如下代码: public class Test { long a[] = new long [10]; public 15 static void main(String arg[] ){ System.out.print(a[6]); } } 请问哪个16 语句是正确的? 17 A)Output is null. B)Output is 0 C)When compile, some error will 18 occur. 19 D)When running, some error will occur.

20 答:C 21 5、已知如下代码: public class Test { public static void main(String 22 arg[] ) { int i = 5; do{ System.out.print(i); }while(--i>5); 23 System.out.print(“finished”); } } 执行后的输出是什么? 24 A)5 B)4 C)6 D)finished 25 答:AD 26 6、已知如下代码: 27 switch (m) { 28 case 0: System.out.print(“Condition 0”); 29 case 1: System.out.print(“Condition 1”); 30 case 2: System.out.print(“Condition 2”); 31 case 3: System.out.print(“Condition 3”); default: 32 System.out.print(“Other Condition ”); } 当m的值为什么时能输出33 “Condition 2” 34 A)0 B)1 C)2 D)3 E) 4 F)None 35 答:ABC 36 18、下面的哪些声明是合法的? 37 A)long 1 = 4990 B)int i = 4L C)float f =1.1 D)double d = 34.4 38 答:AD

Java基础试题和答案解析

Java试题 1) java程序中,main方法的格式正确的是()。(选择一项) a)static void main(String[] args) b)public void main(String[] args) c)public static void main(String[]s) d)public static void main(String[] args) 2)给定java代码,如下: public byte count(byte b1,byte b2){ return______; } 要使用这段代码能够编译成功,横线处可以填入()。(选择一项) a)(byte) (b1-b2) b)(byte) b1-b2 c) b1-b2 d) (byte) b1/b2 3)在Java中,在包com.db下定义一个类,要让包com.util下的所有类都可以访问这个类,这个类必须定义为()。(选择一项) a)protected b)private c)public d)friendly 4)在Java中,下列()语句不能通过编译。(选择一项) a) String s= “join”+ “was”+ “here”; b) String s= “join”+3; c) int a= 3+5 d) float f=5+5.5; 5) 在Java中下列()方法可以把JFrame的布局管理器设为FlowLayout类型(选择一项) a)jFrame.setLayout(new FlowLayout() ); b) jFrame.addLayout(new FlowLayout() ) c)jFrame.setFlowLayout() d)jFrame.addFlowLayout() 6)给定java代码如下,运行时,会产生()类型的异常。(选择一项) String s=null; s.concat(“abc”); a)ArithmeticException b)NullPointerException c)IOException d)EOFException 7) 在java中,()对象可以使用键/值的形式保存数据。(选择一项) a)ArrayList b) HashSet c) HashMap d) LinkedList

Java面试题集(最全版)

目录表 第一章技巧篇 2 介绍自己2 行为2 第二章智力篇 3 微软面试题 3 第三章 Java篇5 Java基础方面--概念 5 Java基础方面—线程编程方面12 Java基础方面—编程 14 第四章 Jsp篇30 第五章 Servlet篇31 第六章应用服务器篇37 第七章 J2EE,MVC篇38 第八章设计模式方面篇40 第九章 Hibernate程序性能优化篇41 Hibernate程序性能优化 45

Hibernate 优化47 Hibernate优化的几点建议51 Hibernate性能优化52 第十章数据库篇55 第一套数据库笔试题及答案 55第二套数据库笔试题及答案 64

第一章技巧篇 介绍自己 1、自我认识 想一矢中的,首先必须认清自我,一定要弄清以下三个问题。你现在是干什么的?你将来要干什么?你过去是干什么的? 这三个问题不是按时间顺序从过去到现在再到将来,而是从现在到将来再到过去。其奥妙在于:如果你被雇用,雇主选中的是现在的你,他希望利用的是将来的你,而这将来又基于你的历史和现状。 所以,第一个问题,你是干什么的?现在是干什么的?回答这个问题,要点是:你是你自己,不是别的什么人。除非你把自己与别人区别开来,在共同点的基础上更强调不同点,否则你绝无可能在众多的应征求职者中夺魁。对于这第一个问题,自我反省

越深,自我鉴定就越成功。 随后,着手回答第二个问题:你将来要干什么?如果你申请的是一份举足轻重的工作,雇主肯定很关注你对未来的自我设计。你的回答要具体,合理,并符合你现在的身份,要有一个更别致的风格。 然后,再着手回答最后一个问题:你过去是干什么的?你的过去当然都在履历上已有反映。你在面试中再度回答这个问题时,不可忽略之处是:不要抖落一个与你的将来毫不相干的过去。如果你中途彻底改行,更要在描述你的执着、职业目标的一贯性上下些功夫。要做到这一点,又要忠实于事实和本人,最简单的方法是:找到过去与将来的联系点,收集过去的资料,再按目标主次排列。 用这样的方法,以现在为出发点,以将来为目标,以过去为证实,最重要的是加深了你的自我分析和理解。其实,在面试的时候不一定有机会或者有必要照搬你的大作,但这三个问题的内在联系点一定会体现在自我表述的整体感觉中,使你的形象栩栩如生。 2、投其所好 清楚自己的强项后,便可以开始准备自我介绍的内容:包括工作模式、优点、技能,突出成就、专业知识、学术背景等。

最新Java基础试题及其答案

Java试题 一单项选择 1)在Java中,在包com.db下定义一个类,要让包com.util下的所有类都可以访问这个类,这个类必须定义为()。() a)protected b)private c)public d)friendly 2)在Java中,下列()语句不能通过编译。(选择一项) a) String s= “join”+ “was”+ “here”; b) String s= “join”+3; c) int a= 3+5 d) float f=5+5.5; 3)给定java代码如下,运行时,会产生()类型的异常。(选择一项) String s=null; s.concat(“abc”); a)ArithmeticException b)NullPointerException c)IOException d)EOFException 4) 在java中,()对象可以使用键/值的形式保存数据。(选择一项) a)ArrayList b) HashSet c) HashMap d) LinkedList 5)给定如下java代码,编译运行之后,将会输出()。 public class Test{ public staticvoid main(String args[]){ int a=5; System.out.println(a%2==1) ?(a+1) /2:a/2) ; } } (选择一项) a)1 b)2 c)2.5 d)3 6)以下Java语句中,String str = “123456789”;str =str.subString(1,3);执行后str中的值为。(选择一项) a) “23” b)“123”

Java程序设计(1)试卷(A)

学院 数计 卷教师 叶锋 系主任签名 制卷份数 专业 电信、通信、光电 班级编号 B07073011、07073021、07073031 江汉大学2009——2010学年第 1学期 考 试 试 卷 课程编号: 课程名称: JAVA 程序设计(1) 试卷类型: 卷 考试时间:120 分钟 一、单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内,每小题2分,共30分) 1、 一个Java 程序运行从上到下的环境次序是( C )。 A. 操作系统、Java 程序、JRE/JVM 、硬件 B. JRE/JVM 、Java 程序、硬件、操作系统 C. Java 程序、JRE/JVM 、操作系统、硬件 D. Java 程序、操作系统、JRE/JVM 、硬件 2、下面哪些是合法的标识符。(A ) A. persons B. 12345 C. *point D. this 3、以下说法正确的是( B )。 A.一个可直接运行的Java 源文件中可以有多个public 类,其中必须有一个和文件同名 B.一个可直接运行的Java 源文件中可以没有public 类 C.一个可直接运行的Java 源文件中只能有一个且和文件同名的public 类。 D. 一个可直接运行的Java 源文件中可以有多个public 类,且可以没有和文件同名的类。 4、在java 中定义常量的正确语法为( C )。 A . int value=20; B. const int V ALUE=20; C. final int V ALUE=20; D. int V ALUE=20; 5、下面代码的运行输出结果是( A )。 public class example { public static void main(String args[]) { int x=0; if (x>0) x=1; switch (x)

JAVA面试题(_华为)(答案)

软件开发应试人员考试试题(Java) 姓名:___________ 电话:___________ 以下信息有工作经验人员如实填写,应届毕业不填(时间从毕业参加工作算起) 从事Java开发时间____月熟悉JavaScrip时间____月 熟悉EXT开发时间____月熟悉PDM开发时间____月 熟悉的数据库及时间(如SQLServer 3个月,可多填)___________________ 一、JAVA基础 1、简述你所知道的JA V A修饰符及各自的使用机制?(public、abstract、final、synchronized、super…) public :允许所有客户访问 protected:只能在本包内被该类的子类所使用 private:只允许在本类内使用 abstract:没有提供实现,需要子类提供 static:与整个类相关,与单个对象无关 final:你只能定义一个实体一次,以后不能改变它或继承它。一个final修饰的类不能被子类化,一个final 修饰的方法不能被重写,一个final修饰的变量不能改变其初始值 synchronized:方法获得对对象监控的访问权;如果该方法是static类型的,获得是对类本身的访问权。super:构造器和方法,都用关键字super指向超类,但是用的方法不一样。方法用这个关键字去执行被重载的超类中的方法。 2. String、StringBuffer与StringBuilder之间区别?别简述各自的执行效率? 区别:String 类型和StringBuffer 类型的主要性能区别其实在于String 是不可变的对象, 因此在每次对String 类型进行改变的时候其实都等同于生成了一个新的String 对象,然后将指针指向新的String 对象,所以经常改变内容的字符串最好不要用String ,因为每次生成对象都会对系统性能产生影响,特别当内存中无引用对象多了以后,JVM 的GC 就会开始工作,那速度是一定会相当慢的, 执行速度:三者在执行速度方面的比较:StringBuilder > StringBuffer > String 使用场景:1.如果要操作少量的数据用= String 2.单线程操作字符串缓冲区下操作大量数据= StringBuilder 3.多线程操作字符串缓冲区下操作大量数据= StringBuffer 2、静态变量和实例变量的区别?能在静态方法中调用非静态变量吗? 静态变量属于类,该类不生产对象,通过类名就可以调用静态变量。实例变量属于该类的对象,必须产生该类对象,才能调用实例变量 静态方法及变量属于整个类,数据将会被存储在公共区域,非静态方法及变量属于对象 静态方法中无法调用实例变量,而实例方法却可以调用静态变量

相关主题