JAVA基础之循环

一.For循环

1.结构

 

语句最简形式为:

 

for( ; ; )

 

2.一般形式为:

 

for(单次表达式;条件表达式;末尾循环体

 

{

 

中间循环体;

 

}
for(初始化;布尔表达式;更新){
     ...
     }
public static void main(String[] args) {
        for (int i=1;i<=5;i++){
            System.out.println(i);

 

 

其中,表示式皆可以省略,但分号不可省略,因为“;”可以代表一个空语句,省略了之后语句减少,即为语句格式发生变化,则编译器不能识别而无法进行编译。
for循环小括号里第一个“;”号前为一个为不参与循环的单次表达式,其可作为某一变量的初始化赋值语句, 用来给循环控制变量赋初值; 也可用来计算其它与for循环无关但先于循环部分处理的一个表达式。

 

“;”号之间的条件表达式是一个关系表达式,其为循环的正式开端,当条件表达式成立时执行中间循环体。

 

执行的中间循环体可以为一个语句,也可以为多个语句,当中间循环体只有一个语句时,其大括号{}可以省略,执行完中间循环体后接着执行末尾循环体。

 

执行末尾循环体后将再次进行条件判断,若条件还成立,则继续重复上述循环,当条件不成立时则跳出当下for循环。
2.具体实例
(一)
复制代码
 public static void main(String[] args) {
        for (int i = 1; i <=100; i++) {     //i的范围是1-100,自增。
            //满足题目"逢七过":个位是7,十位是7或者7的倍数都满足。
            if(i%10==7||i%7==0||i/10%10==7 ) {      
                System.out.println("过");
                //继续输出循环语句
                continue;

            }
            System.out.println(i);
        }
    }

复制代码
复制代码
(二)
public
static void main(String[] args) { //导入scanner包 Scanner scanner = new Scanner(System.in); System.out.println("请输入一个正整数"); int i = scanner.nextInt(); //a的范围为2——(i-1) 为什么没有1呢,如果有1了,按照下面的if语句,全部都是质数了 for (int a = 2; a < i-1; a++) { //如果a对i取余不等0,即不能被整除 if (i % a != 0) { System.out.println(i + " 是质数"); break; //如果a对i取余等于0,即可以被整除 } else if (i%a==0){ System.out.println("不是质数"); break; } } scanner.close(); }
复制代码

 

3.注意事项

1.for循环中的变量可以是一个也可以是多个。
2.for循环中语句可以为语句体, 语句体外加大括号"{}"将参加循环的语句括起来。
3. for循环中的"单次表达式"、"条件表达式"和"循环体语句"都是选择项, 即可以缺省成只剩下“;”的空语句。
 

二.while循环

1.结构

while是计算机的一种基本循环模式。当满足条件时进入循环,进入循环后,当条件不满足时,跳出循环。while语句的一般表达式为:while(表达式){循环体}。

复制代码
public static void main(String[] args) {


    int i=0;
    while(i<=100) {
        System.out.println(i);
        i++;
    }
    }
复制代码

2.具体实例

复制代码
 //需求:世界最高山峰是珠穆朗玛峰(8844.43米-8844430毫米,假如我有一张足够大的纸,它的厚度是0.1毫米。
    //请问,我折叠多少次可以折成珠穆朗玛峰的高度?
    public static void main(String[] args) {
        //定义珠穆朗玛峰的高度。
        int hight = 8844430;
        //定义折叠次数
        int count = 0;
        //定义纸张厚度
        double paper = 0.1;
        //当纸张厚度小于等于珠穆朗玛峰高度,满足循环条件。
while(paper<=hight){
    paper=paper*2;
    count++;
}
        System.out.println(count);
    }
复制代码

三. do while循环

while (<条件>) {需执行的代码 };
do {需执行的代码 } while (<条件>);
注意:do...while 循环是 while 循环的变种。该循环程序在初次运行时会首先执行一遍其中的代码,然后当指定的条件为 true 时,它会继续这个循环。所以可以这么说,do...while 循环为执行至少一遍其中的代码,即使条件为 false,因为其中的代码执行后才会进行条件验证。

 

四.while与for区别

 

一、循环的结构不同
for循环的表达式为:
for(单次表达式;条件表达式;末尾循环体)
{
中间循环体;
}
while循环的表达式为:while(表达式){循环体}[5
二、执行条件的判断方式不同
for循环执行末尾循环体后将再次进行条件判断,若条件还成立,则继续重复上述循环,当条件不成立时则跳出当下for循环。
while循环当满足条件时进入循环,进入循环后,当条件不满足时,执行完循环体内全部语句后再跳出,而不是立即跳出循环。
三、语法不同
for循环的语法为:for (变量 = 开始值;变量 <= 结束值;变量 = 变量 + 步进值) {需执行的代码 }。
while循环的语法为:while (<条件>) {需执行的代码 }。

 

posted @   努力的小白07  阅读(59)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
点击右上角即可分享
微信分享提示