Ch.1의 경우에는 단순 Java, Eclipse 설치라서 생략
—-----------—-----------—-----------—-----------—-----------—-----------—-----------—-----------
—-----------—-----------—-----------—-----------—-----------—-----------—-----------—-----------
// 변수와 자료형 - 02. 변수란 무엇인가
import java.util.*;
import java.lang.*;
import java.io.*;
class Codechef
{
public static void main (String[] args) throws java.lang.Exception
{
int age;
age = 24;
System.out.println(age);
int height = 182;
System.out.println(height);
int foot, hand;
foot = 280;
hand = 15;
System.out.println(foot);
System.out.println(hand);
// Variable name...
// 1. Can use letter, number / but cant start with number
// 2. Only '_', '$' can be used among asterisk
// 3. No reserved word
// Camel Notation
// Using bigletter when writing more than 2 word Variable
// Variable = Small / Class = Big
}
}
—-----------—-----------—-----------—-----------—-----------—-----------—-----------—-----------
—-----------—-----------—-----------—-----------—-----------—-----------—-----------—-----------
// 변수와 자료형 - 03. 정수 자료형
import java.util.*;
import java.lang.*;
import java.io.*;
class Codechef
{
public static void main (String[] args) throws java.lang.Exception
{
/*
Data types
1. Primitive
기본적으로 제공하는 자료형
메모리의 크기가 정해져있음
1-1) 종류 : 정수형 / 문자형 / 실수형 / 논리형
1-1-1) int 자료형
정수 자료형 / 4byte / 가장 많이 쓰는 / -2^31 ~ 2^31-1
2. Reference
클래스 자료형
JDK에서 제공되는 클래스와 프로그래머가 정의하는 클래스
클래스에 따라 사용하는 크기가 다름
*/
byte bs = 127;
System.out.println(bs);
long lval = 12345678900L;
/* 4byte 이상의 수를 사용할 때는 long, 수 뒤에 L을 사용할 것 */
}
}
—-----------—-----------—-----------—-----------—-----------—-----------—-----------—-----------
—-----------—-----------—-----------—-----------—-----------—-----------—-----------—-----------
// 변수와 자료형 - 04. 문자 자료형
import java.util.*;
import java.lang.*;
import java.io.*;
class Codechef
{
public static void main (String[] args) throws java.lang.Exception
{
/* 문자 자료형
- 내부적으로는 비트의 조합으로 표현
인코딩 : 각 문자에 따른 특정한 코드 값(숫자)를 부여
디코딩 : 숫자 값을 원래의 문자로 변환
문자 세트 : 문자를 위한 코드 값들을 정해 둔 세트
아스키(ASCII) : 1 바이트로 영문자, 숫자, 특수문자 등을 표현 함
유니코드(UNICODE) : 한글과 같은 복잡한 언어를 표현하기 위한 표준 인코딩 UTF-8, UTF-16이 대표적
코드 값중에서는 음수는 따로 없다
*/
char hero = 'A';
System.out.println(hero);
System.out.println((int)hero);
int bhero = 66;
System.out.println(bhero);
System.out.println((char)bhero);
char hangul = '\uAC00';
System.out.println(hangul);
char nana = '나';
System.out.println(nana);
}
}
—-----------—-----------—-----------—-----------—-----------—-----------—-----------—-----------
—-----------—-----------—-----------—-----------—-----------—-----------—-----------—-----------
// 변수와 자료형 - 05 실수와 논리 자료형
import java.util.*;
import java.lang.*;
import java.io.*;
class Codechef
{
public static void main (String[] args) throws java.lang.Exception
{
/*
실수
Double 자료형이 기본 / float 사용시 f,F 식별자를 사용
부동 소수점 방식 : 실수를 지수부/가수부로 표현함 ( 0.1을 표현하는 방식)
부.소.방식의 오류 : 0을 표현할 수 없음으로 약간의 오차 발생함
논리 자료형
boolean으로 선언
논리값 true / false로 표현
*/
// double, float 자료형
double dnum = 3.14;
float fnum = 3.14f;
//float fnum = 3.14; (X > f 혹은 F를 안 쓰면 double이기 때문에 오류)
// 반복문을 이용한 부동소수점의 오류 확인
double dcomp = 1;
for( int i = 0; i < 10000; i++){
dcomp = dcomp + 0.1;
}
System.out.println(dcomp);
//boolean
boolean ismarried = false;
System.out.println(ismarried);
//자료형 없이 변수 사용하기 : 지역 변수 자료형 추론 (Local Variable Type Inference)
var ung = 10.0;
System.out.println(ung);
}
}
—-----------—-----------—-----------—-----------—-----------—-----------—-----------—-----------
—-----------—-----------—-----------—-----------—-----------—-----------—-----------—-----------
// 변수와 자료형 - 06 상수와 리터럴, 형 변환
import java.util.*;
import java.lang.*;
import java.io.*;
class Codechef
{
public static void main (String[] args) throws java.lang.Exception
{
// integer > float > double 형 변환 (묵시적 형 변환)
byte bNum = 10;
int iNum = bNum;
int iNum2 = 20;
float fNum = iNum2;
double dNum;
dNum = fNum + iNum;
// 명시적 형 변환
int i = 1000;
byte bNum = (byte)i
System.out.println(bNum);
double dNum1 = 1.2;
float fNum = 0.9F;
int iNum1 = (int)dNum1 + (int)fNum;
int iNum2 = (int)(dNum1 + fNum);
System.out.println(iNum1)
System.out.println(iNum2)
// 2진수, 8진수, 16진수의 표현법
int num = 10;
int bNum = 0B1010;
int 0Num = 012;
int xNum = 0XA;
System.out.println(num);
System.out.println(bnum);
System.out.println(0num);
System.out.println(xnum);
}
}
/*
상수(=Constant) : 변하지 않는 수
리터럴(=Literal) : 프로그램에서 사용하는 모든 숫자, 값, 논리 값
모든 리터럴은 상수 풀(Constant pool)에 저장되어 있음
상수 풀에 저장될 때 정수는 int, 실수는 double로 저장
형 변환
- 묵시적 형 변환 (=Implicit Type Conversion):
작은 수에서 큰 수로, 덜 정밀한 수에서 더 정밀한 수로 대입되는 경우
- 명시적 형 변환 (=Explicit Type Conversion):
변환되는 자료 형을 명시, 자료의 손실이 발생할 수 있음
*/
—-----------—-----------—-----------—-----------—-----------—-----------—-----------—-----------
—-----------—-----------—-----------—-----------—-----------—-----------—-----------—-----------
이 정리 내용은 패스트 캠퍼스, K-Digital Credit Java 강의를 참고했습니다