zoukankan      html  css  js  c++  java
  • java入门学习(十四)运算语句for

    循环可用来重复执行一条语句或者含有多条语句的语句块。在大多数程序中都会需要重复执行一块语句。

    for 循环的基本语法是:

    for (表达式1;表达式2;表达式3)
        { 若干语句 
        }
    for语句由关键字for和括号中用分号分割的3个表达式,以及一个复合语句组成,其中的“表达式2”必须是一个求值为boolean型数据的表达式(判断条件),
    
    而复合语句称作循环体。 
    
    for语句的执行规则是:欢迎关注我的博客网站:www.taomaipin.com
        
    (1)计算“表达式1”,完成必要的初始化工作
        
    (2)判断“表达式2”的值,若“表达式2”的值为true,      则进行(3),否则进行(4)。
        
    (3)执行循环体,然后计算“表达式3”,以便改变循环条件,进行(2)。
        
    (4)结束for语句的执行.
    
    比如我想打印1到10这组数字
    
    那么 我要是不用for循环 那么就要写十行
    Sytem.out.println(1);
    Sytem.out.println(2);
    Sytem.out.println(3);....等等
    
    很显然这种方式是不可取的,所以java 给我们提供了for循环来解决上述问题,如下面代码:

    public class Test7 {

    /**
    * @param args
    */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    int a=10;
    for(int i=1;i<=10;i++){
    System.out.println(i);
    }

    }

    }

    打印结果:1,2,3,4,5,6,7,8,9,10

    JDK1.5 对 for 循环的增强主要针对集合的迭代。遍历集合中的元素,新的 for 循环将不再需要循环变量。当然,类似的规则也适用于数组。

    语法规则:for (Type element : Expression) {…}

    Type variable 为 Expression 中元素的类型及当前元素

    Expression 必须是 java.lang.Iterable 接口的一个实例,或者一个数组

    下面的例子,分别演示如何用迭代器的 for 循环和数组的 for 循环:

    public void newFor(Collection<String> c) {
    for(String element : c) {
    System.out.println(element);
    }
    }

    public int sumArray(int array[]) {
    int sum = 0;
    for(int i : array) {
    sum += i;
    }
    return sum;
    }

    当然 你也可以把上面的1到10定义成一个数组 在打印出来比如下面代码:
    
    

    public class Test7 {

    /**
    * @param args
    */
    public static void main(String[] args) {
    // TODO Auto-generated method stub

    int intArray[] ={1,2,3,4,5,6,7,8,9,10};
    for(int s:intArray){
    System.out.println(s);
    }

    for(int i=1;i<=intArray.length;i++){
    System.out.println(i);
    }
    }

    }

    里面的两个for循环达到的效果是一样的

    欢迎关注我的博客网站:www.taomaipin.com


  • 相关阅读:
    Linux Hung Task分析
    Linux内存都去哪了:(1)分析memblock在启动过程中对内存的影响
    《Linux/UNIX系统编程手册》第63章 IO多路复用、信号驱动IO以及epoll
    Linux内核和用户空间通信之netlink
    Linux soft lockup分析
    一款DMA性能优化记录:异步传输和指定实时信号做async IO
    Linux下时钟框架实践---一款芯片的时钟树配置
    使用Kernel NetEm和tc模拟复杂网络环境
    使用Flame Graph进行系统性能分析
    sigsuspend()阻塞:异步信号SIGIO为什么会被截胡?
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3244007.html
Copyright © 2011-2022 走看看