19.11.19. CLASS, 데이터 타입, 리터럴 종류, 형변환
베이직자바
2019-11-21 00:53:49
프로그램 : 데이터를 가지고 목적에 맞는 처리를 하는 것.
두 가지로 이루어져 있다.
1. 데이터 2. 처리
클래스 : 자바를 구성하는 프로그램으로, 데이터와 처리 내용의 집합.
패키지 : 클래스의 묶음.
-클래스
이클립스의 맨 윗줄, 현재 펼쳐있는 클래스가 어떤 폴더에 위치해 있는지
위치를 선언해 주어야 한다.
선언 : 사용하고자 하는 것의 종류와 이름을 컴퓨터에게 알려주는 것.
이클립스에서 클래스 선언 아래에는 main 이라는 메서드가 적혀있다.
메서드 : 처리 내용. 기능, 처리.
처리할 데이터는 변수에 담겨져있다.
변수 : = 데이터
클래스는 변수와, 메서드. 두 가지로 구성된다.
-변수
하나의 데이터를 저장할 수 있는 메모리 상의 공간.
-메서드
main mthod :
자바로 이루어진 프로그램에서 가장 먼저 실행되는 곳.
메서드가 아무리 많아도 메인 메서드부터 실행된다.
그리고 메인 메서드가 끝나면 프로그램이 종료된다.
프로그램의 시작과 끝.
'main' 을 치고 스페이스바를 누르면 메인 메서드가 만들어진다.
{} 블럭 이라고 부름. 블럭이 시작되면 tab 키로 한 칸을 띄워서 계층을 꼭 표시해주자.
코드들은 위에서 아래로, 왼쪽에서 오른쪽으로 실행됨.
코드들은 모두 메서드 안에 있어야 한다. 변수만 메서드 밖에 있기 가능.
키워드, 예약어 = 진한 글씨로 표시.
자바에서 이미 사용하고 있는 단어로 어떠한 기능을 가지고 있다.
진한 글씨가 아닌 것은 대부분 이름이라고 생각하면 된다. 클래스, 변수 메서드 등의 이름.
-주석
한 줄 주석 : ctrl + shift + c
범위 주석 : ctrl + shift + / ( 해제는 \)
데이터로 올 수 있는 종류가 자바에 정의되어 있다.
▶사용 가능한 기본형 데이터의 종류(=타입).
- 정수 : 소수점이 없는 숫자. : byte, short, int, long.
네 가지의 크기가 다르다. 표현 가능 범위가 다름. 작은 범위의 수만 사용할 거면 작은 타입을,
큰 게 필요하면 큰 크기의 타입을 선택해 사용하면 된다.
*우리가 주로 사용할 것은 int.
- 실수 : 소수점이 있는 숫자. : float, double
둘 다 표현할 수 있는 범위가 굉장히 크다.
모르는 단위의 숫자까지. 조,경, 해 이상의 단위까지 표현하기 위해서 가 아니라
정확도를 위해서임. 저엉화악하게. double 이 float 보다 정확하다.
-문자 : char = 챠 = 캐릭터의 줄임말이다. 한 가지 타입.
문자 하나를 의미. 딱 하나.
-논리 : boolean
참, 거짓을 말한다. true, false 두 가지 범위가 있음.
이렇게 총 8가지.
▶ 기본형 데이터 타입의 사용
1. 어떤 종류의 데이터를 사용할 것인지 선택.
2. 이름 짓기.
*변수, 클래스 등 명명규칙이 있다.
-대소문자 구분, 길이 제한 X
-예약어, 키워드 사용 X
-특수문자는 _,$ 만 가능
--클래스 이름의 첫 글자는 항상 대문자
--여러 단어로 이루어진 이름은 단어의 첫 글자를 대문자.
--상수의 이름은 모두 대문자. 여러 단어로 이루어진 경우_로 구분
--변수는 소문자만 사용.
-변수 선언 방법 : 데이터 타입 (+) 변수 이름
int pipi;
-데이터 타입을 적으면 메모리가 생긴다. 선언 이후에는 변수의 값이 아닌 이름으로 사용한다.
-변수에 데이터를 담을 때에는 = 을 사용한다. 타입에 맞는 값만을 저장할 것.
pipi = 30;
-변수 선언 후 처음으로 값을 저장하는 것을 '초기화' 라고 부른다.
-값은 프로그램에서는 리터럴이라 부름.
▶기본형이 아닌 데이터 타입. = 참조형 타입.
-대표적으로 String 이 있다.
여러 개의 문자를 편리하게 사용하기 위한 클래스.
위 기본형 데이터 타입과 다른 타입이고, 앞글자가 대문자다.
*얘도 하나의 클래스임. 클래스 안에 문자 여러 개를 저장할 수 있는 변수들이 있고,
변수를 조작할 수 있는 여러 개의 메서드가 있을 것이다.
이것들을 묶어놓은 것이 String 이라는 클래스이다.
문자열을 다룰 때 쓰고, "" 큰 따옴표로 감싸 진다. 문자가 있어도, 없어도 문자열로 취급.
(char 는 문자가 꼭 1개 있어야 함. 없어도 안됨.)
-모든 클래스들도 참조형 타입.
-특징 : 값이 변수에 저장되지 않고 따로 저장공간을 가지며,
따로 분리된 그 저장공간의 주소가 변수에 저장된다.
참조형 타입의 변수 크기는 4byte.
-사용방법
String _String = new String("abcd");
하지만 String은 아주 자주 쓰이는 애여서 얘만
_String = "1234";
이렇게 사용하기 가능.
▶리터럴의 종류
숫자 : 0, 10, -5, 3.14
문자 : '가', 'a', '0', ' ' (공백도 문자.)
문자열 : "가나다", "asd", "123", 숫자여도 문자임." " 공백. ""아무것도 없는 것도 문자열.
그 외 : 논리형 타입인 true, false, null(값이 없다.)
▶기본값
전역 변수에 아무것도 저장하지 않았을 때 저장되어 있는 값.
타입의 기본이 되는 값.
전역변수 : 메서드 밖에 선언되어 있는 변수. 따로 초기화를 하지 않아도
기본값으로 자동으로 초기화된다.
-기본값
_boolean = false;
_char = '\u0000'; //= ' '
_byte = 0;
_short = 0;
_int = 0;
_long = 0L;
_float = 0f;
_double = 0;
_String = null;
string 뿐 아니라 모든 참조형 타입의 기본값은 null 이다.
▶ 형 변환
_byte = (byte)_int;
이런 식. 기본적으로는 그 타입에 맞는 변수만 저장이 가능하지만,
다른 타입의 값을 저장하고 싶다면 넣으려는 값의 타입을 바꿔주면 된다.
*하지만 큰 데이터 타입에서 작은 타입으로 형 변환을 할 경우,
오버플로우, 언더플로우 로 값이 깨질 수 있다.
*실수에 쓰이는 타입을 정수에 쓰이는 타입으로 바꾸면, 소수점이 사라진다.
*표현 범위가 작은 타입에서 큰 타입으로 형 변환할 경우에는 데이터 손실 염려가 없고,
그러므로 형 변환을 생략할 수 있다.
*작은 타입 -> 큰 타입
_int = _byte;
_long = _int;
_double = _int;
_double = _float;
▶ 상수
수학에서는 값이 한 번 정해져 변하지 않는 것을 상수라 하는데,
프로그래밍에서는 이것을 리터럴이라고 부름.
프로그래밍에서의 상수는 변수인데, 값이 변하지 않는 변수이다.
값을 한 번 저장하면 변경할 수 없는 저장공간이다.
-사용방법 :
final int MAX_NUMBER;
final 을 붙여서 사용한다. 명명규칙으로, 상수의 이름을 정할 때에는
모두 대문자로 적어주어야 한다. 이름만 보고도 변수인지, 상수인지 알 수 있도록!
-사용 이유 :
리터럴에 의미를 부여하기 위함. 값에 특별한 의미가 있을 때에 사용.
ex) 3.14 는 파이잖아.
*System.out.println( )
에서 ln 을 빼면 줄 바꿈을 하지 않는다.
'Java' 카테고리의 다른 글
java - 배열 Array (0) | 2023.03.13 |
---|---|
java - 반복문 Repetitive Statement (0) | 2023.03.13 |
java - 조건문 Conditional Statement, import (0) | 2023.03.13 |
java - 논리연산자, 그 외 연산자 (0) | 2023.03.13 |
java - 산술연산자, 비교연산자 (0) | 2023.03.13 |