1. 자바란
1-1) 자바란?
- 자바란 1993년 1월에 공식적으로 발표한 객체지향 프로그래밍 언어이다.
- 자바로 작성된 프로그램은 운영체제의 종류에 관계없이 실행이 가능하기 때문에 운영체제에 따라 프로그램을 전혀 변 경하지 않고도 실행이 가능하다.
- 이러한 장점으로 인해 자바는 다양한 기종의 컴퓨터와 운영체제가 공존하는 인터넷 환경에 적합한 언어로써 인터넷의 발전과 함께 많은 사용자층을 확보할 수 있었다.
1-2) 자바언어의 특징
① 운영체제에 대해 독립적이다.
- 자바 응용프로그램은 운영체제나 하드웨어가 아닌 JVM(Java Virtual Machine)하고만 통신하고 JVM이 자바 응용프로그 램으로부터 전달받은 명령을 해당 운영체제가 이해할 수 있도록 변환하여 전달한다.
② 객체지향언어이다.
- 자바프로그램은 대세로 자리잡은 객체지향 프로그래밍언어중의 하나로 객체지향 개념의 특징인 상속, 캡슐화, 다향성 이 잘 적용된 순수한 객체지향언어라는 평가를 받고 있다.
③ 비교적 배우기 쉽다.
④ 자동메모리관리(GC : Garbage Collector)
- 자바로 작성된 프로그램이 실행되면 가비지컬렉터가 자동으로 메모리관리를 해주기 때문에 프로그래머는 메모리를 따 로 관리하지 않아도 된다.
1-3) 자바개발환경 구축
- 이클립스 검색 -> 화면중앙 Download Packages 선택 -> Eclipse IDE for Enterprise Java and Web Developers 에서 x86_64 선택 -> zip 파일 다운로드
2. 변수 및 형변환
2-1) 변수(variable)란?
- 수학에서 변수란 '변하는 수'라고 정의하지만 프로그래밍에서의 변수란 "값을 저장할 수 있는 메모리상의 공간"을 의미한다.
* 변수란, 단 하나의 값을 저장할 수 있는 메모리 공간
- 하나의 변수에 단 하나의 값만 저장할 수 있으므로 새로운 값을 저장하면 기존의 값은 사라진다.
2-2) 변수의 선언과 초기화
① 변수의 선언
- 변수를 사용하려면 먼저 변수를 선언해야 하는데 변수의 선언방법은 다음과 같다.
- '변수타입'은 변수에 저장될 값이 어떤 타입인지를 지정하는 것이다.
- 자바는 정수형, 실수형, 문자형 등의 다양한 타입을 제공한다.
** 변수를 선언하면 메모리의 빈 공간에 '변수 타입'에 알맞는 크기의 저장공간이 확보되고, 앞으로 이 저장 공간은 '변수이름'을 통해 사용할 수 있다.
② 변수의 초기화
- 변수를 선언한 이후부터는 변수를 사용할 수 있으나 그 전에 반드시 변수를 '초기화(initialization)'를 해야한다.
- '='은 수학에서 양변의 값이 같다는 뜻이지만, 자바에서는 오른쪽의 값을 왼쪽(변수)에 저장하라는 뜻이다.
==> '=' 왼쪽에는 반드시 변수가 와야한다.
2-3) 변수의 명명 규칙
- 대소문자가 구분되며 길이의 제한은 없다.
- 예약어를 사용해서는 안된다.
- 특수문자는 '_' , '$'만 허용된다.
- 상수 이름은 모두 대문자로 한다.
==> 변수의 이름은 짧을수록 좋지만, 약간 길더라도 용도를 알기 쉽게 '의미있는 이름'으로 하는것이 바람직스럽다.
2-4) 변수의 타입
값(data)
- 이러한 값의 종류에 따라 값이 저장될 공간의 크기와 저장형식을 정의한 것이 자료형(data type)이다.
- 자료형에는 문자형, 정수형 실수형 등이 있으며, 변수를 선언할 때는 저장하려는 값의 특성을 고려하여 가장 알맞는 변수의 타입으로 선택하면 된다.
* 기본형과 참조형
- 자료형은 기본형과 참조형 두 가지로 나눌 수 있는데 기본형 변수는 실제 값(data)을 저장하는 반면, 참조형 변수는 어떤 값이 저장되어 있는 주소(memory address)를 값으로 갖는다.
1)기본형 (primitive type)
- 논리형(boolean), 문자형(char), 정수형(byte,short,int,long), 실수형(float,double)
==> 계산을 위한 실제 값을 저장한다. (총 8개)
2)참조형(reperence type)
- 객체의 주소를 저장한다. 8개의 기본형을 제외한 나머지 타입
2-5) 기본형(primitive type)
종류 | 타입 |
논리형(boolean) | true와 false중 하나를 값으로 가지며 조건식과 논리적 계산에 사용된다. |
문자형(char) | 문자를 저장하는데 사용하며, 변수에 단하나의 문자만 저장할 수 있다. |
정수형 | byte, short, int, long 정수를 저장하는데 사용되며 주로 int가 사용된다. |
실수형 | float, double 실수를 저장하는데 사용되며 주로 double이 사용된다. |
1byte = 8bit
bit -> byte -> KB -> MB -> GB -> TB
1byte | 2byte | 4byte | 8byte | |
논리형 | boolean | |||
문자형 | char | |||
정수형 | byte | short | int | long |
실수형 | float | double |
2-6) 상수와 리터럴(constant & literal)
- 상수는 변수와 마찬가지로 값을 저장할 수 있는 공간이지만 한번 값을 저장하면 다른 값으로 변경할 수 없다.
- 상수를 선언하는 방법은 변수와 동일하지만 변수 앞에 키워드 final을 붙여주면 된다.
- 상수는 반드시 선언과 동시에 초기화를 해야 하며, 상수의 값을 변경하는 것이 허용되지 않는다.
1) 리터럴(literal)
- 리터럴은 단지 우리가 기존에 알고 있는 '상수'의 다른 이름일 뿐이다.
==> 하나의 값이라고 생각하면 된다.
변수 : 하나의 값을 저장하기 위한 공간
상수 : 값을 한번만 저장할 수 있는 공간
리터럴 : 그 자체로 값을 의미하는 것.
2) 상수가 필요한 이유
// 삼각형의 넓이를 구하는 공식
예) int triangleAre = (20 * 10) / 2; // 무엇을 의미하는지 모름.
final int WIDTH = 20; // 폭
final int HEIGHT = 10; // 높이
int triangleAre = (WIDTH * HEIGHT) / 2;
==> 상수는 리터럴에 의미있는 이름을 붙여서 코드의 이해와 수정을 쉽게 만든다.
3) 리터럴 타입과 접미사
종류 | 접미사 |
논리형 | 없음 |
정수형 | L (long) |
실수형 | f (float) |
문자형 | 없음 |
문자열 | 없음 |
2-7) 형변환 (casting)
1) 형변환이란?
- 형변환이란 변수의 타입을 다른 타입으로 변환하는 것
- 종류에는 묵시적 형변환(자동 형변환), 명시적 형변환(강제 형변환) 2가지가 있다.
2) 형변환 방법
- 형변환하고자 하는 변수나 리터럴의 앞에 변환하고자 하는 타입을 괄호()와 함께 붙여주면 된다.
- 여기서 사용되는 괄호()는 '캐스트 연산자' 또는 '형변환 연산자'라고 한다.
- 큰 타입에서 작은 타입으로 변환하는 경우 크기의 차이만큼 잘려나간다.
==> 값 손실(loss of data)가 발생할 수 있다.
- 반대로 작은 타입에서 큰 타입으로 변환하는 경우 값 손실이 발생하지 않는다.
3. 출력메소드
3-1) 이스케이프(escape character)
- 영문자 이외의 tab이나 엔터 등의 특수문자를 저장하는 방법
특수문자 | 문자리터럴 |
tab | \t |
new line | \n |
역슬래시 | \\ |
큰따옴표 | \" |
작은따옴표 | \' |
3-2) 여러가지 출력 방식
System.out.println(); ==> 출력 후 줄바꿈 O
System.out.print(); ==> 출력 후 줄바꿈 X
System.out.printf();
- printf()는 지시자를 토해 변수의 값을 여러가지 형식으로 변환하여 출력하는 기능을 가지고 있다.
- 지시자는 값을 어떻게 출력할 것인지를 지정해주는 역할을 한다.
지시자 | 설명 |
%b | 논리형(boolean)형식으로 출력 |
%d | 정수형 형식으로 출력 |
%f | 실수형 형식으로 출력 |
%c | 문자형 형식으로 출력 |
%s | 문자열 형식으로 출력 |
'java' 카테고리의 다른 글
자바강의 3일차 (1) | 2023.12.27 |
---|---|
자바강의 2일차 (1) | 2023.12.27 |
자바의 정석 ch4 (1) | 2023.12.24 |
자바의 정석 ch3 (0) | 2023.12.22 |
자바의 정석 ch2 (0) | 2023.12.21 |