java的一些面试基础题 逻辑题

java的一些面试基础题 逻辑题
java的一些面试基础题 逻辑题

1,谈谈final, finally, finalize的区别。

答案:final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。

finally是异常处理语句结构的一部分,表示总是执行。

finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。

2,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?

答案:可以继承其他类或完成其他接口,在swing编程中常用此方式。

3,Static Nested Class 和Inner Class的不同,说得越多越好。

答案:Static Nested Class是被声明为静态(static)的内部类,它可以不依赖于外部类实例被实例化。而通常的内部类需要在外部类实例化后才能实例化。

4,&和&&的区别。

答案:&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and).

5,HashMap和Hashtable的区别。

答案:HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable.

6,Collection 和Collections的区别。

答案:Collection是集合类的上级接口,继承与他的接口主要有Set 和List.

Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。

7,什么时候用assert。(找一个例子)

答案:1.4新增关键字(语法),用于测试boolean表达式状态,可用于调试程序。

使用方法assert ,表示如果表达式为真(true),则下面的语句执行,否则抛出AssertionError。

另外的使用方式assert < boolean表达式>:,表示如果表达式为真,后面的表达式忽略,否则后面表达式的值用于AssertionError的构建参数。

注意编译时要增加-source 1.4 参数,否则报错。]运行时要增加-ea参数,否则assert行被忽略

8,GC是什么? 为什么要有GC?

答案:GC是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的,Java语言没有提供释放已分配内存的显示操作方法。

9,String s = new String("xyz");创建了几个String Object? (了解下解析)

两个

10,Math.round(11.5)等於多少? Math.round(-11.5)等於多少? (貌似不太了解)

答案:Math.round(11.5)==12

Math.round(-11.5)==-11

round方法返回与参数最接近的长整数,参数加1/2后求其floor.

?概述struts,以及struts如何实现MVC架构的?

答:struts framework是一种基于java的技术,Web应用程序开发人员通过struts framework即可充分利用面向对象设计、代码重用以及"编写一次、到处运行"的优点。

Struts提供了一种创建Web应用程序的框架,其中对应用程序的显示、表示和数据的后端代码进行了抽象。Struts采用jsp作为MVC的视图,由ActionServlet具体指定的action 动作类作为控制器即MVC中的C,负责视图与模型之间的交互。控制器的每个入口点都由名为struts-config.xml的配置文件设置。该文件把来自视图的请求映射为特定的JA V A类以进行相应的处理,控制器还指定下一个视图的位置。Struts中的模型主要指的就是javabean,它是模型的代表,主要封装数据和业务逻辑。

Struts的处理流程:

l 控制器进行初始化工作,读取配置文件,为不同的Struts模块初始化相应的ModulConfig对象。

l 控制器接收Http请求,并从ActionConfig中找出对应于该请求的Action子类,如果没有对应的Action,控制器直接将请求转发给JSP或者静态页面,否则控制器将请求分发至具体的Action类进行处理。

l 在控制器调用具体的Action的Execute方法之前,ActionForm对象将利用Http请求中的参数来填充自已。还可以在ActionForm类中调用V alidate方法来检查请求参数的合法性,并且可以返回一个包含所有错误信息的ActionErrors对象。

l 执行具体的的Execute的方法,它负责执行相应的业务逻辑。执行完后,返回一个ActionForward对象,控制器通过该ActionForward对象来进行转发工作。也可以把Action 要处理的业务逻辑封装在JavaBean中,如果系统中还有EJB,那么通过JavaBean调用EJB以完成业务处理;如果没有EJB,那么就直接在JavaBean中连接数据库,进行数据库相关的操作。

2、概述MVC体系结构。

?

答:MVC包括三类对象,model是应用对象,view是视图,controller是控制器,它定义用户界面对用户输入的响应方式。

在MVC体系中,模型通常被称为"业务逻辑",是真正完成任务的代码,视图就是使用界面,反映数据的变化。控制器控制着模型和视图之间的交互过程,它决定着向用户返回怎样的视图、检查通过界面输入的信息以及选择处理输入信息的模型

在MVC中,表示层和逻辑层分离,各部分可相互独立进行开发,便于开发和维护,提高了开发效率。

3、多线程的优点。

答:可分两方面来答:

1、相对于单线程而言:

可以响应多任务的并发操作。

多线程取消了主循环和轮流检测机制,一个线程可以暂停而不阻止系统其他的部分的执行,而且当程序中一个线程阻塞时,只有那个被阻塞的线程暂停,所有其他的线程继续执行。

2、相对于进程而言:(可以答也可以不答)

它所要求的开销比较小,转换成本较小。

所有线程共享同一地址空间,相互协作。

彼此之间通信很容易。

4、EJB概述

答:EJB是企业级的JavaBean,它提供了构建企业级业务逻辑的一种组件模型。

EJB分为三种:Session Bean Entity Bean Message-Driven Bean 三种,其中Session Bean 分为有状态和无状态Session Bean两种,Entity Bean分为容器管理的Entity Bean ( CMP ) 和Bean管理的Entity Bean ( BMP )。每一个EJB由一个远程接口、一个本地接口和一个EJB容器实现组成,远程接口声明了提供给EJB客户调用的各种应用方法,本地接口声明了创建新的EJB实例的create方法、寻找EJB实例的查找(finder)方法以及刪除EJB实例的remove方法。EJB容器提供了EJB的运行环境和生命周期的管理。

5、用java访问Oracle数据库、取得记录并输出到界面

[b]5、用java访问Oracle数据库、取得记录并输出到界面答:..........................

Class.forName("oracle.jdbc.driver.OracleDriver");

Connection conn=DriverManager.getConnection( url , username , password );

Statement stmt=conn.createStatement();

String str="select * from [table]";

ResultSet rs=stmt.executeQuery(str);

While(rs.next())

{

........................

}

rs.close();

stmt.close();

conn.close();

6、概述java垃圾回收机制

答:它的工作原理如下:

当不存在对一个对象的引用时,我们就假定不再需要那个对象,那个对象所占有的存储单元可以被收回,可通过System.gc()方法回收,但一般要把不再引用的对象标志为null 为佳。

7、java类是否可以多继承,怎么实现多继承?

答:java没有多继承,但可以通过接口的形式来达到多继承的目地。

8、面向对象的特点

答:面向对象有三大特点:封装、继承、多态。(如果要回答四个,可加上抽象性这一特点)

9、接口有什么优点

答:接口有以下优点:

l 接口只是一个框架而没有实现,因此在接口定义时不需要考虑接口中的方法如何实现。

l 利用接口可达到实现多继承的目地。

l 可以在不暴露对象的类的前提下,暴露对象的编程接口。

l 不用强迫类关系在无关类中截获相似处(采用适配器就可以了)。

l 声明想执行的一个或多个方法。

10、ArrayList 与V ector 的区别

答:主要从两个方面来说明:

l 安全、效率方面

如果要实现同步安全,则要用V ector,否则则用ArrayList,因为ArrayList不考虑同步安全的问题,所以效率要高些。

l 资源方面

当两者的容量已满时,它们都会自动增长其容量,但V ector是按其容量的一倍增长,而ArrayList则按其容量的50%增加,所以V ector更能节省资源。

1. Java的接口和C++的虚类的相同和不同处。

由于Java不支持多继承,而有可能某个类或对象要使用分别在几个类或对象里面的方法或属性,现有的单继承机制就不能满足要求。与继承相比,接口有更高的灵活性,因为接口中没有任何实现代码。当一个类实现了接口以后,该类要实现接口里面所有的方法和属性,并且接口里面的属性在默认状态下面都是

public static,所有方法默认情况下是public.一个类可以实现多个接口。

2. Java中的异常处理机制的简单原理和应用。

当Java程序违反了Java的语义规则时,Java虚拟机就会将发生的错误表示为一个异常。违反语义规则包括2种情况。一种是Java类库内置的语义检查。例如数组下标越界,会引发IndexOutOfBoundsException;访问null的对象时会引发NullPointerException。另一种情况就是Java允许程序员扩展这种语义检查,程序员可以创建自己的异常,并自由选择在何时用throw关键字引发异常。所有的异常都是https://www.360docs.net/doc/cc2359813.html,ng.Thowable的子类。

3. 垃圾回收的优点和原理。并考虑2种回收机制。

Java语言中一个显著的特点就是引入了垃圾回收机制,使c++程序员最头疼的内存管理的问题迎刃而解,它使得Java程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机制,Java中的对象不再有“作用域”的概念,只有对象的引用才有“作用域”。垃圾回收可以有效的防止内存泄露,有效的使用可以使用的内存。垃圾回收器通常是作为一个单独的低级别的线程运行,不可预知的情况下对内存堆中已经死亡的或者长时间没有使用的对象进行清除和回收,程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收。回收机制有分代复制垃圾回收和标记垃圾回收,增量垃圾回收。

4.线程同步的方法。

wait():使一个线程处于等待状态,并且释放所持有的对象的lock。

sleep():使一个正在运行的线程处于睡眠状态,是一个静态方法,调用此方法要捕捉InterruptedException异常。

notify():唤醒一个处于等待状态的线程,注意的是在调用此方法的时候,并不能确切地唤醒某一个等待状态的线程,而是由JVM确定唤醒哪个线程,而且不是按优先级。

Allnotity():唤醒所有处入等待状态的线程,注意并不是给所有唤醒线程一个对象的锁,而是让它们竞争。

5. Error与Exception有什么区别?

Error表示系统级的错误和程序不必处理的异常,

Exception表示需要捕捉或者需要程序进行处理的异常。

6. 在java中一个类被声明为final类型,表示了什么意思?

表示该类不能被继承,是顶级类。

7 heap和stack有什么区别。

栈是一种线形集合,其添加和删除元素的操作应在同一段完成。栈按照后进先出的方式进行处理。堆是栈的一个组成元素。

8谈谈final, finally, finalize的区别。

final—修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载。

finally—异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的 catch 子句就会执行,然后控制就会进入 finally 块(如果有的话)。

finalize—方法名。Java 技术允许使用 finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在 Object 类中定义的,因此所有的类都继承了它。子类覆盖 finalize() 方法以整理系统资源或者执行其他清理工作。finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的。

9 Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?

匿名的内部类是没有名字的内部类。不能extends(继承) 其它类,但一个内部类可以作为一个接口,由另一个内部类实现。

10 Static Nested Class 和 Inner Class的不同

Nested Class (一般是C++的说法),Inner Class (一般是JAVA的说法)。Java 内部类与C++嵌套类最大的不同就在于是否有指向外部的引用上。

注:静态内部类(Inner Class)意味着1创建一个static内部类的对象,不需要一个外部类对象,2不能从一个static内部类的一个对象访问一个外部类对象 .

11 HashMap和Hashtable的区别。

都属于Map接口的类,实现了将惟一键映射到特定的值上。

HashMap 类没有分类或者排序。它允许一个 null 键和多个 null 值。

Hashtable 类似于 HashMap,但是不允许 null 键和 null 值。它也比HashMap 慢,因为它是同步的。

12 &和&&的区别。

&是位运算符。&&是布尔逻辑运算符。

13 Collection 和 Collections的区别。

Collection是个java.util下的接口,它是各种集合结构的父接口。

Collections是个java.util下的类,它包含有各种有关集合操作的静态方法。

14 什么时候用assert。

断言是一个包含布尔表达式的语句,在执行这个语句时假定该表达式为true。

如果表达式计算为 false,那么系统会报告一个 Assertionerror。它用于调试目的:

assert(a > 0); // throws an Assertionerror if a <= 0

断言可以有两种形式:

assert Expression1 ;

assert Expression1 : Expression2 ;

Expression1 应该总是产生一个布尔值。

Expression2 可以是得出一个值的任意表达式。这个值用于生成显示更多调试

信息的 String 消息。

断言在默认情况下是禁用的。要在编译时启用断言,需要使用 source 1.4 标记:

javac -source 1.4 Test.java

要在运行时启用断言,可使用 -enableassertions 或者 -ea 标记。

要在运行时选择禁用断言,可使用 -da 或者 -disableassertions 标记。

要系统类中启用断言,可使用 -esa 或者 -dsa 标记。还可以在包的基础上启用或者禁用断言。

可以在预计正常情况下不会到达的任何位置上放置断言。断言可以用于验证传递给私有方法的参数。不过,断言不应该用于验证传递给公有方法的参数,因为不管是否启用了断言,公有方法都必须检查其参数。不过,既可以在公有方法中,也可以在非公有方法中利用断言测试后置条件。另外,断言不应该以任何方式改变程序的状态。

15 GC是什么? 为什么要有GC? (基础)。

GC是垃圾收集器。Java 程序员不用担心内存管理,因为垃圾收集器会自动进行管理。要请求垃圾收集,可以调用下面的方法之一:

System.gc()

Runtime.getRuntime().gc()

16 String s = new String("xyz");创建了几个String Object?

两个对象,一个是“xyz”,一个是指向“xyz”的引用对象s。

17 Math.round(11.5)等於多少? Math.round(-11.5)等於多少?

Math.round(11.5)返回(long)12,Math.round(-11.5)返回(long)-11;

18 short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?

short s1 = 1; s1 = s1 + 1;有错,s1是short型,s1+1是int型,不能显式转化为short型。可修改为s1 =(short)(s1 + 1) 。short s1 = 1; s1 += 1正确。

19 sleep() 和 wait() 有什么区别?

sleep()方法是使线程停止一段时间的方法。在sleep 时间间隔期满后,线程不一定立即恢复执行。这是因为在那个时刻,其它线程可能正在运行而且没有被调度为放弃执行,除非(a)“醒来”的线程具有更高的优先级 (b)正在运行的线程因为其它原因而阻塞。

wait()是线程交互时,如果线程对一个同步对象x 发出一个wait()调用,该线程会暂停执行,被调对象进入等待状态,直到被唤醒或等待时间到。

20 Java有没有goto?

Goto—java中的保留字,现在没有在java中使用。

21 Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?

方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写(Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。

Overloaded的方法是可以改变返回值的类型。

22 数组有没有length()这个方法? String有没有length()这个方法?

数组没有length()这个方法,有length的属性。

String有有length()这个方法。

23 Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?

Set里的元素是不能重复的,那么用iterator()方法来区分重复与否。equals()是判读两个Set是否相等。 equals()和==方法决定引用值是否指向同一对象equals()在类中被覆盖,为的是当两个分离的对象的内容和类型相配的话,返回真值。

24最常见到的runtime exception。

ArithmeticException, ArrayStoreException, BufferOverflowException, BufferUnderflowException, CannotRedoException, CannotUndoException, ClassCastException, CMMException, ConcurrentModificationException, DOMException,EmptyStackException, IllegalArgumentException, IllegalMonitorStateException, IllegalPathStateException, IllegalStateException,ImagingOpException, IndexOutOfBoundsException, MissingResourceException, NegativeArraySizeException, NoSuchElementException, NullPointerException, ProfileDataException, ProviderException, RasterFORMatException, Secur

ityException, SystemException, UndeclaredThrowableException, UnmodifiableSetException, UnsupportedOperationException

25 error和exception有什么区别?

error 表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这样的情况。

exception 表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况。

26 List, Set, Map是否继承自Collection接口?

List,Set是

Map不是

27 abstract class和interface有什么区别?

声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。

接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定义static final成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对象上调用接口的方法。由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类型或从接口类型转换,instanceof 运算符可以用来决定某对象的类是否实现了接口。

28 abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized?

都不能

29 接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)?

接口可以继承接口。抽象类可以实现(implements)接口,抽象类可继承实体类,但前提是实体类必须有明确的构造函数。

30 启动一个线程是用run()还是start()?

启动一个线程是调用start()方法,使线程所代表的虚拟处理机处于可运行状态,这意味着它可以由JVM调度并执行。这并不意味着线程就会立即运行。run()方法可以产生必须退出的标志来停止一个线程。

31 是否可以继承String类?

String类是final类故不可以继承。

32 构造器Constructor是否可被override?

构造器Constructor不能被继承,因此不能重写Overriding,但可以被重载Overloading。

33 当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?

不能,一个对象的一个synchronized方法只能由一个线程访问。

33 try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code 会不

会被执行,什么时候被执行,在return前还是后?

会执行,在return前执行。

34 编程题: 用最有效率的方法算出2乘以8等於几?

2 << 3

35 两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?

不对,有相同的hash code。

36 当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?

是值传递。Java编程语言只由值传递参数。当一个对象实例作为一个参数被传递到方法中时,参数的值就是对该对象的引用。对象的内容可以在被调用的方法中改变,但对象的引用是永远不会改变的。

37 swtich是否能作用在byte上,是否能作用在long上,是否能作用在String 上?

switch(expr1)中,expr1是一个整数表达式。因此传递给 switch 和 case 语句的参数应该是 int、 short、 char 或者 byte。long,string 都不能作用于swtich。

38 Hashtable和HashMap

Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Map interface的一个实现

HashMap允许将null作为一个entry的key或者value,而Hashtable不允许

还有就是,HashMap把Hashtable的contains方法去掉了,改成containsvalue 和containsKey。因为contains方法容易让人引起误解。

最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap就必须为之提供外同步。

Hashtable和HashMap采用的hash/rehash算法都大概一样,所以性能不会有很大的差异。

2020年整合面试逻辑推理题总结名师精品资料

1、有两根不均匀分布的香,香烧完的时间是一个小时,你能用什么方法来确定一段 15 分钟的时间?答:把两根香同时点起来,第一支香两头点着,另一支香只烧一头,等第一支香烧完的同时(这是烧完总长度的 3/4),把第二支香另一头点燃,另一头从燃起到熄灭的时间就是15 分。 2、一个经理有三个女儿,三个女儿的年龄加起来等于13 ,三个女儿的年龄乘起来等于经理 自己的年龄,有一个下属已知道经理的年龄,但仍不能确定经理三个女儿的年龄,这时经理说只有一个女儿的头发是黑的,然后这个下属就知道了经理三个女儿的年龄。请问三个女儿的年龄分别是多少?为什么?答:三女的年龄应该是 2、 2、9。因为只有一个孩子黑头发,即只有她长大了,其他两个还是幼年时期即小于 3 岁,头发为淡色。再结合经理的年龄应该至少大于25。 3、有三个人去住旅馆,住三间房,每一间房 $10 元,于是他们一共付给老板 $30,第二天,老板觉得三间房只需要 $25 元就够了于是叫小弟退回 $5 给三位客人,谁知小弟贪心 ,只退回每人 $1,自己偷偷拿了 $2,这样一来便等于那三位客人每人各花了九元,于是三个人一共 花了$27,再加上小弟独吞了不 $2,总共是 $29。可是当初他们三个人一共付出 $30那么还有 $1 呢?答:一共付出的 30 元包括 27元(25元给老板+小弟贪污 2元)和每人退回 1元(共 3元),拿 27 和 2 元相加纯属混淆视听。 4、有两位盲人,他们都各自买了两对黑袜和两对白袜,八对袜了的布质、大小完全相同,而每对袜了都有一张商标纸连着。两位盲人不小心将八对袜了混在一起。他们每人怎样才能取回黑袜和白袜各两对呢?答:每对袜子都拆开,每人各拿一支,袜子无左右,最后取回黑袜和白袜各两对。 5、有一辆火车以每小时 15 公里的速度离开洛杉矶直奔纽约,另一辆火车以每小时 20 公里的速度从纽约开往洛杉矶。如果有一只鸟,以 30 公里每小时的速度和两辆火车同时启动,从洛杉矶出发,碰到另一辆车后返回,依次在两辆火车来回飞行,直到两辆火车相遇,请问,这只小鸟飞行了多长距离?答:把鸟的飞行距离换算成时间计算。设洛杉矶和和纽约之间的距离为a,两辆火车相遇的 时间为 a/(15+20)=a/ 25,鸟的飞行速度为 30,则鸟的飞行距离为 a/25*30=1.2a 。 6、你有四个装药丸的罐子,每个药丸都有一定的重量,被污染的药丸是没被污染的重量+ 1。只称量一次,如何判断哪个罐子的药被污染了?答: 1号罐取 1丸, 2号罐取 2丸, 3号罐取 3丸, 4号罐取 4丸,称量该 10 个药丸,比正常重量重几就是几号罐的药有问题。 7、你有一桶果冻,其中有黄色,绿色,红色三种,闭上眼睛,抓取两个同种颜色的果冻。抓取多少个就可以确定你肯定有两个同一颜色的果冻? 答:4个 8、对一批编号为 1~100,全部开关朝上(开)的灯进行以下 *作:凡是 1 的倍数反方向拨一次开关; 2 的倍数反方向又拨一次开关; 3 的倍数反方向又拨一次开关??问:最后为关熄状态的灯的编号。 答:若实际操作求解会相当繁琐。我们知道,就某个亮着的灯而言,如果拨其开关的次数是奇数次,那么,结果它一定是关着的。根据题意可知,号码为 N 的灯,拨开关的次数等于 N 的约数的个数,约数个数是奇数,则 N 一定是平方数。因为 10 的平方等于 100,可知 100 以内共有 10 个平方数,即,最后关熄状态的灯共有 10 盏,编号为 1、 4、9、16、25、36、 49、64、81、100。 9、想象你在镜子前,请问,为什么镜子中的影像可以颠倒左右,却不能颠倒上下?答:镜像对称的轴

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

面试逻辑题目汇总

1.烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同 的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢? 2.你有一桶果冻,其中有黄色、绿色、红色三种,闭上眼睛抓取不同种颜色的 两个。抓取多少个就可以确定你肯定有两个同一颜色的果冻? 3.如果你有无穷多的水,一个3公升的提捅,一个5公升的提捅,两只提捅形 状上下都不均匀,问你如何才能准确称出4公升的水?(40秒-3分钟)4.一个岔路口分别通向诚实国和说谎国。来了两个人,已知一个是诚实国的, 另一个是说谎国的。诚实国永远说实话,说谎国永远说谎话。现在你要去说谎国,但不知道应该走哪条路,需要问这两个人。请问应该怎么问? 5.村子中有50个人,每人有一条狗。在这50条狗中间有病狗(这种病不会传 染)。于是人们就要找出病狗。每个人可以观察其他的49条狗,以判断它们是否生病,只有自己的狗不能看。观察后得到的结果不得交流,也不能通知病狗的主人。主人一旦推算出自己家的是病狗就要枪毙自己的狗,而且每个人只有权利枪毙自己的狗,没有权利打死其他人的狗。第一天,第二天都没有枪响。到了第三天传来一阵枪声,问有几条病狗,如何推算得出? 6.S先生、P先生、Q先生他们知道桌子的抽屉里有16张扑克牌:红桃A、Q、 4 黑桃J、8、4、2、7、3 草花K、Q、5、4、6 方块A、5。约翰教授从这 16张牌中挑出一张牌来,并把这张牌的点数告诉P先生,把这张牌的花色告诉Q先生。这时,约翰教授问P先生和Q 先生:你们能从已知的点数或花色中推知这张牌是什么牌吗?于是,S先生听到如下的对话: P先生:我不知道这张牌。 Q先生:我知道你不知道这张牌。

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

Java基础试题 一:选择题(1*30=30)(题目写在答题纸上面) 1:Java 提供哪几种运算符多选( abcd )。 A)算术运算符B)位运算符 C)关系运算符D)逻辑运算符E)条件运算符 2:https://www.360docs.net/doc/cc2359813.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()不一定要放在构造方法内第一行

趣味面试逻辑题

趣味面试逻辑题 1)每个飞机只有一个油箱,飞机之间可以相互加油(注意是相互,没有加油机),一 箱油可供一架飞机绕地球飞半圈。 问:为使至少一架飞机绕地球一圈回到起飞时的飞机场,至少需要出动几架飞 机? (所有飞机从同一机场起飞,而且必须安全返回机场,不允许中途降落,中间没 如何更好的利用这个模拟SHL的自动考试?建议大家不必忙着反复测试,而是要尽量搞明白,自己做错的题为什么错了,正确的思路应该是怎样的;然后再重新测试。这样经过几个过程,正确率自然会高很多。 有飞机场) 2)设有两个自然数m,n,2〈=m<=99.S先生知道这两数的和s,P 先生知道这两 数的积p.他们两人进行了如下的对话:S:我知道你不知道这两个数是什么,但我也 不知道。 第二种,涉及到理解和运用的层面,它不光要求你知道有这样的事,还希望你能够给出一点你对这一问题的理解和看法,而给出你个

人的理解和看法的前提是你对这一问题有一个较为完整和清晰的认知。比如CEPA(内地和香港更紧密经贸关系的安排),我想所有人文社科类,特别是经济管理类专业的同学都应该有充分的了解,因为这是2003年度非常重要的一个事件,并且它将在很长的时间内、很多的领域中产生影响。类似的还有载人航天的成功。 设有两个自然数m,n,2〈=m<=S先生知道这两数的和s,P先生知道这两数的积p.他们两人进行了如下的对话:S:我知道你不知道这两个数是什么,但我也不知道。 P:现在我知道这两个数了。 S:现在我也知道这两个数了。 由这些条件,试确定m,n. 3)5个强盗(A,B,C,D,E)分100个金币。他们设定了一个规则:从A开始给出 分金币的提议,然后其余的强盗投赞同或反对票,如果反对票数大于或等于赞同票 数,A就被杀掉,否则就按此提议分金币;如果A被杀了,接着就轮到B提议,然后同 样按上述规则继续下去。 假设每一个强盗都是绝顶聪明的,而且他们的所有行为(提议与投票)都是对自 己最有利的(即能够在保命的前提下得最多的钱)。请问这100个金币是怎么分的?每

Java基础知识笔试题及答案2

1.Java中提供了名为()的包装类来包装原始字符串类型。 A.Integer B.Char C.Double D.String 2.https://www.360docs.net/doc/cc2359813.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 一章至五章考试 一. 填空题(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) 运行时出现异常

逻辑题 大公司面试常考的题 目

1 一个小猴子边上有100根香蕉,它要走过50米才能到家,每次它最多搬50根香蕉,(多了就被压死了),它每走1米就要吃掉一根,请问它最多能把多少根香蕉搬到家里。 解: 前面每前进1米,就要3趟,也就是吃掉3个香蕉,走到第16米时吃了48个,再走2/3米,又吃掉两个,剩余50个。在剩下的33又1/3米路程里,再吃掉33个,最后1/3米不吃。所以最多可剩余17个。 2 每个飞机只有一个油箱,飞机之间可以相互加油(注意是相互,没有加油机),一箱油可供一架飞机绕地球飞半圈。 问:为使至少一架飞机绕地球一圈回到起飞时的飞机场,至少需要出动几架飞机? (所有飞机从同一机场起飞,而且必须安全返回机场,不允许中途降落,中间没有飞机场) 答案:5架 解法: 假设飞机相互加油不用时间,地球自转的影响也忽略不计!!! 1) 先让三架飞机出行(自东向西),当飞到1/8圈时,三架飞机油箱里都只剩下3/4的油了,这时让一架飞机把另两架飞机的油加满,然后返航! 2) 当这两架飞到1/4圈时,这两架飞机油箱里也是只剩下3/4的油了,这时让一架飞机把另一架飞机的油加满,然后返航! 3) 这架飞机的油刚好能到3/4圈时没油(这时离机场只有1/4圈距离了),这时就要看地下操控中心了,计算好时间,先让一架飞机去接应(自西向东)! 4) 到离机场只有1/4圈距离时,刚好到那架飞机没油了,接应的飞机刚到,并且还有1/2油箱的油,每架飞机分一半 5) 两架飞机一起来到离机场只有1/8圈时,都没油了,又来了一个接应的飞机,油箱里还有3/4的油,三架飞机平分之并飞回机场 3 有4个女人要过一座桥。她们都站在桥的某一边,要让她们在17分钟内全部通过这座桥。这时是晚上。她们只有一个手电筒。最多只能让两个人同时过桥。不管是谁过桥,不管是一个人还是两个人,必须要带着手电筒。手电筒必须要传来传去,不能扔过去。每个女人过桥的速度不同,两个人的速度必须以较慢的那个人的速度过桥。 第一个女人:过桥需要1分钟; 第二个女人:过桥需要2分钟; 第三个女人:过桥需要5分钟;

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)如果类名使用拉丁字母,那么名字的首写字母 使用大写字母。

考察思维能力的面试题目

考察思维能力的面试题目 对思维能力的考察是很多面试者所重视的。 下面是整理的考察思维能力的面试题目相关资料,一起来看看吧!考察思维能力的面试题目有一家公司招聘员工面试时出了这样一道题,要求求职者把一盒蛋糕切成8份,分给8个人,但蛋糕盒里还必须留有一份。 面对这样的怪题,有些求职者绞尽脑汁也无法分成;而有些求职者却感到此题实际很简单,把切成的8份蛋糕先拿了7份分给7人,剩下的1份连蛋糕盒一起分给第8个人。 求职者的创造性思维能力这就显而易见了。 考察分析能力和思维能力的面试题案例(1)面试官:某快速消费品公司比来碰到了利润下降的问题,请你阐发一下可能的缘由。 求职者:呈现利润下降问题,可能的缘由无非两方面,收入即发卖额削减或成本上升。 若是是收入削减,那就要阐发市场总量的变化。 市场总量变大或不变而收入削减,申明这家公司产物的相对合作力下降,被其他同类产物挤掉了市场份额。 若是市场总量变小,则需要进一步比力该公司相对市场份额的变更,这至多申明整个这类商品的市场都不景气,能够采用一些营销手段拉动市场。 而若是是成本上升的缘由,就要对此进行查询拜访,看是什

么导致了成本上升,上升的又是哪些收入。 点评该求职者思绪清晰,精确抓住了利润下降的素质缘由,使用阐发、推理能力,按照不怜悯况找出响应的缘由并提出一些切实可行的处理方案。 如许的回覆使面试官清晰地领会到该求职者的布局化思维能力和阐发能力,给人留下深刻的印象。 图2-7是回覆该问题的思绪解析:利润下降缘由阐发案例(2)面试官:你的简历傍边引见,你已经成功地筹谋了一次图书售卖和促销勾当,可认为我引见一下吗?求职者:这是由我本人倡议的一项图书售卖和促销勾当,其时我认识到正在校园中有着很高的图书需求量,可是学生的采办力却又相对比力低,因而我通过相关渠道批发了一些相对低价的图书,正在校园傍边进行宣传并通过各类体例进行发卖。 最终我虽然没有获得很多的利润,可是通过此次勾当大大提高了本人处理问题的能力,并培育了一种贸易认识。 面试官:正在这个过程中你碰到的最大的坚苦和挑和是什么?求职者:是若何成立一个渠道使册本从我的手中到其他同窗的手中。 起头的时候我采用了一种很是保守的体例,也就是上门推销,然而正在学校里因为形形色色的推销过分屡次,因而常常是我连话都没有说完,就曾经被拒之门外。

外企典型SHL面试逻辑拟题

外企典型SHL面试逻辑拟题 此类考题,基本都是SHL测试汉化后的题目。SHL试题是没有中文版本的,有些招聘公司在招聘对英文要求不高的职位时,就将购买的SHL题目翻译一下,用来考察应聘者的基本逻辑思维。这些题目有固定套路和解题思路,和英文的一样,无非假设、支持、反对、评价这四大类;因为是中文,所以大家没有了语言上的障碍,相比英文的逻辑题,会更容易些。 与英文逻辑题类似,在招聘实践中我们常见的问题是什么呢? 不熟悉SHL测试逻辑题的思路和解题方式。对于很多应聘者,这可能是他们第一次遇到此类的标准化逻辑题,有时完全不能进入状态,我们甚至见到过在面试结束后,拦住招聘者争执某个题目的正确答案是什么。应对:并不需要大家去学逻辑学的东西,这些题目都是常识性的东西,需要的,是使用我们的题库,反复做几次,熟悉,再熟悉。看多了几次,解题不难。 解题速度太慢。因为是标准化测试,所以一般都有时间限制。限时的结果,是在匆忙中准确率大幅下降。普通的此类题目,大致是1-2分钟做出一道,而且一直做下去,没有回头检查思考的时间。对应:让自己在限时状态下做题。我们的考试系统非常完善,有固定的时间限时,可以使你更快地适应节奏,进入状态。 如何更好的利用这个模拟SHL的自动考试?建议大家不必忙着

反复测试,而是要尽量搞明白,自己做错的题为什么错了,正确的思路应该是怎样的;然后再重新测试。这样经过几个过程,正确率自然会高很多。 需要指出的是,很多此类题,在面谈时也会出现,出题的方式也不尽相同。面试和笔试不同,搞不懂最后的正确答案并不要紧,要紧的是:此时应聘者一定要让招聘者明白自己的逻辑思维过程,让面试者明白你有很好的思维模式和应对办法,虽然中间的某一步有失误,但你是能够给出一个答案的;最糟的就是呆坐半天,说不出个结果。 本产品为SHL题目的模拟题,类型和思路上都与其非常接近,供应聘者热身准备之用。

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是一种热编译技术,它会对程序的全部字节码进行优化

面试逻辑题

智力题,每个正式的笔试、面试都会出,而且在面大企业的时候必然会问到,笔者曾在很多面试中,都被问到过,不过答得都不是很好,因为时间很短,加上我们有时候过于紧张,所以做出这类问题,还是有一定的难度,从这篇文章中我会总结一些常见的智力题, 1、农民分金条问题 题目:你让农民为你工作7天,给他的回报是一根金条。金条平分成相连的7段,你必须在每天结束时给他们一段金条,如果只许你两次把金条弄断,你如何给你的工人付费,保证该农民在七天中任意一天结束时都可以领到相应的报酬。(例:第一天结束时他可领到1/7,第三天结束时他可领到3/7) 我当时在面试某企业的时候被问到了这个问题,面试官没有和我说“金条是平分成7段的”。所以我当时把精力都集中在:如何通过2刀将一个金条分成7份的问题上,其实这个问题根本不用我们考虑,题目默认已经平分为7份了,关键是分成7分后再怎么分。当时面试官只给我3分钟时间,所以我绝对悲剧了。 解答:将7份分成1/7,2/7,4/7.第一天结束时给1/7,第二天结束时给2/7,然后将农民手上的1/7要过来。第三天结束时将1/7给农民,第四天将4/7给农民,再将农民手里的3/7要过来,第五天再给1/7,第六天....... 其实这个题很简单,我只是思路没对,其实也不能怪我,当你们做了接下来的第二题后,就大概知道我当时为什么会那么想了。 2、两柱香问题 题目:有两柱不均匀的香,每柱香燃烧完需要1个小时,问:怎样用两柱香切出一个15分钟的时间段?这个题的重点就是怎么切 解答:将甲香的一头点着,将乙香的两头点着,当乙香燃烧完时,说明已经过了半个小时,同时也说明甲香也正好燃烧了一半,此时,将甲香的另一头点着,从此时起到甲香完全烧完,正好15分钟。 3、瞎子翻牌 题目:给一个瞎子52张扑克牌,并告诉他里面恰好有10张牌是正面朝上的。要求这个瞎子把牌分成两堆,使得每堆牌里正面朝上的牌的张数一样多。瞎子应该怎么做? (瞎子摸不出牌是正面或者是反面,但是却可以随意翻动每一张牌) 我曾经在参加某企业的笔试的时候,被考了这个题,当时被一个条件给弄迷茫了,如上述:使得每堆牌里正面朝上的牌的张数一样多,我当时的想法就是每堆里5张,因为一共只有10张向上,其实就是自己给想错了,并没有要求加起来10张,只要保证向上的牌数一样就行了。 解答:将52张牌分为2堆,一堆10张,另一堆42张,将10张的那一堆全部翻起来就行了。 分析: 10张堆翻起来后42张堆

Java基础试题

考砸了,把做错的题目重新复习一下对应的知识点 一、单项选择(每题2.5分,20 * 2.5’=50’)A 1.下面哪种情况属于方法重载。 A)方法名相同,参数类型与个数不同 B)方法参数类型相同 C)方法参数个数相同 D)方法名相同,方法参数类型与个数也相同 2.你想用下面的代码查找数组最后一个元素的值,当你编译并运行它的时候,会发 生什么?C public class MyAr{ public static void main(String argv[]){ int[] i = new int[5]; System.out.println(i[5]); } } A).编译通过并输出0 B).编译通过并输出 null C).编译通过但发生运行时错误 D).编译出错 3.JFrame的默认布局管理器是什么?C 4.Frame 的默认布局是FlowLayout 5.JFrame的默认布局是BorderLayout A)FlowLayout B)GridLayout C)BorderLayout D)CardLayout 6.给定下面的类定义D class Base{ Base(int i){} } class DefCon extends Base{ DefCon(int i){ //XX } } 如果将标记//XX 的地方替换为下面的行,哪一行是独立合法的? A).super(); B).this();

C).this(99); D).s uper(99); 7.启动线程方法正确的是___D________。 A)run( )方法 B)suspend( )方法 C)stop( )方法 D)start( )方法 6、在Java中,调用Math.random() 方法可能返回的结果是(B) Math.random 返回的是一个double值此值大于0.0 且小于1.0 A)132.34 B)0.342 C)29.34E10 D) 1.0009 7、下面的哪一个声明是合法的?B A) public protected amethod(int i) B) public void amethod(int i) C) public void amethod(void) D) void public amethod(int i) 8、假设有以下Java代码:C import java.applet.*; import java.awt.*; public class My_Applet extends Applet { … } 如果要在HTML页中嵌入以上Applet,可按下面()方式完成。(选择一项) A) B) C) D) 9、在Java中,要想使只有定义该类所在的包内的类可以访问该类,应该用(A)关 键字。 A)不需要任何关键字 B)private C)final D)protected 10、下述哪些说法是正确的?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); } }

面试,逻辑测试题目

姓名:庄顺 以下问题测试您的逻辑能力,请在您认为正确的答案前打√。 1.大象是动物,动物有腿,因此, √大象有腿。 2.我的秘书还未到参加选民选举的年龄。我的秘书有着漂亮的头发。所以, 我的秘书是个未满21周岁的姑娘。 3.这条街上的商店几乎都没有霓虹灯,但这些商店都有遮蓬。所以, 有些商店有遮蓬或霓虹灯。 √有些商店既有遮蓬又有霓虹灯。 4.所有的A都有三只眼睛,这个B有三只眼睛,所以, 这个B与A是一样的。 5.土豆比西红柿便宜,我的钱不够买两磅土豆。所以, 我的钱不够买一磅西红柿。 √我的钱可能够,也可能不够买一磅西红柿。 6.韦利.美斯是个和斯坦.茂斯尔一样强的棒球击手。斯坦茂斯尔是个比大多数人都要强的棒球击手。所以, 韦利.美斯应是这些选手中最出色的。 斯坦.茂斯尔应是这些选手中最出色的,尤其是在国内比赛更是如此。 √韦利.美斯是个比大多数人都要强的棒球击手。 7.水平高的音乐家演奏古典音乐,要成为水平高的音乐家就得练习演奏。所以, 演奏古典音乐比演奏爵士乐需要更多的练习时间。 8.如果你的孩子被宠坏了,打他屁股会使他发怒;如果他没有被宠坏,打他屁股会使你懊悔。但是要么是被宠坏了,要么是没有宠坏。所以, √打他屁股要么会使你懊悔,要么使他发怒。 打他屁股也许对他没有什么好处。

9.正方形是有角的图形,这个图形没有角,所以, 这个图形是个圈。 无确切的结论。 √这个图形不是正方形。 10.格林威尔在史密斯城的东北,纽约在史密斯城的东北,所以, 纽约比史密斯城更靠近格林威尔。 √史密斯城在纽约的西南。 纽约离史密斯城不远。 11.绿色深时,红色就浅。黄色浅时,蓝色就适中。但是要么绿色深要么黄色浅,所以, 蓝色适中。 黄色和红色都浅。 √红色浅,或者蓝色适中。 12.你正在开车行驶,如果你突然停车,那么跟在后面的一辆卡车将撞上你的车。如果你不这么做,你将撞倒一个过马路的妇女,所以, 行人不应在马路上行走。 那辆卡车车速太快。 √你要么被后面那辆卡车撞上,要么撞倒那个妇女。 13.我住在乔的农场和城市之间的那个地方。乔的农场位于城市和机场之间,所以, 乔的农场到我住处的距离比到机场要近。 我住在乔的农场和机场之间。 √我的住处到乔的农场的距离比到机场要近。 14.聪明的赌徒只有在形势对他有利时才下赌注,老练的赌徒只有在他有大利可图时才下赌注。这个赌徒有时去下赌注,所以, 他要不是个老练的赌徒,就是个聪明的赌徒。 他可能是个老练赌徒,也可能不是个老练赌徒。 √他既不是个老练赌徒,也不是个聪明赌徒。

Java基础试题及其答案

J a v a基础试题及其答案 The latest revision on November 22, 2020

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; Sys((a%2==1) (a+1) /2:a/2) ;三目表达式 } } (选择一项) a)1 b)2

相关文档
最新文档