当前位置:文档之家› Java基础练习题附答案

Java基础练习题附答案

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

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"

则命令行参数数组args中得到的值哪个正确?

A. args[0] = "MyTest 1 2 3"

B. args[0] = "1 2 3"

C. args[0] = "1"

D. args[1]= "1 2 3"

2) 在注释for (int i=0; i < () -1; i++)

B. for (int i=0; i< (); i++)

C. for (int i=1; i < 4; i++)

D. for (int i=0; i< ;i++)

3)以下代码的调试结果?

public class Q {

public static void main(String argv[]) {

int anar[]= new int[5];

}

}

A. 编译错误:anar 在引用前未初始化。

B. null

C. 0

D. 5

4) 下列创建二维整型数组正确语句是:

A. int a[][] = new int [10,10];

B. int a[10][10] = new int [][];

C. int a[][] = new int [10][10];

D. int []a[] = new int [10][10];

5) 给出下面代码:

public class Person{

static int arr[] = new int[10];

public static void main(String a[]) {

}

}

以下那个说法正确?

A. 编译时将产生错误;

B. 编译时正确,运行时将产生错误;

C. 输出0;

D. 输出null。

6)设有如下说明:

char[] c = new char[100];

则,c[50]的值为?

A. 50

B. '/u0000'

D. 不定

E. 为null,直到被赋值。

7)设有如下程序,其调试结果为:

class Q2 {

public static void main(String[] args) {

int[] seeds = {1,2,3,4,6,8};

int n= ;

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

for (int k = 0; k< n-1; k++)

seeds[k]= seeds[k+1];

for (int i = 0; i

}

}

A.输出:1 2 3 4 6

B.输出:4 6 8 8 8

C.输出:2 3 4 6 8

D.输出:2 3 4 6

七、类与对象编程

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

public class My{

int value;

public static void main(String args[]) {

My x=new My();

if (x==null)

else

}

}

A. 0

B. 1

C. No Object

D. 编译错误

E. null (2)以下程序的运行结果为:

public class A {

static int k=3;

public static void main(String[] args) {

int k=4;

A x1=new A();

A x2=new A();

++;

k++;

}

}

A. 3

B. 4

C.5

3)编译和运行以下程序结果为:

public class A {

static int k=3;

static int m;

public static void main(String[] args) {

k++;

if (m==0)

else

k++;

}

}

class B {

static int k=6;

}

A. 3

B. 4

C.5

D.编译错误

4)编译和运行以下程序结果为:

1: public class Q21 {

2: int maxElements;

3: void Q21() {

4: maxElements = 100;

6: }

7: Q21(int i) {

8: maxElements = i;

10: }

11: public static void main(String[] args) { 12: Q21 a = new Q21();

13: Q21 b = new Q21(999);

14: }

15: }

A. 输出100 和999.

B. 输出999 和100.

C. 第2行出现编译错误,变量maxElements未初始化.

D. 12行出现编译错误.

5)以下的程序的调试结果为

public class Scope{

int i;

public static void main(String argv[]){

Scope s = new Scope();

();

}

public static void amethod(){

}

}

A. 输出结果为:0

B. 无输出

C. 编译错误

D. 输出null

6)给出下面代码:

public class Person{

static int arr[] = new int[10];

public static void main(String a[]) {

}

}

以下那个说法正确?

A. 编译时将产生错误;

B. 编译时正确,运行时将产生错误;

C. 输出0;

D. 输出null。

7)以下的程序的调试结果为?

public class As{

int i = 10;

int j;

char z= 1;

boolean b;

public static void main(String argv[]){ As a = new As();

();

}

public void amethod(){

}

}

A.输出0 和false

B. 输出0 和true

C. 编译错误,b 未初始化

D. 编译错误, z 必须赋字符值

8)以下的程序的调试结果为?

public class MyAr{

public static void main(String argv[]) { MyAr m = new MyAr();

();

}

public void amethod(){

static int i;

}

}

A. 输出结果为0

B. 运行出错

C. 输出结果为null

D. 编译错误

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

class ValHold{

public int i = 10;

}

public class ObParm{

public static void main(String argv[]){ ObParm o = new ObParm();

();

}

public void amethod(){

int i = 99;

ValHold v = new ValHold();

=30;

another(v,i);

}

public void another(ValHold v, int i){

i=0;

= 20;

ValHold vh = new ValHold();

v = vh;

}

}

A.10030 B. 20030 C. 209930 D. 10020八、继承与多态

1)以下程序调试结果为:

class Base{

Base(){

int i = 100;

}

}

public class Pri extends Base{

static int i = 200;

public static void main(String argv[]){

Pri p = new Pri();

}

}

A.编译错误B.200 C.100200 D.100 (2)以下程序调试结果为:

public class Test {

int m=5;

public void some(int x) {

m=x;

}

public static void main(String args []) {

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

Java基础试题 一:选择题(1*30=30)(题目写在答题纸上面) 1:Java 提供哪几种运算符多选( abcd )。 A)算术运算符B)位运算符 C)关系运算符D)逻辑运算符E)条件运算符 2:https://www.doczj.com/doc/7a13148915.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单选题库-博学谷

一、单选题 属于以下哪种语言() A. 机器语言 B. 汇编语言 C. 高级语言 D. 以上都不对 答案:C 解析:Java是一门高级编程语言 考察点:第一章 Java开发入门 题目难度:★☆☆☆容易 2.下列目录中,哪一个是用来存放JDK核心源代码的 A. lib目录 B. src目录 C. jre目录 D. include目录 答案:B 解析:JDK核心源代码存放在src文件夹下 考察点:第一章 Java开发入门 题目难度:★☆☆☆容易 3.下面命令中,可以用来正确执行HelloWorld案例的是() A. java HelloWorld B. java C. javac HelloWorld D. javac

答案:A 解析:java命令负责运行编译后的.class文件,不需要文件后缀名。 考察点:第一章 Java开发入门 题目难度:★☆☆☆容易 4.下面关于配置path环境变量作用的说法中,正确的是() A. 在任意目录可以使用javac和java命令 B. 在任意目录下可以使用class文件 C. 在任意目录可以使用记事本 D. 在任意目录下可以使用扫雷游戏 答案:A 解析:path环境变量的作用是在任意目录下都可以使用javac和java命令。 考察点:第一章 Java开发入门 题目难度:★☆☆☆容易 5.下列选项中,可以正确配置classpath的命令是() A. set classpath =C:\Program Files\Java\ set classpath : C:\Program Files\Java\ classpath set =C:\Program Files\Java\ classpath set : C:\Program Files\Java\ 答案:A 解析:配置classpath的命令是set classpath=xxx,并且等于号两边不要有空格。 考察点:第一章 Java开发入门 题目难度:★☆☆☆容易 6.下面选项中,完全面向对象的编程语言是() A. C B. COBOL C. JAVA D. FORTRAN 答案:C

Java编程基础知识点汇总及习题集答案

J a v a编程基础知识点汇总及习题集答案 集团文件发布号:(9816-UATWW-MWUB-WUNN-INNUL-DQQTY-

目录 第一章 Java入门 (2) 第二章 Java基础 (5) 第三章条件转移 (14) 第四章循环语句 (20) 第五章方法 (26) 第六章数组 (33) 第七章面向对象 (42) 第八章异常 (63) 第一章 Java入门 知识点汇总 1、JAVA 三大体系 Java SE:(J2SE,Java2 Platform Standard Edition,标准版),三个平台中最核心的部分,包含Java 最核心的类库。 JavaEE:(J2EE,Java 2 Platform, Enterprise Edition,企业版),开发、装配、部署企业级应用,包含Servlet、JSP、JavaBean、JDBC、EJB、Web Service等。 Java ME:(J2ME,Java 2

Platform Micro Edition,微型版),用于小型电子设备上的软件开发。 2、JDK,JRE,JVM的作用及关系作用 ★JVM:保证Java语言跨平台 ★JRE:Java程序的运行环境 ★JDK:Java程序的开发环境 关系 ★JDK:JRE+工具 ★JRE:JVM+类库 3、JDK环境变量配置 path环境变量:存放可执行文件的存放路径,路径之间 用逗号隔开 classpath环境变量:类的运行路径,JVM在运行时通过classpath加载需要的类 4、重点掌握两个程序 :Java编译器工具,可以将编写好的Java文件(.java)编译成Java字节码文件(.class); :Java运行工具,启动Java虚拟机进程,运行编译器生成的字节码文件(.class) 5、一切程序运行的入口public static void main (String args []){ World!”); } 课堂笔记

java基础笔试测试题与答案

Java 一章至五章考试 一. 填空题(8 分) 1. 面向对象的三大原则是( 封装),( 继承) 和( 多态).2 分 2. 如果想在对象实例化的同时就初始化成员属性,则使用( 构造函数).2 分 3. ( 实体) 方法和( 构造) 方法不能修饰为abstract ?2分 二.选择题(60 分) 1) 在Java 语言中,下列(a,d )是不满足命名规范的变量名。(选择二项) a) 姓名 b) $Name c) _instanceof d) instanceof 2) 下列Java 代码片段的输出结果是( a ) 。 char c='a'; int i=c; float f=i; byte b=(byte)c; System.out.println(c+","+i+","+f+","+b); a) 编译错误 b) a,97,97,97 c) a,97,97.0,97 d) a,97,97.0f,97 3) 下列Java 代码中,空白处的代码是(b,c )。( 选择两项) public interface Fee{ public float calLabFee(float unitPrice, float time); } public class FeeImpl implements Fee { public float calLabFee(float unitPrice, float time){ return unitPrice * time; } } public class FeeInterfaceTest { public static void main(String[] args){ ________________ Float labFee = fee.calLabFee(400.00,5); } }

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基础知识笔试题及答案2

1.Java中提供了名为()的包装类来包装原始字符串类型。 A.Integer B.Char C.Double D.String 2.https://www.doczj.com/doc/7a13148915.html,ng包的()方法比较两个对象是否相等,相等返回true。 A.toString()B.equals()C.compare()D.以上所有选项都不正确3.使用()方法可以获得Calendar类的实例。 A.get()B.equals()C.getTime()D.getInstance() 4.下面的集合中,()不可以存储重复元素。 A.Set B.Collection C.Map D.List 5.关于Map和List,下面说法正确的是()。 A.Map继承List B.List中可以保存Map或List C.Map和List只能保存从数据库中取出的数据 D.Map的value可以是List或Map 6.给定如下Java代码,编译运行的结果是()。 Import java.util.*; public class Test { public static void main(String[] args) { LinkedList list=new LinkedList(); list.add(“A”); list.add(2,”B”); String s=(String)list.get(1); System.out.println(s); }

A.编译时发生错误B.运行时引发异常C.正确运行,输出:A D.正确运行,输出:B ###############################################################3 3.所有异常的父类是()。 A.Error B.Throwable C.RuntimeException D.Exception 4.下列()操作不会抛出异常。 A.除数为零B.用负数索引访问数组 C.打开不存在的文件D.以上都会抛出异常 5.能单独和finally语句一起使用的块是()。 A.try B.throws C.throw D.catch 6.在多重catch块中同时使用下列类时,()异常类应该最后列出。 A.Exception B.ArrayIndexOutOfBoundsException C.NumberFormatException D.ArithmeticException 7.执行下面的代码会引发()异常。 String str=null; String strTest=new String(str); A.InvalidArgumentException B.IllegalArgumentException C.NullPointerException D.ArithmeticException 8.这段代码的输出结果是()。 try{ System.out.print(“try,“); return; } catch(Exception e){ System.out.print(“catch,“); } finally { System.out.print(“finally”);

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中,在包下定义一个类,要让包下的所有类都可以访问这个类,这个类必须定义为()。(选择一项) a)protected b)private c)public d)friendly 4)在Java中,下列()语句不能通过编译。 (选择一项) a) String s= “join”+ “was”+ “here”; b) String s= “join”+3; “”+new Person() toString() c) int a= 3+5 d) float f=5+; double float 6)给定java代码如下,运行时,会产生()类型的异常。(选择一项) String s=null; (“abc”); a)ArithmeticException b)NullPointerException c)IOException d)EOFException 已到文件尾,再读取抛出 7) 在java中,()对象可以使用键/值的形式保存数据。(选择一项) a)ArrayList List 有序可重复 b) HashSet Set 无序不可重复同一对象是重复 的 c) HashMap Map(key/value)重复定义:hashCode、 equals(业务) d) LinkedList List 8)给定如下java代码,编译运行之后,将会输出()。 public class Test{ public static void main(String args[]){ int a=5;

Java基础笔试机试测试题(带答案)

Java基础考试题 班级:__________ 姓名:___________ 日期:_____________ 一、笔试(45题,每题2分) 1) 分析下面的Java程序段,编译运行后的输出结果是()。 public class Test { public static void changeString(StringBuffer sb) { sb.append("stringbuffer2"); } public static void main(String[] args) { StringBuffer sb = new StringBuffer("stringbuffer1"); changeString(sb); System.out.println("sb = " + sb.toString()); } } A. sb = stringbuffer2stringbuffer1 B. sb = stringbuffer1 C. sb = stringbuffer2 D. sb = stringbuffer1stringbuffer2 2) 在Java中,包有多种用途,但不包含()。 A. 将类组合成较小的单元,便于使用 B. 有助于避免命名冲突 C. 有助于提高运行效率 D. 允许在更广的范围内保护类、数据和方法 3) 在Java中,如果要在字符串类型s="java"中,得到字母'v' 出现的位置,选()语句。 A)s.matches('v'); B)s.charAt('v'); C)s.indexOf('v'); D)s.substring('v'); 4)下列代码运行后,变量c的值是()。 int a=15,b=10; double c=a/b; a) 1.5 b) 1.0 c) 1 d) 0 5)main方法如下所示,该程序的运行结果是()。 public static void main(String [] args){ int i=0; System.out.print(i++); } a) 输出0 b) 输出1 c) 编译错误d) 运行时出现异常

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入门练习50题(含答案)

题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? //这是一个菲波拉契数列问题 public class lianxi01 { public static void main(String[] args) { System.out.println("第1个月的兔子对数: 1"); System.out.println("第2个月的兔子对数: 1"); int f1 = 1, f2 = 1, f, M=24; for(int i=3; i<=M; i++) { f = f2; f2 = f1 + f2; f1 = f; System.out.println("第" + i +"个月的兔子对数: "+f2); } } } 【程序2】 题目:判断101-200之间有多少个素数,并输出所有素数。 程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。 public class lianxi02 { public static void main(String[] args) { int count = 0; for(int i=101; i<200; i+=2) { boolean b = false; for(int j=2; j<=Math.sqrt(i); j++) { if(i % j == 0) { b = false; break; } else { b = true; } } if(b == true) {count ++;System.out.println(i );} } System.out.println( "素数个数是: " + count); } }

最新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试题及答案

JA V A语言基础内部测试题 选择题(针对以下题目,请选择最符合题目要求的答案,针对每一道题目,所有答案都选对,则该题得分,所选答案错误或不能选出所有答案,则该题不得分。)(每题2分) 没有注明选择几项的,只选择一项 1、JAVA所定义的版本中不包括:() A、JAVA2 EE B、JAVA2 Card C、JAVA2 ME D、JAVA2 HE E、JAVA2 SE 2、下列说法正确的是() A、JAVA程序的main方法必须写在类里面 B、JAVA程序中可以有多个main方法 C、JAVA程序中类名必须与文件名一样 D、JAVA程序的main方法中如果只有一条语句,可以不用{}(大括号)括起来 3、Java中,在如下所示的Test类中,共有()个构造方法。 public class Test{ private int x; public Test(){ x=35; } public void Test(double f){ =(int)f; } public Test(String s){} } A、0 B、 1 C、 2 D、3 4、变量命名规范说法正确的是() A、变量由字母、下划线、数字、$符号随意组成; B、变量不能以数字作为开头; C、A和a在java中是同一个变量; D、不同类型的变量,可以起相同的名字; 5、下列javaDoc注释正确的是() A、/*我爱北京天安门*/

B、quals("john") C、"john" = "john" D、"john".equals(new String("john")) 6、下列输出结果是() int a = 0 ; while ( a < 5 ) { switch(a){ case 0: case 3 : a = a + 2; case 1 : case 2 : a = a + 3; default : a = a + 5; } } ( a ) ; A、0 B、5 C、10 D、其他 7、下列代码输出结果是( ) int i = 10; while ( i > 0 ){ i = i + 1; if ( i = =10 ){ break; } } A.while循环执行10次 B.死循环 C.循环一次都不执行 D.循环执行一次 8、下面有关for循环的描述正确的是() A、for循环体语句中,可以包含多条语句,但要用大括号括起来 B、for循环只能用于循环次数已经确定的情况 C、在for循环中,不能使用break语句跳出循环 D、for循环是先执行循环体语句,后进行条件判断 9、下列()属于引用数据类型(选择两项) A、String B、char C、用户自定义的Student类类型

2019最新Java面试题,常见面试题及答案汇总

ava最新常见面试题+ 答案汇总 1、面试题模块汇总 面试题包括以下十九个模块:Java 基础、容器、多线程、反射、对象拷贝、Java Web 模块、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、Mybatis、RabbitMQ、Kafka、Zookeeper、MySql、Redis、JVM 。如下图所示: 可能对于初学者不需要后面的框架和JVM 模块的知识,读者朋友们可根据自己的情况,选择对应的模块进行阅读。 适宜阅读人群 需要面试的初/中/高级java 程序员 想要查漏补缺的人 想要不断完善和扩充自己java 技术栈的人 java 面试官 具体面试题 下面一起来看208 道面试题,具体的内容。 一、Java 基础 1.JDK 和JRE 有什么区别? 2.== 和equals 的区别是什么? 3.两个对象的hashCode()相同,则equals()也一定为true,对吗? 4.final 在java 中有什么作用? 5.java 中的Math.round(-1.5) 等于多少? 6.String 属于基础的数据类型吗? 7.java 中操作字符串都有哪些类?它们之间有什么区别? 8.String str="i"与String str=new String(“i”)一样吗? 9.如何将字符串反转? 10.String 类的常用方法都有那些? 11.抽象类必须要有抽象方法吗? 12.普通类和抽象类有哪些区别? 13.抽象类能使用final 修饰吗?

14.接口和抽象类有什么区别? 15.java 中IO 流分为几种? 16.BIO、NIO、AIO 有什么区别? 17.Files的常用方法都有哪些? 二、容器 18.java 容器都有哪些? 19.Collection 和Collections 有什么区别? 20.List、Set、Map 之间的区别是什么? 21.HashMap 和Hashtable 有什么区别? 22.如何决定使用HashMap 还是TreeMap? 23.说一下HashMap 的实现原理? 24.说一下HashSet 的实现原理? 25.ArrayList 和LinkedList 的区别是什么? 26.如何实现数组和List 之间的转换? 27.ArrayList 和Vector 的区别是什么? 28.Array 和ArrayList 有何区别? 29.在Queue 中poll()和remove()有什么区别? 30.哪些集合类是线程安全的? 31.迭代器Iterator 是什么? 32.Iterator 怎么使用?有什么特点? 33.Iterator 和ListIterator 有什么区别? 34.怎么确保一个集合不能被修改?

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入门 ●第二章数据类型和运算符 ●第三章流程控制与数组 ●第四章封装 ●第五章继承 ●第六章抽象类与接口 ●第七章多态 ●第八章异常 ●第九章多线程机制 ●第十章输入输出流 ●第十一章使用泛型和集合框架 ●第十二章基于Swing的图形用户界面(GUI)设计 ●第十三章Java事件驱动编程

第一章练习题(Java入门) (C)1.下列哪项不是JDK所包含的内容?(选一项)A.Java编程语言 B.工具及工具的API C.Java EE扩展API D.Java平台虚拟机 2.下列关于JDK、JRE和JVM的描述。哪项正确?A.JDK中包含了JRE,JVM中包含了JRE B.JRE中包含了JDK,JDK中包含了JVM C.JRE中包含了JDK,JVM中包含了JRE D.JDK中包含了JRE,JRE中包含了JVM 3.下列哪个工具可以编译java源文件? A.javac B.jdb C.javadoc D.junit 4.JDK工具javadoc的作用是哪项? A.生成Java文档 B.编译Java源文件 C.执行Java类文件 D.测试Java代码 5.以下哪些包是Java标准库中常用的包?(选三项)A.java.lang B.javax.servlet .http C.j ava. io D.java.sql

6.使用JDK工具生成的Java文档的文件格式是? A.XML格式 B.自定义格式 c.二进制格式 D.HTML格式 (AC)7.以下关于JVM的叙述,哪项正确?(选两项) A.JVM运行于操作系统之上,它依赖于操作系统 B.JVM运行于操作系统之上,它与操作系统无关 C.JVM支持Java程序运行,它能够直接运行Java字节码文件D.JVM支持Java程序运行,它能够直接运行Java源代码文件 8.以下关于支持Java运行平台的叙述,哪项错误? A.Java可在Solaris平台上运行 B.Java可在Windows平台上运行 C.Java语言与平台无关。Java程序的运行结果依赖于操作系统D.Java语言与平台无关。Java程序的运行结果与操作系统无关 (B)9.以下关于Applet和Java程序之间关系的叙述,哪项错误? A.-个Applet就是一段Java程序 B.Applet是一种特殊的Java程序,它需要运行在Web服务器上C.Applet是一种特殊的Java程序,它需要运行在Web浏览器上D.Applet是一种Java SE平台的应用程序 (AD)10.以下关于Java HotSpot的描述,哪两项错误?(选两项)A.Java HotSpot是一种热编译技术,在编译Java源程序时会被使用B.Java HotSpot是一种热编译技术,在运行Java代码时会被使用C.Java HotSpot是一种热编译技术,它只对程序的部分字节码进行优化D.Java HotSpot是一种热编译技术,它会对程序的全部字节码进行优化

Java基础测试题

Ps:答案已写在上面。希望大家把其他错误选项问题找出来. 第一组: 1.下面哪些是合法的变量名 (DEG) A.2variable .variable2 ._whatavariable $_¥ 2.请问“abcd” instanceof Object返回的值是 (B) A. “abcd” B. true C. false D. String 前面是后面的子类 面说法正确的是:(A) A. 如果源代码中有package语句,则该语句必须放在代码的第一行(不考虑注释和空格); B. 如果源代码中有import语句,则该语句必须放在在代码的第一行(不考虑注释和空格)如果源代码中有main()方法,则该方法必须被放在代码的第一行如果某文件的源代码中定义了一个public 的接口,接口名和文件名可以不同。 4.下面有关方法覆盖说法不正确的是:(B) A. 方法覆盖要求覆盖和被覆盖的方法有相同的名字,参数列以及返

回值 B. 方法覆盖要求覆盖和被覆盖的方法必须具有相同的访问权限; C. 覆盖的方法不能比被覆盖的方法抛出更多的异常 D. 覆盖的方法一定不能是private的 5.一个Java程序运行从上到下的环境次序是(C) A. 操作系统、Java程序、JRE/JVM、硬件 B. JRE/JVM、Java程序、硬件、操作系统 C. Java程序、JRE/JVM、操作系统、硬件 D. Java程序、操作系统、JRE/JVM、硬件 6. 下面选项中哪个关键字可以用来修饰接口中的变量和方法(A) A. static B. private C. synchronized D. protected 7. 下面代码段中:(A) String String=”String”; String B. 不知道 C. 编译出错 D. 运行出错 8. 下面哪种是正确的创建Map集合的方式:(D) A. Map m=new Map();

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、静态变量和实例变量的区别?能在静态方法中调用非静态变量吗? 静态变量属于类,该类不生产对象,通过类名就可以调用静态变量。实例变量属于该类的对象,必须产生该类对象,才能调用实例变量 静态方法及变量属于整个类,数据将会被存储在公共区域,非静态方法及变量属于对象 静态方法中无法调用实例变量,而实例方法却可以调用静态变量

最新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”

相关主题
文本预览
相关文档 最新文档