×

java笔试题

java笔试题(jJava方向综合笔试题1)

admin admin 发表于2022-09-08 02:52:52 浏览121 评论0

抢沙发发表评论

本文目录

jJava方向综合笔试题1


1.A
2.正确答案:A
解析:原型不同于最终系统,它只实现所选择的部分功能,仅是为了试验或是演示而用,部分功能需求可以忽略或者模拟实现,因此适用于需求不确定性高的系统。
3.正确答案:A
解析:本题考查变更控制的相关知识。变更控制是指在软件开发生命周期的整个过程中对变更的识别、评价和管理等工作。变更控制的目的并不是控制变更的发生,而是对变更进行管理,确保变更有序进行。对于软件开发项目来说,发生变更的环节比较多,变更控制显得格外重要。在变更控制中,检出和登入实现了存取控制和同步控制这两个重要的变更控制要素。
4.正确答案:B
解析:UML 提供了4种结构图用于对系统的静态方面进行可视化、详述、构造和文档化,它们分别是:
.类图。类图显示了一组类、接口、协作以及它们之间的关系。在面向对象系统建模中类图是最常用的图,用于说明系统的静态设计视图。
.对象图。对象图显示了一组对象以及它们之间的关系。用对象图说明在类图中所发现的事物实例的数据结构和静态快照。
.构件图。构件图显示了一组构件以及它们之间的关系。用构件图说明系统的静态实现视图。
.部署图。部署图显示了一组节点以及它们之间的关系。用部署图说明体系结构的静态实施视图。
5.正确答案:C
解析:设计模式是对被用来在特定场景下,解决一般设计问题的类和相互通信的对象的描述。通常,一个设计模式有4个基本要素:模式名称、问题(模式的使用场合)、解决方案和效果。每一个设计模式系统地命名、解释和评价了面向对象系统中一个重要的和重复出现的设计。设计模式使人们可以更加简单方便地复用成功的设计和体系结构;将己证实的技术表述成设计模式,也会使新系统的开发者更加容易理解其设计思路。设计模式可以帮助开发者做出有利于复用的选择,避免设计时损害系统复用性。综合以上分析,本试题的正确答案是选项C。

招java程序员的公司考题都是什么


我个人觉得学历不是和重要,尤其是做程序员,我也是一名java程序员,当时的面试题目是公司自己出题,有三道题目,第一题是:“数据库题目”,每一个编程人员必须对数据库有相当多的了解和认识,还必须熟练应用,第二题是:“java题”,主要写出运行结果,这道题的用意主要是:对java代码的熟悉程度的考核,第三题:“java编程”,对于java程序员来说,编程能力是不可少的,这题主要考察应聘人的编程的综合能力,以上只是我个人面试的情况,希望能对你有所帮助!java程序员,如果是没有工作经验的话,刚开始没有多少钱,只要2000左后,不过经验是做出来的,以后会慢慢增加点的,根据自己的能力,能力的对少决定你能拿多少的薪水!

解答JAVA笔试题


第一,谈谈final, finally, finalize的区别。 final?修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载finally?再异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的 catch 子句就会执行,然后控制就会进入 finally 块(如果有的话)。 finalize?方法名。Java 技术允许使用 finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在 Object 类中定义的,因此所有的类都继承了它。子类覆盖 finalize() 方法以整理系统资源或者执行其他清理工作。finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的。 第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)? 匿名的内部类是没有名字的内部类。不能extends(继承) 其它类,但一个内部类可以作为一个接口,由另一个内部类实现。 第三,Static Nested Class 和 Inner Class的不同,说得越多越好(面试题有的很笼统)。 Nested Class (一般是C++的说法),Inner Class (一般是JAVA的说法)。Java内部类与C++嵌套类最大的不同就在于是否有指向外部的引用上。具体可见
-java笔试题

两道java笔试题


1
public static void main(String args){
String a=“abc3d45678rd345“;
int b=0;
for (int c=0;c《a.length();c++){
for (int d=c;d《a.length()+1;d++){
String f=a.substring(c,d);
if( f.matches(“+“)){
int g=Integer.parseInt(f);
b=g》b?g:b;
}
}
}System.out.print(b);
}//只限于此题;我们看结果;
2
public static void main(String args){
String a=“ad2**cef***3e“;
int c=0;
for(int b=0;b《a.length();b++){
if(“*“.equals(a.substring(b,b+1))){
System.out.print(“*“);
c=c+1;
}
}
System.out.print(a=a.replace(“*“,““)+“\n*出现“+c+“次“);
}
只限于此题;我们看结果;
请指教;
-java笔试题

JAVA笔试题(与构造函数、静态变量有关)


关于多态网上归纳是这样的
一、使用父类类型的引用指向子类的对象;
二、该引用只能调用父类中定义的方法和变量;
三、如果子类中重写了父类中的一个方法,那么在调用这个方法的时候,将会调用子类中的这个方法;(动态连接、动态调用)
四、变量不能被重写(覆盖),”重写“的概念只针对方法。
因为父类的方法已经被子类重写了 所以调用的将是子类的方法啦。
2. 因为myName 是个静态变量 static在不用实例化对象的情况下也能调用 jre会无视你函数返回值等 就看你那个静态变量的值 所以打印两次~
-java笔试题

求java考题,笔试题


Java面向对象
1. super()与this()的区别?
This():当前类的对象,super父类对象。
Super():在子类访问父类的成员和行为,必须受类继承规则的约束
而this他代表当前对象,当然所有的资源都可以访问.
在构造函数中,如果第一行没有写super(),编译器会自动插入.但是如果父类没有不带参数的构造函数,或这个函数被私有化了(用private修饰).此时你必须加入对父类的实例化构造.而this就没有这个要求,因为它本身就进行实例化的构造.
而在方法中super和this使用的方法就差不多了.只不过super 要考虑是否能访问其父类的资源.
2. 作用域public,protected,private,以及不写时的区别?
Public:不同包、 同一包、 类内都可用
Private: 类内
Protected:不同包的子类、同一包、 类内都可用
不写时: 同一包内、类内
3. 编程输出如下图形。
* * * * *
* * * *
* * *
* *
*
代码如下:
public class Print {
publicstatic void main(String args) {
for(int i = 0; i 《 5; i++) {
for(int j = 5; j 》 i; j--) {
System.out.print(“*“);
}
System.out.println();
}
}
}
4. JAVA的事件委托机制和垃圾回收机制
Java事件委托机制的概念,一个源产生一个事件并将它送到一个或多个监听器那里。在这种方案中,监听器简单的等待,直到它收到一个事件。一旦事件被接受,监听器将处理这个事件,然后返回。
垃圾回收机制垃圾收集是将分配给对象但不再使用的内存回收或释放的过程。如果一个对象没有指向它的引用或者其赋值为null,则次对象适合进行垃圾回收
5. 在JAVA中,如何跳出当前的多重嵌套循环?
用break; return 方法。
6. 什么是java序列化,如何实现java序列化?(写一个实例)
序列化:处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。序列化是为了解决在对对象流进行读写操作时所引发的问题。
序列化的实现:将需要被序列化的类实现Serializable接口,该接口没有需要实现的方法,implementsSerializable只是为了标注该对象是可被序列化的,然后使用一个输出流(如:FileOutputStream)来构造一个ObjectOutputStream(对象流)对象,接着,使用ObjectOutputStream对象的writeObject(Object obj)方法就可以将参数为obj的对象写出(即保存其状态),要恢复的话则用输入流。
7. 一个“.java“源文件中是否可以包括多个类(不是内部类)?有什么限制?
可以。如果这个类的修饰符是public,其类名与文件名必须相同。
8. 排序都有哪几种方法?请列举。用JAVA实现一个快速排序?
排序的方法有:插入排序(直接插入排序、希尔排序),交换排序(冒泡排序、快速排序),选择排序(直接选择排序、堆排序),归并排序,分配排序(箱排序、基数排序)
快速排序的伪代码。
9. Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?
重写Override,子类覆盖父类的方法,将子类传与父类的引用调用的还是子类的方法。
重载Overloading 一个类多个方法,名称相同,参数个数类型不同。
两者都是Java多态性的不同表现。
Overloaded的方法是可以改变返回值的类型。
1, public class Ctest(){
Public static void main(){
System.out.prinln(8+8+”88”+8+8);
}
} 168888
(方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。
Overloaded的方法是可以改变返回值的类型。)
10. Final类有什么特点?
属性常量 方法不可以overridding 类不可以继承
11. 继承时候类的执行顺序问题,一般都是选择题,问你将会打印出什么?
答:父类:
package test;
public class FatherClass {
public FatherClass() {
System.out.println(“FatherClassCreate“);
}
}
子类:
package test;
import test.FatherClass;
public class ChildClass extends FatherClass{
public ChildClass() {
System.out.println(“ChildClassCreate“);
}
public static void main(String args) {
FatherClass fc = new FatherClass();
ChildClass cc = new ChildClass();
}
}
输出结果:
C:》java test.ChildClass
FatherClass Create
FatherClass Create
ChildClass Create
12. 内部类的实现方式?
package test;
public class OuterClass {
private class InterClass {
Public Interlass(){
System.out.println(“InterClassCreate“);
}
}
public OuterClass(){
InterClass ic = new InterClass();
System.out.println(“OuterClassCreate“);
}
public static void main(String args){
OuterClass oc = new OuterClass();
}
}
输出结果:
C:》java test/OuterClass InterClass Create OuterClass Create
13. 用JAVA实现一种排序,JAVA类实现序列化的方法(二种)?
14. 如在COLLECTION框架中,实现比较要实现什么样的接口?
15. 用插入法进行排序代码如下
package test;
import java.util.*;
class InsertSort {
ArrayList al;
public InsertSort(int num,int mod) {
al = new ArrayList(num);
Random rand = new Random();
System.out.println(“The ArrayList SortBefore:“);
for (int i=0;i《num ;i++ ){
al.add(new Integer(Math.abs(rand.nextInt())% mod + 1));
System.out.println(“al[“+i+“]=“+al.get(i));
}
}
public void SortIt(){
Integer tempInt;
int MaxSize=1;
for(int i=1;i《al.size();i++){
tempInt = (Integer)al.remove(i);
if(tempInt.intValue()》=((Integer)al.get(MaxSize-1)).intValue()){
al.add(MaxSize,tempInt);
MaxSize++;
System.out.println(al.toString());
} else {
for (int j=0;j《MaxSize ;j++ ){
if(((Integer)al.get(j)).intValue()》=tempInt.intValue()){
al.add(j,tempInt);
MaxSize++;
System.out.println(al.toString());
break;
}
}
}
}
System.out.println(“The ArrayList SortAfter:“);
for(int i=0;i《al.size();i++) {
System.out.println(“al[“+i+“]=“+al.get(i));
}
}
public static void main(String args) {
InsertSort is = new InsertSort(10,100);
is.SortIt();
}
}
JAVA类实现序例化的方法是实现java.io.Serializable接口
Collection框架中实现比较要实现Comparable 接口和 Comparator 接口
16. 编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。但是要保证汉字不被截半个,如“我ABC“4,应该截为“我AB“,输入“我ABC汉DEF“,6,应该输出为“我ABC“而不是“我ABC+汉的半个“。
public static void split(String source,intnum) throws Exception{
intk=0;
Stringtemp=““;
for(int i = 0; i 《source.length(); i++){
byteb=(source.charAt(i)+““).getBytes();
k=k+b.length;
if(k》num){
break;
}
temp=temp+source.charAt(i);
}
System.out.println(temp);
}
15、Java编程,打印昨天的当前时刻
public class YesterdayCurrent{
public void main(String args){
Calendar cal = Calendar.getInstance();
cal.add(Calendar.DATE, -1);
System.out.println(cal.getTime());
}
}
16、文件读写,实现一个计数器
public int getNum(){
int i = -1;
try{
String stri=““;
BufferedReader in = new BufferedReader(newFileReader(f));
while((stri=in.readLine())!=null){
i = Integer.parseInt(stri.trim());
}
in.close();
}catch(Exception e){
e.printStackTrace();
}
return i;
}
public void setNum(){
int i = getNum();
i++;
try{
PrintWriter out=new PrintWriter(newBufferedWriter(new FileWriter(f,false)));
out.write(String.valueOf(i)); //可能是编码的原因,如果直接写入int的话,将出现java编码和windows编码的混乱,因此此处写入的是String
out.close() ;
}catch(Exception e){
e.printStackTrace();
}
}
17、指出下面程序的运行结果。
class A{
static{
System.out.print(“1“);
}
public A(){
System.out.print(“2“);
}
}
class B extends A{
static{
System.out.print(“a“);
}
public B(){
System.out.print(“b“);
}
}
public class Hello{
public static void main(String ars){
A ab = new B(); //执行到此处,结果: 1a2b
ab = new B(); //执行到此处,结果: 1a2b2b
}
}注:类的static 代码段,可以看作是类首次加载(被虚拟机加载)执行的代码,而对于类的加载,首先要执行其基类的构造,再执行其本身的构造
18、抽象类和接口的区别?
(1)接口可以被多重implements,抽象类只能被单一extends(2)接口只有定义,抽象类可以有定义和实现(3)接口的字段定义默认为:publicstatic final, 抽象类字段默认是“friendly“(本包可见)
当功能需要累积时用抽象类,不需要累积时用接口。
19、什么是类的反射机制?
通过类(Class对象),可以得出当前类的fields、method、construtor、interface、superClass、modified等,同是可以通过类实例化一个实例、设置属性、唤醒方法。Spring中一切都是返射、struts、hibernate都是通过类的返射进行开发的。
20、类的返射机制中的包及核心类?
①java.lang.Class②java.lang.refrection.Method③java.lang.refrection.Field
④java.lang.refrection.Constructor⑤java.lang.refrection.Modifier⑥java.lang.refrection.Interface
21、得到Class的三个过程是什么?
①对象.getClass()②类.class或Integer.type(int) Integer.class(java.lang.Integer)③Class.forName();
22、如何唤起类中的一个方法?
①产生一个Class数组,说明方法的参数②通过Class对象及方法参数得到Method③通过method.invoke(实例,参数值数组)唤醒方法
23、如何将数值型字符转换为数字(Integer,Double)?
Integer.parseInt(“1234”) Double.parseDouble(“123.2”)
24、如何将数字转换为字符?
1+”” 1.0+””
25、如何去小数点前两位,并四舍五入。
double d=1256.22d; d=d/100; System.out.println(Math.round(d)*100);
26、如何取得年月日,小时分秒?
Calendar c=Calendar.getInstance();
c.set(Calendar.YEAR,2004);
c.set(Calendar.MONTH,0);
c.set(Calendar.DAY_OF_MONTH,31);
System.out.println(c.get(Calendar.YEAR)+“ “+(c.get(Calendar.MONTH)+1)+“ “+c.get(Calendar.DAY_OF_MONTH));
27、如何取得从1970年到现在的毫秒数
Java.util.Date dat=new Date(); long now=dat.getTime();
或System.currentTimeMillis()
28、如何获取某个日期是当月的最后一天?
当前日期加一天,若当前日期与结果的月份不相同,就是最后一天。
取下一个月的第一天,下一个月的第一天-1
public static void main(String args){
Calendarc=Calendar.getInstance();
c.set(Calendar.YEAR,2004);
c.set(Calendar.MONTH,0);
c.set(Calendar.DAY_OF_MONTH,30);
Calendarc1=(Calendar)c.clone();
System.out.println(c.get(Calendar.YEAR)+““+(c.get(Calendar.MONTH)+1)+“ “+c.get(Calendar.DAY_OF_MONTH));
c.add(Calendar.DAY_OF_MONTH,1);
if(c.get(Calendar.MONTH)!=c1.get(Calendar.MONTH)){
System.out.println(“是最后一天“);
}else{
System.out.println(“不是取后一天“);
}
}
29、如何格式化日期?
Import java.text. SimpleDateFormat;
SimpleDateFormat sdf=newSimpleDateFormat(“yyyy-MM-dd hh:mm:ss“);
Date dat=new Date();
String str=sdf.format(dat); //把日期转化为字符串
System.out.println(str);
Java.util.Date d1=sdf.parse(“yyyy-mm-dd”); //将字符串转化为日期
30、编码转换,怎样实现将GB2312编码的字符串转换为ISO-8859-1编码的字符串。
String a=new String(“中“.getBytes(“gb2312“),“iso-8859-1“);
String a=new String(“中“.getBytes(“iso-8859-1“));
应该是String a=new String(“中“.getBytes(“gb2312“),“iso-8859-1“);
String a1=newString(a.getBytes(“iso-8859-1“));
-java笔试题

java笔试题都有什么类型


本人普通211学校研究生,就我今年面试的经验,一般公司都会采取网上笔试的方式,简单一点的只有选择题,包括单选和多选,涉及的面包括基础算法,数据结构,网络等等,题型稍微复杂一点的会包括简答题和编程题,简答一般会给一些情景,然你写解决方案或者大致思想,画个图啥的也都可以。编程就比较简单粗暴了,给题目,写代码,输出结果,给几个测试用例,通过几个给几个的分。
-java笔试题

谁有最新java面试及笔试题


第一,谈谈final, finally, finalize的区别。
final 修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载
finally 再异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的 catch 子句就会执行,然后控制就会进入 finally 块(如果有的话)。
finalize?方法名。Java 技术允许使用 finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在 Object 类中定义的,因此所有的类都继承了它。子类覆盖 finalize() 方法以整理系统资源或者执行其他清理工作。finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的。
第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?
匿名的内部类是没有名字的内部类。不能extends(继承) 其它类,但一个内部类可以作为一个接口,由另一个内部类实现。
第三,Static Nested Class 和 Inner Class的不同,说得越多越好(面试题有的很笼统)。
Nested Class (一般是C++的说法),Inner Class (一般是JAVA的说法)。Java内部类与C++嵌套类最大的不同就在于是否有指向外部的引用上。具体可见
第十三,启动一个线程是用run()还是start()?
启动一个线程是调用start()方法
JAVA程序员面试的经典十三问,他们就以聊天的形式问你 不要紧张 要有自信 要表现出自己对编程的喜欢,当然你要真喜欢这个行业 如果不喜欢编程 这是个很痛苦的事
在笔试的时候有很多逻辑题目 很变态的逻辑题目 一般是数字 字母啊 最后还有选择题 我还记得我当年的笔试就是那样的
建议你去的时候吧 1^9 的二次方 三次方都记得很熟 还有26个字母 如果看不出来 就写在纸上看
一道题上别花费太多的时间
总之好运吧 个人经验 呵呵
-java笔试题

Java 笔试题 大家来讨教交流下(中软公司部分笔试)


1.
------------------------------
public class Test1{
private Test1 test=new Test();
private String addr;
private int port;
private String username;
private String pwd;
private Test1(){
File file=new File(“context.properties“);
Scanner s=new Scanner(file);
while(s.hasNextLine()){
String temp=s.nextLine().trim();
if(temp.indexOf(“=“)》0){
String left=temp.substring(0,temp.indexOf(“=“)).trim();
String right=temp.substring(temp.indexOf(“=“)+1,temp.length()).trim();
if(left.equals(“addr“)) addr=right;
else if(left.equals(“port“)) port=Integer.parstInt(right);
else if(left.equals(“username“)) username=right;
else if(left.equals(“pwd“)) pwd=right;
}
}
}
public Test1 getSingleton(){
return test;
}
}
-------------------------
2:
class public Test2{
static private int i=0;
static public void add(){
i++;
}
static public void dec(){
i--;
}
}
public class A extends Thread{
public A(){
}
public void run(){
Test2.add();
}
}
public class B extends Thread{
public B(){
}
public void run(){
Test2.add();
}
}
public class C extends Thread{
public C(){
}
public void run(){
Test2.dec();
}
}
public class D extends Thread{
public D(){
}
public void run(){
Test2.dec();
}
}
-------------------
3.
public String substringByLast(String line,int last){
return line.substring(0,last);
}
--------------------
4.
student.js
var name;
var age;
var number;
function student(nameX,ageX,numberX){
name=nameX;
age=ageX;
number=numberX;
}
function say(){
alert(’My name is’+name+’,I am ’+age+’,My number is ’+number;
}
5.
-------------------------
ls 显示目录下所有文件
cd 定位目录
mkdir rmdir 新建、删除目录
cp 复制文件
cat 显示txt文本文件
grep find 查找文件中字符串
6.
------------------------
SELECT avg(成绩) FROM 选课
WHERE 学号 IN(SELECT 学号 FROM 学生 WHERE 性别=’男’)
AND 课程号 IN(SELECT 课程号 FROM 课程 WHERE 课程名=’语文’)
SELECT max(成绩) FROM 选课
WHERE 学号 IN(SELECT 学号 FROM 学生 WHERE 性别=’男’)
AND 课程号 IN(SELECT 课程号 FROM 课程 WHERE 课程名=’语文’)
其他只需要修改
-java笔试题