没有合适的资源?快使用搜索试试~ 我知道了~
java面试题-50道最容易考的java题
需积分: 5 0 下载量 43 浏览量
2023-12-27
09:36:25
上传
评论
收藏 380KB PDF 举报
温馨提示
试读
20页
java面试题-50java面试题-50道最容易考的java题java面试题-50道最容易考的java题java面试题-50道最容易考的java题java面试题-50道最容易考的java题java面试题-50道最容易考的java题java面试题-50道最容易考的java题道最容易考的java题java面试题-50道最容易考的java题java面试题-50道最容易考的java题java面试题-50道最容易考的java题java面试题-50道最容易考的java题java面试题-50道最容易考的java题java面试题-50道最容易考的java题java面试题-50道最容易考的java题java面试题-50道最容易考的java题java面试题-50道最容易考的java题java面试题-50道最容易考的java题java面试题-50道最容易考的java题java面试题-50道最容易考的java题java面试题-50道最容易考的java题
资源推荐
资源详情
资源评论
1、JDK 和 JRE 有什么区别?
JDK(Java Development Kit), Java 开发工具包
JRE(Java Runtime Environment), Java 运行环境
JDK 中包含 JRE,JDK 中有一个名为 jre 的目录,里面包含两个文件夹 bin 和 lib,bin 就是
JVM,lib 就是 JVM 工作所需要的类库。
2、== 和 equals 的区别是什么?
对于基本类型,==比较的是值;
对于引用类型,==比较的是地址;
equals 不能用于基本类型的比较;
如果没有重写 equals,equals 就相当于==;
如果重写了 equals 方法,equals 比较的是对象的内容;
3、final 在 java 中有什么作用?
(1)用来修饰一个引用
如果引用为基本数据类型,则该引用为常量,该值无法修改;
如果引用为引用数据类型,比如对象、数组,则该对象、数组本身可以修改,但指向该对
象或数组的地址的引用不能修改。
如果引用时类的成员变量,则必须当场赋值,否则编译会报错。
(2)用来修饰一个方法
当使用 final 修饰方法时,这个方法将成为最终方法,无法被子类重写。但是,该方法仍然
可以被继承。
(3)用来修饰类
当用 final 修改类时,该类成为最终类,无法被继承。
比如常用的 String 类就是最终类。
4、java 中的 Math.round(-1.5) 等于多少?
Math 提供了三个与取整有关的方法:ceil、floor、round
(1)ceil:向上取整;
Math.ceil(11.3) = 12;
Math.ceil(-11.3) = 11;
(2)floor:向下取整;
Math.floor(11.3) = 11;
Math.floor(-11.3) = -12;
(3)round:四舍五入;
加 0.5 然后向下取整。
Math.round(11.3) = 11;
Math.round(11.8) = 12;
Math.round(-11.3) = -11;
Math.round(-11.8) = -12;
5、String 属于基础的数据类型吗?
不属于。
八种基本数据类型:byte、short、char、int、long、double、float、boolean。
6、String str="i"与 String str=new String(“i”)一样吗?
String str="i"会将起分配到常量池中,常量池中没有重复的元素,如果常量池中存中 i,就将
i 的地址赋给变量,如果没有就创建一个再赋给变量。
String str=new String(“i”)会将对象分配到堆中,即使内存一样,还是会重新创建一个新的对
象。
7、如何将字符串反转?
将对象封装到 stringBuilder 中,调用 reverse 方法反转。
8、String 类的常用方法都有那些?
(1)常见 String 类的获取功能
length:获取字符串长度;
charAt(int index):获取指定索引位置的字符;
indexOf(int ch):返回指定字符在此字符串中第一次出现处的索引;
substring(int start):从指定位置开始截取字符串,默认到末尾;
substring(int start,int end):从指定位置开始到指定位置结束截取字符串;
(2)常见 String 类的判断功能
equals(Object obj): 比较字符串的内容是否相同,区分大小写;
contains(String str): 判断字符串中是否包含传递进来的字符串;
startsWith(String str): 判断字符串是否以传递进来的字符串开头;
endsWith(String str): 判断字符串是否以传递进来的字符串结尾;
isEmpty(): 判断字符串的内容是否为空串"";
(3)常见 String 类的转换功能
byte[] getBytes(): 把字符串转换为字节数组;
char[] toCharArray(): 把字符串转换为字符数组;
String valueOf(char[] chs): 把字符数组转成字符串。valueOf 可以将任意类型转为字符串;
toLowerCase(): 把字符串转成小写;
toUpperCase(): 把字符串转成大写;
concat(String str): 把字符串拼接;
(4)常见 String 类的其他常用功能
replace(char old,char new) 将指定字符进行互换
replace(String old,String new) 将指定字符串进行互换
trim() 去除两端空格
int compareTo(String str) 会对照 ASCII 码表 从第一个字母进行减法运算 返回的就是这个
减法的结果,如果前面几个字母一样会根据两个字符串的长度进行减法运算返回的就是这个
减法的结果,如果连个字符串一摸一样 返回的就是 0。
9、new String("a") + new String("b") 会创建几个对象?
对象 1:new StringBuilder()
对象 2:new String("a")
对象 3:常量池中的"a"
对象 4:new String("b")
对象 5:常量池中的"b"
深入剖析:StringBuilder 中的 toString():
对象 6:new String("ab")
强调一下,toString()的调用,在字符串常量池中,没有生成"ab"
附加题
String s1 = new String("1") + new String("1");//s1 变量记录的地址为:new String
s1.intern();//在字符串常量池中生成"11"。如何理解:jdk6:创建了一个新的对象"11",也就
有新的地址;jdk7:此时常量池中并没有创建"11",而是创建了一个指向堆空间中 new
String("11")的地址;
String s2 = "11";
System.out.println(s1 == s2);//jdk6:false;jdk7:true
10、如何将字符串反转?
添加到 StringBuilder 中,然后调用 reverse()。
11、String 类的常用方法都有那些?
equals、length、contains、replace、split、hashcode、indexof、substring、trim、toUpperCase、
toLowerCase、isEmpty 等等。
12、普通类和抽象类有哪些区别?
抽象类不能被实例化;
抽象类可以有抽象方法,只需申明,无须实现;
有抽象方法的类一定是抽象类;
抽象类的子类必须实现抽象类中的所有抽象方法,否则子类仍然是抽象类;
抽象方法不能声明为静态、不能被 static、final 修饰。
13、接口和抽象类有什么区别?
(1)接口
接口使用 interface 修饰;
接口不能实例化;
类可以实现多个接口;
①java8 之前,接口中的方法都是抽象方法,省略了 public abstract。②java8 之后;接口中
可以定义静态方法,静态方法必须有方法体,普通方法没有方法体,需要被实现;
(2)抽象类
抽象类使用 abstract 修饰;
抽象类不能被实例化;
抽象类只能单继承;
抽象类中可以包含抽象方法和非抽象方法,非抽象方法需要有方法体;
如果一个类继承了抽象类,①如果实现了所有的抽象方法,子类可以不是抽象类;②如果没
有实现所有的抽象方法,子类仍然是抽象类。
14、java 中 IO 流分为几种?
(1)按流划分,可以分为输入流和输出流;
(2)按单位划分,可以分为字节流和字符流;
字节流:inputStream、outputStream;
剩余19页未读,继续阅读
资源评论
若忘即安
- 粉丝: 1053
- 资源: 408
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功