1、标识符与关键字
1.1、标识符
像类名就是标识符。
- 标识符可以由字母、数字、下划线(_)和美元符($)组成,不能以数字开头,并且不能有空格
- 标识符严格区分大小写
- 标识符的命名最好能反映出其作用
如下图所示, 紫颜色字体的都为关键字。
1.2、关键字
abstract | boolean | break | byte | case |
char | class | continue | default | do |
else | extends | false | final | finally |
for | if | implements | import | native |
interface | long | inatanceof | new | null |
private | protected | public | return | short |
super | switch | synchronized | this | throw |
transient | true | try | void | volatile |
像
goto
在Java中为保留字,这里不再扩展。
2、变量与数据类型
2.1、变量
- 所谓变量即程序当中数据临时存放的场所,变量是存储到内存当中,在Java中我们用三个元素来描述变量:变量类型、变量名及变量值。
- 比如一个酒店有单人间、标准间和商务间三种类型,里面有101、102等房间,里面会住宿客人,这便对应了上面的三种元素,即房间类型就是变量类型,房间号就是变量名,而房间所住客人即为变量值。我们可以将所需类型的数据保存在指定类型的变量当中,这样可以通过变量名来定位变量(相当于我们可以通过房间号来快速找到客人是一样的道理)。
- 变量名的命名规则:
- 满足标识符的命名规则(前提)。
- 符合驼峰法命名规范。
- 尽量简单,做到见名知意。
- 变量名的长度没有限制
- 类的命名规则:
- 满足Pascal的命名规范。
2.2、数据类型
- 数据类型
- 基本数据类型
类型 | 说明 | 封装类 | 位 | 字节 | 范围 | 默认值 |
---|---|---|---|---|---|---|
byte | 字节型 | Byte | 8 | 1 | -2^7~2^7-1 | 0 |
short | 短整型 | Short | 16 | 2 | -2^15~2^15-1 | 0 |
int | 整型 | Integer | 32 | 4 | -2^31~2^31-1 | 0 |
long | 长整型 | Long | 64 | 8 | -2^63~2^63-1 | 0L |
float | 单精度浮点型 | Float | 32 | 4 | 1.4E -45~3.4028235E 38 |
0.0f |
double | 双精度浮点型 | Double | 64 | 8 | 4.9E -324~1.7976931348623157E 308 |
0.0d |
char | 字符型 | Character | 16 | 2 | 0~65535 | ‘\u0000’(Unicode码) |
boolean | 布尔型 | Boolean | 8 | 1 | true/false | false |
解释:1.4
E
-45表示1.4乘以10的负45次方。
3、数据类型的字面值及变量的定义
- 在Java源代码中,字面值用于表示固定的值(fixed value)(在Java当中,我们我们有时候会将字面值称为常量,它是表示常量与变量的实际表示的数值)。数值型的字面值是最常见的,字符串字面值可以算是一种,当然也可以把特殊的null当做字面值。字面值大体上可以分为整型字面值、浮点字面值、字符和字符串字面值、布尔字面值及特殊字面值。
3.1、整型字面值及变量声明
- Java中有三种表示整数的方法:十进制、八进制、十六进制(进制转换这里不再赘述)。
- 十进制:包括0~9十个数字,如123,7895等
- 八进制:以0开头,包括0~7的八个数字,如037、056等。
- 十六进制:以0x或0X开头,包括0~9的十个数字及a~f(或者A~F)六个字母,如0x12、0xabcf、0XABCFF及0x1abcL(这个为长整型的十六进制数)等。
- 变量声明格式:
数据类型
变量名;
例如int count=123;
long longNum=12345L;
等等。
3.2、浮点型字面值
- 浮点型字面值默认情况下表示double类型,也可在值后加d或D(在一个整数后面不加字母表示默认表示int类型,而浮点型后面不加字母默认表示double类型)。比如123.45d或123.45D。
- 如表示float类型,则需要在字面值后面加f或F。如23.4f或23.4F。
3.3、局部变量的存储方式
- 按数据类型划分:
- 数据类型分为基本数据类型和引用数据类型
- 引用数据类型包括数组和类等
- 类定义的变量又叫对象
- 按照作用范围划分(4个级别):
- 类级、对象实例级、方法级、块级。(在这部分主要说的是方法级别的变量)
- 方法级别的变量又叫做局部变量,局部变量存储在内存当中的栈区域,比如:
int n=100;
下图为存储示意图
- 方法级别的变量又叫做局部变量,局部变量存储在内存当中的栈区域,比如:
- 类级、对象实例级、方法级、块级。(在这部分主要说的是方法级别的变量)
3.4、字符型字面值
3.4.1、字符型字面值
- 字符型字面值用单引号内的单个字符表示,如’a’、’b’、’$’等(只能有一个字符)。
- 定义:例如,
char a=‘a’; char ch=65;
(这里的65是Ascii码值,输出为A)。
3.4.2、ASCII编码
- ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)。
- ASCII是基于拉丁字母的一套电脑编码系统。
- 主要用于显示现代英语和其他西欧语言。
- 使用7位或8位二进制数组来表示128或256种可能的字符。
- 7位二进制数组合为标准的ASCII码,用来表示
大小写字母
、标点符号
和美式英语中的控制字符等
。 - 8位二进制数组合(后128位)为扩展ASCII码,用来表示
特殊字符及外来语言的字母
、图形符号等
。 - 具体的ASCII表请自行百度。
- 7位二进制数组合为标准的ASCII码,用来表示
- 使用7位或8位二进制数组来表示128或256种可能的字符。
3.4.3、Unicode编码
- 上面提到ASCII码是美国标准信息交换码,因此它只支持一些英文字符和一些特殊字符等,即它不能支持所有的语言,这就要说到Unicode编码了。
- Unicode编码又称为统一码、万国码。是计算机领域的一项业界标准。
- Unicode编码的目标是支持世界上所有的字符集。
- 例如:
char c='\u005d';
(这样的表示法即为Unicode码(最终形式为']'
),以\u
开头,后面跟着一个十六进制数)。
- 例如:
3.4.4、转义字符
转义字符 | 描述 |
---|---|
\uxxxx | 四位16进制数所表示的字符 |
\’ | 单引号字符 |
\” | 双引号字符 |
\ | 反斜杠字符 |
\r | 回车(光标会放到这行的最开始) |
\n | 换行(光标会换到下一行) |
\t | 横向跳格(即Tab键) |
\b | 退格 |
平常所说回车是回车和换行两个效果。
3.5、布尔类型和字符串的字面值
- 布尔类型的字面值只能定义为true和false(在C用语言中还能用0、1表示,Java中则不行),如
boolean b=true;
- 字符串不属于基本数据类型,它是类!
- 字符串字面值是用双引号引起来的0个或多个字符来表示。举例略。
- 在字符串中空格也占一个字符,因此在计算字符串长度时,也要将空格包含在内。
3.6、特例
- 1.在Eclipse中输入以下代码:
public class HelloWorld {
public static void main(String[] args) {
//下面会将转义字符转换为对应的数字,\t变为数字9,\n变为数字10
int x=3,y=5;
System.out.print(x+'\t'+y+'\n');
System.out.println();
//修改上面的的形式
System.out.print(""+x+'\t'+y+'\n');
//定义一个汉字的字符
char ch='星';
System.out.println(ch);
//定义一个变量名为中文的字符(不建议中文作为变量名)
char 中文='中';
System.out.println(中文);
//用科学技术法表示浮点类型数据(E大小写均可)
double d=1.23E5;
float f=1.23E5f;
double e=.2;
System.out.println("d="+d);
System.out.println("f="+f);
System.out.println("e="+e);
}
}
- 2.运行结果如图所示:
4、数据类型转换
- 类型转换分为自动类型转换(又叫隐式类型转换)和强制类型转换。
- 强制类型转换会引起数据丢失的。
- 自动类型转换顺序:数据类型范围小的可以自动转换为数据类型范围大的
- 如下图所示:
- 如果A类型的数据表示范围比B类型大,则将A类型的值赋值给B类型,需要进行强制类型转换。如:
double d=123.4; float f=(float)d;
5、常量
- 常量在定义时要加上final关键字.
- 常量不允许被修改。
- 常量的常量名一般使用大写字母来命名的。
- 举个例子:
final int N=5; final double PI=3.14; final int MIN_VALUE=0;