一 、变量
1.计算机的内存类似于人的大脑,计算机使用内存来记忆大量运算时要使用数据。内存是一个物理设备,如何来存储一个数据呢?很简单,把内存想象成一间旅馆,要存储的数据就好比要住宿的客人。
首先,旅店的服务人员会询问要住什么样的房间,如:单人间、双人间、总统套间;然后,根据选择的房间类型,服务员会安排合适的房间。“先开房间,后住”就描述了数据存入内存的过程。
首先,根据数据类型的类型为它在内存中分配一块空间(即找一个合适的房间),然后数据就可以放进这个空间(即入住)。
那么为什么对存储空间有要求呢?试想有3个客人,服务员就安排了一个人单人间,这能入住吗?分配的空间过小,会导致数据无法存储。
数据被存储在内存中,目的是便于在需要时取出来使用,或者如果这个数据被改变了,内存中存储的值也会随之相应的更新,以便下次使用新的数据。
变量是一个数据存储空间的表示
变量与房间的对应关系
旅馆中的房间 | 变量 |
房间名称 | 变量名 |
房间类型 | 变量类型 |
入住客人 | 变量的值 |
通过变量名可以简单快速的找到存储数据。将指定给变量,就是将数据存储到以别名为变量名的那个房间;调用变量,就是将那个房间中的数据取出来。可见,变量是存储数据的一个基本单元,不通的变量相互独立。
二、数据类型
1.常见的Java数据类型
数据类型 | 说明 | 举例 |
int | 整型 |
用于存储整数,例如,学生 人数,某公司的员工编号、一年的天数,一天的小时数 |
double | 双精度浮点型 | 用于存储带有小数的数字,例如,商品的价格、世界银行给其他国家的贷款金额、员工工资 |
char | 字符型 | 用于存储单个字符,例如,性别'男','女'、成绩'优'或'良' |
String | 字符串型 | 用于存储一串字符,例如,员工姓名、产品型号、产品的介绍信息 |
上面提到“根据数据的类型为它在内存中分配一块空间”,数据得到类型是整数、小数还是字符,不同的数据在存储是需要的空间各不相同,例如,int类型的数值要占4个字节,而double型数值占8个字节,因此,不同类型的数据就需要不同大小的内存空间来存储,其中,int、double、char都是Java定义的关键字。
2.变量的声明和使用
(1)声明变量,即“根据数据类型在内存重申请一块空间”,这里需要给变量名
语法: 数据类型 变量名
1 double score; //声明双精度浮点型变量score存储分数 2 String name; //声明字符串型变量name存储学生姓名 3 char sex; //声明字符型变量sex存储性别
(2)给变量赋值,即“将数据存储至对应的内存空间”
语法: 变量名 值
1 score = 98.5 //存储98.5 2 name = "张三" //存储“张三” 3 sex = '男' //存储‘男’
这样的分解步骤有点繁琐,也可以将步骤(1)(2)合二为一,在声明一个变量的同时给变量赋值。
语法: 数据类型 变量名 = 值
1 double score = 98.5; 2 String name= "张三"; 3 char sex = '男';
(3)调用变量。使用存储的变量,我们称之为“调用变量”。
1 1 System.out.println(score); //从控制台输出变量score存储的值 2 2 System.out.println(name); //从控制台输出变量name存储的值 3 3 System.out.println(sex); //从控制台输出变量sex存储的值
另外;理论上两种方法都各有好处。要注意的是“变量都必须声明和赋值之后才能使用”。
3.变量命名规范
序号 | 条件 | 合法变量名 | 非法变量名 |
1 | 变量名必须以字母开头,下划线“_”或“$”符号开头 |
_myCar score1 SmyCar graph_1 |
*myvariable1 //不能以*开头 9vaeible //不能以数字开头 variable% //不能包含% a+b //不能包括+ My Variable //不能包括空格 t1-2 //不能包括连字符 |
2 | 变量可以包括数字,但不能以数字开头 | ||
3 | 除了“_”或“$”字符以外,变量名不能包含任何特殊字符 | ||
4 | 不能使用Java语言的关键字,如int、class、public等 |
(1)Java命名长度没有任何限制,但是Java语言区分大小写,所以price和Price是两个完全不同的变量
(2)Java关键字,如 public、int、class、boolean、void、static等,都不能用作变量名、类名、包名
(3)变量名要简短且能清楚的表明变量的作用,可以由一个或多个单词组成,通常第一个单词的首字母小写,其后单词首字母大写
例如:int ageOfStudent; //学生年龄
int ageOfTeacher; //教师年龄
(4)定义变量名时,尽量不要使用一些简单的字母作为变量名,如a、b、c等,这样尽管正确,但是以后发现,如果以后有100个变量,在使用时就分不清楚代表什么意思
所以尽量使用一些有意义的单词。