Java

삼항연산자, 조건문(단순if문, if-else문)

빵아지 2023. 2. 11. 01:39

삼항연산자

조건문 ? 실행문1 : 실행문2

-> 조건문이 참이면 실행문1을 실행
->조건문이 거짓이면 실행문2를 실행
->이때 조건문은 true false가 나올 수 있도록 입력해주기!!! (이를테면, 비교연산)

<풀이>
1. 조건식 먼저 작성해주기
2. 조건식 앞에는 자료형, 변수명, 대입표시까지 작성
3. 실행문에 적을 내용에 따라 자료형을 정하기(ex. String, int, float...)
4. 마무리는 ;


홀짝 구하기 예제

<문제>



<풀이>

- 일단 문장 출력 먼저해줌
- 입력받아주기(정수니깐 nextInt)
- 홀수, 짝수 판별은 나머지가 0인지 1인지로 판단할 수 있음을 인지하기
- 연결은 + 를 통해서 진행(이때 문자는 " " 표시 꼭 해주기)



삼항 연산자 예제


<문제>



<풀이>

- 항상 문자열 출력 후 입력받기
- 삼항연산자는 (자료형 변수명 = 조건문1 ? 실행문1 : 실행문2) 이 형태를 띔
- 조건문에는 하나의 조건만 들어가야 함(내가 처음에 막힌 이유임 왜냐 조건문에 2가지 조건을 적으려고 했음)
- 실행문에 /, *, +, - 등이 들어가도 됨!!!' -> 이 경우 값을 정수형으로 인식함
- 마지막으로 내용 출력할 때 문자의 경우 문자 맨앞과 맨뒤에는 " 표시, 이을 때는 + 사용하기




조건문 종류


단순 if문

if 옆 소괄호 안=조건식
조건식은 참 혹은 거짓으로 나올 수 있도록!
중괄호=영역표시를 의미함
*우리는? 안 헷갈리기 위해 반드시 중괄호 작성하기 (예외: 실행문장이 한 줄일 경우 {}생략은 가능)
까먹을 수 있으니 조건식 적기 전에 중괄호 먼저 작성!!!
ex)if() { ---> 단순 if문 작성 1단계



<단순 if문 구조>

if(true) {
System.out.println("실행문장1;);
System.out.println("실행문장2;);
}

-> 조건식이 참이면? 실행문장 1에서 종료
거짓이면? 실행문장 2에서 종료




<문제>



<풀이>

결과가 참일 경우 중괄호로 마무리 짓기

- 도구 먼저 꺼내온 뒤 진행
- age라는 변수에 20을 담아줌(정수니깐 int)
- if(조건식) {
- 거짓일 경우의 실행문장을 안 적었으니깐? 만약 데이터 값이 거짓일 경우 출력값에 빈칸으로 뜸


<문제>



<풀이>

- ~의 배수 = ' ~으로 나눈 나머지가 0인가?'를 떠올리기
- &&는 and를 뜻함
- ==는 같다를 뜻함
- 단순if는 else값 입력 안함!




#꿀팁
중괄호 범위 궁금하면 시작 중괄호 바로 뒤를 더블클릭하기 -> 중괄호 범위가 뜸






if-else문

<if-else문 구조>

if(조건식) {
System.out.println("참일 경우 실행");
} else {
System.out.println("거짓일 경우 실행");
}


*else는 끝나는 중괄호 바로 그 줄에 적어주기!!!



<문제>



<풀이>

- import 등록 후 입력도구 꺼내오기
- 글자출력이 항상 먼저온다! 생각하고 단계 나눠야 함
- ()안에 조건식 그리고 소괄호 닫은 다음 중괄호 꼭 등장 시켜줘야 함!!!
- else 에는 조건식 안 적어줘도 됨, else 위치는 위 중괄호 닫힌 행.
- else 뒤에도 { 꼭 등장시켜주기



<문제> ****난이도 좀 있음

내가 어려워 하던 문제임


<풀이>

여기까지는 무난하게 진행하기

System.out.println("입장료는" + money + "입니다.");

-끝-


- 지역변수 : 중괄호 영역 안에서 선언된 변수는 그 영역 밖을 벗어날 수 없다는 것을 의미함!!!
- int money = 0;----------> 이유는 0은 더해도 상관없는 값이니깐!!!
& int 쓴 이유는 0이 정수자료형이니깐!!!
& 이 변수를 선언한 부분부터 중괄호 끝나는 부분까지 진행이 되니깐 출력을 해도 오류가 발생x
- 4-1에 int로 형변환한 이유는 자료형태가 double로 되어 있음 / 근데 money변수에 내가 이미 int 자료형을 선언했었음!
- 또한 이 과정에 따르면 출력을 실행문장마다 적을 필요 없음
(처음에 이렇게 줄줄 적었더니? 틀린 답은 아니지만 개발자들은 귀찮은 거 제일 싫어한다고하심!)




<문제> *** money 쪽 위주를 내가 어려워 함



<풀이>

- 지불해야하는 금액(money)에 관한 변수를 선언해줌
- 데이터 값은 0이 좋음! 이유는 에버랜드 문제에 적어둠
- if 바로 밑 실행문장 1번에 내가 처음에 식을 또 두 개 적음(ex. 전체 금액 식 - 할인 금액 식)
- > 오류 발생함
->실행문장에 식 두개 넣을 생각을 하면 안 됨 왜냐하면 else에도 다른 식을 적을 수 있으니깐!!!
- *****0.1퍼 할인의 반대를 생각해보기= 0.9
- else까지 작성 후 한 번만 출력하기!

-> 프로젝트 만들 때 하단의 module 체크박스 해제해주기!!!


* 주석 옮기기: alt 누르면서 방향키 위아래