Java基础注意点

float类型的特点:

有限,离散,舍入误差,大约,接近但不等于

java最难程序 java中最难的知识点_抽象类

结果!!

java最难程序 java中最难的知识点_java最难程序_02

------------------------------------------------------------------

java最难程序 java中最难的知识点_优先级_03


结果!!

java最难程序 java中最难的知识点_优先级_04

类型转换

类型优先级由低到高:
byte,short,char -> int ->long -> float ->double

强制类型转换 由高到低

自动类型转换 由低到高

转换时可能会出现内存溢出或精度问题

基本运算符

java最难程序 java中最难的知识点_java最难程序_05

进行算数运算时,默认结果为类型优先级高的

运算符的优先级

优先级

运算符

结合性

1

( ) [ ]  .

从左到右

2

!  ~  ++  --

从右到左

3

*  /  %

从左到右

4

+  -

从左到右

5

<<  >>  >>>

从左到右

6

<  <=  >  >=  instanceof

从左到右

7

==  !=

从左到右

8

&

从左到右

9

^

从左到右

10

|

从左到右

11

&&

从左到右

12

||

从左到右

13

? :

从左到右

14

=  +=  -=  *=  /=  %=  &=  |=  ^=  ~=  <<=  >>=  >>>=

从右到左

15


从右到左

当多个运算符出现在一个表达式中,谁的优先级别高,就先执行谁。在一个多运算符的表达式中,运算符优先级不同会导致最后得出的结果完全不一样。
有一个口诀可以帮助记忆:

单算移关与,异或逻条赋

括号级别最高,逗号级别最低

由高到低:单目 > 算术 > 位移 > 关系 > 逻辑 > 三目 > 赋值。

多态

注意事项:

  1. 多态是方法的多态,属性没有多态
  2. 父类和子类必须有联系
  3. 存在条件:继承关系,方法名需要重写,父类引用指向子类对象, Father f1 = new Son();

不能被重写的方法

  1. static 方法,属于类,它不属于实例
  2. final 常量
  3. private方法

static(静态)

标注的方法在类加载是就会执行

其他类可直接使用类名.方法名调用静态方法,无需使用对象

执行顺序

java最难程序 java中最难的知识点_运算符_06

结果!!!

java最难程序 java中最难的知识点_优先级_07

执行顺序:
静态代码块 - > 匿名代码块 ->无参构造器 (注意:静态代码块仅在类加载时执行一次,以后不再执行)

抽象类

  1. 不能new这个抽象类,只能靠子类去实现他,约束!
  2. 抽象类中可以写普通方法
  3. 抽象方法必须在抽象类中

抽象类不能去new创建但是也会默认有无参构造器

接口

普通类:只有具体实现

抽象类: 具体实现和规范(抽象方法)都有

接口:只有规范!自己无法写方法~专业的约束!约束与实现分离,面向接口编程