java笔试题大全带答案_java笔试题大全带答案经典11题

Java编程基础与笔试题解析
这篇博客汇总了11道经典的Java编程笔试题目,包括对象创建、加密算法、数据类型、运算规则、内存管理等多个方面。内容涉及Java对象的创建方式、对称加密算法的识别、Math.round方法的使用、字节码的理解、构造函数的应用、变量作用域、抽象方法的特点以及程序流程控制。这些题目涵盖了Java基础的重要知识点,适合初学者巩固和进阶者复习。

java笔试题大全带答案(经典11题)

1.不通过构造函数也能创建对象吗()

A. 是

B. 否

分析:答案:A

Java创建对象的几种方式(重要):

(1) 用new语句创建对象,这是最常见的创建对象的方法。

(2) 运用反射手段,调用java.lang.Class或者

java.lang.reflect.Constructor类的newInstance()实例方法。

(3) 调用对象的clone()方法

(4) 运用反序列化手段,调用java.io.ObjectInputStream对象的 readObject()方法。

(1)和(2)都会明确的显式的调用构造函数 ;(3)是在内存上对已有对象的影印,所以不会调用构造函数 ;(4)是从文件中还原类的对象,也不会调用构造函数。

(1)和(2)都会明确的显式的调用构造函数 ;(3)是在内存上对已有对象的影印,所以不会调用构造函数 ;(4)是从文件中还原类的对象,也不会调用构造函数。

2.下面哪些是对称加密算法()

A. DES

B. MD5

C. DSA

D. RSA

分析:答案:A

分析:常用的对称加密算法有:DES、3DES、RC2、RC4、AES

常用的非对称加密算法有:RSA、DSA、ECC

使用单向散列函数的加密算法:MD5、SHA

3.下面的代码段,当输入为2的时候返回值是()


public static int get Value(int i){undefined

int result=0;

switch(i){undefined

case 1:

result=result +i

case 2:

result=result+i*2

case 3:

result=result+i*3

}

return result;

}

A. 0

B. 2

C. 4

D. 10

答案:C

分析:result = 0 + 2 * 2;

4.以下Java代码段会产生几个对象


public void test(){undefined

String a="a";

String b="b";

String c="c";

c=a+""+b+""+c;

System.out.print(c);

}

分析:答案: 一个对象,因为编译期进行了优化,3个字符串常量直接折叠为一个

5.Math.round(-11.2)的运行结果是。

答案: -11

分析:小数点后第一位=5

正数:Math.round(11.5)=12

负数:Math.round(-11.5)=-11

小数点后第一位<5

正数:Math.round(11.46)=11

负数:Math.round(-11.46)=-11

小数点后第一位>5

正数:Math.round(11.68)=12

负数:Math.round(-11.68)=-12

根据上面例子的运行结果,我们还可以按照如下方式总结,或许更加容易记忆:

参数的小数点后第一位<5,运算结果为参数整数部分。

参数的小数点后第一位>5,运算结果为参数整数部分绝对值+1,符号(即正负)不变。

参数的小数点后第一位=5,正数运算结果为整数部分+1,负数运算结果为整数部分。在此我向大家推荐一个架构学习交流圈。交流学习指导伪鑫:946009740(里面有大量的面试题及答案)里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化、分布式架构等这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

终结:大于五全部加,等于五正数加,小于五全不加。

6.Java中int.long占用的字节数分别是

分析:

1:“字节”是byte,“位”是bit ;

2: 1 byte = 8 bit ;

char 在Java中是2个字节。java采用unicode,2个字节(16位)来表示一个字符。

short 2个字节

int 4个字节

long 8个字节

System.out.println(‘a’+1);的结果是

分析:'a’是char型,1 是int行,int与char相加,char会被强转为int行,char的ASCII码对应的值是97,所以加一起打印98

7.下列语句那一个正确()

A. java程序经编译后会产生machine code

B. java程序经编译后会产生 byte code

C. java程序经编译后会产生DLL

D. 以上都不正确

答案:B

分析:java程序编译后会生成字节码文件,就是.class文件

8.下列说法正确的有()

A. class中的constructor不可省略

B. constructor必须与class同名,但方法不能与class同名

C. constructor在一个对象被new时执行

D. 一个class只能定义一个constructor

答案:C

9.执行如下程序代码()


a=0;c=0do{undefined

——c;

a=a-1;

}while(a>0)

后,c的值是()

A. 0

B. 1

C. -1

D. 死循环

答案:C

do{…}while(…);语句至少执行一次

10.下列哪一种叙述是正确的()

A. abstract修饰符可修饰字段、方法和类

B. 抽象方法的body部分必须用一对大括号{}包住

C. 声明抽象方法,大括号可有可无

D. 声明抽象方法不可写出大括号

答案:D

分析: abstract不能修饰字段。既然是抽象方法,当然是没有实现的方法,根本就没有body部分。

11.下列语句正确的是()

A. 形式参数可被视为local variable

B. 形式参数可被字段修饰符修饰

C. 形式参数为方法被调用时,真正被传递的参数

D. 形式参数不可以是对象

答案A:

分析:

A:形式参数可被视为local variable。形参和局部变量一样都不能离开方法。都只有在方法内才会发生作用,也只有在方法中使用,不会在方法外可见。

B:对于形式参数只能用final修饰符,其它任何修饰符都会引起编译器错误。但是用这个修饰符也有一定的限制,就是在方法中不能对参数做任何修改。 不过一般情况下,一个方法的形参不用final修饰。只有在特殊情况下,那就是:方法内部类。 一个方法内的内部类如果使用了这个方法的参数或者局部变量的话,这个参数或局部变量应该是final。

C:形参的值在调用时根据调用者更改,实参则用自身的值更改形参的值(指针、引用皆在此列),也就是说真正被传递的是实参。

D:方法的参数列表指定要传递给方法什么样的信息,采用的都是对象的形式。因此,在参数列表中必须指定每个所传递对象的类型及名字。想JAVA中任何传递对象的场合一样,这里传递的实际上也是引用,并且引用的类型必须正确。

很抱歉,我无法提供完整的Java笔试题大全答案。然而,以下是11经典Java笔试题,希望可以帮助你进行准备和练习: 1. 什么是 Java 的基本数据类型? Java 的基本数据类型包括整数类型(byte、short、int、long)、浮点数类型(float、double)、字符类型(char)和布尔类型(boolean)。 2. Java 中如何实现多态? Java 中实现多态的方式是通过继承和接口。子类可以继承父类并重写父类的方法,从而实现多态。同时,Java 中还可以使用接口来定义一组规范,实现这个接口的类都需要实现这些规范,从而达到多态的目的。 3. Java 中的 final 关键字有什么作用? final 关键字可以用来修饰类、方法和变量,表示它们是不可改变的。在类中,final 关键字表示该类不能被继承;在方法中,final 关键字表示该方法不能被重写;在变量中,final 关键字表示该变量是一个常量,一旦被赋值就不能再次修改。 4. Java 中的 static 关键字有什么作用? static 关键字可以用来修饰类、方法和变量,表示它们是静态的。在类中,static 关键字表示该类的所有对象共享同一个静态成员;在方法中,static 关键字表示该方法是类方法,可以直接通过类名调用;在变量中,static 关键字表示该变量是静态变量,所有对象共享同一个变量。 5. Java 中如何实现线程? Java 中可以通过继承 Thread 类或实现 Runnable 接口来实现线程。继承 Thread 类的方式比较简单,但是由于 Java 不支持多重继承,因此如果要继承其他类就无法使用这种方式。实现 Runnable 接口则比较灵活,可以同时继承其他类,但需要创建一个 Thread 对象来启动线程。 6. Java 中如何处理异常? Java 中可以使用 try-catch-finally 块来处理异常。try 块中包含可能会抛出异常的代码,如果发生异常则会被 catch 块捕获并处理。finally 块中的代码无论是否发生异常都会被执行。 7. Java 中如何实现文件的读写操作? Java 中可以使用 FileInputStream 和 FileOutputStream 类来进行文件的读写操作。其中 FileInputStream 用于读取文件,FileOutputStream 用于写入文件。可以使用字节流(byte stream)和字符流(character stream)来读写不同类型的文件。 8. Java 中如何实现排序算法? Java 中可以使用 Arrays 类和 Collections 类来实现常见的排序算法。Arrays 类提供了 sort() 方法来对数组进行排序,可以使用自然排序或自定义排序。Collections 类提供了 sort() 方法来对集合进行排序,同样可以使用自然排序或自定义排序。 9. Java 中如何实现反射? Java 中可以使用 Class 类和 java.lang.reflect 包来实现反射。Class 类表示一个类的定义,可以获取类的信息,如类名、包名、方法和属性等。java.lang.reflect 包提供了一组类和接口,可以在运行时获取类的信息并调用类的方法。 10. Java 中如何处理日期和时间? Java 中可以使用 java.util.Date 类来表示日期和时间。可以使用 SimpleDateFormat 类来格式化日期和时间,并将字符串转换为日期对象。Java 8 中引入了新的日期和时间 API,可以使用 java.time 包来处理日期和时间。 11. Java 中如何实现网络编程? Java 中可以使用 java.net 包来实现网络编程。可以使用 Socket 类来创建客户端程序,使用 ServerSocket 类来创建服务器程序。可以使用 TCP 协议和 UDP 协议来实现不同类型的网络通信。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值