什么是关键字
关键字是对编译器有特殊意义的单词。
关键字说明:
- 不同的关键字单词可以用来表示一种数据类型,或者表示程序的结构等。
- 关键字不能用作变量名,方法名,类名,包名
-
goto是java的保留关键字,意思是java并没有使用goto,以后是否使用未定。
标识符
Java中的包,类,方法,参数和变量的名称总称为标识符。
命名规则:
- 必须以字母,下划线(_)或美元符号($)开头;
- 余下的字符可以是数字,字母,下划线,美元符号,长度不限;
- 标识符中不能有空格
- 不能使用java中的关键字或保留字作为标识符。
命名规范:
Pascal规则:组成标识符的每个单词的首字母大写,其余字母小写的书写规定。对于缩写的双字母单词,要求全部大写。
Camel规则:标志符的首字母小写,每个后面连接的单词的首字母大写,其余字母小写的书写约定。对于缩写的双字母单词,要求它们出现在标识符首部时,全部小写,否则全部大写。
元素 | 规范 |
---|---|
类名 | Pascal规则 |
变量名 | Camel规则 |
方法名 | Camel规则 |
包名 | 全部小写 |
常量名 | 全部大写 |
常量
- 指程序中持续不变的值,在整个程序运行过程中它时不可改变的
- 必须指定数据类型
Java7以后版本特性
数值常量增加对下划线支持
注:不能在小数后面,或者数字的开始和结束的地方放下划线。
变量
概念:
- 指在程序的运行过程中随时可以发生变化的量
- 是程序中数据的临时存放场所
保存程序运行时数据输入的数据
特定的运算结果等
变量声明
格式:变量类型 变量名 [=变量初值];
数据类型
分为基本数据类型(4类8种基本数据类型)和引用数据类型。
基本类型:
- 数值型:
整数类型:byte short int long
浮点类型:float double - 字符型:char
- 布尔型:boolean
引用数据类型:
类 接口 数组
整数类型
byte,short,int(默认),long
不同进制整数的表现形式
- 十进制:0~9
注:第一位不能是0 - 十六进制:0~9 A~F
注:必须以0x或0X开头 - 八进制:0~7
注:必须以0开头 -
二进制:0~1
JDK7以前版本,没有二进制的整形常量写法,一般用十六进制答题
注:JDK7以后版本,必须以0b或0B开头
注:声明long型后面需加上小写字母l或L,否则会出错。
浮点数类型
float,double(默认)
两种表示形式:
- 十进制:例如3.14 ,314.0 , .314
- 科学计数法形式: 3.14e2 ,
3.14E-1
注:浮点型常量默认double型,如要声明float类型的数据,须在数字末尾加f或F,否则会报错。
字符类型
char
- 通常用英文单引号括起来,代表单个字符
- 字符类型长度:16位,是一个16位无符号整数。
- 字符通常为:英文字母,中文字,其他国家文字,数字,转义序列,特殊字符,例如:
‘a’ 字母a,‘中’ 汉字中 - java中的字符也可用十六进制编码形式表示,例如:
‘0x4e2d’ 汉字中,‘0x0041’ 英文字母 A,‘\u03A6’ unicode字符表示希腊字符Φ - 转义字符:使用“\”把其转化为字符的本身输出,那么使用“\”的字符称作转义字符。
布尔类型
boolean
- 适于逻辑运算,一般用于表示真或假
- 只有两个值:true和false
- 布尔型长度没有给出具体的占用字节数。
编译后用int数据类型代替,boolean数组会编译成byte数组,每个boolean元素占8位。
运算符(操作符)
- 是一种特殊的符号,用以表示数据的运算,赋值和比较。
- 运算符的种类
赋值运算符:=,+=,-=,=,/=,%=
算术运算符:+,-,,/,%,++,--
比较运算符:>,<,>=,<=,==,!=,instanceof
逻辑运算符:&,|,^,~,>>,<<,>>>
条件运算符:?:
注:条件运算符是用三个操作数组成的三元运算符
赋值运算符
算术运算符 - 操作数必须是数值类型
-
分为一元运算符和二元运算符
一元运算符:只有一个操作数,
正‘+’,负‘-’,自增‘++’,自减‘--’
二元运算符有两个操作符,运算符在两个操作数之间。
加‘+’,减‘-’,乘‘*’,除‘/’,求余‘%’
注:乘除,求余优先于加减
关系运算符(比较运算符)
逻辑运算符(布尔运算符)
位运算 -
只对byte,short,char,int,long有效
逻辑运算符和位运算符的区别
相同点:都能参与逻辑运算,按位与或完全可以代替逻辑与或;
区别:按位与或可以参与位运算
,逻辑与或只能参与逻辑运算
,逻辑与或可以短路
,按位与或不能短路
三元运算符
语法:表达式1?表达式2:表达式3
当表达式1为true时,就为第二个表达式,否则第三个表达式
运算符的优先级
- 按操作数多少划分:
一元>二元>三元 - 按运算类型划分:
算术运算符>关系运算符>逻辑运算符>赋值运算符 -
尽量多的使用括号
括号优先级最高
数据类型转换
两种数据类型的转换方式
1.自动类型转换:(隐式类型转换)
满足两个条件
- 两种类型彼此兼容
- 目标类型的取值范围要大于源类型
自动类型转换规则:
- 布尔类型不可以转换为其他的数据类型
-
整型,字符型,浮点型的数据在混合运算中相互转换,转换时遵守以下规则:
byte,short,char之间不会相互转换,他们三者在计算时首先会转换为int类型
2.强制类型转换(显示类型转换)
- 当两种类型彼此不兼容,或目标类型取值范围小于源类型
大范围的转小范围的
转换语法格式:
变量=(目标类型)值
注:在强制类型转换过程中,源类型的值可能大于目标类型,因此可能造成精度降低或溢出,使用时需注意