Java初级总结
来源:互联网 发布:淘宝破损补寄显示什么 编辑:程序博客网 时间:2024/05/22 12:52
JDK 的安装
1,下载,安装。
2,配置环境变量
a)path:bin目录
b)JAVA_HOME:JDK的安装目录
c)classpath:lib目录
3,JDK(Java development kit。Java开发工具包)
JRE(Java runtime environment。Java运行环境)
JVM(Java virtual machine)
我们利用JDK(调用JAVA API)开发了属于我们自己的JAVA程序后,通过JDK中的编译程序(javac)将我们的文本java文件编译成JAVA字节码,在JRE上运行这些JAVA字节码,JVM解析这些字节码,映射到CPU指令集或OS的系统调用
变量
1,局部变量
定义在方法内或者语句块内,从属于方法或语句块
使用之前必须手动初始化。
2,成员变量
定义在类里面,方法外面,从属于对象
可以不手动初始化,系统自动初始化规则如下:
数字: 0 0.0 布尔: false char :\u0000 引用类型:null
3,静态变量
定义在类里面,方法外面,从属于类
可以不手动初始化,系统初始化方法和 成员变量一样
数据类型
1,基本数据类型
a)数字
① 整数 byte(1) short(2) int(4)默认该类型 long(8)
② 浮点数 float(4) double(8)默认该类型
b)字符 char(2)
c)布尔 boolean(1位)
2,引用类型(4)
a)数组
b)对象
c)接口
表达式和运算符
1,类型的自动提升
long——long
double——double
2,强制转型
运算符
1,算数运算符
2,关系运算符
3,逻辑运算符
&& || ! & |
4,位运算符
& | <<(左移一位相当于乘2),>>(右移一位相当于除以2)
5,扩展运算符
+= -= /= %=
6,三目运算符
(布尔表达式)?true:false
控制语句
1,顺序结构
2,选择结构
3,循环结构
面向对象基础
定义类
(public)class 类名{
//属性
private 数据类型 属性名
//方法
//构造方法
public 类名{}
}
构造方法:
1,方法名必须跟类名一致
2,无返回类型
3,通过new类调用
4,无参构造器问题:
a)如果没有手动定义构造器,系统自动添加一个无参构造器
b)如果用户自己定义了构造器,系统不会自动添加无参构造器
5,构造方法的第一句总是 super...,即调用父类构造方法
方法的重载 overload
两同:同一个类,同一个方法名
三不同:参数列表不同:类型,个数,顺序
返回值不同,构成重载吗? NO
形参名称不同,构成重载吗? NO
this:
普通方法中:调用本方法的对象
构造方法中:正要初始化的对象
还可以用来调用其他的构造方法
super:
static:
用它修饰的变量和方法,就变成静态变量和静态方法,从属于类,用类名就可以调用,实际存储于方法区中
package:
package必须位于非注释行的第一句。
包名:域名倒着写
import:
引入外部的类
import static 导入类的静态属性
final:
修饰变量:常量(命名规范:全部大写,多个单词之间用下划线隔开)
修饰方法:不能被重写
修饰类:不能被继承
面向对象的三大特征
封装
通过private default protected public 关键字实现属性或方法的封装。
高内聚,低耦合
继承
通过extends 两个好处:
a)代码重用
b)通过继承实现对现实世界更加准确的建模
c)类只有单继承
方法的重写:
=:方法名保持一致
>=:子类的权限修饰符可以大于等于父类的
<=:子类的返回值类型小于等于父类的类型。子类声明异常不能超过父类的类型
object类:
1,是所有类的根基类
2,toString
3,equals,hashcode
4,wait,notify,notifyall
多态
三个必要条件:继承,方法的重写,父类引用指向子类对象
动态绑定,静态绑定:
抽象类:
1,包含抽象方法的类,
2,抽象类不能被new
3,抽象类可以包含:普通方法,成员变量,构造方法
4,抽象方法必须被子类重写
接口:
1,interface
2,类实现接口:implements,可以实现多个接口
3,接口可以多继承
4,接口定义的规范
内存机制:
栈
1,存放局部变量
2,不可以被多个线程共享
3,空间连续,速度快
堆
1,存放对象
2,可以被多个线程共享
3,空间不连续,速度慢,但是灵活
方法区
1,存放的信息:代码,静态变量,字符串常量
2,可以被多个线程共享
3,空间不连续,速度慢,但是灵活
垃圾回收器(GC,garbage collection)
1,程序员不能调用垃圾回收器,但是可以通过system.gc()建议回收
2,finallize:一般也不用调
递归算法
1,递归头:什么时候不调用自己
2,递归体:什么时候调用自己
1,下载,安装。
2,配置环境变量
a)path:bin目录
b)JAVA_HOME:JDK的安装目录
c)classpath:lib目录
3,JDK(Java development kit。Java开发工具包)
JRE(Java runtime environment。Java运行环境)
JVM(Java virtual machine)
我们利用JDK(调用JAVA API)开发了属于我们自己的JAVA程序后,通过JDK中的编译程序(javac)将我们的文本java文件编译成JAVA字节码,在JRE上运行这些JAVA字节码,JVM解析这些字节码,映射到CPU指令集或OS的系统调用
变量
1,局部变量
定义在方法内或者语句块内,从属于方法或语句块
使用之前必须手动初始化。
2,成员变量
定义在类里面,方法外面,从属于对象
可以不手动初始化,系统自动初始化规则如下:
数字: 0 0.0 布尔: false char :\u0000 引用类型:null
3,静态变量
定义在类里面,方法外面,从属于类
可以不手动初始化,系统初始化方法和 成员变量一样
数据类型
1,基本数据类型
a)数字
① 整数 byte(1) short(2) int(4)默认该类型 long(8)
② 浮点数 float(4) double(8)默认该类型
b)字符 char(2)
c)布尔 boolean(1位)
2,引用类型(4)
a)数组
b)对象
c)接口
表达式和运算符
1,类型的自动提升
long——long
double——double
2,强制转型
运算符
1,算数运算符
2,关系运算符
3,逻辑运算符
&& || ! & |
4,位运算符
& | <<(左移一位相当于乘2),>>(右移一位相当于除以2)
5,扩展运算符
+= -= /= %=
6,三目运算符
(布尔表达式)?true:false
控制语句
1,顺序结构
2,选择结构
3,循环结构
面向对象基础
定义类
(public)class 类名{
//属性
private 数据类型 属性名
//方法
//构造方法
public 类名{}
}
构造方法:
1,方法名必须跟类名一致
2,无返回类型
3,通过new类调用
4,无参构造器问题:
a)如果没有手动定义构造器,系统自动添加一个无参构造器
b)如果用户自己定义了构造器,系统不会自动添加无参构造器
5,构造方法的第一句总是 super...,即调用父类构造方法
方法的重载 overload
两同:同一个类,同一个方法名
三不同:参数列表不同:类型,个数,顺序
返回值不同,构成重载吗? NO
形参名称不同,构成重载吗? NO
this:
普通方法中:调用本方法的对象
构造方法中:正要初始化的对象
还可以用来调用其他的构造方法
super:
static:
用它修饰的变量和方法,就变成静态变量和静态方法,从属于类,用类名就可以调用,实际存储于方法区中
package:
package必须位于非注释行的第一句。
包名:域名倒着写
import:
引入外部的类
import static 导入类的静态属性
final:
修饰变量:常量(命名规范:全部大写,多个单词之间用下划线隔开)
修饰方法:不能被重写
修饰类:不能被继承
面向对象的三大特征
封装
通过private default protected public 关键字实现属性或方法的封装。
高内聚,低耦合
继承
通过extends 两个好处:
a)代码重用
b)通过继承实现对现实世界更加准确的建模
c)类只有单继承
方法的重写:
=:方法名保持一致
>=:子类的权限修饰符可以大于等于父类的
<=:子类的返回值类型小于等于父类的类型。子类声明异常不能超过父类的类型
object类:
1,是所有类的根基类
2,toString
3,equals,hashcode
4,wait,notify,notifyall
多态
三个必要条件:继承,方法的重写,父类引用指向子类对象
动态绑定,静态绑定:
抽象类:
1,包含抽象方法的类,
2,抽象类不能被new
3,抽象类可以包含:普通方法,成员变量,构造方法
4,抽象方法必须被子类重写
接口:
1,interface
2,类实现接口:implements,可以实现多个接口
3,接口可以多继承
4,接口定义的规范
内存机制:
栈
1,存放局部变量
2,不可以被多个线程共享
3,空间连续,速度快
堆
1,存放对象
2,可以被多个线程共享
3,空间不连续,速度慢,但是灵活
方法区
1,存放的信息:代码,静态变量,字符串常量
2,可以被多个线程共享
3,空间不连续,速度慢,但是灵活
垃圾回收器(GC,garbage collection)
1,程序员不能调用垃圾回收器,但是可以通过system.gc()建议回收
2,finallize:一般也不用调
递归算法
1,递归头:什么时候不调用自己
2,递归体:什么时候调用自己
阅读全文
1 0
- Java初级总结
- 初级Java程序员 - 自我总结
- java知识点总结(初级)
- 初级Java学习笔记总结
- JAVA 反射 总结 之 初级 (一)
- JAVA 反射 总结 之 初级 (二)
- java初级 之主要类的总结
- java初级第12天总结笔记
- java初级第13天总结笔记
- java初级第14天总结笔记
- java初级第15天总结笔记
- java初级第16天总结笔记
- java初级第17天总结笔记
- java初级第18天总结笔记
- java初级第19天总结笔记
- java初级第20天总结笔记
- java初级
- java 初级
- 标准I/O:分别用fgetc与fputc,fgets与fputs,fread与fwrite实现文件的复制
- Size数据结构 Point类
- 遍历指定路径下的文件
- 爱剪辑的入门使用体验
- 最短路径问题
- Java初级总结
- IAR上部分UCOS软定时器无法启动的问题
- VirtualApp 中的进程
- 如何用Python+人工识别处理知乎的倒立汉字验证码
- 详解Vue组件系统
- 合纵连横(并查集)
- json作为通信报文
- 剑指Offer——编程题的Java实现(更新完毕……)
- Fruit HDU