就将不确定的数据进行存储
也就是在内丰中开辟一个空间用来存放变量的。
利用声明的方式将内在中的某个内在空间保留下来以代程序使用
声明数据类型:变量名=变量值
三、数据类型
Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存中分配了不同大小的内存空间:
byte 1个字节
short 2个字节
int 4个字节
long 8个字节
float 4个字节
double 8个字节
char 2个字节
No.
|
数据类型
|
大小/位
|
可表示的数据范围
|
1
|
long(长整数)
|
64
|
-9223372036854775808 ~ 9223372036854775807
|
2
|
int(整数)
|
32
|
-2147483648 ~ 2147483647
|
3
|
short(短整数)
|
16
|
-32768~32767
|
4
|
byte(位)
|
8
|
-128 ~ 127
|
5
|
char(字符)
|
2
|
0 ~ 255
|
6
|
float(单精度)
|
32
|
-3.4E38(-3.4´1038) ~ 3.4E38(3.4´1038)
|
7
|
double(双精度)
|
64
|
-1.7E308(-1.7´10308)~ 1.7E308(1.7´10308)
|
默认值
No.
|
数据类型
|
默认值
|
1
|
byte
|
(byte)0
|
2
|
short
|
(short)0
|
3
|
int
|
0
|
4
|
long
|
0L
|
5
|
float
|
0.0f
|
6
|
double
|
0.0d
|
7
|
char
|
\u0000(空,'')
|
8
|
boolean
|
false
|
byte a=1; //声明byte 类型变量a=1 int b=a+1; //声明int 变量b 同时赋值a+1,1是整型a向整型转化为整型运算,自动转化 System.out.println(b); short s1=1; //声明short类型变量s1同是赋值1 short s2=s1++; //声明short 类型变量s2同时赋值s1++,自增运算,内隐藏了自动类型转化 s2+=1; //s2+=1;自动类型转换
int a=5,b=5; System.out.println("a+b="+a+b); //a+b=是字符串+5变为 a+b=5,再+连接5,结果变为a+b=55 System.out.println("a+b="+(a+b)); //使用括号提高优先级
char ch1='a';
char ch2=97;
System.out.println("ch1= "+ch1);
System.out.println("ch2= "+ch2);
No.
|
转义字符
|
描述
|
No.
|
转义字符
|
描述
|
1
|
\f
|
换页
|
2
|
\\
|
反斜线
|
3
|
\b
|
倒退一格
|
4
|
\'
|
单引号
|
5
|
\r
|
归位
|
6
|
\"
|
双引号
|
7
|
\t
|
制表符Tab
|
8
|
\n
|
换行
|
char ch1='\"';
char ch2='\\';
System.out.println("ch1= "+ch1);
System.out.println("ch2= "+ch2);
System.out.println("\"Hello World\"");
结果:
ch1= "
ch2= \
"Hello World"
No.
|
一元运算符
|
描述
|
1
|
+
|
正号
|
2
|
–
|
负号
|
3
|
!
|
NOT,否
|
结果:
x= 10
y= -30
flag= false !b= true
5.3、算术运算符
算术运行符和数学中的用法一样
No.
|
算术运算符
|
描述
|
1
|
+
|
加法
|
2
|
–
|
减法
|
3
|
*
|
乘法
|
4
|
/
|
除法
|
5
|
%
|
取模(取余数)
|
int i = 10;
int j = 3;
System.out.println(i+"+"+j +"="+(i+j)); //加法
System.out.println(i+"-"+j +"="+(i-j)); //减法
System.out.println(i+"*"+j +"="+(i*j)); //乘法
System.out.println(i+"/"+j +"="+(i/j)); //除法
System.out.println(i+"%"+j +"="+(i%j)); //取模求余数
结果:
10+3=13
10-3=7
10*3=30
10/3=3
10%3=1
No.
|
关系运算符
|
描述
|
1
|
>
|
大于
|
2
|
<
|
小于
|
3
|
>=
|
大于等于
|
4
|
<=
|
小于等于
|
5
|
==
|
等于
|
6
|
!=
|
不等于
|
No.
|
自增与自减运算符
|
描述
|
1
|
++
|
自增,变量值加1
|
2
|
--
|
自减,变量值减1
|
int a=3,b=3; //定义整型变量a,b
int x=6,y=6; //定义整型变量x,y
System.out.println("a= "+a); //输出变量a的值
System.out.println("a++="+(a++)+" a= "+a); //输入a++和a++之后a的值3,4
System.out.println("b= "+b);
System.out.println("++b="+(++b)+" b="+b); //值出++b,和++b之后b的值4,4
System.out.println("x= "+x);
System.out.println("x--="+(x--)+" x= "+x); //输出x--和x--之后x的值6,5
System.out.println("y= "+y);
System.out.println("--y="+(--y)+" y="+y); //输出--y和--y之后的值5,5
No.
|
逻辑运算符
|
描述
|
1
|
&
|
AND,与
|
2
|
&&
|
短路与
|
3
|
|
|
OR,或
|
4
|
||
|
短路或
|
No.
|
条件1
|
条件2
|
结果
|
|
&&(与)
|
||(或)
|
|||
1
|
true
|
true
|
true
|
true
|
2
|
true
|
false
|
false
|
true
|
3
|
false
|
true
|
false
|
true
|
4
|
false
|
false
|
false
|
false
|
No.
|
位运算符
|
描述
|
1
|
&
|
按位与
|
2
|
|
|
按位或
|
3
|
^
|
异或(相同为0,不同为1)
|
4
|
~
|
取反
|
5
|
<<
|
左移位
|
6
|
>>
|
右移位
|
7
|
>>>
|
无符号右移位
|
位运算的结果表
No.
|
二进制数1
|
二进制数1
|
与操作(&)
|
或操作(|)
|
异或操作(^)
|
1
|
0
|
0
|
0
|
0
|
0
|
2
|
0
|
1
|
0
|
1
|
1
|
3
|
1
|
0
|
0
|
1
|
1
|
4
|
1
|
1
|
1
|
1
|
0
|
优先级
|
运算符
|
类
|
结合性
|
1
|
()
|
括号运算符
|
由左至右
|
1
|
[]
|
方括号运算符
|
由左至右
|
2
|
!、+(正号)、-(负号)
|
一元运算符
|
由右至左
|
2
|
~
|
位逻辑运算符
|
由右至左
|
2
|
++、--
|
递增与递减运算符
|
由右至左
|
3
|
*、/、%
|
算术运算符
|
由左至右
|
4
|
+、-
|
算术运算符
|
由左至右
|
5
|
<<、>>
|
位左移、右移运算符
|
由左至右
|
6
|
>、>=、<、<=
|
关系运算符
|
由左至右
|
7
|
==、!=
|
关系运算符
|
由左至右
|
8
|
&(位运算符AND)
|
位逻辑运算符
|
由左至右
|
9
|
^(位运算符号XOR)
|
位逻辑运算符
|
由左至右
|
10
|
|(位运算符号OR)
|
位逻辑运算符
|
由左至右
|
11
|
&&
|
逻辑运算符
|
由左至右
|
12
|
||
|
逻辑运算符
|
由左至右
|
13
|
?:
|
三目运算符
|
由右至左
|
14
|
=
|
赋值运算符
|
由右至左
|
No.
|
运算符
|
范例用法
|
说明
|
描述
|
1
|
+=
|
a += b
|
a + b的值存放到a中
|
a = a + b
|
2
|
-=
|
a -= b
|
a - b的值存放到a中
|
a = a - b
|
3
|
*=
|
a *= b
|
a * b的值存放到a中
|
a = a * b
|
4
|
/=
|
a /= b
|
a / b的值存放到a中
|
a = a / b
|
5
|
%=
|
a %= b
|
a % b的值存放到a中
|
a = a % b
|
No.
|
运算符
|
范例
|
执行前
|
说明
|
执行后
|
||
a
|
b
|
a
|
b
|
||||
1
|
+=
|
a += b
|
12
|
3
|
a + b的值存放到a中(同a = a + b)
|
15
|
3
|
2
|
-=
|
a -= b
|
12
|
3
|
a - b的值存放到a中(同a = a – b)
|
9
|
3
|
3
|
*=
|
a *= b
|
12
|
3
|
a * b的值存放到a中(同a = a * b)
|
36
|
3
|
4
|
/=
|
a /= b
|
12
|
3
|
a / b的值存放到a中(同a = a / b)
|
4
|
3
|
5
|
%=
|
a %= b
|
12
|
3
|
a % b 的值存放到a中(同a = a % b)
|
0
|
3
|
6
|
b++
|
a *= b++
|
12
|
3
|
a * b的值存放到a后,b加1(同a = a * b;b++)
|
36
|
4
|
7
|
++b
|
a *= ++b
|
12
|
3
|
b加1后,再将a*b的值存放到a(同b++;a=a*b)
|
48
|
4
|
8
|
b--
|
a *= b--
|
12
|
3
|
a * b的值存放到a后,b减1(同a=a*b;b--)
|
36
|
2
|
9
|
--b
|
a *= --b
|
12
|
3
|
b减1 后,再将a*b的值存放到a(同b--;a=a*b)
|
24
|
2
|
No.
|
数据类型
|
大小/位
|
可表示的数据范围
|
1
|
long(长整数)
|
64
|
-9223372036854775808 ~ 9223372036854775807
|
2
|
int(整数)
|
32
|
-2147483648 ~ 2147483647
|
3
|
short(短整数)
|
16
|
-32768~32767
|
4
|
byte(位)
|
8
|
-128 ~ 127
|
5
|
char(字符)
|
2
|
0 ~ 255
|
6
|
float(单精度)
|
32
|
-3.4E38(-3.4´1038) ~ 3.4E38(3.4´1038)
|
7
|
double(双精度)
|
64
|
-1.7E308(-1.7´10308)~ 1.7E308(1.7´10308)
|
默认值
No.
|
数据类型
|
默认值
|
1
|
byte
|
(byte)0
|
2
|
short
|
(short)0
|
3
|
int
|
0
|
4
|
long
|
0L
|
5
|
float
|
0.0f
|
6
|
double
|
0.0d
|
7
|
char
|
\u0000(空,'')
|
8
|
boolean
|
false
|