[JAVA] 연산자(산술, 복합 대입, 증감, 감소, 조건, 논리 관계)와 조건문(if,if else, if else if), Scanner 사용법

들어가기에 앞서

상수 - 변하지 않는 수(메모리 공간)-선언 이후 한번은 초기화 가능하다.

리터럴 - L = R(10,'a',true)
final (권장 대문자_대문자)

형 변환 - 자동 형 변환(작은 상자에서 큰 상자) 
강제 형 변환(데이터에 손실이 발생할 수 있다)

연산자
항 : 값, 단항, 이항, 삼항

대입 연산자 --> =
연산에 방향은 오른쪽에서 왼쪽으로 진행
연산자의 우선 순위는 가장 낮다.

부호 연산자 + , -
주의점 - 리터럴 값이 아닌
변수 앞에 - 부호 연산자를 사용했다면
메모리 공간 안에 값은 변경되지 않는다

 

산술 연산자 사용 예제

Screenshot_52.png
Screenshot_53.png

결과

8

2

15

1

2

====================

5

5

1

1

--------------

1.25

1

1.25

복합 대입 연산자

Screenshot_50.png
Screenshot_54.png
Screenshot_55.png

결과

11

110

증감, 감소 연산자

Screenshot_56.png
Screenshot_58.png

관계 연산자

Screenshot_59.png
Screenshot_60.png

결과

true
false
false
true
false

Screenshot_62.png

결과

false
false
true
true

 

논리 연산자

Screenshot_66.png

논리 연산에서 모든 항이 실행되지 않는 경우

(short circuit evaluation)

● 논리 곱(&&)은 두 항의 결과가 모두 true일 때만 결과가 true

-- 앞의 항의 결과가 false이면 뒤 항의 결과를 평가하지 않음

● 논리 합(||)은 두 항의 결과가 모두 false일 때만 결과가 false

-- 앞의 항의 결과가 true이면 뒤 항의 결과를 평가하지 않음

Screenshot_63.png
Screenshot_64.png

결과

true
false
false
false
=======================
true

Screenshot_65.png

결과

false
11
0
true
12
0
false
true

연산자 종합 연습 문제

Screenshot_67.png
Screenshot_68.png
Screenshot_69.png

결과

30.5
30
9
-20.5
20.5
true
false
true
30

 

조건 연산자

Screenshot_71.png
Screenshot_72.png

결과

10

20

20

Screenshot_73.png

결과 (입력 1에는 10을 입력 2에는 20을 입력 했을 경우)

입력 받은 두 수 중 큰 수를 출력 하세요
입력 1 : 
10
입력 2 : 
20
큰 숫자는 20입니다

 

조건문

Screenshot_74.png
Screenshot_75.png
Screenshot_76.png

package ch04;

 

public class MainTest1 {

 

public static void main(String[] args) {

// 제어문 if

// 주어진 조건에 따라서 실행이 이루어 지도록 만들 수 있다.

 

boolean flag = false;

 

// if 문 단독

if( 100 < 1 ) {

System.out.println("조건식에 결과가 참(true) 수행이 됩니다. ");

}// end of if

 

flag = true;

if( flag ) {

System.out.println("조건식에 true 출력 됨. ");

}// end of if

 

// if else 구문 ---> 두번째 방법

if( true ) {

System.out.println("결과 참이면 실행 됩니다.");

} else {

System.out.println("결과가 거짓이면 이 부분이 실행 됩니다");

}

 

 

// if else if else 구문 ---> 세번째 방법

System.out.println("------------------------");

System.out.println("성적을 입력 하시오");

int point = 70;

 

// 만약 점수가 90점 이상이면 A를 출력하시오

// 만약 90점 아래라면 B 학점을 출력하시오

if(point >= 90) {

System.out.println("당신의 학점은 A 학점 입니다.");

} else if(point >= 80){

System.out.println("당신의 학점은 B 학점 입니다.");

} else if(point >= 70) {

System.out.println("당신의 학점은 C 학점 입니다.");

} else {

System.out.println("당신의 학점은 F 학점 입니다.");

}

 

} // end of main

 

} // end of class

결과

 

조건식에 true 출력 됨. 
결과 참이면 실행 됩니다.
------------------------
성적을 입력 하시오

당신의 학점은 C 학점 입니다.

 

package ch04;

 

import java.util.Scanner; // 가지고 오다

 

public class MainTest2 {

 

public static void main(String[] args) {

 

// 문제 1

// 스캐너를 사용해서 성적을 입력 받아 주세요

 

Scanner sc = new Scanner(System.in); // 스캐너 도구 준비완료

System.out.println("성적을 입렵하세요: ");

int score = sc.nextInt(); // R value -> 정수값을 키보드에서 입력 받는다. (연산)

 

//2. 90점 이상이면 A 출력

//3. 80점 이상이면 B 출력

//4. 700점 이상이면 C 출력

//5. 70점 이하이면 F 출력

 

if (score>=90) {

System.out.println("A");

} else if(score>=80) {

System.out.println("B");

}else if(score>=70) {

System.out.println("C");

}else if(score<=70) {

System.out.println("F");

}

 

 

}

 

}

결과

성적을 입렵하세요: 
50
F

 

Scanner

컴파일하면 입력값을 받는 함수

Scanner sc = new Scanner(System.in);

int a = sc.nextInt();

정수형 변수 a 안에 내가 입력하는 정수가 들어간다

(자료형에 따라 입력받는 자료형도 다름)

 

연습문제

Screenshot_78.png

정답

더보기

문자형 -> char(2byte)
정수형 -> byte(1) short(2) int(4) long(8)
실수형 -> float(4) double(8)

Screenshot_79.png

정답

더보기
long regNo = 9709181000009l;

Screenshot_80.png

정답

더보기

리터럴 100 100L 3.14f
변수 i, iNum
키워드 int long filnal float
상수 PI

Screenshot_81.png

정답

더보기

12
true
131(65+66)
51(49+2)
99(49+50)
Java

Screenshot_82.png

정답

오늘의 퀴즈

문제 1 출력 값을 구하시오

int a=1, b=1;
System.out.println(a++);
System.out.println(++b);
System.out.println(a);

 

정답

더보기

1

2

2



문제 2 출력 값을 구하시오

int c=1,d=1;
c++;
++d;
System.out.println(c);
System.out.println(d);

 

정답