본문 바로가기
{Java}

21.07.30 {코딩일기} Do while을 쉽게 작성하는 접근법 | 논리명제

by Davey 2021. 7. 31.
728x90
Do while구문에 뜬금없이 왠 논리명제냐고?
의아할 수 있다.
그냥 바로 문제정의부터 하겠다.
while문이 여러분이 원하는대로
조건이 잘 안만들어진다면?
Do 구문안의 논리가 정말로 내가 원하는 결과값의
반댓값이 확실한지 체크해야한다.
아 이게 무슨말이냐?

int countNum = 0; 

do {

 countNume++;

... 

} while (countNUm < 5)

System.out.println("로그인시도횟수를 "+countNum+" 번 초과했습니다.
가까운 영업점에 방문하셔서 로그인제한을 해제하시길 바랍니다.");

// 은행 계좌 비번 까먹으면 흔히 볼 수 있는 안내메세지를 예로들었다.

 

다 아는 구문이지마 다시 적어보았다.
위 코드의 의도는 countNum에 5가 출력되는것이다.
근데 만약 String타입의 특정 멤버 변수가 "어떤문자열"과 값이 일치한다
라고 접근하며 사람말로는 이해되지만 java는 틀린문법의 조건이라고
반환한다. 이점은 아래 이전 포스팅을 참고바람:) 

https://foxvox.tistory.com/88

 

21.07.30{코딩일기} try catch문과 while 조건문 문법

try catch문이 무엇인가? 그리고 이걸 왜 사용하는걸까? 사전적정의 고유명사정의 사용이유 try는 시도하다 catch는 알아차리다 java에서 try와 catch는 예외처리구문 실사례를 예로들면 모든구문에 문

foxvox.tistory.com

자그럼 어떻게 하라고?

지금 당장 여러분들은 아래를 체크해

여러분들이 짠 코드를 체크해보자.

 

while조건문은 do가 참이되기위한 조건이 아니다.

 

반복문이 종료되기 위한 참명제이자

반복문종료 조건문이다.

 

이게 무슨말이냐?

 

do while구문이 종료되고 실행되는 결과를 

참으로 만들기 위해서

while조건문은 그 결과의 거짓이 되기 위한 조건이다.

 

결과의 거짓이 되기 위한건?

결과의 거짓이란  참일수록

do구문은 계속 반복실행된다는 의미다.

 

즉, while조건에는 참인명제도 들어가지만

거짓인 명제도 들어갈 수 있다.

 

잊지말자
while조건문은
do가 종료된 후 
실행되는 결과에 대한 역조건이다.
절대
실행되는 결과를 위한 참인 명제조건이 아니다.

Copyright ⓒ 2021 by bluevulpe All Contents cannot be copied without permission.

728x90

댓글