标识符命名规范
1)
包名:多单词组成时所有字母都小写:
aaa.bbb.ccc //
比如
com.hsp.crm
2)
类名、接口名:多单词组成时,所有单词的首字母大写:
XxxYyyZzz [
大驼峰
]
比如:
TankShotGame
3)
变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:
xxxYyyZzz [
小
驼峰, 简称 驼峰法
]
比如:
tankShotGame
4)
常量名:所有字母都大写。多单词时每个单词用下划线连接:
XXX_YYY_ZZZ
比如 :定义一个所得税率
TAX_RATE
5)
后面我们学习到 类,包,接口,等时,我们的命名规范要这样遵守
,
更加详细的看文档
关键字的定义和特点
(
不用背
)
定义:被
Java
语言赋予了特殊含义,用做
专门用途的字符串
(单词)
特点:关键字中所有字母都为小写
Java
保留字:现有
Java
版本
尚未使用
,但
以后版本可能会作为关键字使用
。自己命名标识符时要避免使用这些保留
字
byValue
、
cast
、
future
、
generic
、
inner
、
operator
、
outer
、
rest
、
var
、
goto
、
const
在编程中,需要接收用户输入的数据,就可以使用键盘输入语句来获取。
Input.java ,
需要一个 扫描器
(
对象
),
就是 Scanner
1)
导入该类的所在包
, java.util.*
2)
创建该类对象(声明变量)
3)
调用里面的功能
进制介绍
对于整数,有四种表示方式:
二进制:
0,1
,满
2
进
1.
以
0b
或
0B
开头。
十进制:
0-9
,满
10
进
1
。
八进制:
0-7
,满
8
进
1.
以数字
0
开头表示。
十六进制:
0-9
及
A(10)-F(15)
,满
16
进
1.
以
0x
或
0X
开头表示。此处的
A-F
不区分大小写。
二进制转换成十进制示例
八进制转换成十进制示例
十六进制转换成十进制示例
规则:从最低位
(
右边
)
开始,将每个位上的数提取出来,乘以
16
的
(
位数
-1)
次方,然后求和。
案例:请将
0x23A
转成十进制的数
0x23A = 10 * 16^0 + 3 * 16 ^ 1 + 2 * 16^2 = 10 + 48 + 512 = 570
十进制转换成二进制
规则:将该数不断除以
2
,直到商为
0
为止,然后将每步得到的余数倒过来,就是对应的二进制。
十进制转换成八进制
规则:将该数不断除以
8
,直到商为
0
为止,然后将每步得到的余数倒过来,就是对应的八进制。
十进制转换成十六进制
规则:将该数不断除以
16
,直到商为
0
为止,然后将每步得到的余数倒过来,就是对应的十六进制。
二进制转换成八进制
规则:从低位开始
,
将二进制数每三位一组,转成对应的八进制数即可。
案例:请将
ob11010101
转成八进制
ob11(3)010(2)101(5) => 0325
二进制转换成十六进制
规则:从低位开始,将二进制数每四位一组,转成对应的十六进制数即可。
案例:请将
ob11010101
转成十六进制
ob1101(D)0101(5) = 0xD5
八进制转换成二进制
规则:将八进制数每
1
位,转成对应的一个
3
位的二进制数即可。
案例:请将
0237
转成二进制
02(010)3(011)7(111) = 0b10011111
十六进制转换成二进制
规则:将十六进制数每
1
位,转成对应的
4
位的一个二进制数即可。
案例:请将
0x23B
转成二进制
0x2(0010)3(0011)B(1011) = 0b001000111011
java 中有 7 个位运算(&、|、 ^ 、~、>>、<<和 >>>)
还有 3 个位运算符 >>、<< 和 >>> , 运算规则:
1)
算术右移
>>
:低位溢出
,
符号位不变
,
并用符号位补溢出的高位
2)
算术左移
<<:
符号位不变
,
低位补
0
3) >>>
逻辑右移也叫无符号右移
,
运算规则是
:
低位溢出,高位补
0
4)
特别说明:没有
<<<
符号
1) int a=1>>2; //1 => 00000001 => 00000000
本质
1 / 2 / 2 =0
2) int c=1<<2; //1 => 00000001 => 00000100
本质
1 * 2 * 2 = 4
在程序中,程序运行的流程控制决定程序是如何执行的,是我们必须掌握的,主要有三大流程控制语句。
1)
顺序控制
2)
分支控制
3)
循环控制
让程序有选择的的执行
,
分支控制有三种
1)
单分支
if
2)
双分支
if-else
3)
多分支
if-else if -....-else
switch
和
if
的比较
1)
如果
判断的具体数值不多
,而且符合
byte
、
short
、
int
、
char, enum[
枚举
], String
这
6
种类型。虽然两个语句都可
以使用,建议使用
swtich
语句。
2)
其他情况:对区间判断,对结果为
boolean
类型判断,使用
if
,
if
的使用范围更广
1. for
关键字,表示循环控制
2. for
有四要素
: (1)
循环变量初始化
(2)
循环条件
(3)
循环操作
(4)
循环变量迭代
3.
循环操作
,
这里可以有多条语句,也就是我们要循环执行的代码
4.
如果 循环操作
(
语句
)
只有一条语句,可以省略
{},
建议不要省略
1)
循环条件是返回一个布尔值的表达式
2) for(;
循环判断条件
;)
中的初始化和变量迭代可以写到其它地方,但是两边的分号不能省略。
3)
循环初始值可以有多条初始化语句,但要求类型一样,并且中间用逗号隔开,循环变量迭代也可以有多条变量迭代
语句,中间用逗号隔开。
do while
是关键字
1.
也有循环四要素
,
只是位置不一样
2.
先执行,再判断,也就是说,一定会至少执行一次
3.
最后 有一个 分号
;
4. while
和
do..while
区别举例
:
要账
1)
循环条件是返回一个布尔值的表达式
2) do..while
循环是先执行,再判断, 因此它至少执行一次
将一个循环放在另一个循环体内,就形成了嵌套循环。其中,
for ,while ,do…while
均可以作为外层循环和内层循环。
【建议一般使用两层,最多不要超过
3
层
,
否则,代码的可读性很差】
实质上,嵌套循环就是把内层循环当成外层循环的循环体。当只有内层循环的循环条件为
false
时,才会完全跳出内 层循环,才可结束外层的当次循环,开始下一次的循环
break
语句用于终止某个语句块的执行
,一般使用在
switch
或者循环
[for , while , do-while]
中
1)
continue
语句用于结束本次循环
,
继续执行下一次循环
。
2) continue
语句出现在多层嵌套的循环语句体中时,可以通过标签指明要跳过的是哪一层循环
,
这个和前面的标签的使用的规则一样
return 使用在方法,表示跳出所在的方法,在讲解方法的时候,会详细的介绍,这里我们简单的提一下。注意:如果
return
写在
main
方法,退出程序