共计 3080 个字符,预计需要花费 8 分钟才能阅读完成。
1. 语言特点
简略性,高性能,编译性,解释性,面向对象,分布式解决,健壮性,安全性,开源,跨平台。
2,JDK(Java Development Kit)
1.Java 开发工具(jdk/bin)
2. 根底开发库(jdk/jre/lib/rt.jar)
3. 根底开发库的源码(jdk/src.zip)
3.JDK,JRE,JVM 的关系
1.JDK(Java Development Kit)
是针对 Java 开发员的产品,是整个 Java 的外围,包含了 Java 运行环境 JRE,Java 工具和 Java 根底类库。
2.JRE(Java Runtime Environment)
是运行 JAVA 的运行时环境,蕴含 JVM 和 Java 外围类库。
3.JVM(Java Virtual Machine)
Java 模拟机的缩写,是整个 Java 实现跨平台的最外围的局部,可能运行以 Java 语言写作的软件程序。
4. 变量
变量类型
变量名
必须是一个无效的标识符
不能够应用 Java 关键字
不能反复
变量值
局部变量
定义在办法里,或者部分代码块汇中。
留神:必须手动初始化,来分配内存,如 int i=5,作用域也就是办法里或者部分代码块里,办法运行完内存就开释了。
成员变量
定义在类里。
留神:不必初始化,也会主动被初始化成默认值。作用域是在整个类中,类隐没了,变量才会开释。
5. 数据类型
标识符
标识符能够由字母,数字,下划线 (_),美元符($) 组成,但不能蕴含 @,%,空格等其余特殊字符。
不能以数字结尾
标识符是严格辨别大小写的
标识符的命名最好能反映出其作用,做到见名知意。
关键字
53 个关键字
(class 类) (interface 接口) (byte 字节) (short 短整型)
(int 整型) (long 长整形) (float 单精度) (double 双精度)
(char 字符) (boolean 布尔) (viod 无返回值) (ture 真)
(flase 假) (null 空) (if 判断 / 分支) (else 或者) (switch 多分支)
(case 或者) (default 默认) (while 循环) (do 循环) (for 循环)
(break 跳出) (continue 持续) (return 返回) (private 公有的)
(protected 爱护) (public 私有的) (abstract 形象) (final 常量)
(static 动态的) (synchronize 同步) (extends 继承)
(implements 实现) (new 创立) (this 本对象) (super 父类)
(instanceof 实例)(try 尝试)(catch 捕捉异样) (finally 都执行)
(throw 抛出异样) (throws 承受异样) (package 包)
(import 导包) (native 原生) (strictfp 精准) (transient 瞬态)
(volatile 不稳固) (assert 保护)
保留字
const goto
八大根本类型
字面值
1. 整数字面值是 int 类型
2.byte,short,char 三种比 int 小的整数能够用范畴内的值间接赋值
byte b=127;// 对
byte b=128;// 错,右面曾经超过 byte 范畴是 int 类型的数据
3. 浮点数的字面值是 double 类型
double a=3.14;// 对
float a=3.14;// 错,右面是 double,float 是四字节 double 是八字节存不下
4.
援用类型
Java 中除了根本类型都是援用类型
运算符
运算规定
1,计算结果的数据类型,与最大类型统一
3/2 得 1,而不是 1.5,后果是 int 类型
3d/2 得 1.5,相当于 double/int,后果是 double 类型
2,byte,short,char 三种比 int 小的整数,运算时会先主动转成 int
byte a=3;
byte b=4;
byte c=a+b;
// 错,运行时,byte 会先主动转成 int 再运算,int+int 还是 in
3,整数运算溢出
整数运算,相似于一个中标,转到最大时,再转会回到最小。
4,浮点数运算不准确
5,浮点数的非凡值
Infinity 无穷大 3.14/0
Nan not a number 0/0.0
分支构造
if 判断 / 分支
概述
顺序程序的构造尽管能解决计算,输入等问题,但不能做判断再抉择。对于要先做判断再抉择的问题就要应用分支构造。
模式
单分支:
if(判断条件){
代码。。。
}
多分支:
if(判断条件){
代码 1。。。
}else{
代码 2。。。
}
嵌套分支:
if(判断条件 1){
代码 1。。。
}else if(条件 2){
代码 2。。。
} else if(判断条件 3){
代码 3。。。
}else{
代码 4。。。
}
switch 判断 / 分支
概述
当一个 case 成立,从这个 case 向后穿透所有 case,包含 default,晓得程序完结或者遇到 break 程序才完结。
模式
switch(变量或者表达式){
case 1:
case 2:
case 3:
case 4:
default:
}
循环构造
概述
循环构造是指在程序中须要重复执行某个性能而设置的一种程序结构。它由循环体中的条件,判断继续执行某个性能还是退出循环。
依据判断条件,循环构造又可细节为先判断后执行的循环构造和先执行后判断的循环构造。
for 循环
模式
1,for 循环
for(开始条件;循环条件;更改条件){
循环体代码…
}
2,嵌套 for
for(…){
for(…){
}
}
应用场景
晓得循环次数
while 循环
模式
1,while
while(执行条件){
代码…
}
先判断,不合乎规定,不执行代码
2,do while
do{
代码…
}while(执行条件);
代码起码被执行一次,再去判断,合乎规定,再次执行代码
应用场景
当循环次数不确定时
终止循环
breark
中断以后循环,简略粗犷
continue
return
办法
概述
被命名的代码块,办法能够含参数能够不含参数,能够进步代码的复用性
模式
修饰符 返回值 办法名([参数]){办法体;}
构造方法
概述
构造方法时一种非凡的办法,它是一个与类同名且返回值类型为同名类类型的办法。对象的创立就是通过构造方法来实现,其性能次要是实现对象的创立或者对象的初始化。当类实例化一个对象时会主动调用构造方法。
构造方法和其余办法一样能够重载。
模式
修饰符 类名([参数]){代码 …}
应用
1、子类创建对象时,默认会去拜访父类的无参构造方法。
2、在构造方法的第一行,都有一条默认的语句:super();
3、父类没有无参结构时,能够用 super 调用父类的其余结构。
形象办法
1、是一个非凡的办法,非凡在这个办法基本没有办法体。
2、java 中能够定义没有办法体的办法,该办法由其子类来具体的实现吗,该没有办法体的办法咱们称之为形象办法。
重写办法
1、继承后,子类就领有了父类的性能
2、那么在子类中,能够增加子类特有的性能也能够批改父类的原有性能。
3、子类中办法签名与父类齐全一样(包含办法的返回值,办法名和参数列表,完全一致) 时,或产生笼罩 / 复写的性能,相当于批改性能。
4、父类中的公有办法不能被重写
5、子类重写父类办法时,修饰符要大于等于父类修饰符的权限
重载办法
办法重载是指在一个类中定义多个同名的办法,但要求每个办法具备不同的参数列表(也就是说参数的个数和类型不同)。程序调用该办法时,能够通过出传递给它们不同个数和类型的参数来决定具体应用哪个办法。
重写与重载的区别
1、重载:是指同一个类中的办法具备雷同的名字,但这些办法具备不必的参数列表,即参数的数量或参数类型不能完全相同。
2、重写:是存在子父类两头的,子类定义的办法与父类中的办法具备雷同的办法名字,雷同的参数列表和雷同的返回类型。
3、重写是父类与子类之间多态性的一种体现。
4、重载是一类中多态性的一种体现。