java中的一些小知识点

最近在复习javaSE,因此整理了一些小知识点,这些知识点很简单,但是却也很重要,整理如下:

1、变量的本质?
变量本质上就是在内存中申请的一块存储区域。
2、二进制的最高位表示什么?
二进制的最高位是最左边的一位,表示符号位,0表示为非负数,1为负数
3、对于单字节的整数来说,数值范围为:-128~127,那么2个字节就是-32768~32767.为什么char是2字节,范围却是0~65535?
因为char类型的数据在计算机底层是记录的字符对应的ASCII,无负数。
4、3.14默认是float,还是double?转成两者之中另一种需要添加什么?
3.14默认是double类型,转成float需要在最后添加f,即3.14f。
5、++在前和在后的区别?
++在后表示先进行相关运算,然后再自增;++在前表示先自增,然后再进行相关运算。
6、=运算符是先从左边开始,还是先从右边开始运算?
=是简单赋值运算符,是将左边的数值赋值给右边的变量,因此是从左往右执行。
7、2*8的最简单算法?
2<<3
8、()和赋值运算符的优先级比较?
赋值运算符优先级最低,()最高
9、0是否能为除数?那么0.0是否能为除数?能的话,那么结果分别是多少?
0不能,0.0可以,结果无穷大。
10、while循环和do-while循环的区别?
while循环是判断再执行循环体,而do-while是先执行循环体,然后再判断条件。
11、java程序的几大结构?
顺序结构、循环结构、分支结构。
12、switch-case中的表达式的数据类型?
short、byte、int、char和引用数据类型中的枚举。
13、定义一个数组,boolean[] bool = new boolean[5];请问打印这个bool中的每一个值,结果是什么?
定义数组时:
对于byte/short/int/char/long类型的数据来说,默认是0
对于float/double类型的数据来说,默认是0.0
对于boolean来说,默认是flase
14、 权限修饰符包括哪些?是否能修饰方法内的变量?是否能使用static修饰方法内的变量?那么方法内的变量能用什么修饰?
包括public、protected、private。不能。不能。能用final修饰。
15、重载的方法之间,返回值是否可以不同?
可以,但是尽量一致。
16、方法重载的作用?
一:可以提供多个形式的构造方法;
二:访问者只需要通过一个方法名就可以访问各种版本。
17、封装的作用?
一:保证了数值的合理性;
二:隐藏了代码的实现细节,保证了代码的安全性;
三:便于代码的后续维护和开发。
18、继承中能继承哪些?不能继承哪些?
能继承属性、方法;不能继承构造方法。
19、继承的作用?
一:实现代码的服用,提高开发效率;
二:继承是多态的前提条件。
20、多态的作用?
用于屏蔽不同子类之间的差异性,写出通用的代码,以应对不断变化的需求。
21、抽象的用途?
抽象方法具有强制性,要求子类必须重写或者覆盖原有抽象方法,否则子类也变成抽象方法
抽象方法具有规范性,规定子类方法的返回值类型、方法名称以及参数列表都相同。
22、类继承类是单继承还是多继承?接口继承接口是单继承还是多继承?
单继承;多继承。
23、如何将Integer类型的数据转换成int类型的数据?
使用强转;使用Integer中自带的方法intValue();
24、

        String a = "a";
        int aHashCode = a.hashCode();
        a = "b";
        int bHashCode = a.hashCode();
        System.out.println(aHashCode==bHashCode);

以上代码的输出结果是什么?为什么?
结果为false,因为String类型的数据不能更改字面值,可以修改指向字符串的引用。
后续还会有更多知识点的分享……

你可能感兴趣的:(JavaSE)