일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- html
- 문자열
- db
- Array
- SpringBoot
- MVC
- mysql
- git
- Controller
- Database
- Uipath
- rpa
- jsp
- Java
- 조건문
- React
- View
- 상속
- 이클립스
- Scanner
- spring
- Thymeleaf
- 배열
- Board
- jquery
- Oracle
- JDBC
- Eclipse
- string
- API
- Today
- Total
유정잉
2일차 Java [ 연산자 , 조건문 , 반복문 ] 본문
[ 연산자 ]
i++ ++i
++ 피연산자 => 피연산자 값을 1 증가 시킴
-- 피연산자 => 피연산자 값을 1 감소 시킴
피연산자 ++ => 다른 연산을 수행한 후에 피연산자의 값을 1 증가시킴
피연산자 -- => 다른 연산을 수행한 후에 피연산자의 값을 1 감소시킴
[ 위에 사진에 대한 설명 ]
b = a++; 이잖아
a++은 a의값을 1증가시키는거야
++이라는게 a = a + 1 과같아
그런데 ++이 오른쪽에 있으면 대입을 먼저하니까.
a를 대입할때 a의값은 5
그러니까 b = 5가되고
대입이 끝났으면 a++로 a 가 1증가하니까 a는 6이되는거야
++a는 대입하기전에 a가 먼저 1증가하니까 a = 6이되고, 6의값을 b에 대입하니까 a, b 둘다 6이되는거지
a++; 이란 a = a +1과 같아.
++a 도 마찬가지야
b = a ; 는 b가 a다 즉 b는 5다잖아
b = a++이라는건;
b에 a를 넣고 a++을한다
즉 b = a ; a = a +1;과같아
반대로 b = ++a;는
++a를 먼저하고 b에 넣는다
즉 a = a +1 ; b =a; 랑같은거야
삼항 ( 조건 ) 연산자 ? 삼항 연산자 ( 피연산자 ? 피연산자 : 피연산자 ) 총 3개의 피연산자를 가진다.
? 앞의 피연산자는 boolean 변수 또는 조건식이 오므로 조건 연산자라고도 한다.
? 값이 true 면 콜론 : 앞의 피연산자가 선택 되고 , false이면 콜론 : 뒤의 피연산자가 선택된다.
[ 조건문 ]
코드 실행 흐름 제어 ? 자바 프로그램은 main() 메소드의 시작 중괄호 { 에서 끝중괄호 } 까지 위에서 아래로 실행하는 흐름.
이러한 실행 흐름을 개발자가 원하는 방향으로 바꿀 수 있도록 해주는 것이 흐름 제어문이다.
[ if 문 ? ] 조건식에서 true 또는 false 값을 산출할 수 있는 연산식이라 boolean 변수가 올 수 있다.
조건시 true면 블록이 실행하고 false이면 블록을 실핼하지 않는다.
중괄호 { } 블록 내에 실행문이 하나밖에 없다면 중괄호를 생략할 수 있다.
하지만 중괄호 { } 블록을 생략하지 않고 작성하는 것을 추천한다.
if 문의 조건식이 true이면 if문 블록이 실행 되고, false 이면 else 블록이 실행된다.
( 제일 선행의 if문이 실행되었다면 그 후에 나오는 조건문이 true여도 실행되지 않는다. )
중첩 if문 ? 또한 조건문이 여러개인 if 문도 존재한다.
[ switch 문 ]
switch 문 ? if 문은 조건식의 결과가 true, false 두가지 밖에 없기 때문에 경우의 수가 많아질 수록 else if를 반복적으로 추가해야 하므로 코드가 복잡해진다. 그러나 switch 문은 변수의 값에 따라서 실행문이 결정되기 때문에 같은 기능의 if문 보다 코드가 간결해진다. switch(변수) 는 변수에 문자열과 정수만 들어갈 수 있다. switch 문은 괄호 안의 변수값에 따라 해당 case로 가서 실행문을 실행시킨다. 만약 변수값이 동일한 값을 갖는 case가 없으면 default로 가서 실행문을 실행시킨다. default가 필요 없다면 생략 가능하다.switch문에서 default는 if 문의 else와 같은 의미이다. switch문을 빠져나가기 위해서는 break가 필요하다. ( while문에서 등장하는 것 case, break, default, : )
[ 반복문 ]
[ for 문 ] ? for ( 초기화식 ; 조건식 ; 증감식 ) 프로그램을 작성하다 보면 똑같은 실행문을 반복적으로 실행해야 할 경우가 많이 발생한다. 이런 경우 for문을 사용하면 코드를 획기적으로 줄일 수 있다.
for문이 처음 실행될 때 (1) 초기화식이 제일 먼저 실행된다. 그런 다음 (2) 조건식을 평가해서 true이면 (3) 실행문을 실행시키고, false이면 for문을 조욜하고 블록을 건너뛴다. (2) 조건식이 true가 되어 (3) 실행문을 모두 실행하면 (4) 증감식이 실행된다. 그리고 다시 (2) 조건식을 평가하게 된다. 평가 결과가 다시 true이면 (3) -> (4) -> (2) 로 다시 진행하고 , false 이면 for 문이 끝나게 된다.
[ while 문 ] ? for 문이 정해진 횟수만큼 반복한다면, while 문은 조건식이 true일 경우에 계속해서 반복하고, false가 되면 반복을 멈추고 while 문을 종료한다.
[ do-while 문 ? ] do-while 문은 조건식에 의해 반복 실행한다는 점에서는 while문과 동일하다. ( 블록 내부를 먼저 실행시키기 때문에 while문과 달리 조건식이 맞지 않아도 무조건 한번은 실행이 된다. )
[ break문 ? ] break 문은 반복문인 for 문, while 문, do-while 문을 실행 중지하거나 조건문인 switch 문을 종료할 때 사용한다. break 문은 대게 if 문과 같이 사용되어 조건식에 따라 for문과 while문을 종료한다.
[ continue 문 ? ] continue문은 반복문인 for문, while문, do-while문에서만 사용되는데 반목문을 종료하지 않고 계속 반복을 수행한다는 점이 break문과 다르다.
Q. 숫자를 입력하여 정답 숫자 맞추는 게임
정답을18로 설정
입력한숫자가 정답(18)이 아닐 경우 크거나 작은지 알려준다. 정답을맞출 때까지 숫자 입력을 반복하고 정답을 맞춘 후에는 시도한 횟수 출력
실행결과) 숫자 입력: 25
25보다 작다!!
숫자 입력: 10
10보다 크다!!
숫자 입력: 18
정답이다!!
시도한 횟수는 3번이다.
a++이 위에 있는 이유)
값을 입력 받았다
a++해서 1이 됐다
근데 입력받은 값을 비교했는데 크면 크다고 알려주고
다른 if문은 안들어가니까 다시 처음으로 돌아간다.
그리고 다시 값을 입력 받았다.
시도한 횟수가 a가 1 이었는데 또 늘어서 2가 됐다.
이번엔 정답이면 정답이다! 라고 알려주고 시도한 횟수는 2이다. 그리고 break을 만나서 반복문이 종료된다.
break 문의 경우 정답이 나와야지 while 문의 반복이 끝나는 거기 때문에 정답 if 문에 break;을 집어넣음.
'네이버 클라우드 부트캠프 > 복습 정리' 카테고리의 다른 글
6일차 Java [ 싱글톤, Getter Setter, 정적 멤버, final, 패키지 ] (0) | 2024.02.27 |
---|---|
5일차 Java [ 객체 지향 프로그램 , 클래스, 접근 제한자 ] ☆★ (2) | 2024.02.26 |
4일차 Java [ 문자열 함수 , 메소드 ] (0) | 2024.02.23 |
3일 Java [ for문 중첩 , 배열 Array , 다차원 배열 , 열거 타입 ] (0) | 2024.02.22 |
1일차 Java [ JDK 설치 , WINDOWS 환경 변수 설정 , ECLIPSE 설치 , Scanner , 자동 강제 타입 변환 ] (0) | 2024.02.20 |