오늘보다 더 나은 내일의 나에게_
Java 자료형과 연산자 본문
여러 가지 자료형
아스키코드 - 한글 표현 X
유니코드 - 모든 언어 표현 가능
8bit = 1byte
1byte 2byte 4byte 8byte 논리 boolean 문자 char 정수 byte short int long 실수 float double
1. primitive type(기본 타입) : 자바언에 내장된 기본 유형
1-1. 논리형(boolean) - yes/no, true/false, on/off, 1/0 (switch)
1-2. 문자형(문자 하나를 표현) - 문자, 유니코드, 아스키코드 표현 가능
char c = '나'; // 문자 System.out.println(c); char c1 = 97; // 아스키코드 System.out.println(c1); char c2 = '\uAC00'; // 유니코드 System.out.println(c2);
1-3. 정수형 (byte, short, int(기본), long)
1-4. 실수형 (float, double(기본))
float n5 = 10.123f; float n6 = (float)10.123; double n7 = 10.123;
2. reference type : 기본 타입 외에 모든 타입
ex_) String : 문자열(기본 제공 x)
String s = "Hello World!"; System.out.println(s.substring(0, 5)); // Hello 출력 System.out.println(s+123); // Hello World123 출력
기본 타입으로는 "Hello World"같은 하나의 문자열을 표현할 수 없음
> 문자열을 나타낼 수 있는 자료형 String으로 표현
*문자열과 +연산이 실행되면 기본 타입의 값이 문자열로 바뀌고 두 문자열이 연결된 새로운 문자열이 생성
타입 변환(형 변환) : 변수나 상수 타입을 다른 타입으로 바꾸는 것
1) 자동 타입 변환(자동형 변환) - 타입이 일치하지 않을 때 크기가 작은 타입을 큰 타입으로 자동 변환
2) 강제 타입 변환(강제 형 변환) - 개발자가 강제로 타입 변환을 지시하는 경우
=> 큰 자료형에서 작은 자료형으로 바꿀 경우 Overflow현상
출력 : 디스플레이에 문자나 숫자 등을 나타내는 것
-\n : 개행 문자
System.out.print(출력하고 싶은 구문)
//> 출력하고 싶은 구문 출력
System.out.println(출력하고 싶은 구문)
//> 출력하고 싶은 구문 출력 후 개행
System.out.printf("출력 서식", 출력내용)
//> 출력하고 싶은 서식대로 출력
입력 :
Scanner sc = new Scanner(System.in)
읽은 바이트를 문자, 정수, 실수, 불린, 문자열 등 다양한 타입으로 변환하여 리턴하는 클래스
*입력 값을 공백 문자('', '\t', '\n')를 기준으로 토큰 분리
System.in : 키보드로 입력할 수 있도록 해주는 도구
Scanner : 입력받은 값을 사용할 수 있도록 해주는 도구
sc.next() > 다음 토큰을 문자열로 리턴
sc.nextInt() > 다음 토큰을 int 타입으로 리턴
sc.nextLine() > 공백이 낀 문자열을 리턴
예제
예제 1 이름과 나이를 입력받고 출력
연산
=> 정해진 규칙에 따라 데이터를 처리하여 결과를 산출하는 것
식 : 연산의 과정을 기술한 것
연산자 : 연산에 사용되는 기호
피연산자(항) : 연산이 이루어지는 데이터
종류 | |
단항 연산자 | 증감연산자 ex)a++ |
이항 연산자 | 대입연산자, 산술연산자, 비교연산자, 논리연산자, 비트연산자, 시프트연산자 ex)a+b |
삼항 연산자 | 삼항연산자 ex)a?b:c |
산술 연산자 : 숫자를 연산하는 연산자 (+, -, *, / ,%)
= 정수 정수 -> 정수
= 정수 실수 -> 실수
예제
예제 5. num1, num2의 더하기, 빼기, 곱하기, 나누기 결과 값을 출력(단, 나누기 결과 값은 실수로 표현)
(num1=7, num2=3)
연습문제
예제 7. 일의 자리를 1로 바꾸는 코드를 작성
ex) int num = 456 -> 451
num = 777 -> 771
예제 9 JAVA, Web, Android 점수를 키보드로 입력받아 합계와 평균을 출력
->평균은 소수점 둘째 자리까지
예제 10 초를 입력받아 [시, 분, 초] 형태로 출력하세요
대입 연산자
연산의 결과를 담을 때 사용하는 연산자
대입, 할당 연산자 | 복합 대입연산자 |
= | +=, -=, *=, /=, %=.... |
ex) a=b , a=b+1 | ex) a += b |
증감 연산자
변수에 저장된 값을 1 증가 혹은 1 감소해주는 연산자
++(증가연산자) | --(감소연산자) |
++변수 | --변수 |
변수++ | 변수-- |
비교 연산자
부등호 연산, 같다/다르다 연산자
<, <=, >, >= | ==, != |
a > b, a >= b | a == b, a != b |
=> 결과 값 : boolean(true or false)
논리 연산자
NOT, AND, OR 연산자
NOT(!) - 명제의 반대(false => true, true => false)
AND(&&) - 둘 다 참일 경우에만 true(모두 true이어야 true)
OR(||) - 둘다 거짓일 경우에만 false(하나라도 true면 true)
=>피연산자는 boolean(true or false)이어야 함
=>결과 값 : boolean(true or false)
삼항연산자
간단한 제어 처리
사용방법 = (조건문) ? (실행문1) : (실행문2)
실행문1 -> 참일 때
실행문2 -> 거짓일 때
삼항연산자 예제
예제 2 정수를 입력받아 홀수인지 짝수인지 판별하세요
예제 3 두개의 정수를 입력 받아 큰수에서 작은수를 뺀 결과값을 출력
*조건. 작은수에서 큰수를 빼도 큰수에서 작은수를 뺄수있도록
연산자 우선순위
증감 -> 산술 -> 비교 -> 논리 -> 삼항 -> 대입
비트 연산자
AND(&), OR(|), XOR(^), NOT(~)
(비트)시프트연산자
>>, <<
'JAVA' 카테고리의 다른 글
Java 배열 (0) | 2022.01.13 |
---|---|
Java 반복문 (0) | 2022.01.13 |
Java 조건문 (0) | 2022.01.12 |
Java 자바특징 및 변수 (0) | 2022.01.12 |
클래스 / 객체 / 인스턴스 (0) | 2022.01.11 |