以下是小编为大家准备的基础JAVA笔试题(共含10篇),希望对大家有帮助。同时,但愿您也能像本文投稿人“hdakjdhalkdh”一样,积极向本站投稿分享好文章。
JAVA的基础知识笔试题分享:
1)、String是最基本的数据类型吗?
基本数据类型包括byte、int、char、long、float、double、boolean和short,
java.lang.String类是final类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用StringBuffer类
2)、int 和 Integer 有什么区别
Java 提供两种不同的类型:引用类型和原始类型(或内置类型)。Int是java的原始数据类型,Integer是java为int提供的封装类。Java为每个原始类型提供了封装类。
3)、面向对象的特征有哪些方面
1.抽象:
抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节,
抽象包括两个方面,一是过程抽象,二是数据抽象。
2.继承:
继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。
3.封装:
封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。
4. 多态性:
多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。
一、填空题(每空2分,共30分)
1、在tomcat上发布javaweb应用时的默认目录是__webapps___目录。
2、javaweb应用的部署描述符是指 web.xml__ 文件。
3、在tomcat中访问helloapp应用的login.html文件时,在浏览器地址栏应写的url为:__。
4、Servlet容器启动每一个web应用时,都会为它创建一个唯一的___ServletContext__对象,该对象和web应用有相同的生命周期。
5、请求转发源组件的响应结果___不会__发送到客户端,包含__会__发送到客户端。(填“会”或“不会”)
6、jsp中实现请求转发的标记为:_________。
7、在JSP中,? request? 内置对象代表请求消息, response 内置对象代表响应消息,___session_内置对象代表会话。
8、如果使用第四类jdbc驱动器连接数据库,jar文件的存放位置为“web应用/_WEB-INF /lib_______”。
9、Servlet容器为每一个HttpSession对象分配一个唯一标识符,叫做___SessionID___。
10、javaweb在mvc设计模式下,___javabean___是模型,___jsp是视图,__servlet__是控制器。
二、选择题(每题2分,共30分)
1、下面哪一个选项不是http响应的一部分?(? c )
?a) 响应头
b) 响应正文
c) 协议版本号
d) 状态行
? 2、http请求及响应的正文部分可以是任意格式的数据,要保证接收方能看得
懂发送方发送的数据,http协议采用( d? )协议来规范正文的数据格式 ?
a) FTP
b) TCP
c) HTTP
d) MIME
3、Servlet API 由哪两个包组成?(两个答案)( ac )
a) javax.servlet
b) javax.servlet.jsp
c)? javax.servlet.http
d) java.servlet
4、一个servlet的生命周期不包括( b? )方法?
a)? init方法
b)? invalidate()方法
c)? service()方法
d)? destroy()方法
5、HttpServletRequest对象的(? c )方法能够获取一个表单参数的值:
a)? getQuaryString()
b)? getPathInfo()
c)? getParameter()
d)? getAttribute()
6、下面对servlet中重定向说法描述错误的是( d )
a) 使用的是HttpServletResponse接口的sendRedirect()方法
b) 源组件的响应结果不会发送给客户端
c)? sendRedirect()方法后的代码仍会执行
d) 源组件和目标组件共享ServletRequest对象
? 7、jsp指令不包括( c? )
a)? page指令
b)? taglib指令
c)? import指令
d)? include指令
8、jsp中java表达式的语法格式为:(a )
? 9、可以执行请求转发的操作是(d )。
a) jsp中response内置对象的sendRedirect()方法
b) 标记
c) RequestDispatcher对象的include()方法
d) RequestDispatcher对象的forward()方法
10、(? d? )内置对象可以处理jsp页面运行中的错误或者异常
a)? pageContext
b)? page
c)? session
d)? exception
11、下面对jdbc api描述错误的是(? d? )
a)? DriverManager接口的getConnection()方法可以建立和数据库的连接
b)? Connection接口的createStatement()方法可以创建一个Statement对象
c)? Statement接口的executeQuery()方法可以发送select语句给数据库
d)? ResultSet接口表示执行insert语句后得到的结果集
12、JavaBean的scope取什么值可使该javabean被多个用户共享,即和web
应用有相同的生命周期?(? d? )
a) page
b) request
c) session
d) application
13、下面哪个不是JSP中和javabean相关的标记?(? b )
14、以下关于EL和JSTL说法错误的是?( d )
a) EL是一种简洁的数据访问语言
b) EL表达式基本形式:${var}
c) JSTL的全称是JavaServer Pages Standard Tag Library
d) JSTL只有一个Core核心标签库
15、所有的servlet过滤器类都必须实现( a? )接口。
a) javax.servlet.Filter
b) javax.servlet.ServletConfig
c) javax.servlet.ServletContext
d) javax.servlet.Servlet
三、编程题(共40分)
1、第一个Servlet1文件,读取两个请求参数first和second,将其转换为int值后相加,和存放在请求范围内,然后把请求转发第二个 Servlet2.。第二个Servlet2文件(url为output),向客户输出Servlet1计算的结果。根据注释补充下列代码。(23分)
public class Servlet1 extends HttpServlet {
? public void service(ServletRequest request,ServletResponse response)
? throws ServletException, IOException {
? //读取两个请求参数,并将其转换为int值
? int first=Integer.valueOf(request.getParameter(“first”)).intValue();________(3分)
? int second=Integer.valueOf(request.getParameter(“second”)).intValue();___(3分)
? //将两个数字相加
int sum=first+second;_____(3分)
? //在request对象中添加sum属性
_? request.setAttribute(“sum”, String.valueOf(sum));______(3分)
?
_? ServletContext context=getServletContext();
? RequestDispatcher dispatcher=context.getRequestDispatcher(“/output”);
?dispatcher.forward(request, response);_____(5分)
? }
}
public class Servlet2 extends HttpServlet {
? public void service(ServletRequest request,ServletResponse response)
? throws ServletException, IOException {
? //读取请求范围内Servlet1计算出的和
? _? String sum=(String)request.getAttribute(“sum”);_________(3分)
? //向客户端输出和
? PrintWriter out=response.getWriter();
? out.print(“the sum is “+sum);_________(3分)
? }
}
2、写一个JSP访问Access数据库的user表,将所有的记录显示出来;ODBC数据源名为test,驱动类名 为:”sun.jdbc.odbc.JdbcOdbcDriver”,连接数据库的url为:”jdbc:odbc:test”。user表中name字 段为文本类型,password为数字类型。连接数据库代码(6分),发送查询语句代码(4分),处理结果集代码(7分)(共17分)
java笔试题
1.java是从( )语言改进重新设计, a.ada b.c c.pasacal d.basic 答案:b
2.下列语句哪一个正确( ) a. java程序经编译后会产生machine code b. java程序经编译后会产生byte code c. java程序经编译后会产生dll d. 以上都不正确 答案:b
3.下列说法正确的有( ) a. class中的constructor不可省略 b. constructor必须与class同名,但方法不能与class同名 c. constructor在一个对象被new时执行 d. 一个class只能定义一个constructor 答案:c
4.提供java存取数据库能力的包是( ) a.java.sql b.java.awt c.java.lang d.java.swing 答案:a
5.下列运算符合法的是( ) a.& b. c.if d.:= 答案:a
6.执行如下程序代码 a=0;c=0; do{ --c; a=a-1; }while(a>0); 后,c的值是( ) a.0 b.1 c.-1 d.死循环 答案:c
7.下列哪一种叙述是正确的( ) a. abstract修饰符可修饰字段、方法和类 b. 抽象方法的body部分必须用一对大括号{ }包住 c. 声明抽象方法,大括号可有可无 d. 声明抽象方法不可写出大括号 答案:d
8.下列语句正确的是( ) a. 形式参数可被视为local variable b. 形式参数可被字段修饰符修饰 c. 形式参数为方法被调用时,真正被传递的参数 d. 形式参数不可以是对象 答案:a
9.下列哪种说法是正确的( ) a. 实例方法可直接调用超类的实例方法 b. 实例方法可直接调用超类的类方法 c. 实例方法可直接调用其他类的实例方法 d. 实例方法可直接调用本类的类方法 答案:d
二、多项选择题
1.java程序的`种类有( ) a.类(class) b.applet c.application d.servlet
2.下列说法正确的有( ) a. 环境变量可在编译source code时指定 b. 在编译程序时,所能指定的环境变量不包括class path c. javac一次可同时编译数个java源文件 d. javac.exe能指定编译结果要置于哪个目录(directory) 答案:bcd
3.下列标识符不合法的有( ) a.new b.$usdollars c.1234 d.car.taxi 答案:acd
4.下列说法错误的有( ) a. 数组是一种对象 b. 数组属于一种原生类 c. int number=[]={31,23,33,43,35,63} d. 数组的大小可以任意改变 答案:bcd
5.不能用来修饰interface的有( ) a.privateb.public c.protected d.static 答案:acd
1、在java中如果声明一个类为final,表示什么意思?
答:final是最终的意思,final可用于定义变量、方法和类但含义不同,声明为final的类不能被继承。
2、父类的构造方法是否可以被子类覆盖(重写)?
答:父类的构造方法不可以被子类覆盖,因为父类和子类的类名是不可能一样的。
3、请讲述String 和StringBuffer的区别。
答:String 类所定义的对象是用于存放“长度固定”的字符串。
StringBuffer类所定义的对象是用于存放“长度可变动”的字符串。
4、如果有两个类A、B(注意不是接口),你想同时使用这两个类的功能,那么你会如何编写这个C类呢?
答:因为类A、B不是接口,所以是不可以直接继承的,但可以将A、B类定义成父子类,那么C类就能实现A、B类的功能了。假如A为B的父类,B为C的父类,此时C就能实现A、B的功能。
5、结合Java视频Lesson5(多线程),分析sleep和wait()方法的区别。
答: Sleeping睡眠的意思 : sleep() 方法用来暂时中止执行的线程。在睡眠后,线程将进入就绪状态。
waiting等待的意思: 如果调用了 wait() 方法,线程将处于等待状态。用于在两个或多个线程并发运行时。
6、谈谈你对抽象类和接口的理解。
答:定义抽象类的目的是提供可由其子类共享的一般形式、子类可以根据自身需要扩展抽象类、抽象类不能实例化、抽象方法没有函数体、抽象方法必须在子类中给出具体实现。他使用extends来继承。
接口:一个接口允许一个类从几个接口继承而来,Java 程序一次只能继承一个类但可以实现几个接口,接口不能有任何具体的方法,接口也可用来定义可由类使用的一组常量。其实现方式是interface来实现。
[java笔试题及其答案]
1、anonymous inner class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)答:匿名的内部类是没有名字的内部类。不能extends(继承) 其它类,但一个内部类可以作为一个接口,由另一个内部类实现
2、作用域public,private,protected,以及不写时的区别答:区别如下:作用域 当前类 同一package 子孙类 其他packagepublic √ √ √ √protected √ √ √ ×friendly √ √ × ×private √ × × ×不写时默认为friendly
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,说明程序已经处于不正确的状态下,系统将给出警告或退出。一般来说,assertion用于保证程序最基本、关键的正确性。assertion检查通常在开发和测试时开启。为了提高性能,在软件发布后,assertion检查通常是关闭的
7、string s = new string(“xyz”);创建了几个string object 答:两个,一个字符对象,一个字符对象引用对象
8、math.round(11.5)等於多少? math.round(-11.5)等於多少 答: math.round(11.5)==12;math.round(-11.5)==-11;round方法返回与参数最接近的长整数,参数加1/2后求其floor
9、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错答:short s1 = 1; s1 = s1 + 1; (s1+1运算结果是int型,需要强制转换类型)short s1 = 1; s1 += 1;(可以正确编译)
10、java有没有goto答:java中的保留字,现在没有在java中使用
11、数组有没有length()这个方法? string有没有length()这个方法答:数组没有length()这个方法,有length的属性。string有有length()这个方法
12、overload和override的区别。overloaded的方法是否可以改变返回值的类型答:方法的重写overriding和重载overloading是java多态性的不同表现。重写overriding是父类与子类之间多态性的一种表现,重载overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(overloading)。overloaded的方法是可以改变返回值的类型
13、set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别答:set里的元素是不能重复的,那么用iterator()方法来区分重复与否。equals()是判读两个set是否相等 equals()和==方法决定引用值是否指向同一对象equals()在类中被覆盖,为的是当两个分离的对象的内容和类型相配的话,返回真值
14、给我一个你最常见到的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, securityexception, systemexception, undeclaredthrowableexception, unmodifiablesetexception, unsupportedoperationexception
15、abstract class和interface有什么区别 答:声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定义static final成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对象上调用接口的方法。由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类型或从接口类型转换,instanceof 运算符可以用来决定某对象的类是否实现了接口
16、error和exception有什么区别答:error 表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这样的情况exception 表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况
17、list, set, map是否继承自collection接口 答: list,set是,map不是
JAVA相关基础知识
1、面向对象的特征有哪些方面
1.抽象:
抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面,抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。
2.继承:
继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。
3.封装:
封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。
4. 多态性:
多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。
2、String是最基本的数据类型吗?
基本数据类型包括byte、int、char、long、float、double、boolean和short。
java.lang.String类是final类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用StringBuffer类
3、int 和 Integer 有什么区别
Java 提供两种不同的类型:引用类型和原始类型(或内置类型)。Int是java的原始数据类型,Integer是java为int提供的封装类。Java为每个原始类型提供了封装类。
原始类型封装类
booleanBoolean
charCharacter
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为 null,而原始类型实例变量的缺省值与它们的类型有关。
4、String 和StringBuffer的区别
JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变的时候你就可以使用StringBuffer。典型地,你可以使用StringBuffers来动态构造字符数据。
5、运行时异常与一般异常有何异同?
异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。
6、说出Servlet的生命周期,并说出Servlet和CGI的区别。
Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。
与cgi的区别在于servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。
7、说出ArrayList,Vector, LinkedList的存储性能和特性
ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。
8、EJB是基于哪些技术实现的?并说出SessionBean和EntityBean的区别,StatefulBean和StatelessBean的区别。
EJB包括Session Bean、Entity Bean、Message Driven Bean,基于JNDI、RMI、JAT等技术实现。
SessionBean在J2EE应用程序中被用来完成一些服务器端的业务操作,例如访问数据库、调用其他EJB组件。EntityBean被用来代表应用系统中用到的数据。
对于客户机,SessionBean是一种非持久性对象,它实现某些在服务器上运行的业务逻辑。
对于客户机,EntityBean是一种持久性对象,它代表一个存储在持久性存储器中的实体的对象视图,或是一个由现有企业应用程序实现的实体。
Session Bean 还可以再细分为 Stateful Session Bean 与 Stateless Session Bean ,这两种的 Session Bean都可以将系统逻辑放在 method之中执行,不同的是 Stateful Session Bean 可以记录呼叫者的状态,因此通常来说,一个使用者会有一个相对应的 Stateful Session Bean 的实体。Stateless Session Bean 虽然也是逻辑组件,但是他却不负责记录使用者状态,也就是说当使用者呼叫 Stateless Session Bean 的时候,EJB Container 并不会找寻特定的 Stateless Session Bean 的实体来执行这个 method。换言之,很可能数个使用者在执行某个 Stateless Session Bean 的 methods 时,会是同一个 Bean 的 Instance 在执行。从内存方面来看, Stateful Session Bean 与 Stateless Session Bean 比较, Stateful Session Bean 会消耗 J2EE Server 较多的内存,然而 Stateful Session Bean 的优势却在于他可以维持使用者的状态。
9、Collection 和 Collections的区别。
Collection是集合类的上级接口,继承与他的接口主要有Set 和List.
Collections是针对集合类的'一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。
10、&和&&的区别,
&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and)。
11、HashMap和Hashtable的区别。
HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable。
HashMap允许将null作为一个entry的key或者value,而Hashtable不允许。
HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因为contains方法容易让人引起误解。
Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Map interface的一个实现。
最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap 就必须为之提供外同步。
Hashtable和HashMap采用的hash/rehash算法都大概一样,所以性能不会有很大的差异。
12、final, finally, finalize的区别。
final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。
finally是异常处理语句结构的一部分,表示总是执行。
finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。
13、sleep 和 wait() 有什么区别?
sleep是线程类(Thread)的方法,导致此线程暂停执行指定时间,给执行机会给其他线程,但是监控状态依然保持,到时后会自动恢复。调用sleep不会释放对象锁。
wait是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。
14、Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?
方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型。
15、error和exception有什么区别?
error 表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这样的情况。
exception 表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况。
16、同步和异步有何异同,在什么情况下分别使用他们?举例说明。
如果数据将在线程间共享。例如正在写的数据以后可能被另一个线程读到,或者正在读的数据可能已经被另一个线程写过了,那么这些数据就是共享数据,必须进行同步存取。
当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待方法的返回时,就应该使用异步编程,在很多情况下采用异步途径往往更有效率。
17、abstract class和interface有什么区别?
声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。
接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定义static final成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对象上调用接口的方法。由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类型或从接口类型转换,instanceof 运算符可以用来决定某对象的类是否实现了接口。
18、heap和stack有什么区别。
栈是一种线形集合,其添加和删除元素的操作应在同一段完成。栈按照后进先出的方式进行处理。
堆是栈的一个组成元素
19、forward 和redirect的区别
forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。
redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以session,request参数都可以获取。
20、EJB与JAVA BEAN的区别?
Java Bean 是可复用的组件,对Java Bean并没有严格的规范,理论上讲,任何一个Java类都可以是一个Bean。但通常情况下,由于Java Bean是被容器所创建(如Tomcat)的,所以Java Bean应具有一个无参的构造器,另外,通常Java Bean还要实现Serializable接口用于实现Bean的持久性。Java Bean实际上相当于微软COM模型中的本地进程内COM组件,它是不能被跨进程访问的。Enterprise Java Bean 相当于DCOM,即分布式组件。它是基于Java的远程方法调用(RMI)技术的,所以EJB可以被远程访问(跨进程、跨计算机)。但EJB必须被布署在诸如Webspere、WebLogic这样的容器中,EJB客户从不直接访问真正的EJB组件,而是通过其容器访问。EJB容器是EJB组件的代理,EJB组件由容器所创建和管理。客户通过容器来访问真正的EJB组件。
21、Static Nested Class 和 Inner Class的不同。
Static Nested Class是被声明为静态(static)的内部类,它可以不依赖于外部类实例被实例化。而通常的内部类需要在外部类实例化后才能实例化。
22、JSP中动态INCLUDE与静态INCLUDE的区别?
动态INCLUDE用jsp:include动作实现 它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。
静态INCLUDE用include伪码实现,定不会检查所含文件的变化,适用于包含静态页面
证券业务营销笔试题分享:
1.下列不属于行政法规的是( )
A.《期货交易管理条例》
B.《证券、期货投资咨询管理暂行办法》
C.《证券市场禁入规定》
D.《证券公司监督管理条例》
2.全面营销就是将产品、技术、管理、销售、服务等公司经营的各个方面都视为营销的一个环节,由这些环节构成一个为满足客户的需要服务的、完整的、有机的营销整体,同时企业能与( )相契合、共生共荣,
A.制度环境
B.社会环境
C.市场环境
D.人文环境
3.根据《深圳证券交易所交易规则》,深圳证券交易所通过竞价交易进行债券交易的单笔申报最大数量为( ),
A.1万张
B.5万张
C.10万张
D.15万张
4.证券投资的净效用是指( )。
A.收益带来的正效用加上风险带来的负效用;
B.收益带来的正效用减去风险带来的负效用;
C.收益带来的正效用减去收益带来的负效用;
D.收益带来的正效用加上收益带来的负效用;
5.采用( )的公司往往是实力较强的证券公司,它们追求的是较高的市场占有率,并谋求地区间的布局平衡。
A.无差异市场营销策略
B.集中性市场营销策略
C.差异性市场营销策略
D.分散性市场营销策略
笔试题(基础数学)
基础数学题
(1)有三个不同的信箱,今有4封不同的信欲投其中,共有多少种不同的投法?
(2)连续4次抛掷一枚硬币,求恰出现两次是正面的概率和最后两次出现是正面的.概率,
(3)一个口袋内装有除颜色外其他都相同的6个白球和4个红球,从中任意摸出2个,求:A、2个都是白球的概率;B、2个都是红球的概率;C、一个白球,一个红球的概率。
(4)有30支篮球队,先分3组(每组10队)按单循环制进行比赛,然后将每组前三名集中,再按单循环制进行比赛,规定在小组赛已相遇的两队不再重赛,求先后比赛共有多少场?
(5)你有两个罐子,50个红色弹球,50个蓝色弹球,随机选出一个罐子,随机选取出一个弹球放入罐子,怎么给红色弹球最大的选中机会?在你的计划中,得到红球的准确几率是多少?
(6)M、N是两个平等平面,在M内取4个点,在N内取5个点,这9个点中,无其它四点共面,且其中任意三点不共线,
求:A、这些点最多能决定几条直线?几个平面?B、以这些点为顶点,能作多少个三棱锥?四棱锥?
(7)某轮船公司每天中午有一艘轮船从哈佛开往纽约,有一艘轮船从纽约开往哈佛;轮船途中来去都是7昼夜,问今天中午从哈佛开出的轮船在途中将遇到几艘从对面开来的轮船?
(8)正方形边长为1,以各个顶点半径为1做弧,在正方形中间有一个公共区域,求面积。
1.[单选题]一个C程序的执行是从( A )
A:本程序的main函数开始,到main函数结束
B:本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C:本程序的main函数开始,到本程序文件的最后一个函数结束
D:本程序文件的第一个函数开始,到本程序main函数结束
2.[单选题]在C语言中,要求运算数必须是整型的运算符是( D )
A:/
B:++
C:!=
D:%
3.[单选题]C语言中,逻辑“真”等价于( C )
A:大于零的数
B:大于零的整数
C:非零的数
D:非零的整数
4.[单选题]若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式为( C )
A:A%2 == 1
B:! (A%2==0)
C:! (A%2)
D:A%2
5.[单选题]以下程序的运行结果是( B )。
int main( void ){
int m = 5;
if ( m++ >5) printf(“%d/n”, m);
else printf(“%d/n”, --m);
}
A:4
B:5
C:6
D:7
6.[单选题]以下对一维整型数组a的正确说明是( D )
A:int a(10)
B:int n = 10, a[n]
C:int n
scanf(“%d”, &n)
int a[n]
D:#define SIZE 10
int a[SIZE]
7.[单选题]若有说明:int a[3][4];则对a数组元素的非法引用是( D )
A:a[0][2*1]
B:a[1][3]
C:a[4-2][0]
D:a[0][4]
1.[单选题]下面程序的功能是将已按升序排好序的两个字符串a和b中的字符,按升序归并到字符串c中,请为程序中的空白处选择适当的语句。第二空答案( D )
#include
int main(void)
{
char a[ ] = “acegikm”;
char b[ ] = “bdfhjlnpq”;
char c[80], *p;
int i = 0, j= 0, k = 0;
while( a[i] != '/0' && b[j] != ‘/0' )
{
if ( a[i] < b[j] ) { ( ① ) }
else { ( ② ) }
k++;
}
c[k] = ‘/0';
if ( ③ ) p = b + j;
else p = a + i;
strcat ( c , p );
puts ( c );
}
A:c[k] = a[i]; i++
B:c[k] = b[j]; i++
C:c[k] = a[i]; j++
D:c[k] = b[j]; j++
2.[单选题]在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是( D )
A:extern
B:register
C:auto
D:static
3.[单选题]以下程序的正确运行结果是( D )。
#include
int f(int a);
int main(void)
{
int a = 2, i;
for( i = 0; i < 3; i++ ) printf(“%4d”,f(a));
}
int f(int a)
{
int b = 0;
static int c = 3;
b++; c++;
return(a+b+c);
}
A:7 7 7
B:7 10 13
C:7 9 11
D:7 8 9
4.[单选题]以下程序的运行结果为( B )。
void sub(int x, int y, int *z)
{ *z = y - x ; }
int main(void)
{
int a,b,c ;
sub(10, 5, &a) ;
sub(7, a, &b) ;
sub(a, b, &c) ;
printf( “%4d,%4d, %4d/n”,a,b,c);
}
A:5, 2, 3
B:-5, -12, -7
C:-5, -12, -17
D:5, -2, -7
5.[单选题]有如下语句int a = 10, b = 20, *p1, *p2; p1 = &a; p2 = &b;变量与指针的关系如图1所示;若要实现图2所示的存储结构,可选用的赋值语句为( 没图 可能是 B或A )
A:*p1 = *p2
B:p1 = p2
C:p1 = *p2
D:*p1 = p2
6.[单选题]若已建立下面的链表结构,指针p、q分别指向图中所示结点,则不能将q所指的结点插入到链表末尾的一组语句是( )
A:q ->next = NULL; p = p ->next; p ->next = q
B:p = p ->next; q ->next = p ->next; p ->next = q
C:p = p ->next; q ->next = p; p ->next = q
D:p = (*p).next; (*q).next = (*p).next; (*p).next = q
7.[单选题]以下程序的功能是:读入一行字符(如:a,b,... y,z),按输入时的逆序建立一个链接式的结点序列,即先输入的位于链表尾(如下图),然后再按输入的相反顺序输出,并释放全部结点。请在空白处为程序选择适当的代码。 第一空答案( B )
#include
#define getnode(type) ① malloc(sizeof(type))
int main(void)
{
struct node{
char info;
struct node *link;
}*top,*p;
char c;
top = NULL;
while( ( c = getchar( ) ② )
{
p = getnode ( struct node );
p ->info = c;
p ->link = top;
top = p;
}
while ( top )
{
③ ;
top = top ->link;
putchar ( p ->info );
free ( p );
}
}
A:(type)
B:(type *)
C:type
D:type *
8.[单选题]以下程序的功能是:读入一行字符(如:a,b,... y,z),按输入时的逆序建立一个链接式的结点序列,即先输入的位于链表尾(如下图),然后再按输入的相反顺序输出,并释放全部结点。请在空白处为程序选择适当的代码。第二空答案(D )
#include
#define getnode(type) ① malloc(sizeof(type))
int main(void)
{
struct node{
char info;
struct node *link;
}*top,*p;
char c;
top = NULL;
while( ( c = getchar( ) ② )
{
p = getnode ( struct node );
p ->info = c;
p ->link = top;
top = p;
}
while ( top )
{
③ ;
top = top ->link;
putchar ( p ->info );
free ( p );
}
}
A:=='/0'
B:!='/0'
C:=='/n'
D:!='/n'
9.[单选题]以下程序的功能是:读入一行字符(如:a,b,... y,z),按输入时的逆序建立一个链接式的结点序列,即先输入的位于链表尾(如下图),然后再按输入的相反顺序输出,并释放全部结点。请在空白处为程序选择适当的代码。第三空答案( B)
#include
#define getnode(type) ① malloc(sizeof(type))
int main(void)
{
struct node{
char info;
struct node *link;
}*top,*p;
char c;
top = NULL;
while( ( c = getchar( ) ② )
{
p = getnode ( struct node );
p ->info = c;
p ->link = top;
top = p;
}
while ( top )
{
③ ;
top = top ->link;
putchar ( p ->info );
free ( p );
}
}
A:top = p
B:p = top
C:p == top
D:top == p
10.[单选题]以下程序的输出结果是( C )
#include
#define M 5
#define N M+M
main
{
int k;
k=N*N*5; printf(“%d/n”,k);
}
A:500
B:125
C:55
D:100
★ JAVA笔试题汇
★ C基础笔试题
★ 测试基础笔试题
★ 笔试题
★ 新闻业笔试题
★ C++笔试题
★ 马士基笔试题