반응형

안녕하세요. 신기한 연구소입니다.

이번 포스팅은 반복문 또는 순환문으로 알려진 while문에 대해 알아볼게요.

그럼 while문의 기본 구조를 알아봅니다.

 

while 조건식 :

(탭) 구현부1

(탭) 구현부2

...

 

 

먼저 while문에서 조건에 사용할 변수 endCount를 선언하고 1로 할당했습니다.

while 구문은 당연히 while로 시작합니다.

그 뒤로 조건을 설정합니다.

우리는 미리 변수로 선언한 endCount를 사용했습니다. 10보다 작거나 같다는 조건입니다.

마지막에 콜론(:) 잊지 마세요.

의미는 endCount가 10보다 작거나 같다면 (혹은 참이면, 조건이 맞다면 등)

while문에서 구현한 구문을 계속 실행하면 됩니다.

while문에서 구현한 구문(바디, body)은

자동으로 탭(들여 쓰기)이 생성되고 코딩을 할 수 있게 됩니다.

탭(들여 쓰기)이 자동으로 안된다면 while문 마지막 콜론(:)을 넣었는지 확인하세요.

 

위 프로그램은 조건에서 사용할 변수 endCount를 1로 설정하고

while문 조건으로 endCount가 10보다 작거나 같은 동안(참인 동안)

탭(들여쓰기)가 된 구현부(바디)의 로직을 실행하게 됩니다.

구현부는 먼저 print()로 출력을 하고 endCount를 += 1을 사용해 1씩 증가시킵니다.

 

예측되는 결과는 "대기번호 : 1" ~ "대기번호 : 10"까지 쭉 출력될 듯합니다.

축하합니다. 원하는 결과가 나왔습니다. ㅎㅎ

지금까지 파이썬 프로그래밍의 반복문 중 하나인 while문의 기본 구조를 살펴봤습니다.

 

이제 if문도 같이 사용해서 파이썬 프로그래밍을 해볼게요.

보통 반복문은 일반적으로 for문을 자주 사용하는 편입니다.

 

while True (무한 반복)

 

while문은 무한 반복(루프)인 경우 사용하는 경우가 많습니다.

서버/클라이언트를 개발하는 경우에도 서버가 클라이언트를 대기하는 경우에

while Ture라는 무한 반복으로 구현합니다.

또한 while문 진행 시 조건에 의해 중간에서 다시 처음으로 돌아가야 하거나

조건에 의해 while문을 더 이상 진행하지 않아야 하는 경우도 있을 겁니다.

그런 경우에 사용하는 키워드가 있습니다.

좀 복잡해 보일 수 있지만 하나씩 보면 이해가 될 겁니다.

 

continue 와 break

 

먼저 변수 cnt를 0으로 할당합니다.

while문은 True로 항상 참이기에 무한 반복을 할 겁니다.

멈추는 기능이 없다면 빠져나올 수 없겠지요?

cnt가 0이면 Start를 출력합니다.

그리고 cnt에 1을 더합니다. 그럼 더 이상 Start를 실행하지 않겠네요.

progress를 출력합니다.

if 조건문을 사용해서 3으로 나눠서 나머지가 0인 경우는 

continue==를 출력한 뒤 continue를 실행하면서 다시 위로 올라갑니다.

나머지가 0이 아니면 계속 진행합니다.

그리고 cnt가 100이면 break==를 실행한 뒤

break를 실행하면서 while True인 무한 반복을 빠져나오게 됩니다.

초반부 결과를 보겠습니다.

continue==3을 보면 바로 앞 행이 progrssStart이고

progrssEnd가 없고 다시 progrssStart가 출력되었습니다.

마지막 출력 부분입니다.

cnt가 100이 되니 (if cnt == 100:)

break== 100을 출력하고

더 이상 진행하지 않고 while문을 빠져나왔습니다.

간단한 조건 판단을 기준으로 반복 순환을 하는 경우

while문이 유용하게 사용될 수 있답니다.

몇 번의 코딩 연습을 한다면 실전에서도 잘 사용할 수 있을 거예요.

좀 더 복잡한 구현부나 중첩 반복이 필요하다면 for문이 더 나을 수도 있답니다.

그래서 다음 포스팅은 for문으로 만나겠습니다.

즐 코딩하세요.

잘못된 정보나 수정이 필요하면 댓글 주세요.

아래 하트(공감) 버튼을 눌러서 더 다양한 글을 쓸 수 있게 응원 부탁드립니다. 감사합니다.

반응형
반응형

[Oracle Java Tutorial을 읽고 순서에 의해 정리한 후 본인의 경험과 이해를 바탕으로 작성된 글임을 밝힌다.]

[Java Tutorial, 자바 프로그래밍 기초 배우기, Java Programming, 자바 튜토리얼]

2019/06/20 - [Software/Java] - [Java_Tutorial]11강-자바 코딩, 같음 관계 조건 연산자[Operators, 자바 프로그래밍 기초 , 자바 튜토리얼]

 

[Java_Tutorial]11강-자바 코딩, 같음 관계 조건 연산자[Operators, 자바 프로그래밍 기초 , 자바 튜토리얼]

[Oracle의 Java Tutorial을 읽고 순서에 의해 정리한 후 본인의 경험과 이해를 바탕으로 작성된 글임을 밝힌다.] [Java Tutorial, 자바 프로그래밍 기초 배우기, Java Programming, 자바 튜토리얼] 앞 포스팅에 이..

tiboy.tistory.com

이번 포스팅은 자바 프로그래밍(Java Programming)을 하기 위한 기본 표현, 구문과 블록에 대해 알아본다.

표현식, 구문, 블럭 (Expressions, Statements, and Blocks)

자바 프로그래밍(java programming)에서 코딩을 하기 위해서는 먼저 표현식을 만들어야 한다. 그 표현식들을 이용해서 구문이 만들어지고 구문들을 묶어 주는 것이 블록이다.

표현식(Expressions)

표현식은 변수, 연산자, 메서드 호출을 만들어 구성하는 것으로 자바 언어 문법을 기반으로 작성된다. 문법에 어긋나면 오류가 난다.

표현식은 기존 예제에서 이미 사용되었다.

Int a = 0;

intArray[0] = 1;

val1 == val2

System.out.println(“val1==val2”);

굵은 부분이 표현식이다. 표현식을 보면 변수에 대한 데이터 타입을 알 수 있다. a = 0에서 a0이라는 값이 할당(“=”)된다. 그럼 a는 숫자형(int type) 변수라는 의미이다. 다른 표현식도 보면 val1 == val2Boolean 타입이고 “val1==val2”String 타입을 나타낸다.

또한 자바 프로그래밍(Java Programming)에서는 복합 표현식도 지원한다. 이는 자바 프로그래밍 뿐 아니라 일반 수학에서 적용되는 부분과 같다. 예를 들어

4*5*7

위 표현식은 사용함에 있어 순서를 바꿔서 계산해도 항상 같은 값이 나오므로 큰 문제가 되지 않는다. 하지만 다음 예제를 보면 순서에 의해 값이 달라지고 그 값에 따라 타입도 달라질 수 있다.

95+5/100

위 연산자는 +보다 /가 우선순위라서 95.05가 된다. 표현식만 보면 정수형(int) 타입이지만 막상 계산을 하면 95.05로 실수형(float/double) 타입이 된다. 하지만

(95+5)/100

표현식의 변수들은 같지만 ( ) 를 씌워서 우선 순위를 변경했다. 위 식의 결과는 1이다. 즉 정수형(int) 타입의 결과가 나온 것이다. ( ) 로 표현식의 타입이 바뀔 수 있다는 것이다. 중요한 것은 표현식을 애매하게 사용해서 개발자 본인 뿐 아니라 다른 개발자에게도 혼선을 줘서는 안된다. 명확하고 간단하면서 가독성이 좋은 표현식을 만드는 것이 가독성에도 좋고 유지보수에서도 중요하다는 것을 잊으면 안된다.

 

 

구문(Statements)

구문은 한 단위를 실행하기 위한 완벽한 구성이어야 한다. 표현식(expressions)는 연산자를 이용한 할당이나 계산식만 만드는 것으로 그 자체가 완벽한 실행 단위는 아니다. 자바 프로그래밍(Java Porgramming)에서 코딩(coding)시 하나의 실행 단위로 문장을 완성하고 한 단위당 완료의 표시로 “;”를 사용한다. 예를 들어

할당 표현식, 증감 연산자(++,--), 메서드 호출, 객체 생성식

int a = 0;

a = 100;

a++;

System.out.println(“abc”);

BankClient bc = new BankClient();

위 구문은 표현식을 이용한 구문이다. 구문(Statements)은 크게 2가지로 구분할 수 있다. 위의 예제와 같은 선언 구문과 제어 흐름 구문이다. 제어 흐름 구문(Control flow statements)은 추후 별도 포스팅 하겠다.

블록(Blocks)

블록은 그룹을 만들 때 사용하는데 구문이 하나도 없거나 (빈 블록) 여러 개의 구문을 묶을 때 사용한다. 그룹은 { } (중괄호)를 사용한다. 예제로 확인해 보자.

Class BlockTest { // 클래스 그룹을 { 로 그룹 시작

Public static void main(String[] args) { // 메인 메서드 그룹 { 로 시작

If (condition) { // if 구문 그룹 { 로 시작

System.out.println(“Test”);

} // if 구문 그룹 } 로 시작

} // 메인 메서드 그룹 } 로 종료

} // 클래스 그룹을 } 로 종료

자바 코딩(java coding)을 위해서 기본적으로 익혀야 할 구문 만들기에 대해 알아보았다. 먼저 필요한 표현식을 구상해서 작성하고 표현식 또는 제어 흐름 구문을 실행 가능 단위로 구성해서 ;로 정리하고 해당 구문들을 그룹화 해서 관리하면 된다.

2019/06/24 - [Software/Java] - [Java_Tutorial]13강-자바 코딩, if else 제어문[Control Flow Statements, 자바 프로그래밍 기초 , 자바 튜토리얼]

 

[Java_Tutorial]13강-자바 코딩, if else 제어문[Control Flow Statements, 자바 프로그래밍 기초 , 자바 튜토리얼]

[Oracle의 Java Tutorial을 읽고 순서에 의해 정리한 후 본인의 경험과 이해를 바탕으로 작성된 글임을 밝힌다.] [Java Tutorial, 자바 프로그래밍 기초 배우기, Java Programming, 자바 튜토리얼] 2019/06/22 - [..

tiboy.tistory.com

다음 포스팅은 제어 흐름 구문(Control Flow Statements)에 대해 알아본다. 이제 점점 자바 프로그래머로 재미를 느끼게 되는 시간이 다가오고 있다. 열심히 공부하고 열심히 코딩하라!

반응형