Java基础串联,回顾

来源:互联网 发布:php eval函数 编辑:程序博客网 时间:2024/04/29 16:26

一、JDK安装,环境变量的配置

1.JAVA_HOME   jdk安装的存储路径

2.path          %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

3.classpath      .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar

二、JDK和JRE和 JVM

         JDK:JavaDevelopment ToolKit(Java开发工具包)。包括Java基础类库和Java工具

                   JDK三种版本:

                            J2SEstandard edition标准版

                            J2EEenterpsise edition 企业版

                            J2MEMicroedtion只要用于移动设备和嵌入式设备上的Java程序

         JRE: Java Runtime Enviromental(java运行时环境)。运行的java代码环境

         JVM:Java VirtualMechinal(Java虚拟机)。是JRE的一部分,虚构出来的计算机

                   JVM主要工作是解释自己的指令集并映射到CPU的指令集

流程运作:我们利用JDK(调用Java API)开发了属于我们自己的JAVA程序后,通过JDK的编译程序(javac)将我们的文本编译成JAVA字节码,在JRE上运行,JVM解析这些字节码,映射到CPU上

三、Java程序运行过程

         1.编译javac:把java源文件编译成class文件

         2.运行java:运行class文件

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

         字母(采用Unicode字符集),数字,下划线,$开头   数字不能开头,不能为关键字

变量

         1.局部变量      定义在方法内或语句块内 从属于方法或语句块

         2.成员变量(实例变量field)  从属于对象,创建对象后调用,定义在类里面,方法外面

         3.静态变量      定义在类里面、方法外面,使用static修饰 从属于类(系统自动初始化)

 

四、基本数据类型

         基本数据类型 整形byte short int long,浮点型doublefloat,字符型char,布尔型boolean

         引用类型         接口,数组,对象

                   引用类型4个字节,实际是引用堆里面的地址

五、表达式

         类型的自动提升

         强制转型

六、运算符

         赋值运算符 if(b=true)

         算术运算符

         关系运算符

         逻辑运算符&& || !  & |

         位运算              &,|,<<(左移一位相当于乘以2),>>(右移一位相当于除以2)

         扩展运算符  +=,-=,*=,/=,%=

         三目运算符  (布尔表达式)?A:B

七、控制语句

         1.顺序结构

         2.选择结构(if;ifelse;if ..else if..else;switch )

         3.循环结构(while;for;do…while)

                   While和do..while区别

         While先判断后执行

         Do…while先执行后判断,不管条件合不合适,至少执行一次

Break和 continue的区别      break强制终止整个循环,continue结束本次循环,继续下一次

面向对象基础

1.      语言进化史

a)        基本数据类型阶段         数据少                                                             无数据管理时代

b)        数组                                     数据多,将同类型的数据放在一起     弱管理

c)        结构体                                 数据多,将不同类型数据放在一起     强管理

d)        对象                                     数据多,类型复杂,行为复杂              超强管理

对象和类

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

定义类

Class 类名{

         //属性

         Private数据类型 属性名;//建议增加相应的get,set方法

         //方法

         //构造方法

}

构造方法

1.      方法名必须跟类名保持一致

2.      无返回类型

3.      通过new来调用

4.      无参构造问题

如果没有手动定义构造器,系统会自动添加一个无参构造器

如果自己定义了构造器,系统就不会添加无参构造器

5.      构造方法的第一句总是super(),即调用直接父类的构造方法

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

隐含super的用法

1.      调用父类隐藏的成员变量

2.      调用父类的构造方法

方法的重载

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

返回值和形参名称相同

 

This 普通方法,调用本方法的对象;构造方法,正要初始化的对象;调用其他的构造方法

Super

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

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

                   包名:域名到这写

Import 引入外部的类

Static import:导入类的静态属性

Final

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

         修饰方法:不能被重写

         修饰类:不能被继承

面向对象的三大特征

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

继承         通过extends。好处:1.代码重用。2.通过继承实现对现实世界更加准确的建模

                   类只有单继承,没有多继承

                   方法的重写

                   =       方法名保持一致

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

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

         Object类

1.      是所有类的根基类

2.      toString

3.      equals、hashcode

4.      wait、notify、notifyAll

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

动态绑定、静态绑定(java采用静态绑定)

抽象类abstract

1.      包含抽象方法的类,一定是抽象类

2.      抽象类不能被new

3.      可以包含:普通方法、成员变量、构造方法

接口Interface

1.可以实现多个接口

2.接口可以多继承

3接口定义的一组规范

内存机制

1.      存放局部变量

2.      不可以被多个线程共享

3.      空间连续,速度快

1.      存放对象

2.      可以被多个线程共享

3.      空间不连续,速度慢,但是灵活

方法区

1.      存放类的信息:代码、静态变量、字符串常量

2.      可以被多个线程共享

3.      空间不连续,速度慢,但是灵活

垃圾回收器

1.      程序员不能调用垃圾回收器。但是可以通过System.gc()建议回收,不一定立即回收

2.      Finallize 每个对象都有,调用它来释放对象的资源。一般也不用去调

递归算法

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

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

0 0
原创粉丝点击