您的位置:首页 > 编程语言 > Java开发

JAVA基础学习(二)--标识符、关键字、数据类型与运算符

2015-08-30 13:20 731 查看
一、标识符和关键字

关键字:
就是被java语言赋予了特殊含义的单词。
特点就是所有的关键字都是小写。





标识符:
就是给包、类、接口、方法、变量名起的名字。
规则:1.以数字、字母、_以及$符号组成。
2,不能以数字开头,不能以空格分开,不能是JAVA中的关键字,区别大小写如Test 和test是2个不同的标识符
3 .起名字一定要见明知意例如:yourName,见名知义,不要用a,b,c之类的
4.不合法的标识符 12,your
name ,class,
5.12以数字开头,your name中间有空格 class中java中的关键字
二、变量和常量
常量:是一个固定的数值,不可改变的如1,2都是整形常量

[align=left] 1. 整数常量:所有整数。[/align]

[align=left] 2. 小数常量:所有小数。[/align]

[align=left] 3. 布尔(boolean)型常量:只有两个数值,true、false。[/align]

[align=left] 4. 字符常量:将一个数字字母或者符号用单引号( ' ' )标识,如:'a'。[/align]

[align=left] 5. 字符串常量:将一个或者多个字符用双引号("")标识,如:"hello world"、"a"、""(空字符串)。[/align]

[align=left] 6. null常量:只有一个数值就是:null。[/align]

进制的由来

[align=left] 对于整数,有四种表现形式:[/align]

[align=left] 二进制:0-1,满2进1。[/align]

[align=left] 八进制:0-7,满8进1,用0开头表示,如:012。[/align]

[align=left] 十进制:0-9,满10进1。[/align]

[align=left] 十六进制:0-9,A-F,满16进1,用0x开头表示。如:0x4A2C。[/align]

变量:

就将不确定的数据进行存储
也就是在内丰中开辟一个空间用来存放变量的。
利用声明的方式将内在中的某个内在空间保留下来以代程序使用
声明数据类型:变量名=变量值
三、数据类型




Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存中分配了不同大小的内存空间:

byte 1个字节

short 2个字节

int 4个字节

long 8个字节

float 4个字节

double 8个字节

char 2个字节

1、整数默认类型:int类型,小数默认类型:double类型。

2、double类型的小数精度比float类型的小数更高。

范围

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

四、类型转换
类型转换分为2种:
自动类型转换
强制类型转换
4.1、自动类型转换

自动类型转换由低类型向高类型自动转换
1.转换前的数据类型和转换后的数据类型兼容
2.转换后的数据类型的表示范围比转换前的范围在
3.低类型和高类型同时运算时自动转化为高类型运算



java 中byte char short int 运算时自动转换为int类型运算

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)); //使用括号提高优先级


字符类型在内存中占有2个字节,可以用来保存英文字母等字符,字符要用一对单引号('')括起

char ch1='a';
char ch2=97;
System.out.println("ch1= "+ch1);
System.out.println("ch2= "+ch2);


结果:ch1=a,ch2=a
字符类型也算是整数类型的一种

常用的转义字符:

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"

4.2、强制类型转换
定义:强制类型转换需要把类型进行手动转换,否则无法正常使用

在变量前面加上(要转换的类型)
变量
float f=3.14f;
int i=(int )f;
System.out.println(i); //3

五、运算符
5.1、赋值运算符
=:一个等号就是赋值运算符
int i=4;
byte b=2;
short s=3;
char c='a';
char ch='张';
long l=33;
float f=3.14f;
double d=2.0;
}


5.2、一元运算符

No.
一元运算符
描述
1
+
正号
2

负号
3
!
NOT,否

<span style="font-family:Microsoft YaHei;font-size:14px;">  boolean flag=false;
int x=10;        //定义一个正数
int y=-30;        //定义一个负数
System.out.println("x= "+x);
System.out.println("y= "+y);
System.out.println("flag= "+flag+"!b= "+!flag);</span>


结果:

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
5.4、关系运算符

No.
关系运算符
描述
1
>
大于
2
<
小于
3
>=
大于等于
4
<=
小于等于
5
==
等于
6
!=
不等于

5.5、自增加与自减运算符

自增与自减运算符

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


5.6、逻辑运算符

No.
逻辑运算符
描述
1
&
AND,与
2
&&
短路与
3
|
OR,或
4
||
短路或
AND及 OR结果表

No.
条件1
条件2
结果
&&(与)
||(或)
1
true
true
true
true
2
true
false
false
true
3
false
true
false
true
4
false
false
false
false
&&”与“&”

&&表示短路与

对于“与”来说,要求所有的条件都判断,而如果使用“短路与”如果第一个条件为false,则后面的条件将不再判断。

“||”与“|”

||表示短路或

对于“或”来说,要求所有的条件都判断,而如果使用“短路或”如果第一个条件为true,则后面的条件将不再判断。

5.7、位运算符

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

5.8运算符优先级

优先级
运算符

结合性
1
()
括号运算符
由左至右
1
[]
方括号运算符
由左至右
2
!、+(正号)、-(负号)
一元运算符
由右至左
2
~
位逻辑运算符
由右至左
2
++、--
递增与递减运算符
由右至左
3
*、/、%
算术运算符
由左至右
4
+、-
算术运算符
由左至右
5
<<、>>
位左移、右移运算符
由左至右
6
>、>=、<、<=
关系运算符
由左至右
7
==、!=
关系运算符
由左至右
8
&(位运算符AND)
位逻辑运算符
由左至右
9
^(位运算符号XOR)
位逻辑运算符
由左至右
10
|(位运算符号OR)
位逻辑运算符
由左至右
11
&&
逻辑运算符
由左至右
12
||
逻辑运算符
由左至右
13
?:
三目运算符
由右至左
14
=
赋值运算符
由右至左

5.9简洁表述式

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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: