黑马程序员——JAVA基础之程序控制流结构之循环结构,循环嵌套
------- android培训、java培训、期待与您交流! ----------
循环结构:
代表语句:while ,do while ,for
while语句格式 :
while(条件表达式)
{
执行语句;
}
do while语句格式:
do
{
执行语句;
}
while(条件表达式);
do while特点是条件无论是否满足,循环体至少被执行一次。
for语句格式:
for(初始化表达式;循环条件表达式;循环后的操作表达式)
{
执行语句;
}
a,for里面的连个表达式运行的顺序,初始化表达式只读一次,判断循环条件,为真就执行循环体,然后再执行循环后的操作表达式,接着继续判断循环条件,重复找个过程,直到条件不满足为止。
b,while与for可以互换,区别在于for为了循环而定义的变量在for循环结束就是在内存中释放。而while循环使用的变量在循环结束后还可以继续使用。
c,最简单无限循环格式:while(true) , for( ; ; ),无限循环存在的原因是并不知道循环多少次,而是根据某些条件,来控制循环。
如何选择用while还是for?
for和while可以进行互换。但是如果需要定义循环增量。用for更为合适。
什么时候使用循环结构?
当要对某些语句执行很多次时,就使用循环结构。
程序练习:
/**
* 需求:用while,do while和for循环算出1+10的结果
*
*思路:累加原理
*/
public class WhileDemo
{
public static void main(String [] args)
{
//while example
int i = 1,sum = 0;
while(i<=10)
{
sum+=i;
i++;
}
System.out.println(sum); //do while example
int sum1 = 0;
--i;
do
{
sum1+=i;
i--;
}
while(i>=1);
System.out.println(sum1); //for example
int sum2 = 0;
for (int x=1;x<=10;x++)
{
sum2+=x;
}
System.out.println(sum2);
}
}
/**
* 需求:打印1~100之间7的倍数的个数
*
* 思路:需要用到循环语句,计数器思想
* 遍历1~100
* 凡是%7为0的就是7的倍数
*
*/
public class XunHuan1
{
public static void main(String [] args)
{
int count = 0;
for(int i=1;i<=100;i++)
{
if(i%7==0)
count++;
}
System.out.println(count);
}
}
for语句循环嵌套的练习:发现图形有很多行,每一个行有很多列。要使用嵌套循环
/**
* 需求:打印图形:
*
* ******
* *****
* ****
* ***
* **
* *
* *
* **
* ***
* ****
* *****
* ******
*
* 思路:符合大圈套小圈的思想,应该使用循环嵌套
* 定义横排个数为x,纵排为y,
* 发现x从6递减到1再递增到6
* y由x从6到1用了6行
* 后半部分是上半部分的翻转
*
*/
public class XunHuan2
{
public static void main(String [] args)
{
for (int y=0;y<6;y++)
{
for (int x=0;x<6-y;x++)
{
System.out.print("*");
}
System.out.println();
} for (int y=0;y<6;y++)
{
for (int x=0;x<y+1;x++)
{
System.out.print("*");
}
System.out.println();
}
}
}
/**
*
* 需求:打印下图三角
* *
* * *
* * * *
* * * * *
* * * * * *
*
* 思路:符合大圈套小圈思想,用循环嵌套
* 定义横排x,竖排y
* 发现个数递增
*
* 实际图形
* -----*
* ----**
* ---***
* --****
* -*****
*
*
*/
public class XunHuan3
{
public static void main(String [] args)
{
for (int y=0;y<5;y++)
{
for(int x=0;x<5-y;x++)
{
System.out.print(" ");
} for(int z=0;z<y+1;z++)
{
System.out.print("* ");
}
System.out.println();
}
}
}
/**
*
*需求:打印一个99乘法表
*
*思路:符合大圈套小圈思想,用循环嵌套
* 定义x为被乘数,y为乘数。
*
*
*/
public class XunHuan4
{
public static void main(String [] args)
{
for (int y=1;y<=9;y++)
{
for (int x=1;x<=y;x++)
{
System.out.print(x+"*"+y+"="+(x*y)+"\t");
}
System.out.println();
}
}
}
其他流程控制语句:
break( 跳出) ,
continue( 继续)
break语句:应用范围:选择结构和循环结构。
continue语句:应用于循环结构。
注:
a,这两个语句离开应用范围,存在是没有意义的。
b,这个两个语句单独存在下面都不可以有语句,因为执行不到。
c,continue语句是结束本次循环继续下次循环。
d,标号的出现,可以让这两个语句作用于指定的范围。
------- android培训、java培训、期待与您交流! ----------
黑马程序员——JAVA基础之程序控制流结构之循环结构,循环嵌套的更多相关文章
- 黑马程序员——JAVA基础之程序控制流结构之判断结构,选择结构
------- android培训.java培训.期待与您交流! ---------- 程序控制流结构:顺序结构:判断结构:选择结构:循环结构. 判断结构:条件表达式无论写成什么样子,只看最终的结构是 ...
- 黑马程序员——JAVA基础之函数,重载,内存结构
------- android培训.java培训.期待与您交流! ---------- 函数: 什么是函数? • 函数就是定义在类中的具有特定功能的一段独立小程序. • 函数也称为方法. 函数的格 ...
- 黑马程序员——JAVA基础之JDK1.5新特性高级for循环和可变参数
------- android培训.java培训.期待与您交流! ---------- 高级for循环 格式: for(数据类型 变量名 : 被遍历的集合(Collection)或者数组) { ...
- 黑马程序员Java基础班+就业班课程笔记全发布(持续更新)
正在黑马学习,整理了一些课程知识点和比较重要的内容分享给大家,也是给自己拓宽一些视野,仅供大家交流学习,大家有什么更好的内容可以发给我 ,现有黑马教程2000G QQ 1481135711 这是我总 ...
- 黑马程序员----java基础笔记中(毕向东)
<p>------<a href="http://www.itheima.com" target="blank">Java培训.Andr ...
- 黑马程序员----java基础笔记上(毕向东)
------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 笔记一共记录了毕向东的java基础的25天课程,分上.中.下 本片为上篇,涵盖前10天课程 1. ...
- 黑马程序员——JAVA基础之泛型和通配符
------- android培训.java培训.期待与您交流! ---------- 泛型: JDK1.5版本以后出现新特性.用于解决安全问题,是一个类型安全机制. 泛型好处: ...
- 黑马程序员——JAVA基础之简述面向对象,类,变量,匿名对象
------- android培训.java培训.期待与您交流! ---------- 面向对象: 面向对象是相对面向过程而言 面向对象和面向过程都是一种思想 面向过程 强调的是功能行为 面向对象 将 ...
- 黑马程序员——JAVA基础之语法、命名规则
------- android培训.java培训.期待与您交流! ---------- 1.java语言组成:关键字,标识符,注释,常量和变量,运算符,语句,函数,数组. 2.java关键字:被Jav ...
随机推荐
- shell指令expr和test指令
通过expr指令可以进行+.-.*.\.%等运算,但是有一点值得注意,使用乘法时,要在*前加上一个\符号. 通过test指令可以进行逻辑测试,进行测试的情况有四种: 1.整数测试 a.判断两个整数是否 ...
- fastboot 刷system.img 提示 sending 'system' (*KB)... FAILED (remote: data too large)
华为G6-C00卡刷提示OEMSBL错误,只能线刷 ,但是官方找不到线刷img镜像,无奈 网上下了个可以线刷的工具套件 流氓ROM . 使用HuaweiUpdateExtractor(工具百度)把官方 ...
- 在iis6.0公布asp.net mvc3网站
在iis6.0发布asp.net mvc3网站 这个问题一直困扰了我很长一段时间,终于在今天综合网上查的资料把它解决了. 在iis6.0发布asp.net mvc3网站 1 需要在服务器下安装.n ...
- CSS引入方式的区别详解
在web前端开发中,CSS是一种用来表现HTML或XML等文件样式的语言.很多处于web前端初学阶段的朋友,很多人都不知道CSS引入方式存在三种方法,css引入方式分别为标签内联书写.页面头部书写.外 ...
- mysql 批量创建表,利用存储过程
最近根据需求,需要提前创建一批日志表,以日期结尾,每天创建一张,例如XXX20160530,请参考如下: BEGIN DECLARE `sName` VARCHAR(128); DECLAR ...
- (转)JS加载顺序
原文:http://blog.csdn.net/dannywj1371/article/details/7048076 JS加载顺序 做一名合格的前端开发工程师(12篇)——第一篇 Javascrip ...
- fix eclipse gc overhead limit exceeded in mac
fix eclipse gc overhead limit exceeded: 在mac上找不到eclipse.ini文件编辑内存限制,在eclipse安装目录右击eclipse程序,选“显示包内容” ...
- IOS 动画的各种实现方法
#import "ViewController.h"#import <QuartzCore/QuartzCore.h> @interface ViewControlle ...
- 【转】SQL SERVER日志满或过大的处理方法
原文转自:http://blog.chinaunix.net/uid-7953959-id-2543262.html 事务日志文件Transaction Log File是用来记录数据库更新情况的文件 ...
- SQL中使用WITH AS提高性能-使用公用表表达式(CTE)简化嵌套SQL
转:http://wudataoge.blog.163.com/blog/static/80073886200961652022389/ 一.WITH AS的含义 WITH AS短语,也叫做子 ...