九天学会Java,第四天,循环结构
- 变量和数据类型,赋值和输出
- 算术运算
- 选择结构
- 循环结构
- 函数定义,函数调用
- 变量作用域
- 栈,程序运行的基石
- 面向对象
- 异常处理
- 语言提供的公用包
这次我们讲Java的循环结构。循环结构在编程中广泛使用,所以一定要了解好循环结构是怎么用的。举个例子,我们实现一个记账软件,纪录每一天的开销,最后要出一个汇总,本年度花了多少钱。面临这样的case,你总不能第一天+第二天+第三天+。。。第n天这么写吧,写365个加岂不手都抽经了。正确的写法,是用循环结构。
先介绍for循环结构,for循环结构的语法为:

(本图来源网络)
循环结构的流程图如下所示:

再看一个具体的代码例子:
/**
* 本节讲解循环结构
* 同时也复习赋值,算术运算
*/
public class FourthLesson {
public static void main(String[] args) {
/**
* 定义变量n,把100赋值给n
* 定义变量sum,把0赋值给sum
*/
int n = 100;
int sum = 0;
for (int i = 0 /* (1)初始化参数 */; i < n /*(2)循环条件判断*/; i++ /* (4) */) {
/**
* 第一次i=0,满足i<n,执行sum = sum + i
* 更新后sum = 0,
* 执行i++
* 第二次i=1,满足i<n, 执行sum = sum + i
* 更新后sum = 1
* 执行i++
* 第三次i=2,满足i<n, 执行 sum = sum + i
* 更新后sum = 3
* ...
*/
sum = sum + i; /* (3)循环体执行 */
}
/**
* 输出sum的值
*/
System.out.println(sum);
}
}
除了for循环结构,还有while循环结构和do while结构。
while 循环结构
先看代码
/**
* 输出sum的值
*/
System.out.println(sum);
int k = 0; /* (1)初始化参数 */
sum = 0;
while (k < 100 /* (2)判断循环条件 */) {
sum = sum + k; /* (3)执行循环体 */
k++; /* (4)修改参数 */
}
System.out.println(sum);
while 循环结构的之行步骤是(1)(2)(3)(4)
(4)修改参数是必须的,如果不让k自增,会一直满足(2)循环条件,程序就会进入死循环
do while 循环结构
/**
* do while 循环,(2)(3)肯定会执行一次
*/
k = 0; /* (1)初始化参数 */
sum = 0;
do {
sum = sum + k; /* (2)执行循环体 */
k++; /* (3)修改参数 */
} while (k < 100); /* (4)判断循环条件 */
总结
- 三种循环结构,for, while, do while
- do while 肯定会执行循环体一次
- 如果不修改参数,程序有可能一直满足循环条件进入死循环
作业
- 假设今年你年薪10w, 每年涨幅时10%,每年的钱你都存下来,十年之后你的存款是多少
- 用for循环输出一个Z字形
完整章节
九天学会Java,第四天,循环结构的更多相关文章
- 九天学会Java,第三天,选择结构
选择结构 变量和数据类型,赋值和输出 算术运算 选择结构 循环结构 函数定义,函数调用 变量作用域 栈,程序运行的基石 面向对象 异常处理 语言提供的公用包 上一节介绍了Java的算术运算,如加减乘除 ...
- Java语法基础(四)----循环结构语句
一.循环结构: 循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则 ...
- 九天学会Java,第五天,函数定义函数调用
变量和数据类型,赋值和输出 算术运算 选择结构 循环结构 函数定义,函数调用 变量作用域 栈,程序运行的基石 面向对象 异常处理 语言提供的公用包 什么是函数,为什么有函数,大家可能有这样的疑问. 举 ...
- 九天学会Java,第一天,变量和数据类型,赋值和输出
用9天入门三门编程语言,有可能嘛,尤其是对没有基础的同学来说?对于想学好的编程的人来说,无论从哪一门语言开始入手,语言的本身其实并不是我们最应该的关心的,至少不是作为一个初学者首先关心的. 网络上,网 ...
- 九天学会Java,第二天,算术运算
算术运算 先回顾上次我们提到的编程特性 变量和数据类型,赋值和输出 算术运算 选择结构 循环结构 函数定义,函数调用 变量作用域 栈,程序运行的基石 面向对象 异常处理 语言提供的公用包 第一天我们讲 ...
- Java05-Java基础语法(四)循环结构
Java05-Java基础语法(四)循环结构 循环结构(重复/迭代):根据条件重复执行部分语句 1.while循环结构 while(条件表达式){ 循环体语句; } 1)语法:a.while是关键字 ...
- 053 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 15 流程控制知识总结
053 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 15 流程控制知识总结 本文知识点: 流程控制知识总结 流程控制知识总结 选择结构语句 循环结构语句 ...
- 052 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 14 Eclipse下程序调试——debug2 多断点调试程序
052 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 14 Eclipse下程序调试--debug2 多断点调试程序 本文知识点: Eclipse下程序调 ...
- 051 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 13 Eclipse下程序调试——debug入门1
051 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 13 Eclipse下程序调试--debug入门1 本文知识点: 程序调试--debug入门1 程序 ...
随机推荐
- background:rgba() 兼容ie8 用法
background: rgba(255,255,255,.1);//火狐,谷歌等 filter:progid:DXImageTransform.Microsoft.gradient(startCol ...
- xdu_1009: Josephus环的复仇(线段树)
题目链接 题意不难理解,解法具体看代码及注释吧.. #include<bits/stdc++.h> using namespace std; typedef long long LL; ; ...
- Linux,activemq-cpp之消息过滤器
假设过滤器字符串如下: filt1=aaaa filt2=bbbb filt3=cccc activeMQ-cpp中消息过滤器,在发送消息的producer.cpp中,对message进行属性设置,m ...
- (转)如何将 Excel 文件导入到 Navicat for MySQL 数据库
场景:工作中需要统计一段时间的加班时长,人工统计太过麻烦,就想到使用程序实现来统计 1 如何将 Excel 文件导入到 Navicat for MySQL 数据库 Navicat for MySQL ...
- 让初学者快速了解Git
Git工作原理 为了更好的学习Git,我们们必须了解Git管理我们文件的3种状态,分别是已提交(committed).已修改(modified)和已暂存(staged),由此引入 Git 项目的三个工 ...
- C#中的ToString格式大全
// C# 日期格式 DateTime dt = DateTime.Now; dt.ToString();//2005-11-5 13:21:25 dt.ToFileTime().ToString() ...
- Golang使用pprof和qcachegrind进行性能监控
Golang为我们提供了非常方便的性能测试工具pprof,使用pprof可以非常方便地对Go程序的运行效率进行监测.本文讲述如何使用pprof对Go程序进行性能测试,并使用qcachegrind查看性 ...
- 微信小程序-滚动消息通知
写在前面: 微信小程序学的不太多,做了一个简单的项目,回来很快时间内把在深圳两天的房租给赚回来了. 这次我主要想总结一下微信小程序实现上下滚动消息提醒,主要是利用swiper组件来实现,swiper组 ...
- vue2 和 webpack 配置环境使用
http://blog.csdn.net/fungleo/article/details/53171052
- Redis-key的设计技巧
把表名转换为key前缀, 比如: tag: 第二段放置用于区分key的字段--对应mysql中的主键的列名 第三段放置主键值 第三段写列名 用户表user, 转换为redis的key-value存储 ...