Java编程之语法结构2

简介: ## 前言 上一章讲到if与else的语法结构运用, 讲述了if与else的一个嵌套,今天讲述 循环。

## 前言

     上一章讲到if与else的语法结构运用,

   讲述了if与else的一个嵌套,今天讲述

   循环。

   循环分为三类:for    while    do..while

   所谓循环就是重复不停的事情

   要达成循环需要三个条件

     就像你在操场跑圈,你在做循环的事情,

   那我们开始提出疑问:你怎样判定你跑了

   几圈。

   三个条件

   1.从哪里开始

   以什么为起点

   2.到哪里结束

   以什么为终点

   3.跑起来的变化

   增减情况

      首先定义一个循环变量 i。定义的时候

    可以不给它赋初值,在 for 循环里面再

    给它赋初值也行。但前面说过,最好在定

    义变量的时候就对它进行初始化,如果值

    不确定就初始化为 0。所以程序中也可以

    在定义 i 的时候就给它赋初值,那么 for

    循环里的“表达式1”就可以省略了,但分号

    不可以省略。

   满足这三个条件,这就是循环。

   允许将三个必要条件都写在()内

 for(初始值 ; 终点判定条件 ; 变化量 ){

  代码;

 }

   下面用代码写一个循环,重复打印输出一句话

   ```

   public class We{

       public static void main (String[] agrs){

           for (int i=1;i<10;i++){

               System.out.println(i+"你好,Java");

           }

       }

   }

  image.png

- ## 循环练习1

  ```  

 1.鸡兔同笼问题

  小鸡  小兔子 关在同一个笼子里    小鸡两只脚  小兔子四只脚

 小鸡+小兔子 总数 50只    脚的总数160只

 求 小鸡 和 小兔子各多少只。

  解:  设 小鸡x只   小兔子 (50-x)

       x*2+(50-x)*4 ==160

       给计算机一个范围  挨个尝试某一个x满足我们的条件

 for(int x=1;x<50;x++){

  if(x*2+(50-x)*4 ==160){

   System.out.println("小鸡的个数为:"+x);

   System.out.println("小兔子个数为:"+(50-x));

  }

 }

#### - 解析代码如下:

   public class DemoTwo{

public static void main(String[] args){

 for(int x=1;x<50;x++){

  if(x*2+(50-x)*4 ==160){

   System.out.println("小鸡的个数为:"+x);

   System.out.println("小兔子个数为:"+(50-x));

  }

 }

    }

   }

- ## 循环练习2

 ```  

需求  控制台打印*

1.控制台输出一行  ****  随意个数

2.控制台输出4行   ****  每一行个数可以随意输出

#### - 解析代码如下:

   import java.util.Scanner;

   public class Demo1{

public static void main(String[] args){

 //******* 画星星 换行  i==1        4-->7    5-->9

 //*** ***  画星星  画空格  画星星  换行 i==2    3   1   3

 //**    **  画星星  画空格  画星星  换行 i==3    2   3   2

 //*       *  画星星  画空格  画星星  换行 i==4    1   5   1

 //可读性 健壮性(严谨) 优化(结构 冗余 性能 内存 复用 扩展)  2*i-3

 Scanner input = new Scanner(System.in);

 System.out.println("请您输入行数:");

 int line = input.nextInt();

 for(int i=1;i<=line;i++){//控制行数

  if(i==1){//第一行规则

   //画星星

   for(int j=1;j<=2*line-1;j++){

    System.out.print("*");

   }

  }else{//后三行规则

   //画星星

   for(int j=1;j<=(line+1)-i;j++){

    System.out.print("*");

   }

   //画空格

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

    System.out.print(" ");

   }

   //画星星

   for(int j=1;j<=(line+1)-i;j++){

    System.out.print("*");

   }

  }

  //换行

  System.out.println();

 }

    }

   }

以上就是循环for的讲解与练习;


目录
相关文章
|
1天前
|
存储 算法 Java
🚀Java零基础-顺序结构详解 🚀
【10月更文挑战第11天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
18 6
|
4天前
|
缓存 Java UED
Java中的多线程编程:从基础到实践
【10月更文挑战第13天】 Java作为一门跨平台的编程语言,其强大的多线程能力一直是其核心优势之一。本文将从最基础的概念讲起,逐步深入探讨Java多线程的实现方式及其应用场景,通过实例讲解帮助读者更好地理解和应用这一技术。
22 3
|
4天前
|
Java 开发者
在Java编程中,正确的命名规范不仅能提升代码的可读性和可维护性,还能有效避免命名冲突。
【10月更文挑战第13天】在Java编程中,正确的命名规范不仅能提升代码的可读性和可维护性,还能有效避免命名冲突。本文将带你深入了解Java命名规则,包括标识符的基本规则、变量和方法的命名方式、常量的命名习惯以及如何避免关键字冲突,通过实例解析,助你写出更规范、优雅的代码。
25 3
|
4天前
|
Java 程序员
在Java编程中,关键字不仅是简单的词汇,更是赋予代码强大功能的“魔法咒语”。
【10月更文挑战第13天】在Java编程中,关键字不仅是简单的词汇,更是赋予代码强大功能的“魔法咒语”。本文介绍了Java关键字的基本概念及其重要性,并通过定义类和对象、控制流程、访问修饰符等示例,展示了关键字的实际应用。掌握这些关键字,是成为优秀Java程序员的基础。
12 3
|
4天前
|
Java 程序员 编译器
在Java编程中,保留字(如class、int、for等)是具有特定语法意义的预定义词汇,被语言本身占用,不能用作变量名、方法名或类名。
在Java编程中,保留字(如class、int、for等)是具有特定语法意义的预定义词汇,被语言本身占用,不能用作变量名、方法名或类名。本文通过示例详细解析了保留字的定义、作用及与自定义标识符的区别,帮助开发者避免因误用保留字而导致的编译错误,确保代码的正确性和可读性。
15 3
|
3天前
|
存储 安全 Java
了解final关键字在Java并发编程领域的作用吗?
在Java并发编程中,`final`关键字不仅用于修饰变量、方法和类,还在多线程环境中确保对象状态的可见性和不变性。本文深入探讨了`final`关键字的作用,特别是其在final域重排序规则中的应用,以及如何防止对象的“部分创建”问题,确保线程安全。通过具体示例,文章详细解析了final域的写入和读取操作的重排序规则,以及这些规则在不同处理器上的实现差异。
了解final关键字在Java并发编程领域的作用吗?
|
存储 算法 Java
Java8语法最佳实践-什么是对象(上)
计算机革命起源机器。编程语言就像是那台机器。它不仅是我们思维放大的工具与另一种表达媒介,更像是我们思想的一部分。语言的灵感来自其他形式的表达,如写作,绘画,雕塑,动画和电影制作。编程语言就是创建应用程序的思想结构。
158 0
Java8语法最佳实践-什么是对象(上)
|
存储 安全 Java
Java8语法最佳实践-什么是对象(下)
计算机革命起源机器。编程语言就像是那台机器。它不仅是我们思维放大的工具与另一种表达媒介,更像是我们思想的一部分。语言的灵感来自其他形式的表达,如写作,绘画,雕塑,动画和电影制作。编程语言就是创建应用程序的思想结构。
97 0
|
4天前
|
安全 Java UED
Java中的多线程编程:从基础到实践
本文深入探讨了Java中的多线程编程,包括线程的创建、生命周期管理以及同步机制。通过实例展示了如何使用Thread类和Runnable接口来创建线程,讨论了线程安全问题及解决策略,如使用synchronized关键字和ReentrantLock类。文章还涵盖了线程间通信的方式,包括wait()、notify()和notifyAll()方法,以及如何避免死锁。此外,还介绍了高级并发工具如CountDownLatch和CyclicBarrier的使用方法。通过综合运用这些技术,可以有效提高多线程程序的性能和可靠性。
|
8天前
|
Java 调度 UED
深入理解Java中的多线程与并发机制
本文将详细探讨Java中多线程的概念、实现方式及并发机制,包括线程的生命周期、同步与锁机制以及高级并发工具。通过实例代码演示,帮助读者理解如何在Java中有效地处理多线程和并发问题,提高程序的性能和响应能力。