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

这次我们讲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. Android - 使用Volley请求网络数据

    Android - 使用Volley请求网络数据 Android L : Android Studio 14 个人使用volley的小记,简述使用方法,不涉及volley源码 准备工作 导入Volle ...

  2. Mac系统下STF的环境搭建和运行

    本文参考以下文章整理:MAC 下 STF 的环境搭建和运行 一. 前言 STF,全称是Smartphone Test Farm,WEB 端批量移动设备管理控制工具,就是可以用浏览器来批量控制你的移动设 ...

  3. 全面理解SSD和NAND Flash

    Flash Memory又叫做闪存,是一种非易失性存储器.非易失性是指断电之后数据不会丢失,这里就涉及到断电保护(后面详细讲解). 总体思路 1.NAND Flash的用途. 2.NAND Flash ...

  4. org.apache.hadoop.security.AccessControlException: Permission denied: user=?, access=WRITE, inode="/":hadoop:supergroup:drwxr-xr-x 异常解决

    进行如下更改:vim /usr/local/hadoop/etc/hadoop/hdfs-site.xml[我的hadoop目录在/usr/local下,具体的是修改你的hadoop目录中的/etc/ ...

  5. [BZOJ 1500]维修数列 [Splay Tree从进阶到住院]

    历尽艰辛终于A掉了这题QwQ 贴COGS评论区几句话=.= 策爷:"splay/块状链表的自虐题.".深刻理解到如果没有M倾向就不要去写这题了.. -Chenyao2333 记得b ...

  6. Java中的24种设计模式与7大原则 (转)

    一.创建型模式 1.抽象工厂模式(Abstract factory pattern): 提供一个接口, 用于创建相关或依赖对象的家族, 而不需要指定具体类.2.生成器模式(Builder patter ...

  7. 【css】主要的块状元素(block element)和内联元素(inline element行内元素)

      内联元素:只在行内发生作用,设置宽高不起作用,不会影响文字内容,使其换行等.竖直方向和间距也不起作用   display可以强制转换行内元素和块状元素,还可以取消显示none   块元素(bloc ...

  8. jsp页面中某个src,如某个iframe的src,应该填写什么?可以是html、jsp、servlet、action吗?是如何加载的?

    jsp页面中某个src,如某个iframe的src,应该填写什么?可以是html.jsp.servlet.action吗?是如何加载的? 如有个test工程,其某个jsp中有个iframe,代码如下: ...

  9. linux 自动备份数据库

    首先在你的项目合适的地方建立一个执行备份数据库的脚本 下面我建立一个叫 mysqlBackups.sh 的脚本内人如下: #!/bin/sh # Database info DB_NAME=" ...

  10. Java动态代理学习【Spring AOP基础之一】

    Spring AOP使用的其中一个底层技术就是Java的动态代理技术.Java的动态代理技术主要围绕两个类进行的 java.lang.reflect.InvocationHandler java.la ...