Java 特性:跨平台、自动垃圾回收、面向对象、多线程
编译型语言:运行效率高,但是跨平台性能差
解释性语言:运行效率低,但是跨平台性能好
静态语言:创建变量的时候,必须先指定空间,说明类型
动态语言:不需要指定类型,在运行的时候自动指定
强类型语言:一旦类型确定不能更改,除非强制更改
弱类型语言:根据当前运行的上下文环境,进行类型的自动转换
java 是 准动态强类型解释型语言
强制规则:严格区分大小写、只能是字母、数字、下划线_、美元符号$、数字不能开头、不能使用关键字保留字
非强制规则:驼峰规则
程序 : 可执行文件,一堆命令的集合,属于静态,一般保存在硬盘中
进程 : 进程就是正在执行的程序,是动态的,保存在运行内存中
1.数据存储:想运算,必须先存储
2.数据存储方式
内存 : 可以看做两端无限延伸的线
硬盘 : 螺旋线
3.存储单位
为了保存负数,高位舍弃,作为符号位。1 为负数 0 为 整数
所有类型都需要损失一倍的精度
比如byte 8位 最大值 为 2^7-1 最小值为 -2^7
Byte = -128 ~ 127
Bit = 比特
Byte = 8bit 字节
Short = 2byte = 16bit 短整型
Int = 4byte = 32bit 2147483647 整型
Long = 8 byte = 64bit 长整型
4. 存储
正数 存原码
比如保存2 , 2对应的二进制为 0000 0010
负数 存补码
-2 : 1000 0010 原码
1111 1101 反码 除了符号位,1变0,0变1
1111 1110 补码 = 反码+1
5.数据分类
本质 就是规定占用内存空间的大小,用位和字节表示
基本数据类型:数值型(整数型:Byte,short,int,long 浮点型:Float,double) 字符型 char 布 尔型 boolean
引用数据类型:类,数组,接口
ASCII码 : 字符和整数之间的映射 a = 97,A = 65,0 = 48
6.数据类型的使用
数据类型 名字 = 值;
long 后加L
float 后加f
8进制0开头 16进制0x开头
float 单浮点32位 double 双浮点64位
字符型占用两个字节16位,以英文单引号表示,且只能有一个字符或采用unicode编码 \uxxxx
布尔型不参与任何转换,只有ture和false,占用1字节,全0位false
7.类型转换
8.混合运算
9.常量
常量在程序的整个生命周期中,值不可更改
字面量/直接量
字面量也是有数据类型的
整数默认是整型 int
小数 默认是double
Final修饰称为常量
10.变量
可以更改的量,方便进行操作,并且可以复用
11.全局变量
全局 : 允许在类外创建变量,和类同级别,所有类都可以直接访问这个变量,不需要二次引用
所谓二次引用,就是指 没有使用 . 操作符 xxx.xxx
而在java中类之外是不允许写变量的,但是可以把一个变量的访问权限设置为public,然后通过类名 进行引用调用即可
全局的缺点 就是命名冲突问题
12.变量声明
数据类型 变量名 = 值;
13.变量作用域
一个大括号就是一个作用域
14.变量分类
15.算术运算符
16.关系运算符
17.位运算符