一、Java 基础
1.JDK 和 JRE 有什么区别?
答:JDK是JAVA程序运行时需要用的开发工具包,其内部也有JRE运行环境JRE
JRE是JAVA程序运行时需要的运行环境,就是说如果你光是运行JAVA程序而不是去搞开发的话,只安装JRE就能运行已经存在的JAVA程序了。
2.== 和 equals 的区别是什么?
答:==比较的是两个对象的地址
== 是java提供的等于比较运算符,用来比较两个变量指向的内存地址是否相同
equals比较的是两个对象的内容
equals()方法是Object中提供的方法,是可以被重写的
3.两个对象的 hashCode()相同,则 equals()也一定为 true,对吗?
答:不一定
4.final 在 java 中有什么作用?
答:final是Java中的一个修饰类 Java中常见的修饰类比如Public 公共的,private私有的Static修饰静态方法
而final修饰的类不能被继承,方法不能被继承类重新定义,变量变常量
5.java 中的 Math.round(-1.5) 等于多少?
答:-1
6.String 属于基础的数据类型吗?
答:不属于 基础数据类型有八种
整形类型: short int long byte
小数类型:double float
字符类型 char
布尔类型 boolean
7.java 中操作字符串都有哪些类?它们之间有什么区别?
Java中对字符串操作的类有 String StringBuffer,Stringbuider
String 类的方法都是New string 对字符串操作会生成新的对象
StringBuffer对字符串的操作的方法加了synchronizde,即线程安全
StringBuider对象的append(),AppendFormat(),Remove()等方法修改字符串
8.String str="i"与 String str=new String(“i”)一样吗?
答:内存的分配方式不一样,其中a,b为栈内存:栈中主要存放一些基本类型的变量,
栈内存可以被共享,而c则是堆内存:存放所有new出来的对象和数组
9.如何将字符串反转?
答:1.将字符串定义变量
2.new StringBuffer类传入变量
3.使用reverse翻转字符串
10.String 类的常用方法都有那些?
1.str.length()字符串长度
2.str.charAt()截取一个字符
3.str.equals比较字符串值
4.str.LowerCase()转换小写
5.str.UpperCase()转换大写
…等