搜档网
当前位置:搜档网 › JAVA基础练习题

JAVA基础练习题

JAVA基础练习题
JAVA基础练习题

JA V A练习

1. 以下方法fun的功能是求两参数之积。(return a*b)

int fun ( int a, int b ) { __________________; }

2. 以下方法fun的功能是求两参数之积。(return (float)a*b)

float fun ( int a, double b ) { __________________; }

3. 以下方法fun的功能是求两参数的最大值。(return a>b?a:b)

int fun ( int a, int b ) { __________________; }

4. 以下方法m的功能是求两参数之积的整数部分。

(return (int)(a*b))

int m ( float x, float y ) { __________________; }

5. 下面是用户程序对Applet 类中方法paint( ) 的重新定义。

(void call)

public ___ paint(Graphics ____)

{ call.drawString("Hello,java!",10,20); }

6.下面方法的功能是判断一个整数是否为偶数,将程序补充完整。(boolean true)public ________ isEven(int a)

{ if(a%2==0)

return _____;

else

return false;

}

7.同一个类中多个方法具有相同的方法名,不同的_____________称为方法的重载。(参数列表)

二.选择题及答案

1.下列方法定义中,正确的是( D )。

A) int x( int a,b ) { return (a-b); }

B) double x( int a,int b) { int w; w=a-b; }

C) double x( a,b ) { return b; }

D) int x( int a,int b) { return a-b; }

2.下列方法定义中,正确的是( D )。

A) void x( int a,int b ); { return (a-b); }

B) x( int a,int b) { return a-b; }

C) double x { return b; }

D) int x( int a,int b) { return a+b; }

3. 下列方法定义中,不正确的是(D)。

A) float x( int a,int b ) { return (a-b); }

B) int x( int a,int b) { return a-b; }

C) int x( int a,int b ); { return a*b; }

D) int x(int a,int b) { return 1.2*(a+b); }

4. 下列方法定义中,正确的是( A )。

A) int x( ){ char ch='a'; return (int)ch; }

B) void x( ){ ...return true; }

C) int x( ){ ...return true; }

D) int x( int a, b){ return a+b; }

5. 列方法定义中,方法头不正确的是(D )。

A)public int x( ){ ... }

B)public static int x( double y ){ ... }

C)void x( double d ) { ... }

D)public static x( double a ){ ... }

6.在某个类中存在一个方法:void getSort(int x),以下能作为这个方法的重载的声明的是(C)。

A)public getSort(float x) B)int getSort(int y)

C)double getSort(int x,int y) D)void get(int x,int y)

7.在某个类中存在一个方法:void sort(int x),以下不能作为这个方法的重载的声明的是(B)。

A)public float sort(float x) B)int sort(int y)

C)double sort(int x,int y) D)void sort(double y)

8. 为了区分类中重载的同名的不同方法,要求( A)。

A) 采用不同的形式参数列表B) 返回值类型不同

C) 调用时用类名或对象名做前缀D) 参数名不同

三.问答题及答案

1. 方法可以没有返回值吗?可以有多个返回值吗? (可以;不能)

2. 一个方法如果没有返回值,方法头定义中的返回值类型为何?(void)

3. 何为形式参数?何为实在参数?(略)

4. 一个方法或一个复合语句内定义的变量是否可以在方法外或复合语句外使用?这种变量称为什么变量?(不能;局部变量)

5. 采用_______的程序设计原则,使程序结构清晰简单,设计容易,有助于软件可靠性的提高。(模块化)

6. 重载的方法可以通过它们的返回值类型的不同来区分吗?(不能)

7. 编译程序如何区分重载方法的调用?(根据参数列表不同来区分)

一、选择题

1 定义类头时,不可能用到的关键字是( B)。

A) class B)private C)extends D)public

2.下列类定义中,不正确的是(C)。

A) class x { .... }

B) class x extends y { .... }

C) static class x implements y1,y2 { .... }

D) public class x extends Applet { .... }

3.下列类头定义中,错误的是( A)。

A)public x extends y {...}

B) public class x extends y {...}

C)class x extends y implements y1 {...}

D)class x {...}

.设A为已定义的类名,下列声明A类的对象a的语句中正确的是( D)。

A) float A a; B) public A a=A( );

C) A a=new int( ); D) static A a=new A( );

5.设A为已定义的类名,下列声明A类的对象a的语句中正确的是(A)。

A) public A a=new A( ); B) public A a=A( );

C) A a=new class( ); D) a A;

6.设X 、Y 均为已定义的类名,下列声明类X的对象x1的语句中正确的是(C)。

A) public X x1= new Y( ); B) X x1= X ( );

C) X x1=new X( ); D) int X x1;

7. 设X 、Y为已定义的类名,下列声明X类的对象x1的语句中正确的是(A)。

A) static X x1; B) public X x1=new X(int 123);

C) Y x1; D) X x1= X( );

8.通过类MyClass中的不含参数的构造方法,生成该类的一个对象obj,可通过以下语句实现:_______________________________。

(MyClass obj=new MyClass( );)

9. 设i , j为类X中定义的int型变量名,下列X类的构造方法中不正确的是( A)。

A) void X(int k ){ i=k; } B) X(int k ){ i=k; }

C) X(int m, int n ){ i=m; j=n; } D) X( ){i=0;j=0; }

10. 有一个类A,以下为其构造方法的声明,其中正确的是( A )。

A)public A(int x){...} B)static A(int x){...}

C)public a(int x){...} D)void A(int x){...}

11. 有一个类A,以下为其构造方法的声明,其中正确的是( B )。

A)void A(int x){...} B)A(int x){...}

C)a(int x){...} D)void a(int x){...}

12. 设i、j、k为类X中定义的int型变量名,下列类X的构造方法中不正确的是( B )。

A) X( int m){ ... } B) void X( int m){ ... }

C) X( int m, int n){ ... } D) X( int h,int m,int n){ ... }

13. 设i , j为类X中定义的double型变量名,下列X类的构造方法中不正确的是(A )。

A) double X(double k ){ i=k; return i; } C) X( ){i=6;j=8; }

B) X(double m, double n ){ i=m; j=n; } D) X(double k ){ i=k; }

14. 设a , b为类MyClass中定义的int型变量名,下列MyClass类的构造方法中不正确的是

(A)。

A) double MyClass(double k ){ a=k; return a; }

B) MyClass( ){a=6;b=8; }

C) MyClass (double m, double n ){ a=m; b=n; }

MyClass (double k ){ a=k; }

15 定义类头时,不可能用到的关键字是(A)

。A)protected B) class C)extends D)public

16.下列类头定义中,错误的是(A)。

A)public TestClass extends y {...}

B) public class TestClass extends y {...}

C)class TestClass extends y implements y1 {...}

D) class TestClass {...}

17.设B为已定义的类名,下列声明B类的对象b的语句中正确的是(D)。

A) float B b; B) public B b=B( );

C) B b=new int( ); D) static B b=new B( );

18.设ClassA为已定义的类名,下列声明ClassA类的对象ca的语句中正确的是(A)。

A)public ClassA ca=new ClassA( ); B) public ClassA ca=ClassA( );

C) ClassA ca=new class( ); D) ca ClassA;

19.设A 、B 均为已定义的类名,下列声明类A的对象a1的语句中正确的是(C)。

A) public A a1= new B( ); B) A a1= A ( );

C) A a1=new A( ); D) int A a1;

20. 设A 、B为已定义的类名,下列声明A类的对象a1的语句中正确的是(A)。

A) static A a1; B) public A a1=new A(int 123);

C) B a1; D) A a1= A( );

21.通过类A中的不含参数的构造方法,生成该类的一个对象a,可通过以下语句实现:_______________________________。

(A a=new A( );)

22. 设m , n为类A中定义的int型变量名,下列A类的构造方法中不正确的是( A)。

A) void A(int k ){ m=k; } B) A(int k ){ m=k; }

C) A(int m, int n ){m=i; n=j; } D) A( ){m=0;n=0; }

23. 有一个类Person,以下为其构造方法的声明,其中正确的是( A )。

A)public Person (int x){...} B)static Person (int x){...}

C)public a(int x){...} D)void Person (int x){...}

24. 有一个类Student,以下为其构造方法的声明,其中正确的是( B )。

A)void Student (int x){...} B) Student (int x){...}

C)s(int x){...} D)void s(int x){...}

25. 设i、j、k为类School中定义的int型变量名,下列类School的构造方法中不正确的是( B )。

A) School ( int m){ ... } B) void School ( int m){ ... }

C) School ( int m, int n){ ... } D) School ( int h,int m,int n){ ... }

二、填空题

2. 下面是一个类的定义,请将其补充完整。(Student String)

class _____

{

String name;

int age;

Student( _____ s, int i)

{

name=s;

age=i;

}

}

3.下面是一个类的定义,请将其补充完整。(myclass static)

class ____________ // 定义名为myclass的类

{

__________ int var=666;

static int getvar()

{ return var; }

}

4.下面程序的功能是通过调用方法max()求给定的三个数的最大值,请将其补充完整。(max(i1,i2,i3)static)

public class Class1

{

public static void main( String args[] )

{

int i1=1234,i2=456,i3=-987;

int MaxValue;

MaxValue=____________;

System.out.println("三个数的最大值:"+MaxValue);

}

public ______ int max(int x,int y,int z)

{ int temp1,max_value;

temp1=x>y?x:y;

max_value=temp1>z?temp1:z;

return max_value;

}

}

5.下面是一个类的定义,请将其补充完整。(class static)

___________ A

{ String s;

_____ int a=666;

A(String s1) { s=s1; }

static int geta( ) { return a; }

}

9.下面程序的功能是通过调用方法max()求给定的二个整数的最大值,请将其补充完整。(max(a1,a2)int)

public class Class1

{

public static void main( String args[] )

{

int a1=1234,a2=456;

int MaxValue;

MaxValue=____________;

System.out.println("二个数的最大值:"+MaxValue);

}

public static ______ max(int x,int y)

{ int max_value;

max_value =x>y?x:y;

return max_value;

}

}

1. 面向对象的软件开发方法用什么把数据和基于数据的操作封装在一起?(类)

2. 在一个类定义中,用什么描述对象的状态? 用什么描述对象的行为?(属性;方法)

3. 什么方法是一个特殊的方法,用于对对象进行初始化?

(构造方法)

4. 一个源程序文件中,能有多于一个的public 类吗?(不能)

5. 构造方法的方法名可由编程人员任意命名吗?

(不能,必须与类名同名)

6. 类的构造方法名必须和类名相同吗?(必须)

7. 构造函数有返回值吗?(没有)

8. 构造函数可以重载吗?(可以)

9. 如果一个类定义中没有定义构造方法,该类有构造函数吗?

(有,编译器会自动生成一个缺省的不带参数的构造函数)

10. 如果一个类定义中已经定义了构造方法,java还会给它定义缺省的构造方法吗?(不会)

11. 类的访问控制权有哪两种?(public 和缺省的(即没有访问控制修饰符))

12. 用什么修饰符修饰的方法称为静态方法? 用什么修饰符修饰的属性称为静态属性?(static)

13. 静态属性和静态方法仅属于类的一个具体对象吗?它属于谁?

(不是;它是类的所有对象公有的)

14. static 变量能是private 变量吗?(可以)

15. 使用静态成员都能以什么做前缀?(可以用类名或对象名做前缀)

16. static方法中能有this引用吗?(不能)

17. 非static方法中可以有this引用吗?(可以)

18.static方法能处理非static成员吗?(不能)

19.非static方法能处理static成员吗?(能)

20. 类的私有属性和私有方法能不能被其子类直接访问? (不能)

一、选择题

1. Java语言的类间的继承关系是( B )。

A) 多重的B) 单重的C) 线程的D) 不能继承

2. 以下关于Java语言继承的说法正确的是( C )。A)Java中的类可以有多个直接父类

B)抽象类不能有子类

C)Java中的接口支持多继承D)最终类可以作为其它类的父类

3. 现有两个类A、B,以下描述中表示B继承自A的是(D)。

A) class A extends B B) class B implements A

C) class A implements B D) class B extends A

4. 下列选项中,用于定义接口的关键字是( A)。

A)interface B) implements C) abstract D) class

5. 下列选项中,用于实现接口的关键字是( B)。

A)interface B) implements C) abstract D) class

6. Java语言的类间的继承的关键字是( B )。

A) implements B) extends C) class D) public

7. 以下关于Java语言继承的说法错误的是( A )。A)Java中的类可以有多个直接父类

B)抽象类可以有子类

C)Java中的接口支持多继承D)最终类不可以作为其它类的父类

8. 现有两个类M、N,以下描述中表示N继承自M的是(D)。

A) class M extends N B) class N implements M

C) class M implements N D) class N extends M

9. 现有类A和接口B,以下描述中表示类A实现接口B的语句是(A)。

A) class Aimplements B B) class B implements A

C) class Aextends B D) class B extends A

10. 下列选项中,定义抽象类的关键字是( C)。

A)interface B) implements C) abstract D) class

11. 下列选项中,定义最终类的关键字是(D)。

A)interface B) implements C) abstract D) final

12. 下列选项中,哪个是java语言所有类的父类(C)

A)String B) Vector C) Object D) KeyEvent

13. java语言中,用于判断某个对象是否是某个类的实例的运算符是(A)

A)instanceof B) + C) isinstance D) &&

14. 下列选项中,表示数据或方法可以被同一包中的任何类或它的子类访问,即使子类在不同的包中也可以的修饰符是(B)

A)public B) protected C) private D) final

15. 下列选项中,表示数据或方法只能被本类访问的修饰符是(C)

A)public B) protected C) private D) final

16. 下列选项中,接口中方法的默认可见性修饰符是(A)

A)public B) protected C) private D) final

17. 下列选项中,表示终极方法的修饰符是:(B)

A)interface B) final C) abstract D) implements

18. 下列选项中,定义接口MyInterface的语句正确的是:(A)

A)interface MyInterface{ } B) implements MyInterface { }

C) class MyInterface{ } D) implements interface My{ }

19. 如果子类中的方法mymethod()覆盖了父类中的方法mymethod(),假设父类方法头部定义如下:void mymethod(int a),则子类方法的定义不合法的是:(C)

A)public void mymethod(int a) B) protected void mymethod(int a)

C) private void mymethod(int a) D) void mymethod(int a)

二、填空题

1. 如果子类中的某个变量的变量名与它的父类中的某个变量完全一样,则称子类中的这个变量________了父类的同名变量。(隐藏)

2. 属性的隐藏是指子类重新定义从父类继承来的__________。(同名变量或属性)

3. 如果子类中的某个方法的名字、返回值类型和________与它的父类中的某个方法完全一样,则称子类中的这个方法覆盖了父类的同名方法。(参数列表)

4. Java 仅支持类间的____重继承。(单重)

5. 抽象方法只有方法头,没有________。(方法体)

6. Java 语言的接口是特殊的类,其中包含______常量和_______方法。(static(静态);abstract(抽象))

7. 接口中所有属性均为_________、_________和________的。

(public、static、final)

8. 如果接口中定义了一个方法methodA(),一个属性attA,那么一个类ClassA要实现这个接口的话,就必须实现其中的_______方法。(methodA())

9.一个类如果实现一个接口,那么它就必须实现接口中定义的所有方法,否则该类就必须定义成________的。(抽象的)

10. 如果子类中的某个方法的名字、__________和参数列表与它的父类中的某个方法完全一样,则称子类中的这个方法覆盖了父类的同名方法。(返回值类型)

11. Java 仅支持类间的单重继承,接口可以弥补这个缺陷,支持_____重继承(多重)

12. 在方法头用abstract修饰符进行修饰的方法叫做________方法。(抽象)

13.Java语言中用于表示类间继承的关键字是___________。(extends)

14. 接口中所有方法均为________和________的。

(public、abstract)

15. Java语言中,表示一个类不能再被继承的关键字是________。(final)

16. Java语言中,表示一个类A继承自父类B,并实现接口C的语句是_________________。

(class A extends B implements C)。

17. 如果子类中的方法compute()覆盖了父类中的方法compute(),假设父类的compute()方法头部有可见性修饰符public,则methodS()的可见性修饰符必须是__________。(public)

本文来自CSDN博客,转载请标明出处:https://www.sodocs.net/doc/364450359.html,/zhangheng0624/archive/2009/06/14/4268611.aspx

Java练习题(试卷)

Java 程序设计练习题(1) 一、单项选择题 1.下面( B )是合法的 Java 标识符。 A、#_pound B、_underscore C、5Interstate D 、 class 2.下面( D )赋值语句不会出现编译警告或错误。 A、float f=1.3; B、char c="a"; C、byte b=257; D、int i=10; 3.编译一个定义了两个类和三个方法的 Java 源程序文件,总共会产生( D )个字节码文件。 A、5 个字节码文件,以“.java”为扩展名 B、2 个字节码文件,以“.java”为扩展名 C、5 个字节码文件,以“.class”为扩展名 D、2 个字节码文件,以“.class”为扩展名4.有关类的说法,正确的是( B )。 A、类具有封装性,所以类的数据是不能被访问的 B、类具有封装性,但可以通过类的公共接口访问类中的数据 C、声明一个类时,必须使用 public 修饰符 D、每个类中必须有 main 方法,否则程序无法运行 5.执行完下面程序片段后,( B )的结论是正确的。 int a, b, c; a = 1; b = 2; c = (a + b > 3 ? a++ : b++); A、a 的值是 2,b 的值是 3 B、a 的值是 1,b 的值是 3 C、a 的值是 1,b 的值是 2 D、c 的值是 false 6.将类的成员的访问权限设置为默认的,则该成员能被( A )。 A、同一包中的类访问 B、其他包中的类访问 C、所有的类访问 D、所有的类的子类访问 7.下面的方法重载,正确的是( C )。 A、int fun(int a, float b) { } B、float fun(int a, float b) { } float fun(int a, float b) { } float fun(int x, float y) { } C、float fun(float a) { } D、float fun1(int a, float b) { } float fun(float a, float b) { } float fun2(int a, float b) { } 8.下面关于继承的说法,正确的是( D )。 A、超类的对象就是子类的对象 B、一个类可以有几个超类 C、一个类只能有一个子类 D、一个类只能有一个超类 9.下面关于多态性的说法,正确的是( C )。 A、一个类中不能有同名的方法

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 一章至五章考试 一. 填空题(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基础笔试机试测试题(带答案)

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

一、选择题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入门练习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基础试题及答案

《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基础试题和答案解析

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

100道Java基础测试题

Java基础测试题 不定项选择题 1、面向对象的三大特征是() A) 封装B) 继承C) 多态D) 线性 2、变量命名规范说法正确的是() A) 变量由英文字母、下划线、数字、$符号组成 B) 变量不能以数字作为开头 C) A和a在Java中代表同一个变量 D) 不同类型的变量,可以起相同的名字 3、i的值为10,表达式(i++)+(i--)的值为() A) 21B) 20 C) 19 D) 18 4、下面哪些定义变量的语句是正确的?() A) int i = 'A'; B) float f = 1.23; C) byte b = (byte)128; D) int c[5][5] = new int[ ][ ]; 5、以下代码的执行结果是() int a = 1; bool ean m = a%2 = = 1; if(m = false){ System.out.println("false"); }else{ System.out.println("true"); } A) false B) true C) 编译不通过 6、以下程序段中,哪个选项不能插入到第二行?() A)class Demo2 { } B) import java.util.*; C) public static void main(String args[ ]) { } D) package com; E) public class Demo2 { } 7、下面有关Java循环结构的描述正确的是() A) for循环体语句中,可以包含多条语句,但要用大括号括起来 B) for循环和do...while循环都是先执行循环体语句,后进行条件判断 C) continue和break只能用于循环结构中 D) 增强for循环遍历数组时不需要知道数组的长度,但不能实现与下标相关的操作 8、switch选择语句是多分支选择语句,只能处理等值条件判断的情况。在jdk1.7中,switch中的表达式可以是以下哪种类型() A)int B)char C)double D) float E)String F) short

Java练习题

Java练习题答案 一、填空 1、对象的状态和行为是对象的主要属性;前者对应类的变 量,行为又称为对象的操作,对应着类的方法。类的定义包括变量声明和方法声明。 2、要嵌入在HTML文件中运行的程序是Java Applet( Java Application、 Java Applet)。 3、安装JDK后,Java开发工具在Bin目录。 4、声明接口的保留字是interface。 5、类的声明“public class Test extends Applet implements Runable{}”中,定义的类名是Test ,其父类 是Applet ;实现了Runable 接口。这个类的源程序必须保存为Test.java(写出包括扩展名的文件名)。 6、一个完整的Java应用程序由一个或多个类组成;其中Java Application 至少有一个主类,这个类中包含一个名 为main的方法 7、JDK下解释执行Java的程序是java.exe 。 8、语句如下: int[] c1=int[10]; int[] c2={1,2,3,4,5,6,7,8,9,0}; 数组c1中的元素有10个;c2中的元素有10个;已初始化赋值的是c2(c1 c2)。

9、执行完下列程序后i的值为5。 int i=0; while(i<5) { i++; } 10、运行下列程序段后,结果c的取值为120。 int a = 100, b = 20,c; char oper ='+'; switch(oper) { case '+': c = a+b; break; case '-': c = a - b; break; default: c = a * b; break; } 11、为了能使用Java中已提供的类,我们需要用import语句来引入所需要的类。语句import java.io.*;中引入了java.io 包的所有类。 二、选择题 1、属于访问控制的关键字是( D )。 A、static B、final C、abstract D、private 2、对成员的访问控制保护最强的是(C)。

Java基础语法考试题

学士后Java阶段测试-U1单元-笔试试卷1 考试时间 60分钟 选择题(共50题,每题2分,满分100分) 1) 在Java类中,使用以下()声明语句来定义公有的int型常量MAX。 A. public int MAX = 100; B. final int MAX = 100; C. public static int MAX = 100; D. public static final int MAX = 100; 2) 在Java中,下列关于方法重载的说法中错误的是()(多选)。 A. 方法重载要求方法名称必须相同 B. 重载方法的参数列表必须不一致 C. 重载方法的返回类型必须一致 D. 一个方法在所属的类中只能被重载一次 3) 给定Java代码如下所示,在横线处新增下列()方法,是对cal方法的重 载。(多选) public class Test{ public void cal(int x, int y, int z) {} ________________ } 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 void cal(int x, int z){ } D. public void cal(int z, int y, int x){ } 4) 在Java中,下面对于构造函数的描述正确的是()。 A. 类必须显式定义构造函数 B. 构造函数的返回类型是void C. 构造函数和类有相同的名称,并且不能带任何参数 D. 一个类可以定义多个构造函数 5) 下面Java代码的运行结果是()。 class Penguin { private String name=null; // 名字 private int health=0; // 健康值 private String sex=null; // 性别 public void Penguin() { health = 10; sex = "雄"; System.out.println("执行构造方法。");

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基础练习题

1.编写一个完整的Java Application 程序。包含接口ShapeArea,MyRectangle类及Test类,具体要求如下: (1)接口ShapeArea: double getArea():求一个形状的面积 double getPerimeter ():求一个形状的周长 (2)类 MyRectangle: 实现ShapeArea接口,另有以下属性和方法: ①属性 width: double类型,表示矩形的长 height: double类型,表示矩形的高 ②方法 MyRectangle(double w, double h):构造函数 toString()方法:输出矩形的描述信息,如“width=1.0,height=2.0, perimeter=6.0, area=2.0” (3)Test类作为主类要完成测试功能 ①生成MyRectangle对象 ②调用对象的toString方法,输出对象的描述信息 2.编写一个完整的Java Application 程序,包括ShapeArea接口、MyTriangle类、Test类,具体要求如下: (1)接口ShapeArea: double getArea():求一个形状的面积 double getPerimeter ():求一个形状的周长 (2)类MyTriangle: 实现ShapeArea接口,另有以下属性和方法: ①属性 x,y,z: double型,表示三角形的三条边 s: 周长的1/2(注:求三角形面积公式为,s=(x+y+z)/2 ,开方可用Math.sqrt(double)方法) ②方法 MyTriangle(double x, double y, double z):构造函数,给三条边和s赋初值。 toString():输出矩形的描述信息,如“three sides:3.0,4.0,5.0,perimeter=12.0,area=6.0” (3)Test类作为主类要完成测试功能 ①生成MyTriangle对象 ②调用对象的toString方法,输出对象的描述信息 3. 某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上 5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。试使用java类写出其加密的过程。 4. 分页显示练习:定义一个常量,设定数据总记录数为73条(随时可以变化),一页20条记录(随时可以变化), 输入页码,打印记录总数,共几页,当前是第几页,当前记录从第n条到第n条 5. 输入一个数字,判断是一个奇数还是偶数 6. 将分页显示的功能增加判断,如果用户输入的小于1的页码,自动赋成1,如果超出了总页码,自动赋成总页码 7.判断一个数字是否能被5和6同时整除(打印能被5和6整除),或只能被5整除(打印能被5整除),或只能被

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基础考试题及答案

新员工考试 一、选择题(共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程序练习题

练习: 1.为类设计一个静态方法,实现检查输入字符串是否为”回文”.的功能 Boolean IsPalindrome(String poem) 2.用随机数对象产生0---1000范围内的不同整数,用以初始化一个M*N的二维数组(M*N<100),然后编程找出二维数组中的最大数和最小数,并将其交换位置。要求输出原始二维数组及交换后的二维数组。 3.设计一个类,并为其添加一个带有一个参数的构造函数,同时封装一个方法。当连续调用该方法时,依次产生下列元素输出 第一次调用输出:5 7 4 8 9 1 第二次调用输出:1 5 7 4 8 9 第三次调用输出:9 1 5 7 4 8 第四次调用输出:8 9 1 5 7 4 第五次调用输出:4 8 9 1 5 7 第六次调用输出:7 4 8 9 1 5 第一次调用输出:5 7 4 8 9 1 4.输入出租车公里数,输出应付的车费数: 收费标准如下:3000米以下为8元,每超过500米增加1.2元,不足500米按500米计算。 5.竹竿长10米,每天截取一半,过多少天后,竹竿长度会小于10厘米。 6.输入一个英文字符串,统计出其中各字符出现的次数,并以下列样式输出: a=?,b=?,c=?,d=?,e=? f=?,g=?,h=?,i=?,j=? …… 7.写一个实例方法,要求输入一个整数m ,并输出1---m之间满足下列条件的所有整数:这个数+1 是一个完全平方数,他的一半+1也是一个完全平方数。 8.设计一个类Complex,用于封装对复数的下列操作: 8.1.一个带参数的构造函数,用于初始化复数成员 8.2.一个不带参数的构造函数,调用代参数的构造函数完成对复数成员的初始化。 8.3. 实现两个复数的加法,减法的静态方法和实例方法。 8.4.以复数的标准形式:x+iy输出此复数 8.5. 写两个函数,分别获得复数的实部getReal(),getImage()和虚部。 9.写一个静态函数,返回给定整数n的所有因子 10.输入一个十六进制字符串,写一函数,将其转换为对应的十进制数。 11.设计一个只能创建一个唯一实例的类。 12.设计一个类,该类用于表示现代中国的一个典型家庭:father,mother,child. 并为其添加一个无参的构造函数和带三个参数的构造函数以及三个读写属性和 一个get(int member )方法,当member=FATHER时,返回 父亲的姓名;member=MOTHER时,返回母亲的姓名;member=CHILD时,返回 孩子的姓名;FATHER,MOTHER,CHILD 为常数。 13.巴黎时间比北京时间晚7个小时,纽约时间比北京时间晚12个小时,试编写一程序, 根据输入的北京时间输出相应的巴黎和纽约时间。 14.写一函数,实现用某一字符c 去填充字符串的左部,使其长度为恰好为L PadLeft(String s,int L,char c),同理,实现PadRight((String s,int L,char c) 用字符c 填充串s 的右部,使其长度恰好为L. 15. 写一方法,用于删除字符串中所有空格(不仅仅是两端的空格),并返回没有空格的字

java基础面试全集

Java面试题大全 2013年年底的时候,我看到了网上流传的一个叫做《Java面试题大全》的东西,认真的阅读了以后发现里面的很多题目是重复且没有价值的题目,还有不少的参考答案也是错误的,于是我花了半个月时间对这个所谓的《Java面试大全》进行了全面的修订并重新发布在我的CSDN博客。在修订的过程中,参照了当时JDK最新版本(Java 7)给出了题目的答案和相关代码,去掉了EJB 2.x、JSF等无用内容或过时内容,补充了数据结构和算法、大型网站技术架构、设计模式、UML、spring MVC等内容并对很多知识点进行了深入的剖析,例如hashCode方法的设计、垃圾收集、并发编程、数据库事务等。当时我甚至希望把面试中经常出现的操作系统、数据库、软件测试等内容也补充进去,但是由于各种原因,最终只整理出了150道面试题。让我欣慰的是,这150道题还是帮助到了很多人,而且在我CSDN 博客上的总访问量超过了5万次,最终还被很多网站和个人以原创的方式转载了。最近一年内,用百度搜索”Java面试”我写的这些东西基本上都排在搜索结果的前5名,这让我觉得”亚历山大”,因为我写的这些东西一旦不准确就可能误导很多人。2014年的时候我又整理了30道题,希望把之前遗漏的面试题和知识点补充上去,但是仍然感觉挂一漏万,而且Java 8问世后很多新的东西又需要去总结和整理。为此,我不止一次的修改了之前的180题,修改到自己已经感觉有些疲惫或者厌烦了。2014年至今,自己带的学生又有很多走上了Java程序员、Java工程师的工作岗位,他们的面试经验也还没来得及跟大家分享,冥冥之中似乎有一股力量在刺激我要重新写一篇《Java面试题全集》,于是这篇文章就诞生了。请不要责备我把那些出现过的内容又写了一次,因为每次写东西就算是重复的内容,我也需要对编程语言和相关技术进行重新思考,不仅字斟句酌更是力求至臻完美,所以请相

java练习题

public class Multipation { public static void main(String[] args) { 定义一个类Student,属性为学号、姓名和成绩;方法为增加记录SetRecord和得到记录GetRecord。SetRecord给出学号、姓名和成绩的赋值,GetRecord通过学号得到考生的成绩。 public class Student { /** *@param args */ private int ID; private String name; private float score; public void SetRecord(int ID,String name,float score){ =ID; =name; =score; } public float getRecord(int ID){ if(ID== return ; else return -1; } public static void main(String[] args) { 编写程序,测试字符串“你好,欢迎来到Java世界”的长度,将字符串的长度转

换成字符串进行输出,并对其中的“Java”四个字母进行截取,输出截取字母以及它在字符串中的位置。 public class StringTest { /** *@param args */ public static void main(String[] args) { 自己设计一个坐标类,能提供以下方法如求当前坐标和其他坐标之间的距离等方法,要求所有变量为私有变量,并提供两个构造函数。 public class XYdistance { private int x; private int y; XYdistance(){ setX(0); setY(0); } public void setX(int x) { = x; } public int getX() { return x; } public void setY(int y) { = y;

Java基础面试题

1.下面能够得到文件“file.txt”的父路径的是: A.String name= File.getParentName(“file.txt”); B.String name= (new File(“file.txt”)).getParent(); C.String name = (new File(“file.txt”)).getParentName(); D.String name= (new File(“file.txt”)).getParentFile(); 2.在Java中,要创建一个新目录,要使用的类的实例是: A.File B.FileOutputStrean C.PrintWriter D.Dir 3.题目代码的功能为:在d:创建一个文件“test.txt”,并向文件写入“HelloWorld”,然后删除文件。 public static void main(String[] args) { File file = new File("d:\\", "file.txt"); try { <填入代码> } catch (Exception e) { e.printStackTrace(); } } A. BufferedWriter bw = new BufferedWriter(new FileWriter(file)); bw.write("HelloWorld"); bw.close(); if (file.exists()) { file.delete(); } B. BufferedWriter bw = new BufferedWriter(new FileWriter(file)); bw.write("HelloWorld");

相关主题