8. 논리 연산자 && || !
-> 결과가 true, false로 리턴.


조건1 && 조건2 -> AND 연산자. 조건1과 조건2의 true, false에 따라서 최종적인 true, false를 리턴
                          동시에 true일때만 최종 true가 됨. false가 하나 있으면 무조건 false를 리턴


조건1 || 조건2 -> OR 연산자. 조건1과 조건2의 true, false에 따라서 최종적인 true, false를 리턴
                          동시에 false일때만 최종 false가 됨. true가 하나 있으면 무조건 true를 리턴.


(! (조건) ) -> NOT 연산자. 조건의 true, false를 반대로 리턴







자료형


1. 정수형


byte -> 1바이트, 표현범위: -128 ~ 127

short -> 2바이트, -32768 ~ 32767

int -> 4바이트(32비트), -2,147,483,648 ∼ 2,147,483,647.  (암기)

long -> 8바이트. 접미사 L표기 필요.


10진수 -> 0 ~ 9 조합

2진수 -> 0, 1 조합

16진수 -> 0 ~ 9 ~ A ~ F 조합



Wrapper 클래스 (기본자료형에 대한 클래스 표현)

byte -> Byte

short -> Short

int -> Integer

long -> Long


Integer.parseInt() -> 형 변환 메소드

Integer.MAX_VALUE -> int 자료형의 최대값을 돌려주는 상수

Integer.MIN_VALUE -> int 자료형의 최소값을 돌려주는 상수






문제)) 임의의 수를 입력 받아서 2진수, 10진수, 16진수 표현을 출력.
실행예)
10진수 입력(0~2147483647)?
2진수: xxxxxxxx
10진수: xxxxxxxx
16진수: xxxxxxxx






2. 문자형과 문자열형


char -> 문자형. 기본자료형. 'A'. ASCII코드로 저장됨.
String -> 문자열형. 참조형. "ABCD". 


char ch1 = 'AB'; // 오류
char ch2 = 'A';  // 성공


String st1 = "AB"; // 성공


ASCII코드중에서 문자 0은 48, 9는 57
ASCII코드중에서 문자 A는 65, Z는 90
ASCII코드중에서 문자 a는 97, z는 122


char과 int 자료형은 서로 호환이 가능한 범위를 가진다.


char ch3 = 65; //성공. 'A'가 입력됨.


System.out.printf("%d %n", 65); // 65
System.out.printf("%c %n", 65); // A


String str = "TEST";
System.out.printf("%c %n", str.charAt(0)); //문자열이 저장된 변수명.charAt(문자열위치값) 즉, 여기서는 T 리턴
System.out.printf("%c %n", str.charAt(1));
System.out.printf("%c %n", str.charAt(2));
System.out.printf("%c %n", str.charAt(3));








문제) 대문자로 구성된 4글자짜리 문자열을 입력받고 나서, 소문자로 변경한 다음 출력.
실행 예)
문자열 입력(4자, 대문자)?TEST
입력된 문자열 : TEST
소문자로 변환 : test






자료의 형 변환


1. 자료의 형이 일치하지 않는 경우 원하는 자료형으로 변환할 수 있어야 한다.

2. 묵시적 형변환, 명시적 형 변환
묵시적 형 변환 -> 자동으로 변환시켜 주는 것. 데이터가 원래의 값을 유지하는 것이 가능. 작은 데이터를 큰 자료형에 넣는 경우에 주로 발생.
명시적 형 변환 -> 특정 명령 수행을 통해서 강제적으로 변환을 시키는 것. 데이터가 원래의 값을 유지하지 못하는 경우도 발생.





형 변환의 대표적인 예

문자열형 -> 숫자형, 숫자형 -> 문자열형


int 변수 = Integer.parseInt(문자열형);
double 변수 = Double.parseDouble(문자열형);


String 변수 = String.valueof(정수형);
String 변수 = String.valueof(실수형);


String 변수 = Integer.toString(정수형);
String 변수 = Integer.toBinaryString(정수형);
String 변수 = Integer.toHexString(정수형);


String 변수 = String.format("%d", 정수형);
String 변수 = String.format("%f", 실수형);


char 변수 = 문자열형변수명.charAt(인덱스);






if문


1. 주어진 조건에 따라 분기 방향을 정하기 위하여 사용하는 제어문
2. 기본형식


//조건이 만족되는 경우(true인 경우)만 실행문 실행

if (조건) {

// 실행문;

}


//조건이 만족되는 경우(true인 경우)는 실행문1 실행

//조건이 만족되는 않는 경우(true인 경우)는 실행문2 실행

if (조건) {

// 실행문1;

} else {

// 실행문2;

}


사용 가능 방법

if (조건) {

//실행문1;

} else if (조건2) {

//실행문2;

} else {

//실행문3;

}

-> 다른방법으로 표기하면

if (조건) {

//실행문1;

} else {

if (조건2) {

//실행문2;

} else {

//실행문3;

}




//if, else 구문은 한번만 표기, else if (조건)은 추가 가능.

if (조건) {

//실행문1;

} else if (조건2) {

//실행문2;

} else if (조건3) {

//실행문3;

} else {

//실행문4;

}

-> 위와 같은 상황은 다른 표현으로 사용하기도 합니다. 다만, else 즉 실행문4가 없음.

if (조건1) {

// 실행문1;

}

if (조건2) {

// 실행문2;

}

if (조건3) {

// 실행문3;

}




문제) 세 개의 숫자 중에서 가장 큰 숫자 구하기. 단, if문 사용.
실행 예)
숫자1?XX
숫자2?YY
숫자3?ZZ
입력 받은 숫자 : XX, YY, ZZ
가장 큰 숫자 :  ZZ



문제) 임의의 수를 입력 받아서 짝수, 홀수로 구분해서 출력.
실행 예)
임의의 정수(0 이상)? 
입력받은 숫자 :
구분 : 






문제) 임의의 수 를 입력 받아서 3의 배수, 4의 배수로 구분해서 출력.
실행 예)
임의의 정수(3 또는 4의 배수)?
입력받은 숫자 :
구분 : 3의 배수

혹은

임의의 정수(3 또는 4의 배수)?
입력받은 숫자 :
구분 : 4의 배수

혹은

임의의 정수(3 또는 4의 배수)?
입력받은 숫자 :
구분 : 3의 배수 또는 4의 배수


WRITTEN BY
빨강꼬마

,