Java基础—流程控制—9循环结构while,dowhile,for(附:循环思想+IDEA使用技巧+练习题:99乘法表+打印三角形 )
- 循环的理解:
循环的出发点:编程是为了解决人的问题:如访问淘宝,网站全年无休地跑着
if执行一次
1、while循还:while(布尔表达式)
? ? 大部分情况:需要循环终止,让表达式失效,结束循环
? ? 小部分情况:需要循环一直执行,也就是死循环while(true):需要循环一直执行。如服务器的请求响应监听,等待客户端连接;如定时检查
2、dowhile循环:
? ? ?dowhile与while循环区别:
? ? ?while语句,如果不满足条件,不能进入循环
? ? ?先判断后执行
? ? ?dowhile语句:保证循环体至少被执行一次(至少执行一次)
? ? ?先执行后判断
3、for循环(for循环是支持迭代的一种通用结构,是最有效、最灵活的循环结构)
? ? ?1)结构: for(初始化;布尔表达式;迭代(更新)) {// 代码语句 }? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ?迭代如i++,让循环终止
? ? ?2)for循环的执行次数是在执行前就知道的
? ? ?3)IDEA快捷写法:100.for
? ? ? ? ? ?IDEA代码如何整体左移:shift + tab; 整体右移:tab?
? ? ? ? ? IDEA格式化代码:Ctrl + alt + L
? ? ?4)题目1注意点:
? ? ? ? ? ? ? ?(1)sout 是println, 也就是print line,输出完会换行;print输出完不会换行(sout完之后,删掉ln即可)
public static void main(String[] args) {
// 用while循环或者for循环输出1-1000之间能被5整除的数,每行输出3个
int count = 0;
for (int i = 1; i <= 1000; i++) {
if (i % 5 == 0) {
// println 是print line 输出完后会换行
System.out.print(i+"\t");
// 其实不用计数器
// i % 15 == 0,sout即可
count++;
if (count == 3) {
// 如果输出“\n”的话,两行之间会空一行
// 所以输出空字符串
// System.out.println("");
System.out.println(); // 没有搞清楚这俩的区别
count = 0;
}
}
}
}
? ? ?4)题目2注意点:(输出99乘法表)
? ? ? ? ? ? ? ?(1)循环思想:做这道题目,明确变量i 是行,变量j 是列,就可避免把乘法表输反的情况。
public static void main(String[] args) {
// j是列,i是行,变量定义要明确
for (int j = 1; j <= 9; j++) {
for (int i = 1; i <= j; i++) {
System.out.print(i + "*" + j + "=" + (i * j) + "\t");
if (j == i) {
// 输出空格
System.out.println();
}
}
}
}
? ? ?4)题目3注意点:(输出三角形)重点题!!
? ? ? ? ? ? ? ?(1)循环思想:做这道题目,需要打印五行,变量i 是行, j是控制第几行到底输出几个
public static void main(String[] args) {
// 把三角形进行拆分,比如打印5行
for (int i = 1; i <= 5; i++) {
for (int j = 5; j > i; j--) {
System.out.print(" ");
}
// for (int j = 1; j <= 2 * i - 1; j++) {
// System.out.print("*");
// }
for (int j = 1; j <= i; j++) {
System.out.print("*");
}
for (int j = 1; j < i; j++) {
System.out.print("*");
}
System.out.print("\n");
}
4、增强for循环:后续在数组章节补充,主要是用来遍历数组和集合对象的,在jdk5引用的:
残余疑问点,待后续补充
没明白System.out.println("") 和 System.out.println()的区别
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!