2.1关键字&标识符
2.1.1关键字的定义和特点
>定义:被java语言赋予了特殊含义,用作专门用途的字符串(单词)
>特点:关键字中所有字母都为小写
<1>用于定义数据类型的关键字
class interface enum byte short int long
float double char boolean void
<2>用于定义数据类型值的关键字
true false null
<3>用于定义流程控制的关键字
if else switch case default while do for break
continue return
<4>用于定义访问权限修饰符的关键字
private protected public
<5>用于定义类、函数、变量的修饰符关键字
abstract final static synchronized
<6>用于定义类与类之间关系的关键字
extends implements
<7>用于定义建立实例及引用实例,判断实例的关键字
new this super instanceof
<8>用于异常处理的关键字
try catch finally throw throws
<9>用于包的关键字
package import
<10>其他修饰符关键字
native strictfp transient volatile assert
保留字
java保留字:现有的Java版本尚未使用,但以后版本可能会作为关键字使用。自己命名标记符时要避免使用这些保留字
byValue cast future generic inner operator outer rest var goto const
2.1.2标识符
>Java对各种变量、方法、类等要素命名时使用的字符序列称为标识符。
>凡是自己可以起名的地方都叫标识符。
2.1.2.1定义合法标识符规则:
>由26个英文字母大小写,0-9,_或$组成
>数字不可以开头
>不可使用关键字和保留字,但能包括关键字和保留字。
>Java中严格区分大小写,长度无限制
>标识符不能包含空格
注意:在起名时,为了提高阅读性,要尽量有意义,“见名知意”。
2.1.2.2Java中的名称命名规范
包名: 多单词组成时所有字母都小写:xxxyyyzzz
类名、接口名: 多单词组成,所有单词的首字母大写:XxxYyyZzz
变量名、方法名: 多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz
常量名: 所有字母都大写。多单词时每个单词用下划线连接:xxx_YYY_ZZZ
2.2变量
2.2.1数据类型
数据类型: 基本数据类型:数值型:整数类型(byte,short,int,long)
浮点类型(float,double)
字符型(char)
布尔型(boolean)
引用数据类型:类(class)
接口(interface)
数组([ ])
java的整形变量默认为int,声明long型常量须后加“l”或“L”
java的浮点型常量默认为double型。声明float型常量,须后加“f”或“F”
类型 占有存储空间 表数范围
byte 1字节 = 8bit -128~127
short 2字节 -2^15~2^15-1
int 4字节 -2^31~2^31-1
long 8字节 -2^63~2^63-1
单精度float 4字节 -3.403E38~3.403E38
双精度double 8字节 -1.798E308~1.798E308
浮点类型有两种表现形式:
>十进制数形式:如5.12 512.0f .512(必须有小数点)
>科学记数法形式:如:5.12e2 512E2 100E-2
转义字符
\b 退格符
\n 换行符
\r 回车符
\t 制表符
\" 双引符
\' 单引号
\\ 反斜线
注意:Boolean类型:只能取值true或false。不能取null
2.2.2类型转换
自动类型转换:
当容量小的数据类型与容量大的数据类型作运算时,容量小的会自动转换为容量大的数据类型:
char、byte、short==>int==>long==>float==>double
注意:当char/byte/short之间作运算时,默认的结果为int类型
强制类型转换:
当容量大的数据类型转换为容量小的数据类型,要使用强制类型转换符:()
int a;
short b = (short)a;
缺点:导致精度的损失
long l1 = 12345L;
int m1 = (int)l1;//12345
byte by1 = (byte)m1;//57
0000 0000 0000 0000 0011 0000 | 0011 1001
string和基本数据类型之间的运算只能通过:+
2.3进制
二进制:0,1,满2进1,以Ob或OB开头。
十进制:0-9,满10进1。
八进制:0-7,满8进1,以数字0开头表示。
十六进制:0-9及A-F,满16进1,以Ox或OX开头表示,此处的A-F不区分大小写。
正数:三码合一
负数:
原码:二进制编码
反码:除符号位外各个位取反
补码:反码+1
在底层是以补码进行存储
/* 符号位
* 0代表正数
* 1代表负数
* 十进制:57
* 二进制:111001(原码)
*
* 57/2=28……1
* 28/2=14……0
* 14/2=7……0
* 7/2=3……1
* 3/2=1……1
* 1/2=0……1
2.4运算符
1.测试运算符:
+ - * / % ++ --
取模:%取余数,结果符号取决于被模数。 int i1 = -12 % 5 //-2
前++: 先自增1,后做运算
后++:先做运算,后自增1
2.赋值运算符
+= -= *= /= %=
s+=1 既可以实现运算,也不会改变数据类型
3.比较运算符
== != <= >=
instanceof 检查是否是类的对象
————————————————