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、重载是一类中多态性的一种体现。