1.数据
Java程序是用来处理数据的
使用Java语言编写程序模拟现实世界
1.1数据与信息
数据就是信息在计算机中的载体(表示)。
1.2计算机只能识别0 1
所有数据在计算机中都是以01存在的,因为计算机是由数据逻辑电路设计而成的,电路只有通电和断电两种稳定的状态
在计算机中储存一个0或者一个1使用一个bit位
byte字节表示8个二进制位
内存16GByte= =16*1024Mbyte= =16 *1024 *1024Kbyte= =16 * 1024 * 1024 * 1024 Byte
1024是2的10次方
1.3字符编码
1.3.1编码
把字符转换为对应的码值
1.3.2解码
把一个整数转换成对应的字符
字符编码可以把我们输入的汉字等字符转换成对应的01序列,还可以把01序列转换成对应的字符
1.3.3常用的字符编码
- ASCLL编码,美国的标准信息交换码,仅使用一个字节储存
- ISO-8859-1编码,西欧编码,Tomcat服务器默认的编码格式
- GBK/GB2312编码,中文编码,每个汉字都对应两个字节的01序列
- Unicode编码,为全世界所有的语言都提供了唯一的编码,有UTF-8,UTF-16等编码.——在UTF-8编码中一个汉字对应三个字节
1.3.4乱码
编码时使用的编码格式与解码时使用的编码格式不同(不匹配)就会出现乱码。
1.4进制转换
- 十进制
- 二进制——以0b开头
- 八进制——以0开头(对应二进制的三位)
- 十六进制——以0x开头(对应二进制的四位)
-
- 1、二进制: 只有2个记数符号 0 、1
-
- 2、八进制: 只有8个记数符号 0、1、2、3、4、5、6、7
-
- 3、十进制: 只有10个记数符号 0、1、2、3、4、5、6、7、8、9
-
- 4、十六进制: 只有16个记数符号 0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F
-
- 5、从 JDK 1.7 开始允许在 数值中使用 下划线( _ ) 进行连接,比如 999999999 可以写作 9_9999_9999
- 5、从 JDK 1.7 开始允许在 数值中使用 下划线( _ ) 进行连接,比如 999999999 可以写作 9_9999_9999
1.5原码反码补码
1.5.1计算机中整数是以补码的形式存储的
- cpu 内存中的整数是以补码的形式存在的。
- 原码
- 正数的原码就是他本身
- 负数用最高位1表示
- 反码
- 正数的反码跟原码一样
- 负数的反码就是负数的原码按位取反(0变成1,1变成0),符号为不变
- 补码
- 正数的补码和原码一样
- 负数的补码是负数的反码加1
- 【在计算机中没有原码、反码的存在只有补码】
1.6字面量
1.6.1字面量有时也成为直接量,包括所有的整数,所有的小数,所有的字符,布尔值,null
- 整数:123,221,412121313
- 小数:2423.1231,1223.2323,0.0001
- 字符:’a‘,’A‘,’哎‘——单引号所引起来的单个字符,’‘,’ab‘都不是字符,’ ‘ 是空格字符
- 字符串:使用双引号引起来的任意个字符,“”,“a” ,“abc” 都是字符串
- 布尔值:true/false
- null
1.7变量
- java 程序是用来处理数据的,数据分为不可变和可变两大类。
- 不可变数据分为字面量和final常量
- 可变的数据称为变量
- 变量的定义
- 变量的定义格式
- 数据类型 变量名;
- 数据类型 变量名=初始值;
- 给变量赋值
- 变量名=新的值;
- 程序执行上面的,计算机就会为其分配存储空间,通过变量名就可以访问
- 变量的定义格式
- 变量的定义
1.8变量的分类
- 根据变量的定义位置可以把变量分为成员变量和局部变量
- 在类体中定义的变量为成员变量
- 在代码块中定义的变量为局部变量
1.9 变量的作用域
- 变量的作用域:就是在哪个范围内有效
- 成员变量的作用域是整个类
- 局部变量的作用域是从变量定义的位置开始,知道包含它的大括号结束。
1.10数据类型的作用
- 数据类型就是一组值,以及这一组值上的操作
- 数据类型可以决定数据的存储方式,取值范围,允许的操作
1.11数据类型的分类
- Java中的数据分为基本类型和引用类型两大类
- 变量名所标识的存储空间中存储的内容就是变量的值,这是基本类型
- 变量名所标识的存储空间中存储的内容是另外一块存储空间的起始地址(引用),这是引用数据类型