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. 递归体 什么时候调用自己
- Java基础串联,回顾
- 关于Java基础回顾
- Java基础回顾(一)
- Java基础回顾(二)
- Java基础回顾(三)
- Java基础回顾(四)
- Java基础回顾(五)
- java基础回顾
- java基础回顾
- GEM_02 Java基础回顾
- java基础回顾1
- java基础回顾2
- java基础概念回顾
- Java基础回顾(1)
- Java基础回顾(2)
- Java基础回顾(3)
- Java基础回顾(4)
- Java基础回顾(5)
- 【问底】徐汉彬:亿级Web系统搭建——单机到分布式集群
- WIfi 移植
- Failed to fetch URl https://dl-ssl.google.com/android/repository/addo Android SDK更新以及ADT更新出现问题的解决办法
- 《Effective C++》学习笔记——条款16
- 字母金字塔
- Java基础串联,回顾
- Bug 10419984--FOR oracle 11.2.0.1 adg ora-600[kcbr_apply_change_11]
- 运行yum提示pycurl.so undefined symbol: CRYPTO_set_locking_callback
- 【菜鸟也疯狂C#系列】——类方法
- Linux ---- I/O redirection / exec
- OC中的NSString和NSMutableString
- Unity3D Shader官方教程翻译(二)
- netstat命令详解
- c语言结构体指针及类型及相互引用