1. 우리 삶의 고리
매우 자주 우리의 삶은 우리가 같은 행동을 여러 번 수행하도록 요구합니다. 예를 들어 많은 페이지로 구성된 문서를 스캔해야 한다고 가정합니다. 동일한 절차를 반복해서 반복합니다.
- 스캐너에 첫 페이지 넣기
- 스캔 버튼을 누르세요
- 스캐너에 다음 페이지 넣기
이것은 수동으로 수행하기 어렵습니다. 이 프로세스가 어떻게든 자동화될 수 있다면 좋을 것입니다.
또는 다른 예를 고려하십시오. 받은 편지함에서 읽지 않은 모든 이메일을 스팸으로 표시하고 싶다고 가정해 보겠습니다. 옛날 옛적에 각 이메일을 한 번에 하나씩 선택하고 스팸으로 표시해야 했습니다.
그러나 프로그래머는 게으르기 때문에 오래 전에 이 프로세스를 자동화했습니다. 이제 문자 목록을 선택하고 "스팸으로 표시"를 클릭하면 이메일 클라이언트가 목록을 통해 각 이메일을 스팸 폴더로 이동합니다.
여기서 무엇을 말할 수 있습니까? 컴퓨터나 프로그램이 한 번의 클릭으로 수백 또는 수천 개의 단조로운 작업을 실행할 수 있을 때 매우 편리합니다. 이제 이 작업을 수행하는 방법도 배우게 됩니다.
2. while
루프
if-else 문은 프로그래밍 기능을 크게 확장하여 다양한 상황에서 다양한 작업을 수행하는 프로그램을 작성할 수 있게 했습니다. 그러나 우리 프로그램을 훨씬 더 강력하게 만드는 또 하나의 요소가 있습니다. 바로 루프입니다 .
Java 에는 while
, for
및 의 4가지 종류의 루프가 있습니다 . 이제 그 중 첫 번째를 파헤쳐 보겠습니다.for-each
do-while
루프 while
는 매우 간단합니다. 조건 과 루프 본문 의 두 부분으로만 구성됩니다 . 루프 본문은 조건이 인 한 반복해서 실행됩니다 true
. 일반적으로 while
루프는 다음과 같습니다.
while (condition)
statement;
while
단일 명령문이 있는 루프 에 대한 표기법
while (condition)
{
block of statements
}
while
명령문 블록이 있는 루프 에 대한 표기법
매우 간단합니다. 문 또는 문 블록은 루프 조건 이 같을 때까지 반복해서 실행됩니다 .true
작동 방식은 다음과 같습니다. 먼저 조건을 확인합니다. 참이면 루프 본문이 실행됩니다( 문 또는 문 블록 ). 그런 다음 조건이 다시 확인되고 루프 본문이 다시 실행됩니다. 조건 이 거짓이 될 때까지 계속합니다 .
조건이 항상 true 이면 프로그램 실행이 중지되지 않습니다. 루프에 영구적으로 고정됩니다.
맨 처음 확인했을 때 조건이 거짓 이면 루프 본문이 한 번도 실행되지 않습니다.
3. 루프의 예
다음은 실행 중인 루프의 몇 가지 실용적인 예입니다.
암호 | 설명 |
---|---|
|
화면에 5줄이 표시됩니다.
|
암호 | 설명 |
---|---|
|
화면에 10줄이 표시됩니다.
|
암호 | 설명 |
---|---|
|
프로그램은 숫자가 입력되는 한 키보드에서 숫자를 읽습니다. |
암호 | 설명 |
---|---|
|
프로그램은 화면에 문자를 끝없이 인쇄합니다.C |
암호 | 설명 |
---|---|
|
프로그램은 키보드에서 줄을 읽습니다.
|
앞의 예에서 equals()
메서드는 문자열을 비교하는 데 사용됩니다. 문자열이 같으면 함수는 를 반환합니다 true
. 문자열이 같지 않으면 를 반환합니다 false
.
4. 루프 내 루프
조건문에 대해 배우면서 조건문을 여러 조건문을 결합하여 복잡한 논리를 구현하는 데 사용할 수 있음을 확인했습니다. 즉, 문 if
안에 문을 사용하는 것입니다 if
.
루프를 사용하여 동일한 작업을 수행할 수 있습니다. 루프 안에 루프를 작성하려면 첫 번째 루프의 본문 안에 두 번째 루프를 작성해야 합니다. 다음과 같이 표시됩니다.
while (condition for outer loop)
{
while (condition for inner loop)
{
block of statements
}
}
while
다른 루프 내부 의 루프(
문 블록 포함 )
while
세 가지 작업을 살펴보겠습니다.
작업 1 . Mom
화면에 단어를 4번 표시하는 프로그램을 작성하고 싶다고 가정해 보겠습니다 . 루프는 정확히 우리에게 필요한 것입니다. 그리고 우리의 코드는 다음과 같을 것입니다:
암호 | 설명 |
---|---|
|
화면에 4줄이 표시됩니다.
|
작업 2 . A
한 줄에 5개의 문자 s를 표시하는 프로그램을 작성하려고 합니다 . 이를 위해서는 다시 한 번 루프가 필요합니다. 코드는 다음과 같습니다.
암호 | 설명 |
---|---|
|
대신 를 println() 사용하겠습니다 print() . 그렇지 않으면 각 문자가 A 별도의 줄에 표시됩니다. 화면 출력은 다음과 같습니다.
|
작업 3 . 문자 s로 구성된 사각형을 표시하려고 합니다 A
. 직사각형은 4행 5열로 구성되어야 합니다. 이를 달성하려면 이제 중첩 루프가 필요합니다. 우리는 단순히 첫 번째 예(4줄을 출력하는 예)를 취하고 한 줄을 출력하는 코드를 두 번째 예의 코드로 대체합니다.
암호 | 설명 |
---|---|
|
외부 루프는 보라색입니다. 변수를 사용하여 n 루프 반복 횟수를 계산합니다. 내부 루프는 녹색입니다. 변수를 사용하여 m 루프 반복 횟수를 계산합니다. 내부 루프가 완료된 후 커서를 명시적으로 다음 줄로 이동 해야 합니다 . 그렇지 않으면 프로그램이 인쇄하는 모든 문자가 한 줄에 표시됩니다. 화면 출력은 다음과 같습니다.
|
외부 루프와 내부 루프는 서로 다른 변수를 사용하여 루프 반복 횟수를 계산해야 합니다. System.out.println()
또한 내부 루프 뒤에 명령을 추가해야 했습니다 . 해당 루프는 A
같은 줄에 문자 s를 표시하기 때문입니다. 한 줄의 문자가 표시되면 누군가 커서를 새 줄로 이동해야 합니다.
5. Java와 Pascal 루프 비교
많은 분들이 고등학교에서 파스칼을 공부했습니다. 여기서 자료를 더 쉽게 이해할 수 있도록 Pascal과 Java로 작성된 루프 비교를 살펴보십시오 while
. Pascal을 모른다면 이 부분을 건너뛰십시오.
파스칼 | 자바 |
---|---|
|
|
|
|
|
|
|
|
|
|
GO TO FULL VERSION