一、关键字:其实就是某种语言赋予了特殊含义的单词。关键字都是小写
保留字:java保留字是指现有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(继承) inplements(实现)
7、用于定义建立实例及引用实例,判断实例的关键字
new(建立实例) this(当前引用) super(父类引用) instanceof(判断对象类型)
8、用于异常处理的关键字
try(检查异常) catch(捕获异常) finally(最终执行)
throw throws:两多表示抛出异常,但使用位置不同
9、用于包的关键字
package(创建包) import(导入包)
10、其他修饰关键字
native(本地)
stictfp(strict float point,精确浮点)
transient(变量修饰符,用它声明一个实例变量,在对象序列化时不会被序列化)
volatile(类型修饰符,用来修饰被不同线程访问和修改的变量)
assert(断言,可以看作是异常处理的一种高级形式,用于捕捉我们在代码中做出的假设)
二、标识符:在程序中自定义的一些名称。由25个英文字母大小写,数字0-9,符号_$组成。
定义合法标识符的规则:
1、数字不可以开头
2、不可以使用关键字
java中的名称规范:
包名:多单词组成时所有字母都小写。
xxxyyyzzz
类名接口名:多单词组成时,所有单词的首字母大写。
XxxYyyZzz
变量名和函数名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写。
xxxYyyZzz
常量名:所有字母都大写。多单词时每个单词用下划线连接。
XXX_YYY_ZZZ
三、常量:java中固定不变的、表示不能改变的数值
分类:
1、整数常量、所有整数
2、小数常量、所有小数
3、布尔型常量、只有两个数值、true false
4、字符常量、将一个数字字母或者符合用单引号('')标识
5、字符串常量、将一个或者多个字符用双引号("")标识
6、null常量、只有一个数值就是null
对于整数,java中有三种表现形式:
十进制:0-9,满10进1
八进制:0-7,满8进1,用0开头表示
十六进制:0-9,A-F,满16进1,用0X开头表示
进制的基本转换
十进制转二进,除2取余数;二进制转换为十进制,乘以2的幂数
十进制与八进制和十六进制的互转,跟转换二进制的方法一样。有简便的算法就是,可以先将十进制转换为二进制,再转换为八进制和十六进制。
这就利用了一个八进制位相当于三个二进制位,而一个十六进制位相当于四个二进制位
四、变量:内存中的一个存储空间。有自己的名称(变量名)和类型(数据类型)
作用:用来不断的存放同一类型的数据,并可以重复使用
定义变量的格式:数据类型 变量名=初始化值
类型的自动提升
在运算中,当低类型数据与高类型数据进行计算时,系统会自动将表达式中的低类型数据提升到高类型。如:
byte b = 3 ; int c;
c= b + 2; //b会自动提升为int类型进行运算。
强制类型转换:
当程序中,数据类型需要变换时,可以进行强制转换。如:
byte b = 3;
b = b + 4;//报错
b = (byte)b+4;//强制类型转换,强制将b+4的结果转换为byte类型,再赋值给b。
五、运算符
1、算数运算符
+ - / * %:任何整数模2不是0就是1,所以只要改变被模数就可以实现开关运算
+:连接符
++,--自增 自减 如:++ a=2;b=++a; a=3;b=3 (a先回家吃饭,然后出去玩去)
++ a=2;b=a++; a=3;b=2 (a先出去玩去,然后回家吃饭)
2、赋值运算符
= += -= *= /= %=
例: int a,b,c; a=b=c=3;
int a = 3; a+=5;//等同运算a=a+5;
3、比较运算符
==(相等于) !=(不等于) < > <= >=
特点:该运算符的特点是:运算完的结果,要么是true,要么是false 比较运算符“==”不能误写成“=”
4、逻辑运算符
&(与) |(或) ^(异或) !(非) &&and(短路) ||or(短路)
&:只要两边的boolean表达式结果,有一个为false,那么结果就是false。只有两边都为true,结果为true。
|:两边只要有一个为true,结果为true;只有两边都为false,结果为false。
^:两边相同结果是false,两边不同结果是true。
&和&&的区别:
单&时,左边无论真假,右边都进行运算;
双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。
“|”和“||”的区别同理,双或时,左边为真,右边不参与运算。
5、位运算符
左移:<<;空位补0,被移除的高位丢弃,空缺位补0。
右移:>>;被移位的二进制最高位是0,右移后,空缺位补0;最高位是1,空缺位补1。
无符号右移:>>>;被移位二进制最高位无论是0或者是1,空缺位都用0补。
与: &;二进制位进行&运算,只有1&1时结果是1,否则是0。
或:|;二进制位进行 |运算,只有0 | 0时结果是0,否则是1。
异或: ^;任何相同二进制位进行 ^运算,结果是0;1^1=0 , 0^0=0。
不相同二进制位 ^运算结果是1。1^0=1 , 0^1=1。
反码:~;对二进制进行取反。
6、三元运算符
格式:
(条件表达式)?表达式1:表达式2;
a)如果条件为true,运算后的结果是表达式1;
b)如果条件为false,运算后的结果是表达式2;
示例:
获取两个数中大数。
int x=3,y=4,z;
z = (x>y)?x:y;//z变量存储的就是两个数的大数。
六、转义字符:通过\来转变后面字母或符合的含义
常用转义字符:
\b:退格
\n:换行
\t:制表符,相当于tab键
\r:回车
\\:表示反斜杠
\':表示单引号
\":表示双引号 |
|