JAVA技术--Java基础知识常见考试题JAVA技术.doc

合集下载

《JAVA核心技术》基础试题

《JAVA核心技术》基础试题

《JA V A编程初步》测试题一、选择题1、关于被私有保护访问控制符private protected修饰的成员变量,以下说法正确的是()。

A、可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类B、可以被两种类访问和引用:该类本身、该类的所有子类C、只能被该类自身所访问和修改D、只能被同一个包中的类访问2、以下代码段将创建()个对象。

String s1="bc";String s2="bc";A、0B、1C、2D、33、编译并运行以下程序,以下描述哪个选项是正确的()1: class X{2: protected String toString(){3: return ();}4: }A、编译通过运行无异常B、编译通过但运行时出错C、行2出错,不能成功编译D、不能成功编译,行3出错4、下列关于修饰符混用的说法,错误的是()5、A、abstract不能与final并列修饰同一个类6、B、abstract类中不可以有private的成员7、C、abstract方法必须在abstract类中8、D、static方法中能处理非static的属性9、容器Panel和Applet缺省使用的布局编辑策略是()10、A、BorderLayout B、FlowLayout C、GridLayout D、CardLayout11、以下标识符中哪项是不合法的( )A、BigMeaninglessNameB、$intC、1 stD、$112、main方法是Java Application程序执行的入口点,关于main方法的方法头以下哪项是合法的()A、public static void main()B、public static void main(String[ ] args)C、public static int main(String[ ] arg)D、public void main(String arg[ ])13、执行完以下代码int [ ] x = new int[25];后,以下哪项说明是正确的()A、x[24]为0B、x[24]未定义C、x[25]为0D、x[0]为空14、以下代码段执行后的输出结果为()int x=3; int y=10;、0 B、1 C、2 D、310、以下哪个表达式是不合法的()A、String x="Hello"; int y=9; x+=y;B、String x="Hello"; int y=9; if(x= =y) { }C、String x="Hello"; int y=9; x=x+y;D、String x=null; int y=(x!=null)&&()>0) : 011、编译运行以下程序后,关于输出结果的说明正确的是()public class Conditional{public static void main(String args[ ]){int x=4;"value is "+ ((x>4) :9));}}A、输出结果为:value isB、输出结果为:value is 9C、输出结果为:value isD、编译错误12、以下声明合法的是()A、default String s;B、public final static native int w( )C、abstract double d;D、abstract final double hyperbolicCosine( )13、关于以下application的说明,正确的是()1: class StaticStuff2: {3: static int x=10;4: static { x+=5;}5: public static void main(String args[ ])6: {7: "x=" + x);9: static { x/=3;}10: }A、4行与9行不能通过编译,因为缺少方法名和返回类型B、9行不能通过编译,因为只能有一个静态初始化器C、编译通过,执行结果为:x=5D、编译通过,执行结果为:x=314、关于以下程序代码的说明正确的是()1. class HasStatic{2. private static int x=100;3. public static void main(String args[ ]){4. HasStatic hs1=new HasStatic( );5. ++;6. HasStatic hs2=new HasStatic( );7. ++;8. hs1=new HasStatic( );10. -;11. "x="+x);12. }13. }A、5行不能通过编译,因为引用了私有静态变量B、10行不能通过编译,因为x是私有静态变量C、程序通过编译,输出结果为:x=103D、程序通过编译,输出结果为:x=10215、以下选项中循环结构合法的是()A、while (int i<7){ i++;"i is "+i);}B、 int j=3;while(j){ " j is "+j);}C、 int j=0;for(int k=0; j + k !=10; j++,k++){ " j is "+ j + "k is"+ k);}D、 int j=0;do{"j is "+j++);if (j = = 3) {continue loop;}}while (j<10);16、类Test1定义如下:1.public class Test1{2. public float aMethod(float a,float b){ } 3.4.}将以下哪种方法插入行3是不合法的。

java笔试题大集合及答案-Java基础方面

java笔试题大集合及答案-Java基础方面

Java基础方面:1、作用域public,private,protected,以及不写时的区别答:区别如下:作用域当前类同一package 子孙类其他packagepublic √√√√protected √√√×friendly √√××private √×××不写时默认为friendly2、Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)答:匿名的内部类是没有名字的内部类。

不能extends(继承) 其它类,但一个内部类可以作为一个接口,由另一个内部类实现3、Static Nested Class 和Inner Class的不同答:Nested Class (一般是C++的说法),Inner Class (一般是JAVA的说法)。

Java内部类与C++嵌套类最大的不同就在于是否有指向外部的引用上。

注:静态内部类(Inner Class)意味着1创建一个static内部类的对象,不需要一个外部类对象,2不能从一个static内部类的一个对象访问一个外部类对象4、&和&&的区别答:&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and)5、Collection 和Collections的区别答:Collection是集合类的上级接口,继承与他的接口主要有Set 和List.Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作6、什么时候用assert答:assertion(断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。

在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告或退出。

java面试题库java面试题目及答案(3篇)

java面试题库java面试题目及答案(3篇)

第1篇一、基础知识1. Java简介题目:请简述Java的基本特点。

答案:- 简单易学:Java设计之初就考虑了易学性,使用面向对象编程。

- 原生跨平台:Java通过JVM(Java虚拟机)实现跨平台运行。

- 安全性:Java提供了强大的安全机制,如沙箱安全模型。

- 体系结构中立:Java不依赖于特定的硬件或操作系统。

- 高效:Java的运行速度接近C/C++。

- 多线程:Java内置多线程支持,便于实现并发处理。

- 动态性:Java在运行时可以进行扩展和修改。

2. Java虚拟机题目:请解释Java虚拟机(JVM)的作用。

答案:JVM是Java程序的运行环境,其主要作用包括:- 将Java字节码转换为本地机器码。

- 管理内存,包括堆、栈、方法区等。

- 提供垃圾回收机制。

- 管理线程和同步。

3. Java内存模型题目:请简述Java内存模型的组成。

答案:Java内存模型主要由以下部分组成:- 堆(Heap):存储对象实例和数组。

- 栈(Stack):存储局部变量和方法调用。

- 方法区(Method Area):存储类信息、常量、静态变量等。

- 本地方法栈(Native Method Stack):存储本地方法调用的相关数据。

- 程序计数器(Program Counter Register):存储线程的当前指令地址。

4. Java关键字题目:请列举并解释Java中的几个关键字。

答案:- `public`:表示访问权限为公开。

- `private`:表示访问权限为私有。

- `protected`:表示访问权限为受保护。

- `static`:表示属于类本身,而非对象实例。

- `final`:表示常量或方法不能被修改。

- `synchronized`:表示线程同步。

- `transient`:表示数据在序列化时不会被持久化。

二、面向对象编程5. 类和对象题目:请解释类和对象之间的关系。

答案:类是对象的模板,对象是类的实例。

Java考试题+答案

Java考试题+答案

Java考试题+答案选择题(每题3分,共45分)1、下列程序编译或运⾏的结果是。

() D public static void main(String args[]){int a = 10;int b,c;if(a>50){b=9;}c = b + a;System.out.println(c);}A.10B. 19C.9D.编译错误2、下列语句⽚段中,four的值为 () Dint three = 3;char one = ‘1’;char four = (char)(three+one);A. 3B. 1C. 31D. 43、下列代码的运⾏结果是 ( ) Dpublic static void main(String[] args){int a = 7;System.out.println(a%3);}A.2.0 B.2 C.1.0 D.14、以下程序的输出结果为( )。

Dpublic static void main(String[]args) {int x = 1, y = 1, z =1;if(x--==1&&y--==1||z--==1)System.out.println(“x=” +x+”,y=” +y+”,z=” +z);A.x=0, y=1,z=1B.x=0,y=2,z=2C.x=0,y=2,z=1D.x=0,y=0,z=15、下列代码段编译和运⾏的结果是(). C public static void main(String args[]){ String str = “null”;if(str==null){System.out.println(“null”);}else if(str.length()==0){System.out.println(“zero”);}else {System.out.println(“some”);}}A. nullB. zeroC. someD. 编译错误6、下列代码的运⾏结果是(): D public class Animal{public String noise(){return “peep”;}public static void main(String[] args){ Animal animal = new Dog();Cat cat = (Cat)animal;System.out.println(cat.noise());}}class Dog extends Animal{public String noise(){return “bark”;}class Cat extends Animal{public String noise(){return “meow”;}}A. peepB.barkC.meowD.编译错误E. 抛出运⾏时异常7、关于下列代码说法正确的是( ) D public class Foo{public int add(int a,int b){return a+b;}public static void main(String[] args){ Foo foo = null;System.out.println(foo.add(10,20)); }}A. 编译错误B. 正常运⾏,但⽆结果输出C.30D.运⾏时抛出NullPointerException8、程序的执⾏结果是 ( ) Bpublic 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){}}A. 5B. 3C. 0D. 49、关于下列代码书法正确的是 ( ) Bpublic class A{public void doit(){}public String doit(){return “a”;}public double doit(int x){return 1.0;}}A. ⽆编译错误B. 代码public String doit(){⾏,出现编译错误C. 代码public double doit(int x){⾏,出现编译错误D. 代码return “a”;⾏处出现编译错误10、下列代码的运⾏结果是() DString test = “This is a test”;String[] tokens = test.split(“\\s”);System.out.println(tokens.length);A. 0B. 1C. 3D. 411、请看下列代码() A1 //some code here2 try{3 //some code here4 }catch(SomeException se){5 //some code here7//some code here8}下⾯那种情况不能使第7⾏的代码执⾏:A. 第1⾏抛出异常B. 第3⾏抛出异常C. 第5⾏抛出异常D. 第3⾏代码成功执⾏E.第5⾏代码成功执⾏F.不管如何第7⾏都会运⾏12、Java中单⼀⽂件⾥的关键字class import package 出现的顺序应为:() CA.class package importB. class import packageC. package import classD. import package class13、给出以下代码,请问该程序的运⾏结果是什么? Dclass Example {public static void main(String args[]){String s = new String( "Computer" );if( s == "Computer" )System.out.println( "Equal A" );if( s.equals( "Computer" ) )System.out.println( "Equal B" );}}A、代码编译失败B、打印输出空⽩⾏C、打印输出:Equal A;D、打印输出:Equal BE、打印输出:Equal A和Equal B14、Java语⾔中, 通常把可能发⽣异常的⽅法调⽤语句放到________、________块中,分别⽤来捕获和处理异常。

java模拟面试题目(3篇)

java模拟面试题目(3篇)

第1篇一、Java基础知识1. 请简述Java语言的特点。

2. 什么是Java虚拟机(JVM)?它有什么作用?3. 什么是Java的内存模型?请解释Java内存模型中的几个关键概念:堆、栈、方法区、程序计数器、本地方法栈。

4. 什么是Java中的反射机制?请举例说明反射在Java中的应用。

5. 什么是Java中的泛型?请解释泛型的原理和作用。

6. 请简述Java中的四种访问控制符:public、protected、default、private。

7. 什么是Java中的继承和多态?请举例说明继承和多态在实际开发中的应用。

8. 什么是Java中的封装?请举例说明封装在实际开发中的应用。

9. 什么是Java中的接口和抽象类?它们之间有什么区别?10. 什么是Java中的异常处理?请解释try-catch-finally语句的执行顺序。

二、Java集合框架1. 请列举Java集合框架中的常用集合类及其特点。

2. 请简述ArrayList、LinkedList、HashMap、HashSet的区别。

3. 什么是Java中的泛型集合?请举例说明泛型集合的应用。

4. 什么是Java中的迭代器(Iterator)和枚举器(Enum)?请比较它们的区别。

5. 什么是Java中的List、Set、Map的遍历方法?6. 请解释Java中的ArrayList和LinkedList的内部实现原理。

7. 什么是Java中的HashMap的扩容机制?8. 什么是Java中的HashSet的内部实现原理?9. 请解释Java中的线程安全集合类,如CopyOnWriteArrayList、ConcurrentHashMap。

三、Java多线程与并发1. 什么是Java中的线程?请解释线程的创建、调度和同步。

2. 请简述Java中的线程状态,如新建、就绪、运行、阻塞、等待、超时等待、终止。

3. 什么是Java中的同步机制?请解释synchronized关键字的作用。

Java试题(附答案)

Java试题(附答案)

一、单选题(每道小题只有一个正确的选项)1、Java程序中要用变量来存储学生性别信息,从节约内存空间的角度最好选择哪种数据类型( D )A)int B)short C)byte D)boolean2、Java语言中基本的数据类型不包括( C ):A)整型B)浮点型C)数组D)逻辑型3、Java程序中用来定义常量必须用到的关键字是( A )A)final B)class C)void D)static4、下列属于Java语言中字符常量的是( B )A)”m”B)‘!’C)a D)$5、一个简单的Java程序可能没有用到的关键字是(C )A)void B)public C)int D)static6、下列关于Java程序中数组的使用说法正确的是(A )A)数组必须在使用前定义B)同一个数组中的元素类型必须不同C)数组是一种特殊的变量不需在使用前声明D)数组的元素不可以是数组7、程序设计语言的发展主要经历了三个阶段,其中不包括(A )A)数学语言B)机器语言C)汇编语言D)高级语言8、关于程序设计语言下列说法错误的是( C )A)Java、C++、VB等都是当前广泛使用的高级程序设计语言。

B)一项任务可以使用多种语言来实现,使用前需要综合考虑选择合适的语言。

C)因特网的应用开发必须使用Java语言来实现。

D)Java是一种完全面向对象的高级语言,在因特网的应用开发中广泛应用。

9、经过编译后的Java程序的扩展名是( B )A).java B).class C).exe D).bat10、关于Java源程序的说法错误的是( C )A)文件名必须和主类名一致B)使用“javac”对java程序进行编译C)java程序的编译运行须借助辅助软件D)java源程序的扩展名为.java11、若已定义x和y是double型变量,则表达式x=1,y=x+3/2执行后y的值为( D )A)1 B)2 C)3 D)2.512、Java语言中整型常量有三种形式即八进制整数、十进制整数和十六进制整数。

java基础复习题

java基础复习题

java基础复习题⼀、单项选择题1、在Java中,关于⽅法重载描述正确的是___D___A 如果两个⽅法名相同、参数项相同,则认为⼀个⽅法是另⼀个⽅法的重载⽅法B 如果两个⽅法名不同、参数项相同,则认为⼀个⽅法是另⼀个⽅法的重载⽅法C 如果两个⽅法名不同、参数项不同,则认为⼀个⽅法是另⼀个⽅法的重载⽅法D 如果两个⽅法名相同、参数项不同,则认为⼀个⽅法是另⼀个⽅法的重载⽅法2、在Java中,关于数组描述正确的是____B____A 数组中的索引下标从1开始B 存储在数组当中的数据都属于同⼀数据类型C 数组创建后其⼤⼩是可以改变的D 数组的最⼤索引下标与数组的长度相等3、给定如下Java代码,关于super的⽤法,以下___C_____哪个描述是正确的class C extends B{public C(){super();}}A ⽤来调⽤B类中定义的super()⽅法B ⽤来调⽤C类中定义的super()⽅法C ⽤来调⽤B类的⽆参构造⽅法//super:⽤作⽗类的D ⽤来调⽤B类的第⼀个出现的构造⽅法4、下列选项中关于this关键字说法正确的是___A_____A this关键字是在对象内部指代对象⾃⾝的引⽤//this:⽤作当前对象B this关键字可以在类中的任何位置使⽤C this关键字和类关联,⽽不是和特定的对象关联D 同⼀个类的不同对象公⽤同⼀个this5、有如下两个类Student和Person,如果Student是Person的⼦类,下列语句错误的是____C____A Person p=new Student();B Person p=new Person();C Student s=new Person();D Student s=new Student6、关于抽象类说法不正确的是 D 。

A 抽象类需要在class前⽤关键字abstract进⾏修饰B 抽象⽅法可以有⽅法体C 有抽象⽅法的类⼀定是抽象类D 抽象类可以没有抽象⽅法();7、关于接⼝说法错误的是___B_____A ⼀个类可以使⽤implements关键字实现多个接⼝,接⼝之间使⽤逗号进⾏间隔B ⼀个类实现接⼝时,必须实现接⼝中定义的所有⽅法C 不能对接⼝直接实例化D 接⼝中的⽅法都是未现的⽅法,且⽆需使⽤abstract关键字进⾏指明8、以下不属于引⽤类型的数据类型是___C___A 类B 数组型C 字符型D 接⼝9、JDK是指 A 。

初级java考试简答题

初级java考试简答题

初级Java考试简答题及答案:
1. 什么是Java?
答案:Java是一种面向对象的编程语言,由Sun Microsystems 公司开发。

它被设计成一种跨平台的语言,可以在多个操作系统上运行,并且具有垃圾回收机制,可以自动管理内存。

2. 什么是Java虚拟机(JVM)?
答案:Java虚拟机(JVM)是一种运行Java程序的软件平台。

它是一种虚拟的计算机,能够执行Java字节码,并将其转换为特定操作系统的机器代码执行。

3. 什么是Java类?
答案:Java类是Java编程的基本单元,它定义了一个对象的属性和方法。

每个Java程序都从public class声明开始,其中包含类的名称和属性和方法的定义。

4. 什么是Java对象?
答案:Java对象是通过类的实例化而创建的。

每个对象都有一组属性,这些属性可以在运行时被改变和访问。

对象还可以执行方法,这些方法定义了对象的行为。

5. 什么是Java数组?
答案:Java数组是一种用于存储固定大小的相同类型元素的数据结构。

数组可以是一维或多维的,并且可以通过索引访问元素。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、单选题1.对类:(B)public class Test(//...do something}下面那个正确地定义了类Test的构造函数。

A)public void Test() ()B)publicTest()(}C ) public static Test() (}D) publicTest();2.下面哪个函数是public void example()(...)的重载函数。

(A)A)public void example( float f)(...)B)public int example() (...)C)public void example2()(...}D)public int example_overLoad ()(...)3.下面的代码段中,执行之后i和j的值是_C_。

int i = 1;intj;j = i++;A)1, 1 B) 1,2 C) 2, 1 D) 2,24.以下for循环的执行次数是_B ofor(int x=0,y=0;(y !=0)&&(x<4) ;x++);A)无限次B) 一次也不执行C)执行4次D)执行3次5.下面程序的输出结果是—C opublic class People(String name;int id;public People( String str, int n )(name = str;id = n;}public String toString(){return id + " :” + name;}public String print()(return name + " : " + id;public static void main( String args[])(People p = new People( "z hang”,1 );System.out.print( p );}}A)zhang 1 B) zhang : 1 C) 1 : zhang D)不确定6.下面函数的运行结果是_C Oclass Count(static int ent = 0;static int sum = 0;int number;public Count( int n ){number = n;cnt++;sum += number;}public static void main( String args[])(Count c 1 = new Count(l 1);Count c2 = new Count(22);c2 = new Count( 33 );System.out.print( t + " :” + c2.sum );})A)0:0 B) 2:33 C) 3:66 D) 3:337.下面程序的运行结果为_A oclass example {public static void main( String args[])( int x = 0;if( x > 0 ) x = 1;switch( x )(case 1 : System.out.print( 1 );case 0 : System.out.print( 0 );case 2 : System.out.print( 2 ); break;case 3 : System.out.print( 3 );default: System.out.print( 4 ); break;A) 02 B) 0 C) 2 D) 0238.对final关键字的说法不正确的是(A)A子类不能继承父类的final成员变量B final成员变量不能被修改C接口中定义的成员变量都是final变量D如果final成员变量在定义处没有初始化,那么它必须在构造函数中被初始化9.关于设计模式下列说法不正确的是(C)A .Singleton模式保证一个类仅有一个实例,并提供一个访问它的全局访问点。

B .Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。

C.Bridge模式将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。

D .Proxy模式为其他对象提供一个代理以控制对这个对象的访问。

10.MVC模式中说法不正确的是(A)A MVC是指的表现层-业务层■数据库这种模式B Model层实现系统中的业务逻辑C View层用于与用户的交互D Controller层是Model与View之间沟通的桥梁11.关于命名,描述不正确的是:()A.类名和接口使用类意义完整的英文描述。

B.类名和接口的命名采用每个英文单词的首字母使用大写、其余字母使用小写的大小写混合法。

C.方法名采用第一个单词的字母使用大写、剩余单词首字母大写其余字母小写的大小写混合法。

D.方法名使用方法意义完整的英文描述。

12.下述各项的代码中,符合编码规范的是:(A)A.for (...) (...// program code}B.void example_fun( void ){...// program code}C.if (filename != null&& new File(logPath + filename). length() < LogConfig. getFileSizeO){・.・ // program code}I). LogFilename now = null;LogFilename that 二null;13.下述各项中,不符合编码规范的项是:(D)A.for (...)// program code}B.if (...)(...// program code)C.void example_fun( ){...// program code}I), class user(・・・ // program code二、多选题1.以下对于HTML5说法正确的是:A)是用于取代1999年所制定的HTML 4.01和XHTML 1.0标准的HTML标准版木,现在仍处于发展阶段,但大部分浏览器已经支持某些HTML5技术。

B)强化了Web网页的表现性能。

C)追加了本地数据库等Web应用的功能。

D)希望能够减少浏览器对于需要插件的丰富性网络应用服务(plug・in-based rich internet application, RIA),如 Adobe Flashx Microsoft Silverlight,与Oracle JavaFX 的需求,并且提供更多能有效增强网络应用的标准集。

2.下述各项中,符合编码规范的是:A.分界符(如大括号'{'和'}')应各独占一行并旦位于同一列,同时与引用它们的语句左对齐。

B.较长的语句、表达式或参数(>80字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读。

C.建议把多个短语句写在一行中,便于阅读D.if, for, do, while等语句的执行语句如果只有一行的话,不需要要加括号{} °3.ACM的说法错误的是:(D)A) ACM是基于Java Framework开发的B) ACM是权限管理系统,包括数据权限与功能权限的控制C) ACM统一权限管理平台,可供后续项目直接引用D) ACM无法控制页面上按钮的权限,只能控制页面访问权限4.Java Framework v20 说法正确的是:A) Java Framework v20里面自带了文件上传组件,并提供了丰富的方法供开发者使用B)Java Framework v20 集成了Struts2+Spring3+Mybatis3 三大框架C) Java Framework v20 集成了Struts2+Spring3+Hibernate3 三大框架D) Java Framework v20自定义了开发丰富的标签库供使用5.Java Framework v20系统设计目的,说法正确的是:(ABCD)A)为后续项目可能会碰到的一些共通的难题提供切实可靠的成熟的解决方案;B)提高开发效率;C)IT行业人才流动性大,保证在人员变动剧烈的情况序项目能够继续进行;D)Java developer在使用这套framework之后,能从中学习与发掘前人在实践中总结的宝贵经验,极大地提升个人能力;6.关于继承哪些说法是正确的A.继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。

B.采用继承性,提供了类的规范的等级结构。

通过类的继承关系,使公共的特性能够共享,提高了软件的重用性。

C.类的继承性使所建立的软件具有开放性、可扩充性简化了对象、类的创建工作量,增加了代码的可重用性。

D.不同的对象,收到同一消息可以产生不同的结果,这种现象称为继承。

相关文档
最新文档