JavaSE基础知识复习
1.PATH和CLASSPATH的区别
RATH:是操作系统提供的路径配置,定义所有可执行程序的路径:就比如.PATH中定义一个JAVA_HOME=C:\Program Files\Java\jdk1.8.0_181,当在命令行输入java命令时系统会根据命令去扫描path路径,查找到java.exe.然后执行它
CLASSEPATH:是由jre提供的,用于定义Java程序解释时类加载路径,默认设置的为当前所在目录加载,可以通过“SET CLASSEPATH=路径”的命令形式来进行定义:
一关系:JVM --> CLASSEPATH定义的路径 --> 加载字节码文件。所以CLASSEPATH是在Java程序解释的时候使用的。
2.Java的8中基本数据类型
四种整数类型(byte、short、int、long):
byte:8 位,用于表示最小数据单位,如文件中数据,-128~127
short:16 位,很少用,-32768 ~ 32767
int:32 位、最常用,-2^31-1~2^31 (21 亿)
long:64 位、次常用 。java对byte做了特殊处理,如果没超过byte范围的常量可以自动由int转换成byte,如果超过就只有进行强制转换。这里存在一个关于int类型相加溢出的问题,int表示的最大数是:2147483647,如果加1越界就会变成 -2147483648,要了解原理首先弄清楚源码,反码,补码(计算机中的二进制一般都以补码进行表示和存储):https://blog.csdn.net/zl10086111/article/details/80907428,:其次:https://segmentfault.com/q/1010000006065325
两种浮点数类型(float、double): float:32 位,后缀 F 或 f,1 位符号位,8 位指数,23 位有效尾数。 double:64 位,最常用,后缀 D 或 d
一种字符类型(char): char:16 位。char和int可以进行转换,大写字母范围:“A(65)~Z(90)” 小写字母范围:“a(97)~z(122)” 数字:‘0’(48)。java中char允许保存中文。
这样可以实现大小写之间的转换。
布尔类型(Boolean)
注意有一个特殊的类型,String,其不是java基本数据类型,而是引用数据类型。java中有个规则是两个数据类型进行计算时,所有范围小的数据类型自动向范围大的数据类型转换,比如:
这里计算出来就是:计算结果:10.120,如果要让x+y先执行,那么需要为x+y加上括号。
3.Java中的运算符
运算中的自动转型问题:比如在进行判断的时候字符会自动转化成int类型进行判断,比如:
其中‘建’对应的int是24314。
位运算符(&、|、~、^,>> >>):https://blog.csdn.net/mxiaoyem/article/details/78569782 这种运算符基本不会用到,设计之初是为了节约内存,但是现在内存并不是很稀缺的情况下,可以由很多运算代替。但是这里会衍生出一个面试题:请解释&和&&、|和||的区别?
&和|两个运算符可以进行位运算与逻辑运算:
在进行逻辑运算的时候所有的判断条件都要执行;
在进行位运算的时候只是针对于当前的数据进行与和或处理(13|7=15 位运算实际就是二进制运算);
在逻辑运算上还可以使用&&、||(短路与,短路或):
&&:在若干个条件判断的时候,如果前面的条件返回了false,后续所有的条件都不再判断,直接返回false。
||:在若干个条件判断的时候,如果前面的条件返回了true,后续所有的条件都不再判断,直接返回true。
4.Java中的程序控制逻辑
switch用法:
,值得注意的是switch中数值支持int,char,enum,string,其中string的支持在jdk1.7中才实现。
while:while和do{}while;的区别是do while先执行do中的语句之后再判断while中的条件。
循环控制(break,continue):continue时,跳出本次循环,继续执行下次循环。Break时,跳出循环(结束循环),执行下面的语句。
5.方法
方法中return可以中断方法:
return后面的代码不执行了。仅限于void返回类型,如果有返回类型的函数则不允许return之后还有语句。