一、位运算[了解]
把十进制数字转换为二进制进行计算 【位运算效率非常高】 符号:
| 符号 | 作用 |
|---|---|
| & | 对应的同同时为1,结果为1 |
| I | 对应的位有一个为1;结果为1 |
| << | 把二进制数第一个非零首位开始往左移动相应位数 |
| >> | 把二进制数第一个非零首位开始往右移动相应位数 |
- 与
- 右移
二、键盘数据输入:
使用注意事项:
1、尽量使用Scanner,写了以后使用 代码提升
2、没出来用alt+Enter--->import class
代码运行到Scanner scanner=new Scanner(System.in);,就会停止,等待用户输入,用户输入的值,使用相关的数据类型接收,并赋值给变量
三、选择结构:
1、if【重点】
注意事项:
①、只会执行其中一个代码块
②、if结构后面的花括号可以省略,但不建议,这只会执行之后第一条功能语句
1)、语法一:
if (booolean值){
//功能语句
}
| boolean值状态 | 描述 |
|---|---|
| true | 内部功能语句执行 |
| false | 内部功能语句不执行 |
2)、语法二
[非ban必选]
if (booolean值){
//功能语句1
}else{
//功能语句2
}
| boolean值状态 | 描述 |
|---|---|
| true | 执行功能语句一 |
| false | 执行功能语句二 |
3)、语法三
【多条件的判断】
if (booolean值1){
//功能语句1
}else if(Boolean值2){
//功能语句2
}else if(Boolean值3){
//功能语句3
}else if(Boolean值4){
//功能语句4
}else if(Boolean值5){
//功能语句5
}else{
//当输入的值不在上面的区间,执行此处的代码
}
| boolean值 | 描述 | 状态 |
|---|---|---|
| boolean值1 | 执行功能语句一 | true |
| boolean值2 | 执行功能语句二 | true |
| boolean值3 | 执行功能语句三 | true |
| else | 以上都不满足就执行 | true |
Boolean值1:true 执行语句1,不满足条件陆续往下扫描,
2、switch
大多数情况下用于有固定取值的场景,以后在工作中,多是枚举和switch联合使用
1)、基本语法
switch(key){
case v1:
执行语句1
break;
case v2:
执行语句2
break;
default:
执行语句
}
| 标题 | 描述 |
|---|---|
| key | byte、short、char、int、enum枚举、String |
| v1、v2 | key这个变量可能取得值 |
| break | 结束符号,如果case语句后面没有break,就会继续往下执行,直到遇到break或者全部case全部运行结束 |
三、循环结构
使用场景:
for:一般用于编程人员知道循环次数的场景
while:一般用于不知道循环次数的场景
1、for
1)、语法结构
for( ①初始化语句;②条件判断语句 ;③循环后执行语句 ){
//④循环体
}
执行顺序:
第一次循环:①-->②-->true-->④-->③
第二循环:②-->true-->④-->③
第三循环:②-->true-->④-->③
第四循环:②-->true-->④-->③
...
第N循环:②-->false 结束循环
2)、练习
- for循环输出1-50之间的3的倍数的数字
1:1.for循环输出1-50之间3的倍数的数字?
2、筛选出3的倍数的数字
3、打印3的倍数的数字
- for循环计算1-50之间3的倍数的个数?
2.for循环计算1-50之间3的倍数的个数?
1 解决1-50的数字
2 筛选出3的倍数的数字
3 计数 ---定义一个变量
- for循环计算1-50之间3的倍数的数字之和?
1 解决1-50的数字
2 筛选出3的倍数的数字
3 累加 ---定义一个变量
2、while
在外部定义初始化语句
while(boolean值){
//循环功能体
}
执行顺序:
第一次循环:①-->true-->②
第二次循环:①-->true-->②
第三次循环:①-->true-->②
...
第N次循环:①-->false
3、do ...while【了解】
1)、基本语法
do{
//循环的功能体;
}while(Boolean);
五、循环控制
循环控制语句:在循环过程中对循环进行控制
| 语句 | 描述 |
|---|---|
| break | 结束当前循环 |
| continue | 跳过本次循环,直接进入下一次循环 |
| return | 结束当前方法【当然也就包括当前的循环】 |