22.04.15

15460 단어 JavaJava

character set (글자 조합)

글자 조합 방법 : utf-8, ms949, euc-kr
이클립스 기본 글자 조합 방법 : ms949 - 범용성 없음
범용성 있는 글자 조합 방법 : utf-8


package

java에서는 폴더를 의미
java 컴파일 결과로 생성되는 class 파일은 class 파일끼리 source는 source끼리 폴더화


컴퓨터가 이해하는 언어는 0과 1로 된 기계어

High Level Language - 사람이 이해하기 쉬운 언어 (ex. java, python)
Low Level Language - 컴퓨터가 이해하기 쉬운 언어 (ex. assembly)
하지만 assembly도 기계어는 아니므로 assembler를 통해 기계어로 변환

위의 High와 Low는 상대적 개념
변환 과정인 컴파일을 거쳐 기계어에 가깝게 변환
java 변환 과정 : javac > 주석 및 공백 제거 + 기계어에 가깝게 변환

Test.java > javac > Test.class > java > 기계어 실행


이클립스 단축키

자동 완성 - ctrl + space bar
뒤로 가기 - ctrl + z
앞으로 가기 - ctrl + y
한 줄 삭제 - ctrl + d
이름 바꾸기 - F2
코드 이동 - alt + ↑, ↓


데이터

의미 있는 정보를 가진 모든 값
어떤 사질, 개념, 명령
과학적인 실험이나 관측 결과로 얻은 수치나 정상적인 값
실체의 속성을 숫자, 문자, 기호 등으로 표현한 것
데이터는 특정한 의미가 부여되면 정보가 됨

데이터 자체는 단순한 사실에 불과
일련의 처리과정에 따라 특정 목적에 사용되는 정보를 만들기 위해 사용

Ex 1. 이름 : 홍길동, 나이 : 25세, 키 : 180cm, 몸무게 : 80kg, 혈액형 : B형
보통 사람들에겐 의미가 없으나, 위 인물이 다쳤을 때 병원관계자 등에겐 의미있는 데이터로 활용

Ex 2. 쇼핑몰 A의 판매데이터
01.01 고객 : 홍길동, 상품 : 생수 2L, 수량 : 30개
02.01 고객 : 홍길동, 상품 : 생수 2L, 수량 : 30개
03.01 X
04.01 X
쇼핑몰 A의 입장에서 해당 고객은 매월 1일 생수 2L를 30개씩 주문했으나 3월부터 주문이 없음
이 데이터를 통해 해당 고객에게 할인 쿠폰 등의 마케팅을 통해 다시 고객을 끌어들이는 방안 마련 가능

java가 다루는 데이터의 형태

-정수 : 음수, 양수, 0을 포함하는 소수점이 없는 숫자
-실수 : 음수, 양수, 0.0을 포함하는 소수점이 있는 숫자
-논리 : true, false
-문자 : character(오직 문자 하나)
-문자열 : character string(문자 집합)

자바의 문자는 다국어 지원을 위해 유니코드(16bit)를 사용

java에서 데이터 사용 방법 - 변수

변수 : variable (various + able)
-다양한 값을 가질 수 있다
-데이터를 저장하는 저장 공간
-데이터를 저장하는 공간에 들어있는 값을 바꿀 수 있다 (반드시 바꾸지는 않는다)

package ch02;

public class Ch02Ex02 {

	public static void main(String[] args) {
		int data1 = 9876;
		int data2 = 8765;
		
		System.out.println(data1 + data2);
		System.out.println(data1 - data2);
		System.out.println(data1 * data2);
		
		data2 = 4;
		System.out.println(data1 / data2);
	}

}

출력 결과
18641
1111
86563140
2469


변수

변수의 생성
-선언과 초기화로 구성
-선언 : 변수의 형태와 이름을 정하는 것
-초기화 : 변수에 최초의 값을 넣는 것

변수와 메소드의 명명 규칙 - 카멜(Camel) 표기법
-첫 문자는 소문자
-이어지는 단어의 첫 문자는 대문자
-나머지는 소문자
-숫자는 가능하지만 맨 앞은 안됨
-특수문자는 지양

package ch02;

public class Ch02Ex03 {

	public static void main(String[] args) {
		int data1;		// 선언, 자료형 및 이름 지정
		data1 = 9876;	// 초기화, equal 기호(=)를 통해 우항의 값을 좌항에 대입
		
		int data2 = 8765;	// 선언 및 초기화
		
		int a = 1, b = 2, c = 3, d = 4, e = 5;		// 복수의 변수 선언 및 초기화 가능
	}

}

java에서 사용하는 변수의 종류

-정수 : byte, short, int, long
-실수 : float, double
-논리 : boolean
-문자 : char
★기억해야 하는 타입 : int, long, double, boolean

byte(8bit)
-부호 비트(양수 / 음수 판별 비트)를 제외한 7bit로 수를 표현
-표현 범위 : -2^7 ~ 2^7-1 (-128 ~ 127)

short(16bit)
-부호 비트(양수 / 음수 판별 비트)를 제외한 15bit로 수를 표현
-표현 범위 : -2^15 ~ 2^15-1 (-32768 ~ 32767)

int(32bit)
-정수 변수의 기본형
-부호 비트(양수 / 음수 판별 비트)를 제외한 31bit로 수를 표현
-표현 범위 : -2^31 ~ 2^31-1 (-2147483648 ~ 2147483647)

long(64bit)
-부호 비트(양수 / 음수 판별 비트)를 제외한 63bit로 수를 표현
-표현 범위 : -2^63 ~ 2^63-1 (-9923372036854775808 ~ 9923372036854775807)
-수를 대입할 때 영문자 L, l을 사용
-22억 이상의 수를 표현

float(32bit)
-값을 대입할 때 영문자 F, f를 사용
-소수점 5번째 자리까지 신뢰

double(64bit)
-실수 변수의 기본형
-소수점 15번째 자리까지 신뢰

◆실수 타입 변수의 특징
소수점 9를 표현하지 못해 소수점 숫자의 오류 가능성 있음

Wrapper class

primitive data type을 쉽게 사용할 수 있도록 JDK가 제공하는 도구

package ch02;

public class Ch02Ex06 {
	public static void main(String[] args) {
		System.out.println(Byte.MIN_VALUE + " ~ " + Byte.MAX_VALUE);
		System.out.println(Short.MIN_VALUE + " ~ " + Short.MAX_VALUE);
		System.out.println(Integer.MIN_VALUE + " ~ " + Integer.MAX_VALUE);
		System.out.println(Long.MIN_VALUE + " ~ " + Long.MAX_VALUE);
	}

}

출력 결과
-128 ~ 127
-32768 ~ 32767
-2147483648 ~ 2147483647
-9223372036854775808 ~ 9223372036854775807


Data type Casting : 형변환

int > long 또는 int > short 등, 변수의 타입을 변환하는 것

Promotion
: 자동 형태 변환, 묵시적 형태 변환

-작은 데이터 타입이 큰 타입에 들어갈 때 자동으로 데이터 타입을 변경하는 것
-byte(8bit)를 int(32bit)에 담을 때 자동으로 변환

Demontion
: 강제 형태 변환, 명시적 형태 변환

-큰 데이터 타입을 작은 타입에 넣을 때 형태 변환 표현을 만들어 강제로 데이터 타입을 변경하는 것
-int(32bit)를 byte(8bit)에 담을 때 데이터가 손실 가능성을 각오

package ch02;

public class Ch02Ex08 {

	public static void main(String[] args) {
		byte byteVar1 = 1, byteVar2 = 2;
		int intVar1 = byteVar1;
		System.out.println(intVar1);
		
		byte byteVar3 = (byte) intVar1;		//(byte) 추가로 형변환
		System.out.println(byteVar3);
		
		byte byteVar4 = (byte) (byteVar1 + byteVar2);	//연산시 자동으로 int로 형변환
		System.out.println(byteVar4);
		
		int intVar2 = 129;		// byte 범위 외 숫자
		byte byteVar5 = (byte) intVar2;
		System.out.println(byteVar5);
		
	}

}

출력 결과
1
1
3
-127 (데이터 손실)


좋은 웹페이지 즐겨찾기