目录
1.数据存储相关
????????1.1 计算机数据存储单位
????????1.2 计算机常见进制【仅了解】
2.常量
? ? ? ? 2.1 什么是常量
? ? ? ? 2.2 Java 开发中对于常量的分类
? ? ? ? 2.3 代码演示不同常量数据效果
? ? ? ? 2.4 字符常量内容【重点】
? ? ? ? ? ? ? ? ? ? ? ? 2.4.1 字符集/编码集
? ? ? ? ? ? ? ? ? ? ? ? 2.4.2 转义字符
? ? ? ? ? ? ? ? ? ? ? ? 2.4.3 面试题
3.变量【重点】
? ? ? ? 3.1 什么是变量
? ? ? ? 3.2 Java 中定义变量的格式★
? ? ? ? 3.3 Java 中基本数据类型★
? ? ? ? ? ? ? ? ? ? ? ? 3.3.1 整型 => 整数类型
? ? ? ? ? ? ? ? ? ? ? ? 3.3.2 浮点数 => 小数类型
? ? ? ? ? ? ? ? ? ? ? ? 3.3.3 字符型
? ? ? ? ? ? ? ? ? ? ? ? 3.3.4 布尔类型 => 真假关系
? ? ? ? 3.4符合 AJCG 阿里巴巴 Java 开发规约的命名方式★
? ? ? ? 3.5 定义变量代码演示
????????????????????????3.5.1 Java 中定义整型变量演示
? ? ? ? ? ? ? ? ? ? ? ? 3.5.2 Java 中定义浮点型变量演示
? ? ? ? ? ? ? ? ? ? ? ? 3.5.3 字符型
? ? ? ? ? ? ? ? ? ? ? ? 3.5.4 布尔类型
? ? ? ? 3.6 常见问题处理
? ? ? ? ? ? ? ? ? ? ? ? 3.6.1 赋值 float 类型变量问题
? ? ? ? ? ? ? ? ? ? ? ? 3.6.2 赋值long 类型变量建议
? ? ? ? ? ? ? ? ? ? ? ? 3.6.3 字符类型变量赋值对应的常量必须是字符本身,不允许使用编码值
? ? ? ? ? ? ? ? ? ? ? ? 3.6.4 变量未赋值不能使用
? ? ? ? ? ? ? ? ? ? ? ? 3.6.5 变量未定义不能使用
1.数据存储相关
????????1.1 计算机数据存储单位
【注意】
????????计算机中的最小存储单位 字节 byte
目前 Windows 操作系统中,数据存储进制关系是 1024 2的十次方
????????1024 byte ==> 1 KB
????????1024 KB ==> 1 MB
????????1024 MB ==> 1 GB
????????1024 GB ==> 1 TB
????????1024 TB ==> 1 PB
????????1024 PB ==> 1EB
工业生产中,数据存储单位的进制关系是 1000 ;macOS 系统使用的数据存储进制关系也是 1000
????????1.2 计算机常见进制【仅了解】
进制 | 基数范围 | 进制关系 | 十进制 | 0~9 | 逢十进一 | 二进制 | 0,1 | 逢二进一 | 八进制 | 0~7 | 逢八进一 | 十六进制 | 0~9 A~F | 逢G(十六)进一 |
数据展示形式 ?? ?八进制数 ?? ??? ?【注意】一般情况下使用 0 开头,特定情况下 0 可以省略 ?? ??? ?例如: 0777 0755 0775 0123 0456 ? ? ? ?? ?? ?十六进制 ?? ??? ?【注意】十六进制数要求 0x 开头,在数据展示过程中,存在省略 0x 的情况 ?? ??? ?例如: 0x6D06D69c 0x123456 0xFFFFFF
进制转换 ?? ?二进制转十进制,转八进制,转十六进制。 ?? ?完全可以利用【计算器 编程型/程序员】得到对应的进制数据转换 ?? ?例如; ?? ??? ?118(10) ?? ??? ??? ?0x76(16) ?? ??? ??? ?0166(8) ?? ??? ??? ?0111 0110(2)
2.常量
? ? ? ? 2.1 什么是常量
????????????????数值(1、1.5、π);文字(你、我、他);文本;
????????????????常量:不可以改变的数据内容
? ? ? ? 2.2 Java 开发中对于常量的分类
整数:1? ? ? ? 2? ? ? ?-1? ? ? ? -2
浮点数(小数)3.1415926? ? ? ? 0.618
布尔类型(真假关系)true? ? ? ? false
字符????????【注意】Java中字符常量是使用 英文单引号包含的单个元素。例如: ?? ??? ?'a' 'b' 'c' 'd' ?? ??? ?'A' 'B' 'C' 'D' ?? ??? ?'你' '我' '他' '1' '2' '3'? ?? ??? ?'123' 为错误情况
字符串????????【注意】Java中的字符串,要求使用英文双引号包含的是所有内容。例如: ?? ??? ?"河南加油"
? ? ? ? 2.3 代码演示不同常量数据效果
/*Java 中常量基本效果展示*/
class Demo1 {
public static void main(String[] args) {
//整数
System.out.println(1);
System.out.println("--------------");
//浮点数
System.out.println(3.14);
System.out.println("--------------");
//布尔 true和false 是Java中的关键字
System.out.println(true);
System.out.println(false);
System.out.println("--------------");
//字符
System.out.println('a');
System.out.println('1');
System.out.println('我');
System.out.println("--------------");
//字符串
System.out.println("字符串");
}
}
? ? ? ? 2.4 字符常量内容【重点】
? ? ? ? ? ? ? ? ? ? ? ? 2.4.1 字符集/编码集
????????对于计算机而言,所有的文字都是图片,可以给予每一个文字对应的图片,独一无二的编码。不同的工作环境,不同的国家,对于文字的编码顺序是不一致的。 ????????字符集/编码集 出现问题,对于我们而言,最直观的一个效果就是【中文乱码】。在开发中,需要保证数据信息传输过程中,所使用的编码集是一致。 ?? ?????????????????前端 <==> 后台 <==> 数据库 ?? ? ?? ?常见的编码集: ?? ??? ?GB2312 老国标,包含中文简体字和部分中国少数民族文字 ?? ??? ?GBK 新国标,包含中文简体字和中国所有少数民族文字 ?? ??? ?BIG5 中文繁体字编码集,主要流行于中国台湾省,中国香港市,中国澳门市,以及新加坡 ?? ??? ?UTF-8【重点】 万国码,是目前开发常用编码集,支持中文,支持英文。 ?? ??? ?ASCII 美国XXXXXX标准协会制定的英文字母,数字字母,标点符号对应编码集,包含在所有编码集中。 ?? ??? ??? ????????所有编码集开头 0 ~ 255 编码都是 ASCII
ASCII关注的重点: ?? ?1. 字符操作,有且只允许使用字符本身,不允许使用编码值。 ?? ??? ?'A' '1' '2' 【数据类型一致化】 ?? ?2. 数字字符顺序问题 0 ~ 9 与键盘情况不同。 ?? ?3. 英文小写字母和英文大写字母 ?? ??? ?a. 大写英文字母编码值小于小写字母编码值 ?? ??? ?b. 大写字母和小写字母编码值非连续,中间有其他字符存在 ?? ??? ?c. 使用英文字母必须使用字符本身,不允许使用编码值 ?? ?4. 编码 0 ~ 31 这 32 个字符是不可见字符
标准十进制ASCII码表:
?标准八进制ASCII码表
?
? ? ? ? ? ? ? ? ? ? ? ? 2.4.2 转义字符
转义符号????????\ ?? ?a. 本身有特定含义的字符转换为 无含义字符 ?? ??? ?例如:?????????\" \' \\ ?? ??? ?【注意】\ 有且只允许处理反斜杠之后的第一个字符 ?? ??? ??? ? ?? ?b. 将部分无含义字符,转换为有一定特殊用途的字符? ?? ??? ?\n 换行 ?? ??? ?\t tab键 制表符
? ? ? ? ? ? ? ? ? ? ? ? 2.4.3 面试题
请问:?????????\40 是什么??? ? ? \40 ==> 空格 space ?? ? 涉及到的知识点: ?? ?1. \之后的数字为八进制 ?? ?2. \之后的八进制数可以省略0 ?? ??? ?\40 ==> \040 ==> 32 ==> ASCII 编码 30 的字符 ==> SP
3.变量【重点】
? ? ? ? 3.1 什么是变量
变量是在整个的存在周期中,有可能出现变化的量。
? ? ? ? 3.2 Java 中定义变量的格式★
数据类型 变量名 = 存储数据内容;
数据类型:?? ? ?? ?明确当前变量存储的数据类型是哪一个,Java是一门【强类型语言】,类型说一不二。保证【数据类型一致化】 ?? ?例如:当前数据类型为整数类型,变量有且只允许存储整数类型,不可以存储浮点数或者字符串。
变量名: ?? ?1. 变量名,具有阅读性,通识性 ?? ?2. 在一定范围内,变量名具有唯一性。
存储数据内容: ?? ?对应当前数据类型情况,变量是什么类型,赋值对应数据。【要什么,给什么,用什么,拿什么】 ?? ?例如:?变量对应的数据类型为浮点数类型,可以赋值给当前变量的数据
? ? ? ? 3.3 Java 中基本数据类型★
? ? ? ? ? ? ? ? ? ? ? ? 3.3.1 整型 => 整数类型
数据类型 | 占用内存空间大小 | 数据存储范围 | byte | 1字节 | -128~127 | short | 2字节 | -32768~32767 | int | 4字节 | -2^31~2^31-1 | long | 8字节 | -2^63~2^63-1 |
? ? ? ? ? ? ? ? ? ? ? ? 3.3.2 浮点数 => 小数类型
数据类型 | 占用内存空间大小 | 数据存储范围 | float | 4字节 | 10^38 | double | 8字节 | 10^308 |
? ? ? ? ? ? ? ? ? ? ? ? 3.3.3 字符型
数据类型 | 占用内存空间大小 | 数据存储范围 | char | 2字节 | 可以存储中文 |
? ? ? ? ? ? ? ? ? ? ? ? 3.3.4 布尔类型 => 真假关系
数据类型 | 占用内存空间大小 | 数据存储范围 | Boolean | 视情况而定 | true false |
? ? ? ? 3.4符合 AJCG 阿里巴巴 Java 开发规约的命名方式★
Java开发中可以用于程序员自定义名称的内容 ==> 【标识符】 【标识符】==> 变量名,方法名,数据类型名,接口名...
标识符命名规范: ?? ?1. AJCG 规定,Java中可以用于标识符命名使用的字符:数字(0 ~ 9) 英文字母(A ~ Z a ~ z) 唯一可以使用的标点符号:下划线( _ ) ?? ?2. 标识符必须使用英文字母开头 ?? ?3. 标识符严格区分大小写,大写和小写的含义完全不同,同时会在开发中,通过大小写的关系,区分代码内容。 ?? ?4. 标识符没有严格的长度限制,但是会根据实际的开发要求和阅读习惯,在一定范围内限制标识符长度。 ?? ?5. 标识符要求【见名知意,动宾结构】
?? ??? ?例如:【变量】 ? ? ? ? ? ?studentName studentAge studentScore? ?? ??? ??? 通过变量名称,获悉存储数据的内容,甚至于可以考虑数据类型 ?? ??? ??? ? ?? ??? ??? ?【方法名】 ?? ??? ??? ?m1 m2 fun1 fun2 错误案例 ?? ??? ??? ?getStudentName getStudentAge setStudentScore ?? ??? ??? ?通过方法名可以告知方法调用者,当前的方法功能是做什么 ?? ??? ??? ? ?? ??? ??? ?【错误】 ?? ??? ??? ??? ?1. 除特定名称之外,不得使用拼音 ?? ??? ??? ??? ??? ?alibabab √ Zhengzhou √ ?? ??? ??? ??? ??? ?xueShengDeNianLing × ?? ??? ??? ??? ??? ?tsgly × 图书管理员 ?? ??? ??? ??? ?2. 不得拼音和英语混用 ?? ??? ??? ??? ??? ?payTime √ payBeiZhu ×
?? ?6.标识符要求符合命名规则 ? ? ?? ?a. 驼峰命名法 ? ? ?? ??? ?小驼峰 ? ? ?? ??? ??? ?要求: ? ? ?? ??? ??? ??? ?标识符开头首字母小写,之后的每一个单词首字母大写 ? ? ?? ??? ??? ??? ?studentName ????????studentAge???????? studentScore ? ? ?? ??? ??? ??? ?getStudentName???????? getStudentAge ????????setStudentScore ? ? ?? ??? ??? ??? ?iPhone ????????iMac???????? iPad???????? iTouch???????? iWatch ? ? ?? ??? ??? ?适用于:??变量名,方法名
? ? ?? ??? ?大驼峰 ? ? ?? ??? ??? ?要求:?每一个单词首字母都是大写 ? ? ?? ??? ??? ??? ?FirstJava???????? Demo1 ????????ArrayIndexOutOfBoundsException[异常] ? ? ?? ??? ??? ?适用于:类名,接口名,数据类型名 ? ? ?? ??? ??? ??? ?class 之后的名称就是类名,类名要求首字母大写 ? ? ?? ??? ? ? ? ?? ?b. 下划线命名法 ? ? ?? ??? ?所有单词全部大写,利用下划线分割不同的单词 ? ? ?? ??? ?例如: ? ? ?? ??? ??? ?MAX_VALUE MIN_VALUE? ? ? ?? ??? ??? ?MAX_FILE_SIZE DEFAULT_CAPACITY MAX_ARRAY_SIZE ? ? 7. 已经被Java占用的关键字和保留字不得用于程序员自定义标识符使用,变色都不可以使用。 ? ? 8. 标识符在一定范围内唯一,不可冲突
? ? ? ? 3.5 定义变量代码演示
????????????????????????3.5.1 Java 中定义整型变量演示
class Demo3 {
public static void main(String[] args) {
byte byteNumber = 10;
short shortNumber = 20;
int intNumber = 40;
long longNumber = 80;
System.out.println(byteNumber);
System.out.println(shortNumber);
System.out.println(intNumber);
System.out.println(longNumber);
}
}
? ? ? ? ? ? ? ? ? ? ? ? 3.5.2 Java 中定义浮点型变量演示
class Demo4 {
public static void main(String[] args) {
float floatNumber = 3.14F;
double doubleNumber = 3.14;
System.out.println(floatNumber);
System.out.println(doubleNumber);
}
}
? ? ? ? ? ? ? ? ? ? ? ? 3.5.3 字符型
class Demo5 {
public static void main(String[] args) {
char ch1 = 'A';
char ch2 = 'B';
char ch3 = '你';
System.out.println(ch1);
System.out.println(ch2);
System.out.println(ch3);
}
}
? ? ? ? ? ? ? ? ? ? ? ? 3.5.4 布尔类型
class Demo6 {
public static void main(String[] args) {
boolean ret1 = true;
boolean ret1 = false;
System.out.println(ret1);
System.out.println(ret2);
}
}
? ? ? ? 3.6 常见问题处理
? ? ? ? ? ? ? ? ? ? ? ? 3.6.1 赋值 float 类型变量问题
Demo4.java:5: 错误: 不兼容的类型: 从double转换到float可能会有损失 ? ? ? ? ? ? ? ? float floatNumber = 3.14; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ^ 1 个错误
原因: ?? ?计算机中对于数据存储,核心要求是数据的完整性和精度问题,所有的浮点类型数据的常量,在计算机中都是认为是【double】类型。等价于当前赋值使用的数据类型是 double 类型,而目标存储数据的类型是 float。【数据类型一致化】未满足。
解决方案: ?? ?在给予变量赋值的常量之后加上 【大写 F】,明确告知计算机当前常量数据类型为 float 类型。
? ? ? ? ? ? ? ? ? ? ? ? 3.6.2 赋值long 类型变量建议
建议在赋值给 long 类型变量过程中,对应的常量数据加上【大写 L】,明确告知计算机当前常量为 long 类型。【数据类型一致化】
【注意】不允许使用 小写 L 增强代码的阅读性。(大写 I 小写 l 数字 1 分不清,阅读性不强)
? ? ? ? ? ? ? ? ? ? ? ? 3.6.3 字符类型变量赋值对应的常量必须是字符本身,不允许使用编码值
? ? ? ? ? ? ? ? ? ? ? ? 3.6.4 变量未赋值不能使用
?Demo7.java:5: 错误: 可能尚未初始化变量num ? ? ? ? ? ? ? ? System.out.println(num); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?^ 1 个错误
Java语言非常严谨,num在定义之后,没有赋值存储的数据内容,后期使用过程中,除赋值操作之外,其他操作一律不可以执行。
? ? ? ? ? ? ? ? ? ? ? ? 3.6.5 变量未定义不能使用
?Demo7.java:8: 错误: 找不到符号 ? ? ? ? ? ? ? ? System.out.println(nmu1); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?^ ? 符号: ? 变量 nmu1 ? 位置: 类 Demo7 1 个错误
Java中一个变量没有定义不可以使用。出现此类问题的最大情况: ?? ?1. 拼写错误!!!推荐使用 CV 大法,避免此问题 ?? ?2. 真的没定义
|