• 变量和数据类型,赋值和输出
  • 算术运算
  • 选择结构
  • 循环结构
  • 函数定义,函数调用
  • 变量作用域
  • 栈,程序运行的基石
  • 面向对象
  • 异常处理
  • 语言提供的公用包

这次我们讲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,第四天,循环结构的更多相关文章

  1. 九天学会Java,第三天,选择结构

    选择结构 变量和数据类型,赋值和输出 算术运算 选择结构 循环结构 函数定义,函数调用 变量作用域 栈,程序运行的基石 面向对象 异常处理 语言提供的公用包 上一节介绍了Java的算术运算,如加减乘除 ...

  2. Java语法基础(四)----循环结构语句

    一.循环结构: 循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则 ...

  3. 九天学会Java,第五天,函数定义函数调用

    变量和数据类型,赋值和输出 算术运算 选择结构 循环结构 函数定义,函数调用 变量作用域 栈,程序运行的基石 面向对象 异常处理 语言提供的公用包 什么是函数,为什么有函数,大家可能有这样的疑问. 举 ...

  4. 九天学会Java,第一天,变量和数据类型,赋值和输出

    用9天入门三门编程语言,有可能嘛,尤其是对没有基础的同学来说?对于想学好的编程的人来说,无论从哪一门语言开始入手,语言的本身其实并不是我们最应该的关心的,至少不是作为一个初学者首先关心的. 网络上,网 ...

  5. 九天学会Java,第二天,算术运算

    算术运算 先回顾上次我们提到的编程特性 变量和数据类型,赋值和输出 算术运算 选择结构 循环结构 函数定义,函数调用 变量作用域 栈,程序运行的基石 面向对象 异常处理 语言提供的公用包 第一天我们讲 ...

  6. Java05-Java基础语法(四)循环结构

    Java05-Java基础语法(四)循环结构 循环结构(重复/迭代):根据条件重复执行部分语句 1.while循环结构 while(条件表达式){ 循环体语句; } 1)语法:a.while是关键字 ...

  7. 053 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 15 流程控制知识总结

    053 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 15 流程控制知识总结 本文知识点: 流程控制知识总结 流程控制知识总结 选择结构语句 循环结构语句 ...

  8. 052 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 14 Eclipse下程序调试——debug2 多断点调试程序

    052 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 14 Eclipse下程序调试--debug2 多断点调试程序 本文知识点: Eclipse下程序调 ...

  9. 051 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 13 Eclipse下程序调试——debug入门1

    051 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 13 Eclipse下程序调试--debug入门1 本文知识点: 程序调试--debug入门1 程序 ...

随机推荐

  1. 51nod_1661: 黑板上的游戏(sg函数 找规律)

    题目链接 先打一个sg函数的表,找找规律,发现sg函数可以递归求解 打表代码如下 #include<bits/stdc++.h> using namespace std; typedef ...

  2. JDBC&&c3p0、事务、批处理、多线程 于一体的经典秘方QueryRunner

    目录: 基础篇_功能各自回顾 JDBC基础代码回顾(使用JdbcUtils工具简化) c3p0数据库连接池的使用(使用JdbcUtils工具简化) 大数据的插入(使用c3p0+JdbcUtils工具简 ...

  3. Maven安装及使用-超级图文初级篇-

    针对新手刚接触maven,并且不知道如何去搭建和使用maven,那么我来写一篇浅显易懂的初级篇教程吧. 不同的是,别人会先将概念再安装,我来帮大家先搭建好以后再去看概念,不然概念会变的很模糊. 安装: ...

  4. react 入门教程 阮一峰老师真的是榜样

    -  转自阮一峰老师博客 React 入门实例教程   作者: 阮一峰 日期: 2015年3月31日 现在最热门的前端框架,毫无疑问是 React . 上周,基于 React 的 React Nati ...

  5. Java的三种代理模式简述

    本文着重讲述三种代理模式在java代码中如何写出,为保证文章的针对性,暂且不讨论底层实现原理,具体的原理将在下一篇博文中讲述. 代理模式是什么 代理模式是一种设计模式,简单说即是在不改变源码的情况下, ...

  6. python 文件打开小知识

    一个文件被打开后,你有一个file对象,你可以得到有关该文件的各种信息. file.name : 返回文件的名称 file.closed: 文件关闭返回值为True,否则为False file.mod ...

  7. NYOJ--139--我排第几个(康托展开)

    我排第几个 时间限制:1000 ms  |  内存限制:65535 KB 难度:3   描述 现在有"abcdefghijkl"12个字符,将其所有的排列中按字典序排列,给出任意一 ...

  8. 基于Dubbo的压测调优实例

    不久前参与开发了一个基于dubbo分布式框架的底层账单系统,并实现了其中的一部分业务接口,目前需对这些接口进行压测,以评估生产环境所能承受的最大吞吐量.笔者以其中一个查询接口为例来回顾此次压测的整体流 ...

  9. Java 冒泡排序的实现

    实现原理: 比较相邻的元素.如果第一个比第二个大,就交换他们两个. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对.在这一点,最后的元素应该会是最大的数. 针对所有的元素重复以上的步骤,除 ...

  10. 微信小程序添加、删除class’

    终于等到公司开发小程序了,学习的时候不觉得有什么,实际开发就会出现各种问题. 今天第一天开发就遇到问题了. 项目需求,要一个平时的nav导航栏,这玩意用jQuery两行代码解决了,可是小程序不允许操作 ...