您的位置:首页 > 职场人生

黑马程序员——Java基础——关键字、常量、变量、运算符

2015-04-23 18:04 411 查看
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

一、关键字

关键字是被java赋予了特殊含义的单词。特点是单词都是小写的。

分类:

1、 用于定义数据类型的关键字
基本数据类型:
整数类型:byte short int long 浮点类型:float double
字符类型:char 布尔型:boolean
引用数据类型:

class(类) interface(接口)
void用于函数上表示无返回值类型
2、用于定义数据类型值的关键字

true(真) false(假) null(空)
3、 用于定义流程控制的关键字
判断:if else switch case default
循环:for while do
继续循环:continue 结束循环或选择结构:break
返回:return
4、 用于定义访问权限修饰符的关键字

private(私有的) protected(受保护的) public(公有的)
5、 用于定义类、函数,变量修饰符的关键字
abstract(抽象的) final(最终的) static(静态的)
synchronized(同步的) enum(枚举)
6、用于定义类与类之间关系的关键字
extends(继承) implements(实现)
7、 用于定义建立实例及引用实例,判断实例的关键字
new(建立实例) this(当前引用) super(父类引用)
instanceof(判断对象类型)
8、 用于异常处理的关键字
try(检查异常) catch(捕获异常) finally(最终执行)
throw throws:两多表示抛出异常,但使用位置不同
9、 用于包的关键字
package(创建包) import(导入包)
10、其他修饰关键字
native(本地)
strictfp(strict float point,精确浮点)
transient(变量修饰符,用它声明一个实例变量,在对象序列化时不会被序列化)
volatile(类型修饰符,用来修饰被不同线程访问和修改的变量)
assert(断言,可以看作是异常处理的一种高级形式,用于捕捉我们在代码中做出的假设)
main 虽然不是关键字,但是却是唯一被虚拟机识别的单词,是程序的唯一入口。一个独立运行的程序中可以有多个主函数,但一定是以重载形式出现的。
二、标识符
是在程序中自定义的名字。标识符一般由大小写英文字母、数字、下划线、$等组成。
标识符的规则:
1、数字不可以开头。例如:int 3abc;这是不合法的。
2、不可以使用关键字。
另外,java是严格区分大小写的。
比如:Class和class 就是两个不同的关键字。Abc和abc也是两个不同的变量名。
以上是规则,就是被java视为合法所必须具备的。另外,我们还必须遵守一个规范,不遵守也不会违法,但是既然大家都在遵循,作为另类是很难的。所以,有一个良好的编程规范是很有必要的。
java的名称规范:
1、包名:若由多个单词组成时,所有字母都小写。如:xxxyyyzzz
2、类名、接口名:多个单词组成时,所有单词的首字母大写。如:XxxYyyZzz
3、变量名和函数名:多个单词组成时,第一个单词首字母小写。第二个单词首字母大写。如:xxxYyyZzz
4、常量名:多个单词组成时,所有字母都大写。每个单词都用_连接。
如:XXX_YYY_ZZZ
三、常量与变量
常量

定义:Java中固定不变的、表示不能改变的数值。
Java中常量的分类:
1、整数常量:所有整数。
2、小数常量:所有小数。
3、布尔型常量:true false。
4、字符常量:将一个数字字母或者符号用单引号( ' ' )标识。如:char ch='c'
5、字符串常量:将一个或者多个字符用双引号(“”)标识。如:String str="abc"
6、null常量。只有一个数值就是:null。常作为引用变量的初始化值。
我们有必要再复习下数值进制的知识:
对于整数,java有三种表现形式:
1、十进制:0~9
2、八进制:0~7.满7进1.以0开头
3、十六进制:0~9、A~F。满16进1,以0x开头。
进制的基本转换:
十进制------->二进制:
用十进制的整数不断除2,取余数。
二进制------->十进制:
用二进制数的每一位,乘以2的n次幂,n为位数。
十进制-------->八进制:
与转二进制同理,用十进制数不断除以8,取余数
八进制--------->十进制:
与二进制转十进制同理。底数是8
十进制--------->十六进制:同上。
八进制<-------->二进制的互转:
八进制----->二进制:把八进制数的每一位都变成二进制即可。
如:127的二进制为001010111
二进制------->八进制:把每三位二进制数变成八进制即可。
如:110 111 001 011的八进制为6713
十六进制<-------->二进制
十六进制--------->二进制:与上述同理。如0x6A的二进制为0110 1010
二进制---------->十六进制:与上述同理。如1100 1001的十六进制为0xC9
负数的二进制表现形式:
原理:就是该负数的绝对值,取反后加1即可。
如:负数-9
其绝对值9的二进制为0000 0000- 0000 0000- 0000 0000 -0000 1001
取反1111 1111- 1111 1111-1111 1111 -1111 0110
加1 0000 0000-0000 0000-0000 0000 -0000 0001
——————————————————————————————————
所得的数为: 1111 1111 1111 1111 1111 1111 1111 0111
这就是-9的二进制表现形式。
当然程序中,我们要这么计算就要崩溃了,它们都已经被封装为一个一个函数,直接调用即可,但原理还是需要掌握的。
四、变量
1、 变量:就是将不确定的数据在内存中进行存储。
这也就是说需要在内存中开辟一片空间。如何开辟空间呢?就是通过明确数据类型,变量名称,数据三步来完成的。刚开始比较简单的数据,不用说,到后面较为复杂的数据类型,按这三步走还是很有用的哦!
java的数据类型:



在java中,默认的整数类型是int,小数类型是double
对于long类型数据表现形式为,数后面要加L。如:32L;
对于float类型数据表现形式为,数后面要加f。如:3.2f;如果不加f,系统就会报错,因为系统默认是double类型的。
最关键的就是什么时候定义变量,当 数据不明确,又需要对数据进行存储的时候,就需要定义一个变量来完成存储的操作。
2、类型转换问题
每种数据类型在内存中都有相应的存储形式。如整数是用4个字节来表示,byte类型只能存储一个字节的数据,long是用64位来表示一个数据。
当不同类型之间进行互转时,就容易发生损失数据精度等问题。因此,java中严格的类型转换机制来解决此类问题。
A 向上转型(类型的自动提升)
用高精度数据类型来存储低精度数据。 例如:用一个int类型来存储一个字节型数据。
举例说明:byte a=2; int b=a;
a是一个字节的数据2,而b是用四个字节来表示的,这时,系统就会自动将a提升为int类型来和b相匹配,并将a赋值给b。
B 向下转型(强制转型)
用低精度数据类型来存储高精度数据。 不加任何强制操作的向下转型是java绝对不允许的。例如:非得用一个byte型数据来存储一个int型数据。这样,就会造成 损失数据精度等问题
实现数据的强制类型转换,要在被转换的变量前面加上转换的数据类型。格式如下:
目标类型变量=(目标类型)表达式
int id=15; byte bid=(byte) id;
在这个强制类型转换过程中,由于int型变量值没有超出byte型的取值范围,因此byte型变量可以完全容纳int变量。但如果此时int型变量值为200,当int型数据转换为byte类型时,就会超出byte取值范围,出现数据丢失的现象。
注解:boolean类型不能被强制转换为其他数据类型,反之亦然。
五 、运算符
java中的运算符有:赋值运算符、算术运算符、逻辑运算符、比较运算符、位运算符、三元运算符等。
1、赋值运算符
主要作用就是将某个类型数据对象赋值给目标类型的变量。使用符号“=”,注意要和比较运算符= =区分开。
例如:int a=9; String str="abc";
扩展使用:+= -= *= /= 均属于赋值运算范畴。
2、算术运算符
包括 + 、 - 、*、 /、%。其中,/为除法,%为求余数。
算术运算符
运算符 运算
+ 正
- 负
+ 加法
- 减法
* 乘法
/ 除法
% 求余数
++ 自增
- - 自减
+ 字符串相加
注意:1、i++ 和++i是不同的,i++是使用i后再自增。++i是i先自增后,再使用它。对比起来,更容易理解。
2、 取模运算里面有负数,运算结果要看左边,如:-1%5=-1 1%-5=-1 两者不同
3、字符串和任何数据相加,结果都是字符串。
如:System.out.println("5+5="+5+5);结果是5+5=55;这时候,可以用()来提高优先级。
System.out.println("5+5="+(5+5));
3、比较运算符
有:= =、<= 、>= 、!= 、instanceOf.
instanceOf 检查是否是类的对象
例如:"hello" instanceOf String 结果是true
4、逻辑运算符
有: &、|、^(XOR)、!、&&、||。 逻辑运算符用于连接boolean类型的表达式。
&和&&的区别:
&:无论两边的表达式是否为true,都要做判断
&&:如果左边的表达式为false,就不必判断右边的表达式,结果为false,因为&运算符的规律是两者同为真,结果为真。有一者为假,结果为假。
|和||也是同理。
5、位运算符
<< 左移 空位补0 例:3<<2=12
>> 右移 空缺的高位补0 还是1,取决于符号位 例:3>>1=1
>>> 无符号右移 无论符号位是0还是1,空缺的高位补0
& 与 二进制位进行&运算
| 或 二进制位进行|运算
^ 异或 二进制位进行xor运算,常用于加密。
一个数异或同一个数两次,所得的仍然是原数。
~ 取反
6、三元运算符
条件表达式?表达式1:表达式2
当条件表达式为true时,执行表达式1,否则,执行表达式2.
附:转义字符
通过\来转变后面字符或字母的含义。
\b为退格 相当于backspace键
\r按下回车键
\t 制表符 相当与tab键
注:linux系统中的换行符只有一个字符:\r
window系统中的换行符需要两个字符:\r\n
我们通过一个小程序来演示:



在dos命令行中输入:javac ByteOperate.java
java ByteOperate





------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐