1. 数据存储
1.1 计算机中常用的数据存储单位
计算机最小存储单位 byte 字节
数据存储进制单位:
Windows操作系统 1024
1024 Byte ==> 1KB
1024 KB ==> 1 MB
1024 MB ==> 1 GB
1024 GB ==> 1 TB
1024 TB ==> 1 PB
1024 PB ==> 1 EB
硬件实际生产 和 macOS 系统中,进制单位 1000
1.2 数据表示的进制关系【了解】
生活中的常见进制:
十进制,十二进制,二十四进制, 六十进制
开发中需要[了解]的进制
进制 | 基数范围 | 进位关系 |
十进制 | 0~9 | 逢十进一 |
二进制 | 0,1 | 逢二进一 |
八进制 | 0~7 | 逢八进一 |
十六进制 | 0~19,A~F | 逢G(十六)进一 |
八进制:
数据展示要求,开头为 0
0777 0755 0711
但是 0 在特殊情况下可以省略十六进制:
数据展示要求,开头为 0x
0xABCD 0xabcd 这两个数据完全一致,十六进制不区分大小写!
0xFFFF 0x1234所有的进制转换,全部交给计算器处理,提高效率。
2. 常量
2.1 生活中的常量
数值:
整数: 10 20 30
小数(浮点数): 3.14 0.618 11.11 12.12
文字:
你 我 他
A B C
1 2 3
文本:
"北国风光,千里冰封,万里雪飘,望长城内外,惟余莽莽...."常量就是在生活中不可以改变的内容。
2.2 开发中对于常量分类
整数:
1 2 3 4 5 -1 -2 -3 -4 -5 0
小数(浮点数):
3.14 0.618 9.8 1998.99真假关系(布尔类型):
true false字符:
[重点] Java中的字符是使用英文单引号包含的单个元素
'A' 'B' 'C' '1' '你'
字符串:
[重点] Java中的字符串是使用英文双引号包含的所有内容
"老马烧烤" "淼庄地锅鸡" "新疆拉条烧烤城"
// 常量演示
class Demo1 {
public static void main(String[] args) {
// 整数
System.out.println(10);
System.out.println(20);
System.out.println(-10);
System.out.println(-20);
// 浮点数
System.out.println(3.14);
System.out.println(0.618);
// 布尔类型
System.out.println(true);
System.out.println(false);
// 字符类型
System.out.println('A');
System.out.println('B');
System.out.println('C');
// 字符串
System.out.println("老马烧烤,京广路保全街交叉口向东350米路北");
}
}
2.3 字符常量
2.3.1 编码集
常用编码集:
GBK 新国标,包含中文简体字和所有少数民族文字
GB2312 老国标,包含中文简体字和一部分少数民族文字
BIG5 中文繁体字编码集,主要用于 中国台湾省,中国香港,中国澳门,新加坡
UTF-8 万国码,目前开发中使用最多编码集
ASCII 美丽国XXX标准协会制定编码开发使用字符要求:
1. 字符有且只允许使用字符本身,不允许使用对应编码值。【数据类型一致化】
2. 编码集中 0 ~ 31 编码为不可见字符
3. 大写字母编码值小于小写字母,并且大写字母和小写字母编码中间相隔其他字符
4. 数字字符是从 0 ~ 9
5. 编码值不允许直接使用!!!
2.3.3 面试题
请问:
\40 是什么???
知识点:
1. \ 之后的数值要求为 八 进制
2. 八 进制在 \ 之后可以省略标记 0
3. \40 是对应编码为 32 的 sp 空格
3.变量
3.1 Java中定义变量的格式
基本格式:
数据类型 变量名 = 初始化数据;数据类型:
明确当前变量的数据类型,开发中需要选择合适的数据类型。
变量名:
见名知意,按照规范定义,并且在一定范围以内唯一
=:
将赋值号右侧的数据,赋值给左侧的【变量】
初始化数据:
根据程序所需,数据类型所需,选择合适的初始化数据进行赋值操作。
3.2 基本数据类型【重点】
3.2.1 整型
数据类型 | 占用内存空间大小 | 数据存储范围 |
byte | 1字节(8bit) | -128 ~ 127 |
short | 2字节 (16bit) | -32768 ~ 32767 |
int | 4字节 (32bit) | -2^31 ~ 2^31-1 |
long | 8字节 (64bit) | -2^63 ~ 2^63-1 |
3.2.2 浮点类型
数据类型 | 占用内存空间大小 | 数据存储范围 |
float | 4字节 (32bit) | 10^38 |
double | 8字节 (64bit) | 10^308 |
3.2.3 布尔类型
数据类型 | 占用内存空间大小 | 数据存储范围 |
boolean | 视情况而定 | true false |
3.2.4 字符类型
数据类型 | 占用内存空间大小 | 数据存储范围 |
char | 2字节(16bit) | 可以存储中文 |
3.3 定义变量
// 变量定义演示
class Demo3 {
public static void main(String[] args) {
/*
整型变量定义
基本格式:
数据类型 变量名 = 初始化数据;
*/
byte byteNumber = 10;
short shortNumber = 20;
int intNumber = 30;
long longNumber = 500L;
System.out.println(byteNumber);
System.out.println(shortNumber);
System.out.println(intNumber);
System.out.println(longNumber);
// 浮点型变量定义
float floatNumber = 3.14F;
double doubleNumber = 3.14;
System.out.println(floatNumber);
System.out.println(doubleNumber);
/*
字符类型变量定义
【强调】字符类型有且只允许使用字符本身,不允许操作编码值
ch ==> character 字符
*/
char ch1 = 'A';
char ch2 = '你';
System.out.println(ch1);
System.out.println(ch2);
/*
布尔类型变量定义
ret ==> result 结果
*/
boolean ret1 = true;
boolean ret2 = false;
System.out.println(ret1);
System.out.println(ret2);
}
}
3.4 变量定义问题
3.4.1 float 类型变量赋值问题
在计算机中为了保证数据类型精度和存储的完整性,小数(浮点数)常量默认采用的数据类型存储方式为 double。使用 double 类型的常量赋值一个 float 类型变量,会导致数据精度丢失同时数据存储完整性也存在影响。
解决方案:
明确告知计算机当前常量为 float 类型。在常量之后加上【大写 F】
float floatNumber = 3.14F;
3.4.2 long 类型变量赋值建议
Java 代码中整数默认选择数据类型为 int 类型,我们建议在给予 long 类型变量赋值的过程中,选择常量标记【大写 L】。明确告知计算机当前常量为 long 类型。
案例:
long longNumber = 500L;
3.4.3 变量未赋值不能使用
Java 中规定,变量在未赋值的情况下,不可以参与除赋值之外的其他语句操作。
3.4.4 字符类型常量有且只允许使用字符本身
4. 标识符命名规范
标识符有哪些内容
变量名,方法名,类名,接口名,程序员自己定义的名字。1. AJCG规定,标识符有且只可以使用 英文字母(A ~ Z a ~ z), 数字(0 ~ 9),以及唯一可以使用的标点符号下划线(_)
2. AJCG规定,标识符要求英文字母开头,不允许其他字符开头
3. AJCG规定,标识符严格区分大小写,大写和小写含义不同。
4. AJCG规定,标识符没有严格的长度限制,会根据实际情况限制标识符长度。
5. AJCG规定,标识符要求做到【见名知意,动宾结构】
例如:
错误案例:
int a,b,c,d,e,f,g;
正确案例:
studentAge studentName studentScore studentGender
getStudentAge setStudentAge
6. AJCG规定,推荐采用驼峰命名法和下划线命名法
驼峰命名法
小驼峰
要求首字母小写,之后的每一个单词首字母大写
适用于: 变量名,方法名
iPhone iMac iTouch iPod iPad
studentAge studentName studentScore studentGender
getStudentAge setStudentAge
大驼峰
要求所有单词首字母大写
适用于: 类名,接口名
Demo1 Demo2 Demo3
FirstJava BufferedOutStream ArrayIndexOutOfBoundsException
下划线命名法
所有字母全部大写,使用下划线分割
MAX_VALUE MIN_VALUE MAX_ARRAY_SIZE DEFAULT_CAPACITY
NORMAL_PRIORITY
7.AJCG规定,已经被 Java 占用的关键字和保留字不得用于自定义标识符使用。
变色都不能用!!!
int int = 10; 不允许!!!