Java初级复习总结

JDK的安装:

1.下载,安装

2.配置环境变量4
a)路径:%JAVA_HOME%\ bin; 
b)JAVA_HOME:JDK的安装目录
c)类路径


JDK和JRE和JVM:


JAVA程序运行过程:


1.编译的javac:把Java的源文件编译成类字节码文件

2.运行的Java:运行类文件

 


标识符给类,方法,变量起名):


1.以宇母(采用Unicode字符集)下划线,S
开头2.其余部分可以是:字母采用Unicode字符集),下划线,S,数字
3.不能为关键字


变量:


1.局部变量
定义在方法内或语句块内。从属千方法或语句块。
使用之前,必须要手动初始化! 
2.成员变量(实例变量field)
定义在类里面、方法外面。从属于对象! 
如果我们没有手动初始化成员变量,系统会自动初始化。初始化的规则如下:


数字: 0,00 布尔: false  char:\u0000 用类型: null

3.静态变量(类变量)
定义在类里面、方法外面、使用static修饰。从属于类!

如果我们没有手动初始化静态变量,系统会自动初始化,初始化规则同成员变量。

 

数据类型

1.基本数据类型
a)数字
i.整数:   byte(1个字节)    short(2个字节)    int(4个字节,整型常量默认该类型)     long(8个字节)

ii.浮点数:  float(4个字节)    double(8个字节,浮点常量默认为该类型)
b)   字符char(2个字节)
c)   布尔 boolean(1位)

2.引用类型(4个字节
a)数组
b)对象 

c)接口

 

表达式:


1.类型的自提升

如果有long结果就是long。
如果有double,结果就是double

 

2.强制转型

运算符:


1.赋值运算符=
if(b=true) if(b) if(c=3) if(3==c)
2.算术运算符
3.关系运算符(==)
常见错误写法: 1<a<3 应为:1<a&&a<3
4.逻辑运算符
&& || !
& | 3&4
5.位运算符
& | <<(左移位相当于以2)  >>右移位相当于除以2
6.扩展运算符。
+= -= *= /= %=
7.三目运算符
布尔表达试)?语句1:语句2

 

 

控制语句:


1.顺序结构
2.选择结构
a)if

b)if else
c)if else  if...else
d)switch多值选择表达式: int或char/short/byte, 枚举

break问题
3.循环结构
a)while先判断后执行
b)for
c)do while 先执行后判断

break:强制终止整个循环。
         continue:结束本次循环,继续下一次!。

 

面向对象基础: 


1.对象的进化史
a)基本数据类型阶段 数据少 无数据管理时代
b)数组 数据多了,将同类型的数据放到一起 弱管理
c)结构体 数据多了,数据复杂了。将不同类型的数据放到一起  强管理。
d)对象 数据多了、类型复杂了、行为复杂了。将不同类型的数据放 到一起 超强管理

 

 

对象和类
对象是具体的,类是抽象的。类也是一个模版,通过类这个模版我们也可以 new对象。

定义类: 
public class 类名{


//属性
private 数据类型  属性名;//建议增加相应的getter setter方法
//方法

//构造方法

}


构造方法

1.方法名必须跟类名保持一致
2.无返回类型
3.通过new来调用
4.无参构造器问题:
a)如果我们没有手动定义构造器,系统会自动为我们]添加-一个无参的 构造器
b)如果我们自己定义了构造器,系统就不会为我们添加无参构造器
5.构造方法的第一句总是super,即调用直接父类的构造方法。

a)有继承关系的构造方法调用的顺序。

 

 

方法的载(Overload)


  两同(同一个类、同一个方法名),三不同(参数列表不同:;类型、个数、顺序)

返回值不同,构成重载吗? No

形参名称不同,构成重在吗? No
 

this:

普通方法中,调用本方法的对象。

构造方法中,正要初始化的对象。

还可以用来,调用其他的构造方法


super

 

static:
  用它修饰的变量和方法就变成了静态变量和静态方法。从属于类。通过类名即可调用。实际存储于方法区中。

package: 
  package必须位于非注释行第一句。

包名:域名到这写


import:
  引入外部的类

import static :导入类的静态属性。

 

final:
  修饰变量:常量(命名规范:全部大写,多个单词之间通过下划线隔开)                      

  修饰方法:不能被重写                                                 

  修饰类:不能被继承

 

 

 

 


面向对象的三大特征

封装
  通过private、default、protected、public关键字实现属性或方法的封装。 “高内聚,低耦合”

继承

通过extends。两个好处:

1.代码重用
  2.通过继承实现对现实世界更加准确的建模
类只有单继承,没有像C++那样的多继承

方法重写的要点:

=:方法名保持一致

>=:子类权限修饰符可以大于等于父类的。

<=:子类的返回值类型小于等于父类的类型。子类声明异常类型不能超过父类的类型。

Object类:

1.是我们所有类的根基类

2.toString

3.equals  hashcode

4.wait notify  notifyAll

多态(polymorphism)
  三个必要条件:继承、方法的重写、父类引|用指向子类对象

动态绑定、静态绑定:

抽象类:
  1.包含抽象方法的类,一定是抽象类。                                    2.抽象类不能被new。
  3.抽象类可以包含:普通方法、成员变量、构造方法。

接口:
  1.interfacer
  2.类实现接口: implements  可以实现多个接口
  3.接口可以多继承                                                          

 4.接口定义的一组规范!实现现实世界中这样的逻辑,如果你是...则必须能...

 

 

 

内存机制



1.存放局部变量
2.不可以被多个线程共享
3.空间连续,速度快。



1存放对象
2可以被多个线程共享
3.空间不连续,速度慢。但是灵活


方法区
1.存放类的信息:代码,静态变量,字符串常量等
2可以被多个线程共享
。3.空间不连续,速度慢但是灵活

 

垃圾回收器(GC Garbage Collection):

1.程序员不能调用垃圾回收器,但是可以通过的System.gc建议回收。

2.finallize:一般也不用调

 

递归算法:

 

1.递归头:什么时候不调用自己

2.递归体:什么时候调用自己

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

猜你喜欢

转载自blog.csdn.net/weixin_42233291/article/details/81393386
今日推荐