[有书共读(第1期)]《明解Java》笔记:第4章
[有书共读(第1期)]《明解Java》笔记:第4章
Do语句
- 语法:
do{ 循环语句 }while(表达式为真)
- do是"执行"的意思,while则是"在···的期间"的意思。只要括号中的表达式的值为true,do语句就会重复执行语句.
- 由此,do语句保证循环至少执行一次
While语句
while语句
- 语法:
while(表达式为真){ 循环语句 }
- 执行while语句时,会先判断表达式是否为真,若为真,则执行循环语句,然后继续上述操作,直到表达式不为真
- while语句可能一次都不执行
递增运算符和递减运算符
- x++:x的值递增(增加1),结果是递增前的值
- x--:x的值递减(减少1),结果是递减前的值
- ++x:x的值递增(增加1),结果是递增后的值
- --x:x的值递减(减少1),结果是递减后的值
应用了后置(前置)递增运算符/递减运算符的表达式的求值结果是递增/递减前(后)的值
表达式的求值顺序
-
二元运算符的左操作数会比右操作数先进行求值,如:
// 确认表达式的求值顺序是左→右 class EvaluationOrder { public static void main(String[] args) { int a = 3; int x = (a++) * (2 + a); System.out.println("a = " + a); System.out.println("x = " + x); } }
- 首先执行左操作数(a++)的求值,然后再执行右操作数(2+a)的求值,最后通过*执行乘法运算
- 最终显示的值是a为4,x为18
字符常量
- 字符常量'*'···表示单个字符*,类型为char
- 字符串常量"*"···表示仅由字符*组成的字符序列,类型为string
for语句
for语句
- 语法:
for(初始化部分;表达式;for更新部分){ 循环语句 }
- for语句和while语句可以互相替换,如:
for(A;B;C){ 循环语句 }
A; while(B){ 循环语句 C; }
- for语句的程序流程:
1.首先对被称为预处理的A部分进行求值并执行
2.只要表示继续条件的B部分的控制表达式为true,就执行语句
3.执行完语句之后,对收尾处理或"下次循环的准备"的C部分进行求值并执行
流程图
- 程序流程图(program flowchart)
- 数据(data)
- 过程(progress)
- 预定义处理(predefined process)
- 判定(decision)
- 循环界限(loop limit)
- 线(line)
- 终结符(terminator)
多重循环
- 循环中还可以再执行循环,这样的循环,根据深度分别称为二重循环、三重循环----统称为多重循环
break语句和continue语句
break语句
- 循环语句(do语句,while语句,for语句)中执行break语句后会强制中断、结束该循环语句
continue语句
- 执行continue语句后,循环体的剩余部分会被跳过,程序流程直接跳到循环体的末尾。
带标签的break语句
- 当执行break语句时,带有Outer:标签的for语句的执行中断
- 当执行break语句时;带有Inner:标签的for语句的执行中断
带标签的continue语句
- 当执行continue语句时,带有Outer:标签的for语句会前进到下一次循环
printf语句
- 使用printf方法,可以指定位数等输出格式
转换字符 | 说明 |
---|---|
%d | 输出十进制数 |
%o | 输出八进制数 |
%x | 输出十六进制数(a~f) |
%X | 输出十六进制数(A~F) |
%c | 输出字符 |
%f | 输出小数点格式 |
%s | 输出字符串 |
习题源码
- 留坑,日后再补