본문 바로가기

java

자바강의 1일차

 

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