JAVA基础2-标识符、关键字、数据类型与运算符
2015-11-01 12:07
513 查看
一、标识符和关键字
关键字:
就是被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] 对于整数,有四种表现形式:[/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类型的小数更高。
范围
默认值
四、类型转换
类型转换分为2种:
自动类型转换
强制类型转换
4.1、自动类型转换
自动类型转换由低类型向高类型自动转换
1.转换前的数据类型和转换后的数据类型兼容
2.转换后的数据类型的表示范围比转换前的范围在
3.低类型和高类型同时运算时自动转化为高类型运算
java 中byte char short int 运算时自动转换为int类型运算
任何类型和字符相连都向字符串转换
字符类型在内存中占有2个字节,可以用来保存英文字母等字符,字符要用一对单引号('')括起
结果:ch1=a,ch2=a
字符类型也算是整数类型的一种
常用的转义字符:
结果:
ch1= "
ch2= \
"Hello World"
4.2、强制类型转换
定义:强制类型转换需要把类型进行手动转换,否则无法正常使用
在变量前面加上(要转换的类型) 变量
五、运算符
5.1、赋值运算符
=:一个等号就是赋值运算符
5.2、一元运算符
结果:
x= 10
y= -30
flag= false !b= true
5.3、算术运算符
算术运行符和数学中的用法一样
结果:
10+3=13
10-3=7
10*3=30
10/3=3
10%3=1
5.4、关系运算符
5.5、自增加与自减运算符
自增与自减运算符
5.6、逻辑运算符
AND及 OR结果表
&&”与“&”
&&表示短路与
对于“与”来说,要求所有的条件都判断,而如果使用“短路与”如果第一个条件为false,则后面的条件将不再判断。
“||”与“|”
||表示短路或
对于“或”来说,要求所有的条件都判断,而如果使用“短路或”如果第一个条件为true,则后面的条件将不再判断。
5.7、位运算符
位运算的结果表
5.8运算符优先级
5.9简洁表述式
简洁表达式的范例
默认值
关键字:
就是被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] 对于整数,有四种表现形式:[/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、强制类型转换
定义:强制类型转换需要把类型进行手动转换,否则无法正常使用
在变量前面加上(要转换的类型) 变量
五、运算符
5.1、赋值运算符
=:一个等号就是赋值运算符
5.2、一元运算符
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
5.4、关系运算符
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
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 |
优先级 | 运算符 | 类 | 结合性 |
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 |
相关文章推荐
- 怎样学习java,漫谈java学习之路
- 设置jdk环境变量时lib中的rt.jar ,dt.jar ,tool.jar是什么,作用是什么
- Java 集合系列11之 Hashtable详细介绍(源码解析)和使用示例
- 学习日志---treemap
- java基础知识笔记
- java中web应用中重定向与转发的区别
- java基础篇---枚举详解
- java基础数据类型包装类
- equals与null
- Java.基础(学习笔记)
- 一个简单的加密解密程序
- JAVA基础-IO流
- 用java解决约瑟夫问题
- date and time
- Java中基础数据类型
- java基础之IO操作
- javaIO中FileInputStream,FileReader等的区别
- Java基础
- 更精确地进行浮点数计算
- 通过format方法格式化字符串和日期时间