032- for循环语句
问题
请在控制台里面打印10次HelloWorld。
这时可能你会这么写:
System.out.println("helloworld");
System.out.println("helloworld");
System.out.println("helloworld");
System.out.println("helloworld");
System.out.println("helloworld");
System.out.println("helloworld");
System.out.println("helloworld");
System.out.println("helloworld");
System.out.println("helloworld");
System.out.println("helloworld");
好吧,如果要打印10000次呢?累不死你才怪。
这时就需要使用for循环语句来帮我们解决了。
语法
- for(初始化表达式;条件表达式;循环后的操作表达式) {
- 循环体;
- }
例子:
- public class json
- {
- public static void main(String[]args){
- //初始化i的值为0;只要i<10则循环一次打印语句,每循环一次,i自增1.
- for(int i =0;i<10;i++){
- System.out.println("hello world");
- }
- }
- }
执行过程:
1.执行初始化语句,并且在整个循环过程里面只执行一次
2.执行判断条件语句,看其返回值是true还是false
* 如果是true,就继续执行
* 如果是false,就结束循环,整个流程结束
3.执行循环体语句
4.执行循环后的操作表达式
5.程序回到步骤2继续。
for循环中的变量
在for循环中定义的变量只能在循环内部访问和使用,循环外是无法访问和使用的。
- for(int i=0;i<10;i++){
- System.out.println("Hello");
- }
- //报错,在循环外无法访问和使用i
- System.out.println(i);
因此下面代码是可以正常执行的:
死循环
倘若for循环里面的循环体只有一行代码,则大括号可以省略,但是不建议省略,最好写上。
如果for循环编写不当,可能会造成死循环,程序永远不会停止,在编写程序时一定要避免,下面就是一个死循环。
- public class json
- {
- public static void main(String[]args){
- for(;;){
- System.out.println("test");
- }
- }
- }
嵌套for循环
for循环语句还可以嵌套使用
- public class json
- {
- public static void main(String[]args){
- for(int i=5;i>0;i--){
- //因为该for循环是在上面for循环的内部,所以是可以访问变量i的
- for(int j=0;j<i;j++){
- System.out.print(j+" ");
- }
- //换行
- System.out.println();
- }
- }
- }
运行结果:
1.计算1-100所有的奇数求和
1.在for循环里面加上if语句来判断当前循环的数字是否为奇数
- public class json
- {
- public static void main(String[]args){
- int sum = 0;
- for (int i =1; i<=900;i++ )
- {
- if(i%2!=0){
- //奇数
- //追加
- sum+=i;
- }
- }
- System.out.println(sum);
- }
- }
2.在屏幕中打印九九乘法表
2.九九乘法表一共要输出9行,首先写一个for循环来控制行数:
for (int i = 1; i <= 9; i++) {
System.out.println(i);
}
接下来比如我要输出九九乘法表的第一行,即1 * 1 = 1,写一个for循环:
for(int j=1; j<=1; j++){
System.out.print(1 + "*" + j + "=" +1*j + " ");
}
九九乘法表的第二行,即2*1=2, 2 * 2=4
for(int j=1; j<=2; j++){
System.out.print(2 + "*" + j + "=" +2*j + " ");
}
后面依次类推,可以发现需要修改的地方都是固定的,可以将上面的for循环修改为下面:
int i = 9;
for(int j=1; j<=i; j++){
System.out.print(i + "*" + j + "=" +i*j + " ");
}
只需要将i修改为要输出的行数就可以,而这个变量i其实可以从第一个for循环中获取,将两个循环进行嵌套:
//外层for循环控制换行,变量i是行号
for (int i = 1; i <= 9; i++) {
//System.out.println(i);
// 输出规律:
// 第1行,输出1个
// 第2行,输出2个
// 第3行,输出3个
// ...
// 第9行,输出9个
// 第i行,输出i个
for (int j = 1; j <= i; j++) {
// 这里不要换行
System.out.print(i + "*" + j + "=" + i * j + " ");
}
// 注意:上面的for循环结束之后表示一行输出结束了,换行
System.out.println();
032- for循环语句的更多相关文章
- 【python之路4】循环语句之while
1.while 循环语句 #!/usr/bin/env python # -*- coding:utf-8 -*- import time bol = True while bol: print '1 ...
- python之最强王者(3)——变量,条件、循环语句
1.Python 变量类型 变量存储在内存中的值.这就意味着在创建变量时会在内存中开辟一个空间. 基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中. 因此,变量可以指定不同的 ...
- #9.5课堂JS总结#循环语句、函数
一.循环语句 1.for循环 下面是 for 循环的语法: for (语句 1; 语句 2; 语句 3) { 被执行的代码块 } 语句 1 在循环(代码块)开始前执行 语句 2 定义运行循环(代码块) ...
- 详解Python中的循环语句的用法
一.简介 Python的条件和循环语句,决定了程序的控制流程,体现结构的多样性.须重要理解,if.while.for以及与它们相搭配的 else. elif.break.continue和pass语句 ...
- 【java开发】分支语句、循环语句学习
一.Java分支语句类型 if-else 语句 switch 关于if-esle语句可以拆分为三种 if语句 if(条件){语句块;} if-else语句if(条件语句){语句块;} if-else ...
- python3循环语句while
Python的循环语句有for和while语句,这里讲while语句. Python中while语句的一般形式: while 条件判断 : 语句 需要注意冒号和缩进.另外,注意Python中没有do. ...
- 20.SqlServer中if跟循环语句
--if语句declare @i int begin print @i end else --循环语句 declare @i int begin insert into grade(classname ...
- Python学习【第五篇】循环语句
Python循环语句 接下来将介绍Python的循环语句,程序在一般情况下是按顺序执行的. 编程语言提供了各种控制结构,允许更复杂的执行路径. 循环语句允许我们执行一个语句或语句组多次. Python ...
- iOS -Swift 3.0 -for(循环语句用法)
// // ViewController.swift // Swift-循环语句 // // Created by luorende on 16/12/08. // Copyright © 2016年 ...
- Python--While循环语句
Python While循环语句 Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务.其基本形式为: while 判断条件: 执行语句 ...
随机推荐
- 微信小程序使用彩色图标(阿里巴巴 iconfont Symbol 的用法)微信小程序使用彩色图标(阿里巴巴 iconfont Symbol 的用法)
前提 需要安装好 nodejs (略) 用于下载插件 安装插件 npm install mini-program-iconfont-cli --save-dev 初始化配置文件 npx iconfon ...
- React函数式组件和类组件[Dan]
一篇对Dan的 How Are Function Components Different from Classes? 一文的个人阅读总结,内容来自于此.强烈推荐阅读 Dan Abramov.的博客. ...
- go中errgroup源码解读
errgroup 前言 如何使用 实现原理 WithContext Go Wait 错误的使用 总结 errgroup 前言 来看下errgroup的实现 如何使用 func main() { var ...
- 说说SpringMVC从http流到Controller接口参数的转换过程
一,前言 谈起springMVC框架接口请求过程大部分人可能会这样回答:负责将请求分发给对应的handler,然后handler会去调用实际的接口.核心功能是这样的,但是这样的回答未免有些草率.面试过 ...
- java异常的 理解
1.体系结构 java.lang.Object |----java.lang.Throwable |-------java.lang.Error:错误,java程序对此无能为力,不显式的处理 |--- ...
- dfs求连通块
递归 递归是什么?绝大部分人都会说:自己调用自己,刚开始我也是这样理解递归的.确实没错,递归的确是自己调用自己.递归简单的应用:编写一个能计算斐波那契数列的函数,也就是这样: int fb(int n ...
- B. Johnny and Grandmaster
原题链接:https://codeforc.es/problemset/problem/1361/B 题意:给你n个k求把pk分成两组数和的最小差值对1e9+7取余. 题解:运用贪心的思想取最大的数减 ...
- 【博弈论】组合游戏及SG函数浅析
目录 预备知识 普通的Nim游戏 SG函数 预备知识 公平组合游戏(ICG) 若一个游戏满足: 由两名玩家交替行动: 游戏中任意时刻,合法操作集合只取决于这个局面本身: 若轮到某位选手时,若该选手无合 ...
- 使用命令行编译Qt程序
code[class*="language-"], pre[class*="language-"] { color: rgba(51, 51, 51, 1); ...
- FutureTask核心源码分析
本文主要介绍FutureTask中的核心方法,如果有错误,欢迎大家指出! 首先我们看一下在java中FutureTask的组织关系 我们看一下FutureTask中关键的成员变量以及其构造方法 //表 ...