常量和变量的区别
常量
1.1生活中的常量
数值单位
比如说圆周率π
一年有12个月
一小时有60分钟
文字
1 2 3 4 5
A B C D E
你 我 他
文本
“床前明月光,疑是地上霜…”
“千里冰封,万里雪飘…”
不能改变的内容
数据,文本,文字等等…
1.2 开发中使用的常量
整数
1 2 3 4 5 -1 -10 -8 …
小数(浮点)
0.618 3.1415926 3.9
真假关系
T ==> true F ==> false
布尔类型 ==> boolean
文字 字符类型
‘你’ ‘我’ ‘他’
‘A’ ‘B’ ‘C’ ‘D’ ‘1’ ‘2’
【要求】Java中规定,字符类型常量是使用【英文单引号】包含的【单个元素】
‘你我他123’ 这种是错误的
文本 字符串类型
“床前明月光,疑是地上霜…”
“千里冰封,万里雪飘…”
【要求】 Java中规定,字符串常量是使用【英文双引号】包含的【所有内容】
class Demo1 {
public static void main(String[] args) {
/* 整数 */
System.out.println(10);
System.out.println(-10);
/* 浮点类型数据 */
System.out.println(11.11);
System.out.println(0.618);
/* 布尔类型数据 */
System.out.println(true);
System.out.println(false);
/* 字符类型数据 */
System.out.println('a');
System.out.println('你');
System.out.println('5');
/* 字符串类型数据 */
System.out.println("床前明月光,疑是地上霜");
System.out.println("千里冰封,万里雪飘");
}
}
1.3.1字符类型常量
在计算机中,文字都是一张图片,不同的环境,不同的规范中,每一个文字对应的编码是不一致的,就会存在不同的编码集。
开发中场景编码集:
GBK: 中国的新国标,主要包含中文简体字和中国所有少数民族文字。也是目前Windows操作系统中文版,默认的编码集形式。
BIG5: 中文繁体字编码集,主要流行于中国香港,中国澳门,中国台湾省和新加坡
UTF-8: 万国码,支持目前较为流行的所有语言,支持中文。也是我们开发中使用最多的编码集。
ASCII: 美国XXXXXXXX标准协会制定的编码,low的不行~~~ 主要包含英文,数字,标点符号
ASCII码表中需要关注的内容:
1. 0 ~ 31 前 32个字符是不可见字符
2. 大写字母编码值小于对应的小写字母
3. 【明令禁止】禁止使用编码值,所有的字符全部使用字符本身
‘A’ ‘a’
【重点关注】 在开发中编码集的统一使用,避免中文乱码问题,后期使用最多的是UTF-8.
八进制ASCII码表:
标准十进制ASCII码表:
1.3.2 转义字符
在开发中存在一些字符带有特定含义,如果需要使用当前字符本身,而不是特定的含义,需要使用转义字符来进行操作。
转义字符特定标记 \ 反斜杠
[转义字符标记 \ 有且只能处理之后的第一个字符]
1.有含义 ==> 无含义
\" \ ’ \\
这里需要两个\ \ == >
\\\\
- 无含义 ==> 有含义
\n 换行
变量
1.1 生活中的变量
温度 体重 发量
变量的描述存在一个单位问题
温度 摄氏度 华氏度
体重 KG 斤
发量 根
容器的概念
醋,酱油,香油
独立名称
变量的特征:
1. 有名称,而且名称具有独立性,唯一性
2. 占用一定的空间
3. 单位问题,不同的变量,采用不同的计量方式
2.1 Java中基本数据类型
2.1.1 整型
整型 | 占用内存空间大小 | 数据范围 |
---|---|---|
byte | 1字节 | -128 ~ 127 |
short | 2字节 | -32768 ~ 32767 |
int | 4字节 | - 2 ^ 31 ~ 2 ^ 31 - 1 |
long | 8字节 | - 2 ^ 63 ~ 2 ^ 63 - 1 |
2.1.2 浮点型
浮点型 | 占用内存空间大小 | 数据范围 |
---|---|---|
float | 4字节 | 10^38 |
double | 8字节 | 10^308 |
2.1.3 布尔类型
布尔类型 | 占用内存空间大小 | 数据范围 |
---|---|---|
boolean | 视情况而定 | true/false |
字符类型
字符类型 | 占用内存空间大小 | 数据范围 |
---|---|---|
char | 2字节 | 可以保存单个文字 |
2.2 注意事项
- 在开发中选择合理的数据类型,需要考虑当前数据占用空间和合理范围
举例说明:
年龄 short/int
身高 short/int
工资 double/long - 在选择数据类型过程中,可能需要考虑数据变化过程,数据急剧增长,事先需要准备较大数据类型。数据延展性考虑
举例说明:
数据的阶乘结果 double
斐波那契数列 double
棋盘放入麦粒问题 double - 需要背诵每一个数据类型对应单词和对应的占用内存空间
2.3 命名规则
名字在开发中,主要有 变量名,方法名,数据类型名…
邮箱注册:
6~18个字符,可使用字母、数字、下划线,需要以字母开头
邮箱名称不得重复!!!
AJCG 阿里巴巴Java开发规约
1. 在Java开发中,标识符(名字)有且只能使用英文字母(A ~ Z, a ~ z), 数字(0 ~ 9)以及唯一可以使用的标点符号 _ (下划线)
2. 在Java开发中,标识符(名字)有且只允许使用字母开头
3. 标识符(名字)严格区分大小写。
4. 标识符(名字)没有严格的长度限制,但是会根据实际情况约束对应的长度
5. 标识符(名字)要求【见名知意,动宾结构】
【符合规范】
studentAge studentName
getStudentAge setStudentName
[以下内容都是不符合规范的名称]
int a, b, c, d, e, f, g;
img1.jpg img2.jpg img3.jgp img4.jpg img5.jpg
[错误情况]
payTime payBeiZhu
ez lg lp yy yy1 yy2 yy3
tsgly 图书管理员
6. 标识符要求符合命名规则
a. 驼峰命名法
小驼峰 适用于 变量名,方法名
studentAge studentName
getStudentAge setStudentName
大驼峰 适用于 数据类型名
FirstJava PreparedStatement
b. 下划线命名法
MAX_VALUE MIN_VALUE MAX_FILE_SIZE
DEFAULT_CAPACITY MAX_ARRAY_SIZE
7. 已经被Java使用的关键字和保留字不得用于自定义标识符(名字)
FirstJava PreparedStatement
b. 下划线命名法
MAX_VALUE MIN_VALUE MAX_FILE_SIZE
DEFAULT_CAPACITY MAX_ARRAY_SIZE
7. 已经被Java使用的关键字和保留字不得用于自定义标识符(名字)
变色的都不能用 class public static void int double