Java程序设计入门教程--for语句

news/2024/11/16 2:39:18/

for语句

格式

for ( 表达式1;表达式2;表达式3 )

        循环体;

for语句结构说明

表达式1:通常是初始化表达式,用来设定循环变量的初始值,也就是循环计数的起点;
表达式2:是判断表达式,用来判断循环是否结束,也就是循环的终点。通常判断表达式是关系表达式,当关系表达式的值为真时,程序继续进行循环,当关系表达式的值为假时,循环结束;
表达式3: 是递增(递减)表达式,是控制循环变量值递增或递减的。每次循环中循环变量增长(或减少)的值,称为循环步长;
循环体: 即每次循环要执行的操作,此处,若该语句体只有一个语句,则可以不加{},若超过一个语句,则必须用 {} 括起。

执行过程

1.先执行 初始化表达式(表达式1)。

2.执行 判断表达式(表达式2),若其值为真(true),则执行循环体,然后继续第 ③ 步;若值为假(false),则转到第 ⑤ 步。

3.执行递增(递减)表达式(表达式3) 。

4.转到第 ② 步继续执行 。

5.循环结束,执行for语句下面的一个语句。

案例:求1~10内的所有奇数之和:

int sum=0, i ;for ( i = 1; i<=10; i++)if ( i%2==1 )   sum+=i ;

注意点

1如果初始化表达式定义了一个初始化变量,那么该变量的作用域 

        是从变量定义处开始到循环结束,例如:

        for(int i = 1; i <= 10; i++)//初始化表达式定义了初始化变量i = 1

        { ... }

        // 变量i 在这里已经不再可用

2如果想在循环体外部使用循环变量,应在for语句前就声明,例如:

        int i = 1;  // 定义循环计数器变量 i = 1

        for(   ; i <= 10; i++)

        { ... }

        // 变量i 在这里还可以使用

3在同级别的不同for循环中,可以定义同名循环变量,例如:

        for( int i = 1; i <= 10; i++) //初始化表达式定义了初始化变量 i = 1

        { ... }

        //第一个for循环变量 i 在这里已经消失

        for( int i = 1; i <= 20; i++) //i 在第2for循环语句中可以被重新定义

4for语句各表达式中可以使用逗号运算符以增强循环控制功能,例如:

         for ( int i = 1, j = i+1; i <=3;  i++, j = i*2)

               System.out.println(" i = " + i +"; j = " + j);

5无限循环,若表达式2为空,则当程序进入到循环内时,由于没有判断表达式

        结束正常的循环使程序陷入无限循环(死循环),例如:

        for (int i = 1 ;  ;  i++)  //死循环

             System.out.println("i = " + i);

6for循环与while循环是等价,例如:

        for  ( int s=0,i=1; i<=3; i++)  

               s+=i ;

        完全等价于: int s=0, i=1;

                             while (i<=3)

                                      {  s+=i ;  i++;  }



http://www.ppmy.cn/news/163464.html

相关文章

通过继承WebMvcConfigurationSupport配置静态资源映射不生效的问题

原始写法如下 Configuration Slf4j public class WebConf extends WebMvcConfigurationSupport {Value("${ees.static.path}")private String staticPath;Value("${ees.swagger.enable}")private Boolean swaggerEnable;Overrideprotected void addResour…

IBM Storwize V3700 无法打开 Web 管理页面的问题解决

IBM Storwize V3700 的存储中提供 Web 服务的是 tomcat &#xff0c;页面无法正常打开&#xff0c;有可能是 Web 服务宕掉了&#xff0c;所以只需要把这个服务重启一下就好了。 ssh 接入 V3700 &#xff0c;然后 satask restartservice -service tomcat

IBM v3700存储加光纤子卡

存储的两个控制器加完光纤子卡后&#xff0c;登录管理界面&#xff0c;新建FC主机的时候没有FC主机的选项&#xff0c;控制光纤模块没有红光出来。 解决方法&#xff1a;到监控 -> 事件里面&#xff0c;点击RUN FIX&#xff0c;根据提示下一步下一步即可&#xff08;控制器…

IBM V3700/V5000/V7000存储配置步骤

工具/原料 笔记本 网线 方法/步骤 1. 系统初始化&#xff08;新买的存储需要初始化&#xff09;&#xff0c;默认出厂A控和B控ip地址为 192.168.70.121/24和192.168.70.122/24&#xff0c;首先给笔记本配置192.168.70.99&#xff0c;然后拿一根网线把笔记本和存储连起来。 2.…

5800X + RTX3070 装机 AN混搭

目录 前言配置评测主板刷BIOS, 超频, XMP, 虚拟化启用装Win10冷启动掉盘CPU闲扯主板搭配显卡吐槽PCIe 4.0 SSDWiFi6微信公众号 前言 业余装机户今年动手装了不少台式机, 鉴于最近AN(AMDNvidia)混搭装机的小伙伴越来越多, 这里也记录下前不久的一次装机经历. 配置 类别型号厂…

V3700系列存储数据恢复成功过程

存储故障过程描述 本次数据恢复的设备为某品牌V3700系列存储&#xff0c;故障涉及的硬盘共10块4T的硬盘&#xff0c;查看客户所给的相关信息&#xff0c;了解到共有2组Mdisk&#xff0c;加入到一个存储池中&#xff0c;其中创建了一个通用卷来存放数据。据客户描述&#xff0c…

博科zone命令配置方式

Brocade博科光纤交换机zone配置 转载自&#xff1a;https://www.cnblogs.com/xshrim/p/5724707.html 1、规划 交换机端口用途v3700-A94存储模块1-195存储模块2-168DB1网卡1-169DB2网卡1-1v3700-B94存储模块1-295存储模块2-268DB1网卡1-269DB2网卡1-2 2、登陆交换机&#xff…

服务器及存储产品默认管理IP地址及用户名密码

服务器存储产品默认管理地址 Dell服务器管理默认管理地址 192.168.0.120 root calvin 如果需要更改IP地址&#xff0c;主机自检时看到ctrle按提示操作进入IPMI配置就可以 CX4 120/240 MMGT SPA&#xff1a;128.221.1.250 255.255.255.248 SPB&#xff1a;128.221.1.251 255.2…