Java基础
·Java基础
1.jdk 和 jre 的区别
jre:Java Runtime Environment的简称 java 运行时环境,为java运行提供了所需的环境
jdk:Java Develipment kit的简称,提供了java程序运行所需的环境和开发人员所需的开发工具包
具体来说,jdk包含了jre,还包含了编译java源码的编译器javac,和许多的java调试和分析工具,简单来说,如果只是需要运行java程序仅需jre就够了,如果需要开发java程序则需要安装jdk。
2. 基本数据类型和引用数据类型
java常见八大基本数据类型:byte、short、char、int、float、long、double、boolean,三种()引用数据类型:类,接口、数组,其中string是特殊的引用数据类型,枚举是特殊的类,所以有时将枚举、类、接口、数组称为四种引用类型。
3.float f = 2.2 是否正确?
错误,2.2属于双精度数值,将双精度数字赋值给浮点型属于下转型,也称为窄化,会出现精度缺失,正确的赋值应为float f = (float)2.2强制类型转换和 float f = 2.2f。
4.short s1 = 1,s1 = s1 + 1 和 s1 += 1 有错吗?
对于s1 = s1 + 1来说,s1在做数学运算时,会自动向上转型成int 类型再做运算,s1 + 1 结果为int类型,不能自动下转型为short类型,编译出错。而s1 += 1 编译成功,相当于s1 = (short)s1 + 1,+=做了一次强制类型转换。
5.面向对象的特征:
三大特征,有时也将抽象作为一种特征表达
封装:将数据包装起来,对访问提供特定的方式
继承:
多态:
抽象:
6.String s = “abc”,和String s = new String(“abc”)一样吗?
不一样,通过查看String的源码可以知道由final修饰,表明字符序列无法修改,前者表明声明一个"abc"的常量并放入常量池中,将值的引用赋值给s,而后者表示在堆内存中开辟一块空间,保存常量池中"abc"的引用,并将该空间的地址值指向s。