试题目录
3.两个对象的 hashCode() 相同,则 equals() 也一定为 true 吗?
5.Java 的 Math.round(-1.5) 等于多少?
8.String str = " i " 与 String str = new String(" i ") 一样吗?
1.JDK和JRE有什么区别?
JDK:Java开发工具包,提供了Java的开发环境和运行环境。
JRE:Java运行环境,为Java的运行提供所需的环境。
2. == 和 equals 的区别是什么?
== 解析:
对于基本类型:比较的是值是否相同。
对于引用类型:比较的是引用(地址)是否相同
equals 解析:
本质上是 == 只不过String和Integer等重写了equals方法,把他变成了值比较。
总结:
一般情况下,equals方法一般比较的是值,所以一般都是要重写的!
3.两个对象的 hashCode() 相同,则 equals() 也一定为 true 吗?
答案:不对,不一定!!!
因为在散列表中,hashCode() 相等即相当于两个键值对的哈希值相同,然而哈希值相同不代表键值对相等。
4.final 在Java中的作用是什么?
(1)final修饰的类叫做最终类,不能被继承
(2)final修饰的方法不能被重写
(3)final修饰的变量叫做常量,常量必须初始化,初始化之后不能被修改
5.Java 的 Math.round(-1.5) 等于多少?
等于-1
因为在数轴上取值时,中间值(0.5)向右取整,所以正0.5是往上取整,负0.5是直接舍弃
6.String属于基本的数据类型吗?
不属于!
基本数据类型有:byte short int long float double boolean char
7.Java中操作字符串的有哪一些?他们之间有什么区别?
操作字符串的类有:String StringBuffer StringBuilder
(1)String:final修饰的、不可变的对象。每次操作都会生成新的String对象,频繁使用会耗费内存。
(2)StringBuffer:线程安全的。多线程环境下推荐使用。
(3)StringBuilder:非线程安全的。单线程环境下推荐使用。
注意:需要频繁操作字符串不建议使用String。
8.String str = " i " 与 String str = new String(" i ") 一样吗?
不一样!
String str = " i " Java虚拟机会将其分配到常量池中
String str = new String(" i ") Java虚拟机会将其分配到堆内存中
9.如何将字符串反转?
使用 StringBuffer 或者 StringBuilder 的 reverse() 方法!!!
10.String类的常用方法有哪些?
indexOf():返回指定字符串的索引
charAt():返回指定索引处的字符
replace():字符串替换
trim():去除字符串两端空白
split():分割字符串,返回一个分割后的字符串数组
getBytes():返回字符串的byte类型的数组
length():返回字符串长度
toLowerCase():将字符串转换为小写字母
toUpperCase():将字符串转换为大写字母
substring():截取字符串
equals():字符串比较
11.抽象类必须要有抽象方法吗?
不一定!!!
注意:含抽象方法的类一定是抽象类(或接口)
示例代码:
abstract class A{ public static void a(){ System.out.println( "a"); } }以上代码可以正常运行
12.普通类和抽象类的区别?
(1)普通类不能包含抽象方法,抽象类可以包含抽象方法
(2)抽象类不能实例化,普通类可以实例化
13.抽象类能使用final修饰吗?
不能,定义抽象类就是给其他类继承的,如果定义为final,该类就无法被继承,产生矛盾。
14.接口和抽象类的区别?
(1)实现:抽象类的子类使用extends;接口使用implements来实现
(2)构造方法:抽象类可以有构造方法;接口不能有
(3)main方法:抽象类中可以有,也能运行;接口不能有
(4)实现数量:类单一继承;接口多继承
(5)访问修饰符:抽象类中的方法是任意访问修饰符;接口方法默认为public修饰
15.Java中的IO流分为那几种?
按流的方向:输入流、输出流
按流的类型:字节流、字符流
注意:类名以“Stream”结尾的是字节流;类名以“Reader/Writer”结尾的是字符流。
字节流跟字符流的区别:字节流以八位传输为单位输入输出数据。字符流以十六位传输为单位输入输出数据。
16.BIO NIO AIO 有什么区别?
同步阻塞BIO:即传统的IO,模式简单使用方便,并发处理能力低。
同步非阻塞NIO:即BIO升级,客户端和服务端通过Channel(通道)通讯,实现多路复用。
异步非阻塞AIO:即NIO升级,也叫NIO2,异步IO的操作基于事件和回调机制。
17.Files的常用方法?
Files.exists():判断文件是否存在
Files.createFile():创建文件
Files.createDirectory():创建文件夹
Files.delete():删除一个文件或目录
Files.copy():复制文件
Files.move():移动文件
Files.size():查看你文件个数
Files.read():读取文件
Files.write():写入文件
转载:https://blog.csdn.net/weixin_43930694/article/details/105388774