文章目录
运算符,分支结构和循环结构1. 运算符1.1 自增自减运算符【逐渐淘汰】1.2 自增自减运算符不得不说的面试题1.3 逻辑运算符1.4 逻辑运算符的断路原则问题课堂小练习
2. 分支结构【重点】2.1 开发中的常用结构2.2 if 分支结构2.2.1 if2.2.2 if else2.2.3 if else - if【补充知识点 从键盘上获取用户输入的数据】【补充知识点 用户体验问题】【补充知识点 用户输入数据合法性判断问题】
2.3 switch case 分支结构
3. 循环结构3.1 while循环
运算符,分支结构和循环结构
1. 运算符
1.1 自增自减运算符【逐渐淘汰】
自增自减运算符有且只能操作变量!!!
++:
作用:操作的变量自增1 ==> += 1
--:
作用:造作的变量自减1 ==> -= 1
Swift Apple 已经淘汰自增自减运算符,完全使用 += 1 和 -= 1替换
自增自减运算符
在变量前 首先执行自增自减操作,再来执行对应的语句
在变量后 首先执行所在行语句,再来执行自增自减操作
【建议】
1. 尽量使用 += 1 和 -= 1 替换对应的自增自减运算符
2. 如果非要使用自增自减运算符,尽量单独成行,减少代码中的歧义,增强代码的阅读性
1.2 自增自减运算符不得不说的面试题
int num
= 5;
int ret
= num
++ * ++num
;
ret
= ?; 35
num
= ?; 7
int num
= 10;
++(++num
);
num
= ?
语法错误
小括号对外数据是一个整体,等价于小括号里面的内容是一个常量,自增自减运算符,不可以操作常量
1.3 逻辑运算符
与
&&
保险库的门
顾客有一把钥匙,保管员有一把钥匙,双方同时到场才可以打开,缺一不可
同真为真,有假【即】假
或
||
自己家门
有一个人带有钥匙就可以开门
有真【即】真,同假为假
非
!
强牛 犟
取反,你说对,我就说错,你说错,我就说真,杠精!!!
1.4 逻辑运算符的断路原则问题
class Demo5 {
public static void main(String
[] args
) {
int num
= 5;
boolean ret
= num
>= 10 && num
++ < 10;
System
.out
.println("ret : " + ret
);
System
.out
.println("num : " + num
);
int num1
= 10;
boolean ret1
= num1
> 5 || num1
++ > 100;
System
.out
.println("ret1 : " + ret1
);
System
.out
.println("num1 : " + num1
);
}
}
课堂小练习
1. 使用关系运算符,逻辑运算符,写出一个判断一个字符是不是大写英文字母的条件
char ch;
'A' <= ch <= 'Z'; ×
ch >= 'A' && ch <= 'Z';
2. 使用关系运算符,逻辑运算符,写出一个判断一个字符是不是英文字母的条件
char ch;
A ~ z
(ch >= 'A' && ch <= 'Z') || (ch >= 'a' && ch <= 'z')
3. 使用关系运算符,逻辑运算符,写出一个判断一个字符是不是数字字符的条件
char ch;
ch >= '0' && ch <= '9';
4. 使用关系运算符,逻辑运算符,写出一个闰年判断条件
闰年:
能被4整除,但是不能被100整除
或者能被400整除
int year;
(year % 4 == 0 && year % 100 != 0) || year % 400 == 0
要求:
只允许使用字符本身!!!
2. 分支结构【重点】
2.1 开发中的常用结构
顺序结构
代码从上之下执行运行
分支结构
代码在不同的条件下,执行的不同的运行操作,得到不同的结果
循环结构
存在复用代码可以利用循环来简化一定的结构
2.2 if 分支结构
2.2.1 if
if () {
}
2.2.2 if else
if () {
} else {
}
2.2.3 if else - if
if () {
} else if () {
} else if () {
} else {
}
【补充知识点 从键盘上获取用户输入的数据】
基本的Java代码中是没有从键盘上获取数据的能力
1. 导包
在class之前,输入
import java.util.Scanner;
2. 创建对应Scanner的变量
Scanner sc = new Scanner(System.in);
3. 常用方法,复制粘贴
int num = sc.nextInt(); 从键盘上获取用户输入的int类型数据
float num = sc.nextFloat(); 从键盘上获取用户输入的float类型数据
char ch = sc.nextLine().charAt(0); 从键盘上获取用户输入的一个char类型数据
【补充知识点 用户体验问题】
在实际开发中,我们的程序需要考虑用户体验和用户友好性,从而建立足够的用户粘性。
用户如果体验不好,你们的软件就没有任何的价值!!!
【补充知识点 用户输入数据合法性判断问题】
实际使用情况下用户输入的数据需要进行合理化判断,如果用户输入的数据是不合理的, 不要进行正常的业务流程,
例如:
用户输入的学生成绩超出了0 ~ 100
用户登录账号,密码或者账号错误
2.3 switch case 分支结构
switch () {
case 常量
1:
处理方式
1;
break;
case 常量
2:
处理方式
2;
break;
case 常量
3:
处理方式
3;
break;
case 常量
4:
处理方式
4;
break;
default:
最终处理方式
;
break;
}
3. 循环结构
3.1 while循环
while () {
}
际的业务需求来作出选择。 */
#### 3. 循环结构
##### 3.1 while循环
```java
while (/* 循环条件判断 true or false */) {
// 循环体
// (循环条件变更)
}
/*
执行流程:
当程序运行到while循环结构时,首先判断while小括号里面的内容是否为true,如果为true,执行循环体,在回到while判断,直到条件为false,终止循环
*/