『零基础学Java语言-浙江大学-翁恺』第4周 循环控制

这篇博客是关于零基础学Java的第四周学习笔记,重点介绍了for循环、循环控制(break和continue)、逻辑运算及嵌套循环。内容包括逻辑类型、运算符优先级、循环应用如求和、求最大公约数和整数分解,还提供了两道编程题的解题思路和代码示例。
摘要由CSDN通过智能技术生成

以下为个人学习笔记和习题整理
课程:零基础学Java语言-浙江大学-翁恺 @ 中国大学MOOC
https://www.icourse163.org/course/ZJU-1001541001

笔记

for 循环

for(初始化;条件;单步动作) {
   
}
  • 初始化:可以定义一个新变量并赋值,如int i = 0,或者直接赋值循环外已定义的变量i = 0
  • 条件:维持循环的条件,与while条件相同。常用i<=n
  • 单步动作:步进,即每轮循环体执行完之后,必须执行的动作。可以用,连接多个动作。常用i++i--
  • 以上每一个表达式都可以省略:for(; 条件;) == while (条件)
  • 可以空循环,但建议加上大括号{}。
for(i=0;i<10;i++);

for(i=0;i<10;i++)
	System.out.println(i);
  • 循环次数 与 控制变量的值:
for(i=0;i<n;i++)
// 循环次数正好为 n,循环结束后 i 的值是 n
// 初始化 i 为 0或1,循环条件为 i < n 或 i <= n,均影响循环次数及 i 最终的值。

for(int i=0;i<n;i++)
// 可以直接在for语句中定义变量 i
// i 只在循环体中使用,出循环后,i未定义。
  • tips:
  • 如果有固定次数,用for循环;
  • 如果必须要执行一次,用do-while循环;
  • 其它情况用while循环。

循环控制 break vs continue

  • break : 跳出循环
  • continue : 跳过循环这一轮剩下的语句,进入下一轮

嵌套循环

  • break和continue 只能对所在的那层循环进行跳出或跳过
  • 可以在循环前放一个标号来标示循环,带标号的break和continue对那个循环起作用。
Outer:
for ( int one = 0; one <=amount; ++one )
	for ( int five = 0; five <= amount/5; ++five )
		for ( int ten = 0; ten <= amount/10; ++ten )
			for ( int twenty = 0; twenty <= amount/20; ++twenty )
				if ( one+five*5+ten*10+twenty*20 == amount ) {
   
					break Outer;
				}

逻辑运算

逻辑类型 boolean

关系运算的结果是一个逻辑值truefalse,可以保存在一个对应的逻辑类型变量中。

boolean flag = true;
boolean tooHigh, tooSmall, tooRough;
boolean done = false;

逻辑运算符 ! && ||

对逻辑量进行的运算,只有逻辑量可以参与运算

运算符 描述 示例 结果
! 逻辑非 !a 若a是true,则结果为false;如果a是false,则结果为true
&& 逻辑与 a&&b a和b都为true时,结果才为true;否则就是false
|| 逻辑或 a||b a和b有一个为true时,结果即为true;两个都是false,结果为false
运算符优先级总结
优先级 运算符 结合性
1 () 从左到右
2 ! + - ++ - - 从右到左
3 * / % 从左到右
4 + - 从左到右
5 < <= > >= 从左到右
6 == != 从左到右
7 && 从左到右
8 || 从左到右
9 = += -= *= /= %= 从右到左

逻辑表达式

  • 4 < x < 6 是错误的表达式,因为 4 < x 结果是一个逻辑值,逻辑值不能和数值6做关系运算。正确的表达式是 x > 4 && x <6
  • age > 20 && age < 30 正确
  • index <0 || index > 99 正确
  • !age<20 报错, !(age < 20) 正确

循环的应用

求和

  • f ( n
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值