一、java环境及实现原理
高级语言—> 运行到计算机上
编译型–> 一次性的将代码编译成二进制的文件 -->直接运行 编译器.exe 优点:速度快
解释型–> 读取一行解释执行一行,以此往复,直到程序结束 解释器.exe 优点: 跨平台
在java中负责对字节码文件解释执行的是虚拟机
java的JDK不跨平台 但是java代码和java字节码跨平台
java的JDK不跨平台 但是java代码和java字节码跨平台
JDK --> java开发工具包
javac.exe java编译器
jre ---->运行时环境
jvm --> java虚拟机
java.exe 解释器
他们的关系:JDK包含JRE,JRE包含虚拟机
java 先编译,后解释执行
先通过编译器 javac.exe 将代码编译成一个 字节码文件.class
通过解释器 java.exe 将 字节码文件进行解释执行 执行到计算机上
在运行的时候 :
先编译: javac 源文件.java
会出现字节码文件 名字由 类名确定的 类名.class
然后解释执行:
java 字节码文件的名字(类名)
如果一个类public修饰了以后 源文件的名字和类的名字必须相同
java的特点:
面向对象
可移植性
跨平台
|
二、类名,包名
标识符
1、含义:
就是给类,接口,方法,变量等起名字时使用的字符序列
2、组成规则:
英文字母大小写,数字字符,英文叨勒符和下划线,不能以数字开头,不能是java中的关键字,区分大小写
包名: 要求全部小写
类名或者接口: 首字母第一个大写
方法和变量: 第二个字母大写
常量: 英文字母全部大写
三、数据类型
1、基本数据类型
整数型
byte 占一个字符
short 占两个字符
int 占四个字符
long 占八个字符
浮点型
float 占四个字符
double 占八个字符
字符型
char 占两个字符
布尔型
true
false
2、数据类型之间的相互转换
基本数据类型转换
低级类型的基本数据会自动向高级的基本数据类型转换
强制类型转换
高级类型向低级类型转换需要强制类型转换
从低到高
byte,short,char—> int —> long—> float —> double
四、运算符
1、基本运算符
-
- ** / %
+= -= *= /= %=
2、a++和++a的区别
加加在后面:先赋值后加一
加加在前面:先加一后赋值
- ** / %
五、控制语句
选择结构
if 、 if else、
循环结构
for、while、do while、增强for循环
跳出循环
break 跳出循环,后面的循环也会结束
continue 跳出循环,后面的循环继续执行
六、逻辑与、逻辑或和短路与、短路或的区别
逻辑与、短路与
前者从左到右一次判断,直到结尾
后者一次判断,直到出现false为止不再出现 都为真且为真
逻辑或、短路或
前者从左到右一次判断,直到结尾
后者一次判断,直到出现true为止不再出现 一个为真都为真
七、数组
特点
一旦被创建,不能改变大小
有下标,从零开始
存储在一个数组的,必须是同一类型
数组可以存储任意类型的数据
数组一旦确定,则只能存储该类型或者是可以自动类型转换成该类型的数组
声明方式
int[ ] arr = new int[10];
int[ ] arr2 = new int[ ]{1,2,5,8,9};
int[ ] arr3 = {1,5,6,8,9,75};
遍历方式
普通for循环:可以实现带有下标的操作
增强for循环:遍历数组 集合 效率更快
八、方法重载
方法重载
方法名相同,参数列表不同,与返回值类型无关,与参数名无关
(功能类似,但有细微差别 可用重载)
public static void A(int a,int b){
System.out.println("重载");
}
public static void A(int a){
System.out.println("重载");
}
九、面向对象
1、类和对象是抽象和具体的关系
2、类包含属性和方法
属性:(又称变量)
局部变量和成员变量的区别
声明位置:
成员变量:类以内,方法以外
局部变量:方法内部
作用域:
成员变量:在类的内部都能用
局部变量:方法内部
默认值:
成员变量:有默认值即使没有初始化也可以使用
局部变量:没有默认值,在使用之前必须初始化
内存区域:
成员变量:内存在堆中
局域变量:栈中
方法
方法只有被调用的时候,才会被执行
方法只能调用方法,不能在方法内部中定义方法
定义方法的完整格式:
修饰符、返回值类型、方法名称(参数类型、参数列表)
构造方法:
1、方法名和类名相同
2、在方法名的前面没有返回值类型的说明
3、在方法中不能使用return语句返回一个值
4、在创建对象时,要调用new
5、在没有指定构造方法时,系统会自动添加无参的构造方法
6、当有指定的构造方法时,系统不会再自动添加构造方法
7、构造方法的重载:方法名相同,但参数不同的多个方法,调用时会自动根据不同的参数选择相应的方法
方法重载和重写的区别
方法的重载:在类中可创建多个同名不同参数的方法
方法的重写:发生在有继承关系的两个类中,子类继承父类中的方法