Java基础语法
Java 基础语法
1 、标识符
1.1 凡是在程序中需要自己命名的地方都是标识符,例如:变量名、包名、类名等
1.2 标识符的命名规则
-
1、Java 的标识符只能使用 26 英文字母大小写,0-9 的数字,下划线(_)和美元符号($)
-
2、标识符中不能包含空格
-
3、数字不能开头
-
4、不能使用关键字和保留字和特殊值
-
50 个
-
class
-
基本数据类型
- byte,short,int,long,float,double,char,boolean
-
public
-
static
-
void
-
-
3 个
- true
- false
- null
-
-
5、Java 严格区分大小写
-
6、Java 标识符没有长度限制,但是不宜太长
1.3 标识符的命名规范
-
总原则
- 见名知意,有意义
-
1、类名,接口名
-
所有单词的首字母大写
- XxxYyyZzz
- 例如:String,System,HelloWorld
-
-
2、变量名
-
第一个单词首字母小写,其余单词首字母大写
- xxxYyyZzz
- 例如:age,maxValue
-
-
3、包名
-
所有字母都小写,单词之间使用.分割
- xxx.yyy.zzz
- 例如:java.lang
-
-
4、常量名
-
所有字母都大写,单词之间使用下划线_
- XXX_YYY_ZZZ
- 例如:MAX_VALUE
-
2 、变量
2.1 变量是代表内存的一块存储区域
2.2 变量三要素
-
变量名
- 给这块存储区域命名,就不用内存地址访问
-
变量值
- 这块内存中存的数据
-
数据类型
- 决定这块内存的大小
2.3 使用要求
-
1、先声明后使用
-
声明格式
- 数据类型 变量名;
-
-
2、在使用之前必须赋值
-
赋值格式
-
变量名 = 值;
- 这个值可以是常量值,表达式
-
-
-
3、变量的作用域
- 从声明处开始,到它所属的}结束
- 同一个作用域不能同名
3 、数据类型
3.1 基本数据类型
-
整型
-
byte
- 占 1 个字节
- 存储范围是 -128~127
-
short
- 占 2 个字节
-
int
- 占 4 个字节
- 默认类型
-
long
- 占 8 个字节
- 需要在数字后面加 L 或小写 l
-
-
浮点型
-
float
- 占 4 个字节
- 需要在数字后面加 F 或 f
-
double
- 占 8 个字节
- 默认类型
-
-
字符型
-
char
-
占 2 个字节
-
存储的是字符的 Unicode 编码值
-
三种方式
-
‘一个字符’
-
‘转义字符’
-
退格
- \b
-
回车
- \r
-
换行
- \n
-
\
-
'
-
"
-
Tab 键
- \t
-
-
‘\u 字符的 Unicode 编码值的十六进制形式’
-
-
-
-
布尔型
-
boolean
- 只能赋值为 true 或 false
-
-
基本数据类型的转换
-
1、自动类型转换
-
byte,short,char –>int ->long –>float –>double
-
(1)byte,short,char 只要算术运算都要升级为 int 或以上
- 例如:byte + byte 升级为 int
- 例如:byte + double 升级为 double
- 例如:byte + short 升级 int
-
(2)boolean 不参与
-
(3)和字符串拼接的结果都是 String 字符串
-
-
-
2、强制类型转换
-
double–>float–>long–>int–>byte,short,char
-
(1)例如: char c = (char)97;
- 相当于把’a’字符赋值给 c
-
-
需要强制类型转换符(类型)
-
有可能溢出或损失精度,需谨慎
-
-
3.2 引用数据类型
-
类
- 例如:String,System
-
接口
-
数组
4 、运算符
4.1 算术运算符
-
正号
-
负号
-
加法
-
减法
-
乘法
-
除法
- 注意: - 当整数与整数相除,结果只保留整数部分 - 当整数与整数相除,被除数/除数 ,除数不能为 0,报异常 - 当浮点数相除,如果除数为 0,结果是无穷大,非数字
-
取模,求余数
-
%
-
特殊
- 会忽略模数的负号
-
-
-
自增
-
++
-
对于自增变量来说,一定会自增 1
-
但是对于表达式的结果,看++在前或在后
-
i++
-
这个表达式的结果是与 i 自增前的结果一样
-
例如:int i = 0; int j = i++;
- j=0,i=1
-
-
-
++i
-
这个表达式的结果是与 i 自增后的结果一样
-
例如:int i=0;int j = ++i;
- j=1,i=1
-
-
-
-
-
-
自减
- 同自增
4.2 赋值运算符
-
基本赋值运算符
-
=
- 把右边的结果赋值给左边的变量
-
-
扩展赋值运算符
-
+=, -=,…..
-
隐含强制类型转换
-
例如: short s = 1; s += 1;
- 等价于 s = (short)(s+1);
-
-
-
4.3 比较运算符
-
大于
-
-
小于
- <
-
大于等于
-
=
-
-
小于等于
- <=
-
等于
- ==
-
不等于
- !=
-
结果一定是 boolean 值,所以比较表达式常常用于条件表达式
4.4 逻辑运算符
-
逻辑与
-
&
-
只有左右两边的值都为 true,结果才为 true
- true & true = true
- true & false = false
- false & true = false
- false & false = false
-
-
-
逻辑或
-
|
-
只要左右两边的值有一个为 true,结果就为 true
- true | true = true
- true | false = true
- false | true = true
- false | false = false
-
-
-
逻辑异或
-
^
-
只有左右两边一个为 true,另一个为 false,结果才为 true
- true ^ true = false
- true ^ false = true
- false ^ true = true
- false ^ false = false
-
-
-
逻辑非
-
!
- !true 即为 false
- !false 即为 true
-
-
短路与
-
&&
-
结果与&一样
-
只有左右两边的值都为 true,结果才为 true
- true & true = true
- true & false = false
- false & true = false
- false & false = false
-
-
不同的是
- 如果左边的表达式为 false,右边的表达式就不计算了,出现短路现象
-
-
-
短路或
-
||
-
结果与|一样
-
只要左右两边的值有一个为 true,结果就为 true
- true | true = true
- true | false = true
- false | true = true
- false | false = false
-
-
不同的是
- 如果左边的表达式为 true,右边的表达式就不计算了,出现短路现象
-
-
4.5 条件运算符
-
格式
- 条件表达式 ? 表达式 1 : 表达式 2
- 整个表达式的结果看条件表达式,如果条件表达式为 true,那么就取表达式 1 的结果,否则取表达式 2 的结果
4.6 位运算符
-
左移
-
«
-
相当于乘以 2 的几次
-
例如:1 « 3
- 相当于 1 * 2 的 3 次方
-
-
右边补 0
-
-
-
右移
-
-
相当于除以 2 的几次
-
例如:16 » 3
- 相当于 16 / 2 的 3 次方
-
-
左边补什么,看最高位,最高位是 1,就补 1,是 0 就补 0
-
-
-
无符号右移
-
- 不管最高位是什么,左边都补 0
- 结果一定是正数
-
-
按位与
-
&
-
运算规则,对应位
- 1 & 1 = 1
- 1&0 = 0
- 0&1 = 0
- 0&0=0
-
-
-
按位或
-
|
-
运算规则,对应位
- 1 | 1 = 1
- 1|0 = 1
- 0|1 = 1
- 0|0=0
-
-
-
按位异或
-
^
-
运算规则,对应位
- 1^ 1 = 0
- 1^0 = 1
- 0^1 = 1
- 0^|0=0
-
-
-
按位取反
-
~
- 运算规则,对应位,原来是 1,变成 0,原来是 0,变成 1
-
-
所有都是直接用二进制计算(补码)