九天学会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 程序 ...
随机推荐
- Android - 使用Volley请求网络数据
Android - 使用Volley请求网络数据 Android L : Android Studio 14 个人使用volley的小记,简述使用方法,不涉及volley源码 准备工作 导入Volle ...
- Mac系统下STF的环境搭建和运行
本文参考以下文章整理:MAC 下 STF 的环境搭建和运行 一. 前言 STF,全称是Smartphone Test Farm,WEB 端批量移动设备管理控制工具,就是可以用浏览器来批量控制你的移动设 ...
- 全面理解SSD和NAND Flash
Flash Memory又叫做闪存,是一种非易失性存储器.非易失性是指断电之后数据不会丢失,这里就涉及到断电保护(后面详细讲解). 总体思路 1.NAND Flash的用途. 2.NAND Flash ...
- 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/ ...
- [BZOJ 1500]维修数列 [Splay Tree从进阶到住院]
历尽艰辛终于A掉了这题QwQ 贴COGS评论区几句话=.= 策爷:"splay/块状链表的自虐题.".深刻理解到如果没有M倾向就不要去写这题了.. -Chenyao2333 记得b ...
- Java中的24种设计模式与7大原则 (转)
一.创建型模式 1.抽象工厂模式(Abstract factory pattern): 提供一个接口, 用于创建相关或依赖对象的家族, 而不需要指定具体类.2.生成器模式(Builder patter ...
- 【css】主要的块状元素(block element)和内联元素(inline element行内元素)
内联元素:只在行内发生作用,设置宽高不起作用,不会影响文字内容,使其换行等.竖直方向和间距也不起作用 display可以强制转换行内元素和块状元素,还可以取消显示none 块元素(bloc ...
- jsp页面中某个src,如某个iframe的src,应该填写什么?可以是html、jsp、servlet、action吗?是如何加载的?
jsp页面中某个src,如某个iframe的src,应该填写什么?可以是html.jsp.servlet.action吗?是如何加载的? 如有个test工程,其某个jsp中有个iframe,代码如下: ...
- linux 自动备份数据库
首先在你的项目合适的地方建立一个执行备份数据库的脚本 下面我建立一个叫 mysqlBackups.sh 的脚本内人如下: #!/bin/sh # Database info DB_NAME=" ...
- Java动态代理学习【Spring AOP基础之一】
Spring AOP使用的其中一个底层技术就是Java的动态代理技术.Java的动态代理技术主要围绕两个类进行的 java.lang.reflect.InvocationHandler java.la ...