您的位置:首页 > 编程语言 > Java开发

java中的一些小知识点

2017-03-15 09:11 253 查看
最近在复习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类型的数据不能更改字面值,可以修改指向字符串的引用。

后续还会有更多知识点的分享……
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java se