基础知识
- SUN公司1991年将语言命名为OAK,1995年后以java命名推出
- Java之父詹姆斯·高斯林
- JavaSE,JavaEE,JavaME
Java的特性
四大特性:
1. 自动垃圾回收机制
2. 面向对象
3. 跨平台
4. 多线程
语言类型:
- 编译型语言:运行前源文件通过编译器生成机器码文件,让计算机直接识别
优点:编译一次,运行多次,执行效率高
缺点:跨平台性能差 - 解释型语言:每次运行之前对源文件进行解释,解释为当前操作系统识别的语言
优点:跨平台好
缺点:每次运行都需要解释,执行效率低 - 动态语言:使用变量时不需要指定类型,类型在赋值时确定,在运行时赋值
- 静态语言:使用变量时要指明类型
- 强类型语言:一旦类型确定,不可以更改,可以强制更改
- 弱类型语言:根据上下文环境对类型进行动态修改
java属于 准动态,强类型,解释型语言
动态主要体现在反射机制
运行机制
因为JVM跨平台,在各个操作系统中,安装不同的JVM,但是他们有一个共同点,就是都识别class文件,而class文件都是由JVM的编译器编译生成的,所以格式都是一致的,所以 即使在Windows中生成的class文件,到了linux中,只要安装着JVM 就可以执行这个class文件
命名规则
大小写字母,美元符号$,下划线 _ ,数字 12312 且 数字不能开头,不能使用关键字和保留字
数据类型
存储原理
程序 : 命令的集合
文件类型 : 文本文件,二进制文件,可执行文件
3 存储单位
Bit : 比特,1bit就是一个电子位,统称位
Byte : 字节 , 1字节= 8bit 8位
Short : 短整型 , 1short= 16bit
Int : 整型 ,1int = 32bit
Long : 长整型 , 1long=64bit
Float : 单浮点 32位
Double : 双浮点 64位
Boolean : 布尔型 ,8位 00000001 true, 00000000 false
Char : 字符 , 16位 ,
比如 byte , 8位 最大值 就应该是 2^7-1 2的7次方减1 255
但是为了保存负数,最高位为符号位,直接损失一半精度
1 表示 负数, 0 表示正数
负数保存补码
-1 二进制 10000001 反码 11111110 补码 (反码+1) 11111111
-2 二进制 10000010 反码 11111101 补码 11111110
数据类型
- 引用数据类型:类,数组,接口
- 基本数据类型:数值型
整数型byte,short,int,long
浮点型float,double
布尔型boolean
字符型char
进制
- 二进制:满二进一,java中没有办法表示二进制
- 八进制:满八进一,java中以0开头的数字
- 十进制:满十进一,非0开头的数字
- 十六进制:满十六进一,以0x开头的数字
ASCII 码
是字符和整型直接的一个映射关系
0 : 48
A : 65
a : 97
/*
* public 表示该资源是公共的,哪里都可以访问
* class定义类的关键字
* 一个java文件中可以有多个class但是public class 只能有一个且该class名需要与文件名一致
* 有多少class文件定义,编译后就会生成多少class
*/
public class Test {
public static void main(String[] args){
System.out.println("java从入门到入土");
}
}