问题

请在控制台里面打印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循环语句的更多相关文章

  1. 【python之路4】循环语句之while

    1.while 循环语句 #!/usr/bin/env python # -*- coding:utf-8 -*- import time bol = True while bol: print '1 ...

  2. python之最强王者(3)——变量,条件、循环语句

    1.Python 变量类型 变量存储在内存中的值.这就意味着在创建变量时会在内存中开辟一个空间. 基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中. 因此,变量可以指定不同的 ...

  3. #9.5课堂JS总结#循环语句、函数

    一.循环语句 1.for循环 下面是 for 循环的语法: for (语句 1; 语句 2; 语句 3) { 被执行的代码块 } 语句 1 在循环(代码块)开始前执行 语句 2 定义运行循环(代码块) ...

  4. 详解Python中的循环语句的用法

    一.简介 Python的条件和循环语句,决定了程序的控制流程,体现结构的多样性.须重要理解,if.while.for以及与它们相搭配的 else. elif.break.continue和pass语句 ...

  5. 【java开发】分支语句、循环语句学习

    一.Java分支语句类型 if-else 语句 switch 关于if-esle语句可以拆分为三种 if语句 if(条件){语句块;} if-else语句if(条件语句){语句块;} if-else ...

  6. python3循环语句while

    Python的循环语句有for和while语句,这里讲while语句. Python中while语句的一般形式: while 条件判断 : 语句 需要注意冒号和缩进.另外,注意Python中没有do. ...

  7. 20.SqlServer中if跟循环语句

    --if语句declare @i int begin print @i end else --循环语句 declare @i int begin insert into grade(classname ...

  8. Python学习【第五篇】循环语句

    Python循环语句 接下来将介绍Python的循环语句,程序在一般情况下是按顺序执行的. 编程语言提供了各种控制结构,允许更复杂的执行路径. 循环语句允许我们执行一个语句或语句组多次. Python ...

  9. iOS -Swift 3.0 -for(循环语句用法)

    // // ViewController.swift // Swift-循环语句 // // Created by luorende on 16/12/08. // Copyright © 2016年 ...

  10. Python--While循环语句

    Python While循环语句 Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务.其基本形式为: while 判断条件: 执行语句 ...

随机推荐

  1. VMware 安装 CentOS7 后的简单配置

    1.连网 如果能连网,跳过此步 试着ping一下百度 ping baidu.com 动态分配 IP sudo vim /etc/sysconfig/network-scripts/ifcfg-ens3 ...

  2. 后端程序员之路 27、LogStash

    访谈与书评:<LogStash,使日志管理更简单>http://www.infoq.com/cn/articles/review-the-logstash-book/ [Logstash] ...

  3. 【HTB系列】靶机Netmon的渗透测试

    出品|MS08067实验室(www.ms08067.com) 本文作者:是大方子(Ms08067实验室核心成员) 总结和反思: win中执行powershell的远程代码下载执行注意双引号转义 对po ...

  4. POJ-1015(背包变形+输出路径)

    Jury Compromise POJ-1015 推荐几个较好的介绍和理解:https://blog.csdn.net/lyy289065406/article/details/6671105 htt ...

  5. Go中定时器实现原理及源码解析

    转载请声明出处哦~,本篇文章发布于luozhiyun的博客:https://www.luozhiyun.com 本文使用的go的源码15.7,需要注意的是由于timer是1.14版本进行改版,但是1. ...

  6. YoloV3 记录

    常用于目标检测,因为最近要从目标分类问题转到目标检测中去. tensoflow.Keras(大公司一般都用这个).pytorch(本次学习)------------------主要框架 程序设计模块规 ...

  7. HDU_6693 Valentine's Day 【概率问题】

    一.题目 Valentine's Day 二.分析 假设$ s_0 $代表不开心的概率,$ s_1 $代表开心一次的概率. 那么随便取一个物品,那么它的开心概率为$ p _i $,可以推导加入之后使女 ...

  8. B. Johnny and Grandmaster

    原题链接:https://codeforc.es/problemset/problem/1361/B 题意:给你n个k求把pk分成两组数和的最小差值对1e9+7取余. 题解:运用贪心的思想取最大的数减 ...

  9. 12、MyBatis教程之缓存

    13.缓存 简介 1.什么是缓存 [ Cache ]? 存在内存中的临时数据. 将用户经常查询的数据放在缓存(内存)中,用户去查询数据就不用从磁盘上(关系型数据库数据文件)查询,从缓存中查询,从而提高 ...

  10. Linux系统浮动IP的配置

    什么是浮动IP,为什么要配置浮动IP 首先说一下为什么要配置浮动IP. 原文链接:https://blog.csdn.net/readiay/article/details/53538085 现在有一 ...