오늘보다 더 나은 내일의 나에게_

Java 자료형과 연산자 본문

JAVA

Java 자료형과 연산자

chan_96 2022. 1. 12. 21:57
728x90

여러 가지 자료형

아스키코드 - 한글 표현 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(~)

 

(비트)시프트연산자

>>, <<

 

728x90

'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
Comments