이론
- 데이터 타입 (64비트)
데이터 종류 | 타입명 | 크기 | 값의 표현 범위 |
정수형 | byte | 1byte | -128 ~ 127 |
short | 2byte | -32,768 ~ 32,767 | |
int | 4byte | -2,147,483,648 ~ 2,147,483,647 |
|
long | 8byte | -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 |
|
실수형 | float | 4byte | 32비트 부동 소수점 |
double | 8byte | 64비트 부동 소수점 | |
문자형 | char | 2byte | 16비트 유니코드 문자 |
논리형 | Boolean | 1byte | true 또는 false |
◈프로그램은 무조건 작게 짜야 좋은것!! = 효율적인 자원활용 |
(1byte=8bit)
- 리터럴 _ 상수
프로그램에서 사용되는 고정된 값을 말하며, 어떤 계산이나 처리 없이 직접 사용되는 값.
정수 리터럴의 기본타입은 int
Long타입의 리터럴은 접미사로 L이나 l(영소문자)을 붙인다.
Ex)
int a = 10;
char c = ‘q’;
double d = 2.56;
정수 10, 문자q, 실수 2.56이 리터럴. - ->Long value = 3948L;
int valDec = 30; //10진수
int valHex = 0x3e; //16진수 (테트리스)
int valBin = 0b1001; //2진수 - 2진수 : 0,1의 숫자로 데이터를 표현
8진수 : 0~7까지의 숫자로 표현
16진수 : 0~9 and A(10)~F(15) 까지의 숫자와 문자로 표현
- 실수 리터럴
실수 리터럴의 기본 타입은 double (float 타입의 리터럴은 접미사 f를 붙인다).
Ex)
double = 12.5;
float = 34.6f; - 문자 리터럴
문자 리터럴은 ‘a’와 같은 문자 한 개나, “apple”과 같은 문자열 값.
Ex)
char = ‘x’;
String = “abc”; - 자바에서 특수 문자를 출력하기 위한 이스케이프 문자를 제공.
Ex)
System.out.println(“hello”); //hello
System.out.println(“ \”hello\” ”); //”hello”
- 형 변환 (ref.이것이 진짜 자바다 p.60)
- 형 변환이란 프로그램 문장에서 타입이 일시적으로 변하는 것.
Ex)
int a = 12, b = 13;
float c = 0;
c = (a+b)/2;
System.out.println(“a와 b의 평균은 “+c+” 이다.”);
>a와 b의 평균은 12.0
>우선 0.5가 사라진 것은 정수끼리의 연산 결과는 정수이기 때문.
cf. 파이썬은 정수/정수 도 실수로 표현한다. - 자동 형변환의 방향
byte -> short, char -> int -> long -> float -> double
수체계가 많기 때문
char형은 양의 정수, 음의 정수를 표현할수있다.
Ex)
float f = 12.5f;
int a = (int)f; //강제 형 변환(Testing)
System.out.println(“a= “+a);
연산자
- 산술 연산자 (+ - * / %)
% : (나누기를 계산하고난 몫을 제외한) 나머지를 나타냄 - 관계 연산자
== 같다
!= 같지않다
> 크다
>= 크거나(or) 같다
< 작다
<= 작거나(or) 같다 - 논리 연산자
: 두 피 연산자의 논리 AND, 또는 OR 연산을 한다
&& : 논리 AND, 피 연산자가 모두 true 여야 결과가 true이다
|| : 논리 OR, 피 연산자 하나만 true 여도 결과가 true이다
Short-circuit 원리 &&(내림 개념) : 첫 피연산자 결과가 false 이면 두번째 부터 계산하지 않는다 ||(올림 개념) : 첫 피연산자 결과가 true 이면 두번째 부터 계산하지 않는다 |
22.08.25
- 단항 연산자 (메모리 절약을 위해, 속도향상)
+/- : 양/음
++ : 전위 증가 (ex.++a) / 후위 증가 (ex.a++)
-- : 전위 감소 (ex.--a) / 후위 감소 (ex.a--)
! : 논리적 반전 (true/false 반전)
Ex)
int a=10
b=++a
일때 b값을 출력하면, 후위증가이므로 11이 출력된다
b=a-- 이면,
전위감소이므로 b값은 10이 출력된다 - 삼항 연산자
Ex)
c = (조건) ? "true일때 나타낼 값" : "false일때 나타낼 값"; - 대입연산자 : 우변의 값을 좌변에 할당한다. (+=, -=, *=, /=, %=)
Ex1)
int a = 1; // a = a+1
a +=1;
System.out.println(a);
->결과값 2 출력
대입연산자 | 설명 |
= | 왼쪽의 피연산자에 오른쪽의 피연산자를 대입함 |
+= | 왼쪽의 피연산자에 오른쪽의 피연산자를 더한 후, 그 결과값을 왼쪽의 피연산자에 대입함 |
-= | 왼쪽의 피연산자에서 오른쪽의 피연산자를 뺀 후, 그 결과값을 왼쪽의 피연산자에 대입함 |
*= | 왼쪽의 피연산자에 오른쪽의 피연산자를 곱한 후, 그 결과값을 왼쪽의 피연산자에 대입함 |
/= | 왼쪽의 피연산자를 오른쪽의 피연산자로 나눈 후, 그 결과값을 왼쪽의 피연산자에 대입함 |
%= | 왼쪽의 피연산자를 오른쪽의 피연산자로 나눈 후, 그 나머지를 왼쪽의 피연산자에 대입함 |
- 논리부정 연산자 : true를 false로 false를 true로 변경하기 때문에 boolean 타입에만 사용가능.
주로 두가지 상태를 번갈아가며 변경하는 토글(toggle:디지털 신호가 1과 0을 반복적으로 되풀이하는 상태) 기능을 구현할 때 사용한다. - 비트 반전 연산자 : 산출타입은 int 이며, byte, short, int, long의 정수타입의 피연산자에만 사용됨
비트값 0은 1로, 1은 0으로 반전한다. - 정수타입의 연산결과가 int타입으로 나오는 이유는 자바 가상기계(Java Vurtual Machine)가 기본적으로 32비트 단위로 계산하기 때문이다.
'국비학원 수업' 카테고리의 다른 글
나머지 분량은 노션Notion으로 옮겨갔음을 알립니다. (4) | 2022.11.03 |
---|---|
22.09.27 수업_Java 한달차 중간정리. (1) | 2022.09.27 |
22.08.29 수업_Java 반복문 이론 (3) | 2022.08.29 |
22.08.25 수업_Java 변수와 타입 이론 (2) | 2022.08.25 |
22.08.23 수업_Java 기초 및 이론 (1) | 2022.08.23 |