1.JDK和JRE 的区别?
1.1.面向人群不同:
1、JDK是面向开发人员使用的SDK
2、JRE是Java Runtime Enviroment是指Java的运行环境,是面向Java程序的使用者。
1.2.重要程度不同:
JRE的地位就想一台PC机一样,编写Java程序必须要JRE才能运行。电脑安装了JRE就可以运行Java应用程序。
1.3.安装位置不同
2.== 和 equals的区别?
2.1. == 解读
- 对于基本类型和引用类型 == 的作用效果是不同的。
- 基本类型:比较的是值是否相同;
- 引用类型:比较的是引用是否相同;
2.2. equals 解读
- equals 本资上就是 == ,只不过String和Integer等重写了equals 方法,把引用比较改成了值的比较。
3.final在Java中的作用?
- final作为Java中的关键字可以用在三个地方,用于修饰类、修饰类属性和类方法。
- 特征:引用final关键字的地方都不可以被修改
- (1)修饰类:表示这个类不能被继承;
- (2)修饰方法:表示方法不能被重写;
- (3)修饰变量:表示变量只能赋值一次以后值不能被修改(常量)。
4.Java的基本数据类型
- 字符类型:byte,char
- 基本整形:short,int,long
- 浮点型:float,double
- 布尔类型:boolean
- 注意:String 不属于Java的基本数据类型。
4. Java中操作字符串的类,以及它们的区别。
- 操作字符串的类有:String、StringBuffer、StringBuilder。
- 区别:String 和 StringBuffer、StringBuilder 的区别在于 String 声明的是不可变的对象,每次操作都会生产新的 String 对象,然后将指针指向新的 String 对象,而 StringBuffer、StringBuilder可以在原有对象的基础上进行操作,所以在经常改变字符串内容的情况最好不要使用String.
- StringBuffer 和 StringBuilder 最大的区别在于,StringBuffer 是线程安全的,而StringBuilder是非线程安全的,但 StringBuilder 的性能高于 StringBuffer,所以在单线程的情况下推荐使用 StringBuilder,在多线程的情况下使用 StringBuffer.
5. 将字符串反转
- 使用 StringBuilder 或者 StringBuffer 的 reverse() 方法。
// StringBuffer reverse
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append("abcdefg");
System.out.println(stringBuffer.reverse());//gfedcba
// StringBuilder reverse
StringBuilder stringBuilder = new StringBuilder();
stringBuilderll.append("abcdefg");
System.out.println(stringBuilder.reverse());//gfedcba
6. String 类的常用方法
- indexOf():返回指定字符的索引。
- charAt():返回指定索引处的字符。
- replace():字符串替换。
- trim():去除字符串两端空白。
- split():分割字符串,返回一个分割的字符串数组。
- getBytes():返回字符串的byte类型的数组。
- length():返回字符串长度。
- toLowerCase():将字符串转成小写字母。
- toUpperCase():将字符串转成大写字符。
- substring():截取字符串。
- equals:字符串比较。
7. 普通类和抽象类的区别。
- 普通类不能包含抽象方法,抽象类可以包含抽象方法。
- 抽象类不能直接实例化,普通类可以直接实例化。
8. 接口和抽象类的区别。
- 实现:抽象类的子类使用 extends 来继承;接口必须使用 implements 来实现接口。
- 构造函数:抽象类可以有构造函数;接口不能有。
- 实现数量:类可以实现很多个接口;但是只能继承一个抽象类。
- 访问修饰符:接口中的方法默认使用 public 修饰;抽象类中的方法可以任意访问修饰符。
9. Files的常用方法
- Files.exists():检测路径是否存在。
- Files.createFile():创建文件。
- Files.createDirectory():创建文件夹。
- Files.delete():删除一个文件或目录。
- Files.copy():复制文件。
- Files.move():移动文件。
- Files.size:查看文件个数。
- Files.read():读取文件。
- Files.write():写入文件。