黑马程序员--Java语言基础组成 —关键字、常量与变量
Java语言基础组成
2.1 关键字
关键字的定义和特点 |
||||
定义:被Java语言赋予了特殊含义的单词 特点:关键字中所有字母都为小写 |
||||
用于定义数据类型的关键字 |
||||
class |
interface |
byte |
short |
int |
long |
float |
double |
char |
boolean |
void |
|
|
|
|
用于定义数据类型值的关键字 |
||||
trur |
false |
null |
|
|
用于定义流程控制的关键字 |
||||
If |
else |
switch |
case |
default |
while |
do |
for |
break |
continue |
return |
|
|
|
|
2.2标识符:
l 在程序中自定义的一些名称
l 由26个英文字母大小写,数字,0-9 符号:_ $组成
l 定义合法的标识符规则
1.数字不可以开头
2.不可以使用关键字
l Java中严格区分大小写
l 注意:在起名字时,为了提高阅读性,要尽量有意义
2.3 Java中的名称规范:
1.包名:多单词组成时所有字母都小写
2.类名接口名:多单词组成,所有单词首字母大写
XxxYuuZzz
3.变量名和函数名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写
xxxYyyZzz
4.常量名:所有字母都大写,多单词时每个单词用下划线连接,
XXX_YYY_ZZZ
2.4常量与变量
2.4.1 常量
l 常量表示不能改变的数值
l Java中的常量的分类:
- 整数常量。所有整数
- 小数常量。所有小数
- 布尔型常量,较为特有,只有两个小数值,true,false
- 字符常量,将一个数字字母或者符号用单引号(‘’)标识
- 字符串常量,将一个或多个字符用双引号标识
- Null常量,只有一个数值就是null
l 对于整数:java有三种表现形式
十进制:0-9,满10进1
八进制:0-7,满8进1,用0开头表示
十六进制:0-9,A-F,满16进1,用0x开头
2.4.2 进制的基本转换
1.十进制——>二进制
例:6的二进制
原理:对十进制数进行除2运算
6的二进制就是110
2.二进制——>十进制
原理:二进制乘以2的过程
例:110的十进制
由右面开始乘
快捷算法:
将00110101转换成十进制
0对应的值不需要管,将1对应的值相加就是十进制的值
使用二进制进行加法运算
规则:逢二进以
5+4=9
3. 其他进制转换:
转成16进制,四个二进制位就是一个16进制位
0101-1010
转成8进制
三个二进制位代表一位
01011010
4. 负数的二进制的表现形式:
6=110
-6:其实就是6的二进制取反+1
取反:将二进制的0变成1,1变成0
6在内存中是这样的,补齐八位
0000—0000 0000—0000 0000—0000 0000—0110
取反:
1111—1111 1111—1111 1111—1111 1111—1001
然后加1
负数的最高位都是1。
2.4.3 变量:
就是将不确定的数据进行存储,也就是需要在内存中开辟一个空间
开辟空间就是明确数据类型,变量名称,数据来完成的
该区域的数据可以是同一类型范围内不断变化
Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存中分配了不同大小的内存空间
定义变量的格式:
数据类型 变量名=初始值;
Int x=4;
Byte b=2;//-128~127
Short s=30000;
Long l=4l;//定义long型时要在末尾添加L
Float f=2.3f;//小数默认是double类型,如果想使用float类型,需要在末尾添加f
Double d=34.56;
Char ch=’4’;//char类型占2个字节
Char ch1=’a’;
Char ch2=’+’;
Char ch3=’ ’;
Boolean bo=true;
Boolean bo1=false;
什么时候定义变量:
当数据不确定的时候,需要对数据进行存储时就定义一个变量来完成存储动作
例:
byte b=3;
b=b+2;
这个在编译时会报错,因为,在b+2过程中有数据类型提升,将byte类型的b,提升为跟int 类型2一样的类型,这样b+2的结果就是int类型,然后将int类型的结果赋值给byte类型的b,这时会报错,所以要将b+2强制转换成byte型为
byte b=3;
b=(byte)(b+2);
这样就正常了
字符类型:char
在ASCII码表中,将字母都用数字来标识
例:
System.out.println(‘a’+1);
打印结果为98,
因为字符a在ASCII码表中字母a对应的数字表现形式是97 ,而‘a‘+1中有个类型提升过程,要将char类型提升为int类型,这样都占4个字节,这样一来,字符的数字形式就体现出来了,97+1=98
Char的强制转换
System.out.println((char)5);//将数字5强行转换成字符形式