1.jdk和jre的区别?
jdk,Java开发工具包,为Java提供开发环境和运行环境。
jre,java的开发环境,为java的运行提供环境支持
总的来说jdk包含jre,还包含编译Java源码的编辑器javac,还包含Java的解析和调试工具,如果你只需运行Java程序,你只需要安装jre,如果你要编写Java程序就需要安装jdk。
2.Java中是不是没有全局变量?
Java中并没有真正的定义全局变量,Java程序是有很多的类和方法组合成的,每个类和方法中的变量都是自己的全局变量,但是相当于其他的类和方法来说就是局部变量。
3.==和equals的区别?
==对于基本数据类型来说是值的比较,对于引用数据来说是引用地址的比较,equals默认情况下是引用地址的比较,但是很多类重写了equals方法把它变成了值的比较,例如string,integer把它变成了值的比较。
4.重写和重载的区别?
重载
发生在同一个类中
方法名相同
参数列表不相同
与返回值无关,如果只是返回值不相同不能说是重载
重写
发生在子类和父类中
方法名相同
参数列表相同
返回值相同或是其子类
权限修饰符相同或子类大于父类权限修饰符
异常类型相同或子类小于父类的异常
5.两个值的hashCode()相同,则equals()一定为true,对吗?
不对,两个值的hashCode()相同,equals()不一定为true,例如string的通话和重地两个值的hashCode()相同,但equals()却为false,因为在散列列表中,hashCode()相同的两个键值对的哈希值相同,但是哈希值相同键值对不一定相同。
6.final在Java中的作用?
final修饰的类不能被继承
final修饰的方法不能被重写
final修饰的变量叫常量,常量必须初始化,初始换后的值不能被修改
7.在Java中math .round(-1.5)等于多少?
等于-1,math.round四舍五入大于0.5向上取整
8.string属于基本数据类吗?
string不属于基本数据类型,基本数据类型有8中byte,short,int,long,float,double,char,boolean,四种数据类型:整数 byte(1个字节)short(2个字节) int (4个字节)long(8个字节)
浮点 float(4个字节) double(8个字节)
字符 char(2个字节)
布尔类型 Boolean (1个字节)
9.string如何转变成基本数据类型?
一般情况我们使用parse例如Integer.parseInt或者使用Apache lang NumberUtils工具类
10.char变量能存汉字吗?
可以,不过如果某个汉字没有被包含在unicode编码集中,那么char不能存储这个汉字,char在Java中是占2个字节所以可以存储中文。