用手机做网站好学吗,网站校园推广案例,礼叮当 一家做创意礼品定制的网站,徐州网站制作企业java初级开发面试中经常被问到的问题有好多#xff0c;下面总结一下常见的问题#xff0c;先给问题#xff0c;大家思考一下再看答案。1.JDK 和 JRE 有什么区别#xff1f;2. 和 equals 有什么区别#xff1f;3.说说final在java中的作用。4.String类的常用方法有哪些…java初级开发面试中经常被问到的问题有好多下面总结一下常见的问题先给问题大家思考一下再看答案。1.JDK 和 JRE 有什么区别2. 和 equals 有什么区别3.说说final在java中的作用。4.String类的常用方法有哪些5.Java中操作字符串的类有哪些它们有什么区别。6.如何将字符串翻转7.普通类和抽象类有什么区别8.接口和抽象类有什么区别9.java中的io流分几种10.list set 和map之间有什么区别下面只做简短的重点回答。答案1.JDK 和 JRE 有什么区别答JRE(JavaRuntimeEnviroment)是java的运行环境。面向的是Java程序的使用者。JRE是运行Java程序所必须环境的集合包含JVM标准实现及Java核心类库。它包括Java虚拟机、Java平台核心类和支持文件JDK(JavaDevelopmentKit)是Java开发工具包。面向的是Java程序的开发者。它提供了Java的开发环境(提供了编译器javac等工具用于将Java文件编译为class文件)和运行环境(提供了JVM和Runtime辅助包用于解析class文件使其得到运行也就是JRE)。JDK是整个Java的核心包括了Java运行环境(JRE)一堆Java工具tools.jar和Java标准类库(rt.jar)。关系图如下2. 和 equals 有什么区别答 如果比较的是基本数据类型则直接比较其存储的 “值”是否相等如果比较的是引用类型的变量则比较的是所指向的对象的地址equals:两个对象的内容是否相等,最多的是用来比较字符串引申一个小题,答案在文章最下面找Integer a1;int b1;Integer cnew Integer(1);Integer d128;Integer e128;System.out.println(ab);System.out.println(ac);System.out.println(bc);System.out.println(de);3.说说final在java中的作用。答分三种情况用来修饰引用如果引用为基本数据类型则该引用为常量该值无法修改如果引用为引用数据类型比如对象、数组则该对象、数组本身可以修改但指向该对象或数组的地址的引用不能修改 如果引用时类的成员变量则必须当场赋值否则编译会报错。用来修饰一个方法当使用 final 修饰方法时这个方法将成为最终方法无法被子类重写。但是该方法仍然可以被继承。用来修饰类时该类成为最终类无法被继承。4.String类的常用方法有哪些答indexOf() 返回指定字符的索引charAt() 返回指定索引处的字符repalce() 字符串替换trim() 去除字符串两端的空白split() 分割字符串 返回分割后的字符串数组getBytes() 返回字符串的byte类型数组length() 返回字符串的长度toLowerCase() 字符串转小写toUpperCase() 字符串转大写substring() 截取字符串equals() 字符串比较5.Java中操作字符串的类有哪些它们有什么区别。答Java中操作字符串的类有String、StringBuffer、StringBuilder。String : final 修饰String 类的方法都是返回 new String。即对 String 对象的任何改变都不影响到原对象对字符串的修改操作都会生成新的对象。StringBuffer : 对字符串的操作的方法都加了 synchronized保证线程安全。StringBuilder : 不保证线程安全在方法体内需要进行字符串的修改操作可以 new StringBuilder 对象调用 StringBuilder 对象的 append、replace、delete 等方法修改字符串。6.如何将字符串翻转答利用 StringBuffer 或 StringBuilder 的 reverse 成员方法// StringBufferpublic static String reverse1(String str) {return new StringBuilder(str).reverse().toString();}利用 String 的 toCharArray 方法先将字符串转化为 char 类型数组然后将各个字符进行重新拼接// toCharArraypublic staticString reverse2(Stringstr) {char[] chars str.toCharArray();String reverse ;for (int i chars.length - 1; i 0; i--) {reverse chars[i];return reverse;利用 String 的 CharAt 方法取出字符串中的各个字符// charAtpublicstatic String reverse3(String str) {String reverse ;int length str.length();for (int i 0; i length; i) {reverse str.charAt(i) reverse;7.普通类和抽象类有什么区别答抽象类不能被实例化抽象类可以有抽象方法抽象方法只需申明无需实现含有抽象方法的类必须申明为抽象类抽象类的子类必须实现抽象类中所有抽象方法否则这个子类也是抽象类抽象方法不能被声明为静态抽象方法不能用 private 修饰抽象方法不能用 final 修饰8.接口和抽象类有什么区别答抽象类和接口都不能直接实例化如果要实例化抽象类变量必须指向实现所有抽象方法的子类对象接口变量必须指向实现所有接口方法的类对象。抽象类要被子类继承接口要被类实现。接口只能做方法申明抽象类中可以做方法申明也可以做方法实现接口里定义的变量只能是公共的静态的常量抽象类中的变量是普通变量。抽象类里的抽象方法必须全部被子类所实现如果子类不能全部实现父类抽象方法那么该子类只能是抽象类。同样一个实现接口的时候如不能全部实现接口方法那么该类也只能为抽象类。抽象方法只能申明不能实现接口是设计的结果 抽象类是重构的结果抽象类里可以没有抽象方法如果一个类里有抽象方法那么这个类只能是抽象类抽象方法要被实现所以不能是静态的也不能是私有的。接口可继承接口并可多继承接口但类只能单根继承。9.java中的io流分几种答按照流的流向分可以分为输入流和输出流按照操作单元划分可以划分为字节流和字符流按照流的角色划分为节点流和处理流。所有流的基类InputStream/Reader: 所有的输入流的基类前者是字节输入流后者是字符输入流。OutputStream/Writer: 所有输出流的基类前者是字节输出流后者是字符输出流。10.list set 和map之间有什么区别答List 接口和 Set 接口属于 Collection 接口Map 接口和 Collection 接口并列存在(同级)。List元素可重复有序性Set元素不可重复。LinkedHashSet 按照插入排序SortedSet 可排序HashSet 无序Map采用键值对 存储元素key 键唯一。hashmap:底层结构是数组 链表无序线程不安全效率高允许有 null(key 和 value 都允许)父类是 AbstractMaptreemap:底层结构是红黑树有序将数据按照 key 排序默认是升序排序。hashtable底层结构是哈希表无序线程安全效率低不允许有 null 值父类是 Dictionary//第二题运行结果truefalsetruefalse