1. 지난 시간 복습 !!
- 프로그래밍이란 : 절차에 맞춰 이뤄지는 어떤 일들의 모음
- 자바 설치 방법 : 자바설치, 환경변수 설정, 개발 툴 설치
- System.out.println() : 콘솔에 문자 출력
- 사용자에게 값을 입력받을 수 있는 Scanner sc = new Scanner(System.in);
- String 비교하는 방법
- 조건문
if (조건식) {
조건식의 결과가 참일 때 실행하고자 하는 명령문;
} else {
조건식의 결과가 거짓일 때 실행하고자 하는 명령문;
}
- 삼항연산자 => 조건식 ? 반환값1 : 반환값2
* 타입
- 정수형 : byte, short, int, long
- 차이점은 값을 나타내는 범위입니다. 오른쪽으로 갈수록 큰 숫자를 표기할 수 있어요.
- 실수형 : float, double
double, float 의 차이는 ?
float형 타입이 소수 6자리까지는 정확하게 표현할 수 있으나, 그 이상은 정확하게 표현하지 못함을 보여줍니다.
자바의 double형 타입은 소수 부분 15자리까지 오차없이 표현할 수 있습니다.
- 문자형 : char, String
char 는 한글자만, String 여러 문자를 담을 수 있어요
- 논리형 : boolean
true, false 두가지로 논리 형태의 값을 저장할 수 있어요.
-정수형 :
byte b = 12;
short, s = 32766;
int i = 1234456;
long l = 12345645L;
-실수형 :
double d= 453.523311903;
float f= 0.2363F;
-문자형 : char
-char score = 'A';
-String s = “abn”;
-논리형 : boolean
- boolean ck = true;
연습문제1 ) 앞에 타입형태를 작성해주세요.
? s1= false;
? s2= 'a';
? s3= 20;
? s4= 2147483648L;
답 : boolean, char, int, long
연습문제2) 기본값을 설정해주세요.
String a = ?
int b = ?
double c = ?
float d = ?
long e = ?
boolean f = ?
char g = ?
답 : "", 0, 1b, 1f, 1l, true, ''
산술 연산자
+ : 왼쪽의 피연산자에 오른쪽의 피연산자를 더함.
- : 왼쪽의 피연산자에서 오른쪽의 피연산자를 뺌.
* : 왼쪽의 피연산자에 오른쪽의 피연산자를 곱함.
/ : 왼쪽의 피연산자를 오른쪽의 피연산자로 나눔.
% : 왼쪽의 피연산자를 오른쪽의 피연산자로 나눈 후, 그 나머지를 반환함.
연습문제)
int num1 = 8, num2 = 4;
System.out.println("/ 연산자에 의한 결과 : "+ (num1 / num2) + " 나의 예상 값 : 값을 입력하세요. ");
System.out.println("% 연산자에 의한 결과 : "+ (num1 % num2) + " 나의 예상 값 : 값을 입력하세요. ");
답1 : / 연산자에 의한 결과 : 2
답2: % 연산자에 의한 결과 : 0
대입 연산자(assignment operator)
대입 연산자는 변수에 값을 대입할 때 사용하는 이항 연산자이며, 피연산자들의 결합 방향은 오른쪽에서 왼쪽입니다.
또한, 자바에서는 대입 연산자와 다른 연산자를 결합하여 만든 다양한 복합 대입 연산자를 제공합니다.
= : 왼쪽의 피연산자에 오른쪽의 피연산자를 대입함.
+= : 왼쪽의 피연산자에 오른쪽의 피연산자를 더한 후, 그 결괏값을 왼쪽의 피연산자에 대입함.
-= : 왼쪽의 피연산자에서 오른쪽의 피연산자를 뺀 후, 그 결괏값을 왼쪽의 피연산자에 대입함.
*= : 왼쪽의 피연산자에 오른쪽의 피연산자를 곱한 후, 그 결괏값을 왼쪽의 피연산자에 대입함.
/= : 왼쪽의 피연산자를 오른쪽의 피연산자로 나눈 후, 그 결괏값을 왼쪽의 피연산자에 대입함.
%= : 왼쪽의 피연산자를 오른쪽의 피연산자로 나눈 후, 그 나머지를 왼쪽의 피연산자에 대입함.
&= : 왼쪽의 피연산자를 오른쪽의 피연산자와 비트 AND 연산한 후, 그 결괏값을 왼쪽의 피연산자에 대입함.
|= : 왼쪽의 피연산자를 오른쪽의 피연산자와 비트 OR 연산한 후, 그 결괏값을 왼쪽의 피연산자에 대입함.
예제
int num1 = 7, num2 = 7, num3 = 7;
num1 = num1 - 3;
num2 -= 3;
num3 =- 3;
System.out.println("- 연산자에 의한 결과 : "+ num1);
System.out.println("-= 연산자에 의한 결과 : "+ num2);
System.out.println("=- 연산자에 의한 결과 : "+ num3);
증감 연산자(increment and decrement operators)
증감 연산자는 피연산자를 1씩 증가 혹은 감소시킬 때 사용하는 연산자입니다.
++x : 먼저 피연산자의 값을 1 증가시킨 후에 해당 연산을 진행함.
x++ : 먼저 해당 연산을 수행하고 나서, 피연산자의 값을 1 증가시킴.
--x : 먼저 피연산자의 값을 1 감소시킨 후에 해당 연산을 진행함.
x-- : 먼저 해당 연산을 수행하고 나서, 피연산자의 값을 1 감소시킴.
예제
int num1 = 7, num2 = 7;
int result1, result2;
result1 = --num1 + 4;
result2 = num2-- + 4;
System.out.println("전위 감소 연산자에 의한 결과 : "+ result1 + ", 변수의 값 : " + num1);
System.out.println("후위 감소 연산자에 의한 결과 : "+ result2 + ", 변수의 값 : " + num2);
위의 예제에서 첫 번째 연산은 변수 num1의 값을 먼저 1 감소시킨 후에 나머지 연산을 수행합니다.
하지만 두 번째 연산에서는 먼저 모든 연산을 마친 후에 변수 num2의 값을 1 감소시킵니다.
따라서 변수 num2의 감소 연산자는 전체 연산에 어떠한 영향도 미치지 않습니다.
증감 연산자의 연산 순서
증감 연산자는 피연산자의 어느 쪽에 위치하는가에 따라 연산의 순서가 달라집니다.
예제)
int x = 10;
int y = x-- + 5 + --x;
System.out.println("x : "+ x + ", y : " + y);
비교 연산자(relational operator)
비교 연산자는 피연산자 사이의 상대적인 크기를 판단하는 연산자입니다.
== : 왼쪽의 피연산자와 오른쪽의 피연산자가 같으면 참을 반환함.
!= : 왼쪽의 피연산자와 오른쪽의 피연산자가 같지 않으면 참을 반환함.
> : 왼쪽의 피연산자가 오른쪽의 피연산자보다 크면 참을 반환함.
>= : 왼쪽의 피연산자가 오른쪽의 피연산자보다 크거나 같으면 참을 반환함.
< : 왼쪽의 피연산자가 오른쪽의 피연산자보다 작으면 참을 반환함.
<= : 왼쪽의 피연산자가 오른쪽의 피연산자보다 작거나 같으면 참을 반환함.
예제
char ch1 = 'a', ch2 = 'A';
System.out.println("== 연산자에 의한 결과 : "+ (ch1 == ch2));
System.out.println("> 연산자에 의한 결과 : "+ (ch1 > ch2));
논리 연산자(logical operator)
논리 연산자는 주어진 논리식을 판단하여, 참(true)과 거짓(false)을 결정하는 연산자입니다.
&& 논리식이 모두 참이면 참을 반환함. (논리 AND 연산)
|| 논리식 중에서 하나라도 참이면 참을 반환함. (논리 OR 연산)
! 논리식의 결과가 참이면 거짓을, 거짓이면 참을 반환함. (논리 NOT 연산)
예제
int a = 100, b = 70;
boolean result1, result2, result3;
result1 = (a > 50) && (b < 100) ;
result2 = (a < 50) && (b < 100) ;
result3 = (a < 50) || (b < 100) ;
System.out.println("&& 연산자에 의한 결과1 : "+ result1);
System.out.println("&& 연산자에 의한 결과2 : "+ result2);
System.out.println("|| 연산자에 의한 결과 : "+ result3);
switch 조건문
switch 를 사용하면 여러 개의 조건 값을 한 번에 검사할 수 있습니다.
switch (조건 값) {
case 값1:
조건 값이 값1일 때 실행하고자 하는 명령문;
break;
case 값2:
조건 값이 값2일 때 실행하고자 하는 명령문;
break;
default:
조건 값이 어떠한 case 절에도 해당하지 않을 때 실행하고자 하는 명령문;
break;
}
예제
switch (1) {
case 1:
System.out.println("숫자 1입니다.");
break;
case 2:
System.out.println("숫자 2입니다.");
break;
default:
System.out.println("case에 등록되지 않은 숫자입니다.");
break;
}
최종 마무리 문제
숫자 맞추기 게임!!
int user=0;
int com=(int)(Math.random()*5)+1; // 1~5 까지의 랜덤의 숫자를 구해주는 함수
System.out.println("==========================게임방법 =======================");
System.out.println(" 1~5까지의 숫자가 있습니다. 그 중 컴퓨터가 고른 숫자를 맞추면 승리! ");
System.out.println("=========== 게임을 시작합니다============");
System.out.println("숫자를 입력해주세요!");
// 사용자에게 값을 입력받아주세요.
// 숫자값은 scan.nextInt()로 받아주세요.
// 스위치 문을 사용해서
// 같은 경우와 같지 않은경우에 대해서 case 문을 작성해주세요.
// 게임 결과와 컴퓨터가 고른 숫자와 사용자가 입력한 숫자를 출력해주세요. (System.out.println 사용)
정답
Scanner scan=new Scanner(System.in);
user=scan.nextInt();
switch(com-user) {
case 0 :
System.out.println("사용자 Win");
break;
default :
System.out.println("컴퓨터 Win");
break;
}
System.out.println("사용자 " + user + " 컴퓨터 : " + com);
'JAVA 강의 ( 초급)' 카테고리의 다른 글
| AJAX 기초 수업 개념 정리!! (0) | 2021.02.18 |
|---|---|
| SpringBoot Ajax 사용하기! (0) | 2021.02.18 |
| JSON 에 대해서 알아봅시다. (0) | 2021.02.17 |
| JAVA 기초 3강 (0) | 2020.10.04 |