IT 밴드 브라더스의 자바 문법 루프 흐름 제어 문 문장 구조 (1)

루프가 루프 상태가 반복 루프가 반복적으로 수행되는 루프라고 반복되는 포인트 코드로 실행 된 경우 일 수 있으며,이 루프 상태로 적절한시기에 필요한는 거짓 따라서 그렇지 않으면 루프는 항상 무한 루프를 형성하여 실행되며, 사이클을 종료. 루프는 다음과 같은 네 부분을 포함 할 수 있습니다 :

1. 초기화 문 : 문 또는 문이 문은주기가 시작되기 전에 실행 일부 초기화, 초기화 문을 수행하는 데 사용됩니다.

2. 사이클링 조건 : 이것은 루프 본문을 실행할지 여부를 결정할 수있는 부울 식입니다.

3. 루프 :이 싸이클의 주요 부분이며, 싸이클 조건이 허용하는 경우,이 블록은 반복적으로 수행한다. 블록이 한 줄의 문장 인 경우 중괄호 코드 블록은 생략 할 수 있습니다.

4. 반복문 : 루프 전의 상태를 평가 한 후에 수행 루프에서 수행이 섹션은, 상기 제어 루프는 일반적으로 변수를 조정하기 위해 사용된다되도록 적절한 시간주기의 끝.

위의 네 부분으로 바로 일반적인 분류는하지 모든주기는 네 개의 섹션 매우 명확하게 구분합니다.

 

루프 1

for 루프는 대부분의 경우에서, 루프 반복 동안 수행-while 루프에 대해 치환 될 수있는, 비교적 단순한 루프. 루프의 전체 구문은 다음과 같습니다 :

(; 루프 조건; 반복 구문을 초기화 문) {에 대한

    루프 본체;

}

프로그램이 루프 실행되면, 루프 초기화 문 초기화 문장의 첫 번째 실행 한 번만 루프가 시작되기 전에 실행됩니다. 루프 상태가 반복 명령문이 실행 루프 실행 루프의 종료 후, 루프 본체 true를 반환하는 경우, 루프의 각 반복하기 전에, 우선, 루프 조건의 값을 계산한다. 따라서, for 루프에 대한 루프 조건이 루프를 통해 마지막으로이 거짓 조건을 반환하기 때문에, 루프를 수행하지 않습니다, 두 번 이상 실행되는 루프 본문보다 낫다.

루프 반복 루프 문 루프의 몸체와 함께 넣어하지 않는, 주목할만한, 그래서 현지 경험이 루프의 루프 끝의 몸이, 루프 반복 문 같은 구현됩니다 동안에도 계속합니다.

루프는 한 줄의 문장 인 경우, 루프 본문의 괄호를 생략 할 수있다 :

(; 루프 조건; 반복 구문을 초기화 문) 루프 본문에 대한;

예 : 다음 프로그램 루프 실행의 흐름을 보여

공용 클래스 ForDemo {

    공공 정적 무효 메인 (문자열 []에 args) {

         경우 (나는 <10, I = 0 int로 난 ++) {

              에서 System.out.println ( "I 값"I +);

         }

    }

}

컴파일하고이 프로그램도 같이 콘솔 (10) 정보를 표시 실행합니다.

f9ba5d28fd0a45d8a0afa2eb2e6f5fbc.png

도 10 ForDemo 운영 결과

 

하나의 사이클 조건 단순한 논리식 사실상 루프 초기화 문 복수의 발전을 가능하게하는 동시에 루프 상태가 포함 할 수 논리 연산자에 대한 상기 루프, 루프 초기화 문 표현으로는 다음과 같습니다 :

공용 클래스 ForDemo {

    공공 정적 무효 메인 (문자열 []에 args) {

         대 (INT B = 0, S = 0, p = 0, B <10 && S <4 && p <10; P ++) {

              에서 System.out.println (b ++);

              에서 System.out.println (++ S + P의);

         }

    }

}

위의 코드는 세 가지가 변수를 초기화하지만, 단 하나의 선언, 그래서 당신은 초기화 표현식에 두 개 이상의 변수를 선언해야하는 경우, 이들 변수는 동일한 데이터 형식을 가지고 있어야합니다.

또한, 루프 변형에 대한 몇 가지 흥미로운가 있습니다, 그것은하지 된 사이클의 일부에 의해 정의된다. 다음 자바, 초기화의 일부 또는 전부에, 부분적으로 또는 반복 루프에 대한 조건은 비어있을 수있다 :

공용 클래스 ForDemo {

    공공 정적 무효 메인 (문자열 []에 args) {

         I 값 int;

         대 (I = 0; I <10) {

              에서 System.out.println ( "I 값"I +);

              내가 ++;

         }

    }

}

도에 도시 된 바와 같이 컴파일이 프로그램을 실행하여, 콘솔 등의 정보를 표시한다. (11).

f1b909919991458aa488d270e78ea49b.png

도 ForDemo 연산 결과. 11 변형

 

여기서,이 식에 대한 루프 반복되지 않으며, I는 루프 본체 내부에 배치되는 루프 제어 변수를 증가시킨다. 이 사이클 i가 추가적인 액션 것을 제외하고는, (10)와 같은지 여부를 검사한다마다 것을 의미한다. 물론, 때문에 루프 내부에 내가 증가하므로 루프는 일반 될 수있다.

下面在看for循环的另一个变体,在下面的例子中,for循环的初始化部分也被移出了for循环:

public class ForDemo{

    public static void main(String[] args){

         int i = 0;

         for( ; i < 10; ){

              System.out.println("i的值为:" + i);

              i++;

         }

    }

}

重新编译并运行这个程序,控制台将显示如图12所示的信息。

在此版本中,在循环开始前就把i初始化了,没有把它作为for循环的一部分。一般情况下都是把循环控制变量的初始化放在for循环内部,但是当初始值是通过某个复杂过程得到的,而又不方便把这一过程放在for语句中时,可以把初始化放在循环之外。

1f5575d273a349c99f6443e3303309ef.png

图12  再次修改后的ForDemo运行结果

 

for循环还有另外一种变体就是将循环的条件表达式设为空,可以生成无限循环,即永远不会停止的循环。例如下面的代码就是Java程序创建无限循环的常用方法:

for( ; ; ){

    //...

}

该循环将永远运行下去,尽管有许多程序设计任务,如操作系统命令处理器,需要无限循环,但是多数“无限循环”都是具有特殊终止条件的循环。

在Java中,for循环(或其他循环)可以没有循环体,因为空语句在语法上是有效的。没有循环体的循环十分有用。例如,下面的程序就是用了没有循环体的循环,计算从1至5的数之和:

public class ForDemo2{

    public static void main(String[] args){

         int sum = 0;

         for(int i = 1; i <= 5; sum += i++);

         System.out.println("1至5的和为:" + n);

    }

}

编译并运行这个程序,控制台将显示如图13所示的信息。

전체 과정은, 문 요약에 더 루프를 수행하지 않습니다. 여기에서 우리는 반복적 인 표현에 특별한주의를 지불해야합니다 :

합계 + = I ++;

99d847df91c5417691cf75d4a9d39e9e.png

도 13 ForDemo2 운영 결과

추천

출처www.cnblogs.com/itxdl/p/11261990.html