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

들어가기에 앞서

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

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

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

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

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

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

 

산술 연산자 사용 예제

결과

8

2

15

1

2

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

5

5

1

1

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

1.25

1

1.25

복합 대입 연산자

결과

11

110

증감, 감소 연산자

관계 연산자

결과

true
false
false
true
false

결과

false
false
true
true

 

논리 연산자

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

(short circuit evaluation)

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

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

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

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

결과

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

결과

false
11
0
true
12
0
false
true

연산자 종합 연습 문제

결과

30.5
30
9
-20.5
20.5
true
false
true
30

 

조건 연산자

결과

10

20

20

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

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

 

조건문

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 안에 내가 입력하는 정수가 들어간다

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

 

연습문제

정답

더보기

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

정답

더보기
long regNo = 9709181000009l;

정답

더보기

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

정답

더보기

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

정답

오늘의 퀴즈

문제 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);

 

정답