一:标识符命名规则:
1:字母、数字、下划线,$符号组成(在C语言中没有美元符号)
2:首字母不能是数字
3:不能是关键词
4:需要区分大小写
二:在Java中的数据类型,主要分为基本类型和引用类型
1 基本类型:整型:byte、short、int、long
小数:float、double
布尔:boolean
字符:char
注意:
1 其中8个比特位就是一个字节,字节用B表示
2 int在任何系统下都是4个字节
3 变量在使用之前必须赋值,否则将编译出错
4 boolean类型在java中只能取值是true、false,表示真假的没有1表示真,0表示假的说法。
2 引用类型:数组、字符串、类、接口、枚举、类等等(对于引用类型,创建需要用new关键字)
三:隐式的自动转换:
System
.
Out
.
println
(
1024
);
//
整型默认情况下是
int
System
.
Out
.
println
(
3.14
);
//
浮点型默认情况下是
double
int
a
=
100
;
long
b
=
10L
;
b
=
a
;
// a
和
b
都是整形,
a
的范围小,
b
的范围大,当将
a
赋值给
b
时,编译器会自动将
a
提升为
long
类型,然后赋值
a
=
b
;
//
编译报错,
long
的范围比
int
范围大,会有数据丢失,不安全
注意:隐式的自动转换不成功,那么就必须要显式的强转,但也需要注意:
1.
不同数字类型的变量之间赋值
,
表示范围更小的类型能隐式转换成范围较大的类型
2.
如果需要把范围大的类型赋值给范围小的
,
需要强制类型转换
,
但是
可能精度丢失
3.
将一个字面值常量进行赋值的时候
, Java
会自动针对数字范围进行检查
4.
强制类型转换不一定能成功,不相干的类型不能互相转换
四:类型的提升:
不同类型的数据之间相互运算时,数据类型小的会被提升到数据类型大的。
1.
int
与
long
之间:
int
会被提升为
long
int
a
=
10
;
long
b
=
20
;
int
c
=
a
+
b
;
//
编译出错
: a + b==
》
int + long--> long + long
赋值给
int
时会丢失数据
long
d
=
a
+
b
;
//
编译成功:
a + b==>int + long--->long + long
赋值给
long
2.
byte
与
byte
的运算
结论
:
byte
和
byte
都是相同类型
,
但是出现编译报错
.
原因是
,
虽然
a
和
b
都是
byte,
但是计算
a + b
会先将
a
和 b 都提升成
int,
再进行计算
,
得到的结果也是
int,
这是赋给
c,
就会出现上述错误
.
由于计算机的
CPU
通常是按照
4
个字节为单位从内存中读写数据
.
为了硬件上实现方便
,
诸如
byte
和
short
这 种低于 4
个字节的类型
,
会先提升成
int,
再参与计算
.
正确的写法
:
byte
a
=
10
;
byte
b
=
20
;
byte
c
=
(
byte
)(
a
+
b
);
System
.
out
.
println
(
c
);
【
类型提升小结
:
】
注意:不同类型的数据混合运算
,
范围小的会提升成范围大的
. 对于 short, byte
这种比
4
个字节小的类型
,
会先提升成
4
个字节的
int ,
再运算
.
3 字符串类型:
public static
void
main
(
String
[]
args
) {
String
s1
=
"hello"
;
String
s2
=
" world"
;
System
.
out
.
println
(
s1
);
System
.
out
.
println
(
s2
);
System
.
out
.
println
(
s1
+
s2
);
// s1+s2
表示:将
s1
和
s2
进行拼接
}
注意:int转成String:
int
num
=
10
;
//
方法
1
String
str1
=
num
+
""
;
//
方法
2
String
str2
=
String
.
valueOf
(
num
);
String 转成int:
String
str
=
"100"
;
int
num
=
Integer
.
parseInt
(
str
);
常见的关键字:
关键字在后面慢满讲