이것저것

자바란 본문

Java/Java 공부

자바란

곰태태 2021. 3. 31. 16:30
반응형
SMALL

자바란 프로그래밍 언어로 컴퓨터 프로그램(애플리케이션)을 만드는데 사용

실행환경(JRE) + 개발도구(JDK) + 라이브러리(API)

 

자박 쓰이는곳

PC애플리케이션

만들어진것 이클립스 등

웹 애플리케이션

스프링부트

모바일 애플리케이션(안드로이드)

안드로이드

빅데이터

하둡

게임(마인 크레프트), 과학, 소형기기 등

 

왜 자바를 사용하나

다양한 분야에서 활발히 사용

 

자바의 특징

배우기 쉬운 객체지향 언어 = 프로그래밍언어 + 객체지향 개념

자동 메모리 관리 = 가비지 컬렉터 GC (프로그램을 작성하기 매우 편리)

멀티 쓰레드를 지원(여러가지 기능을 동시에 사용가능) 프로그래밍 언어라면 가져야하는 기능

풍부한 라이브러리로 쉽게 개발가능

운영체제에 독립적 (윈도우에서만 만들면 윈도우에서만 가능한데 자바는 다른곳에서도 사용가능하다)

 

자바 가상머신(JVM)

자바 프로그램이 실행되는 가상 컴퓨터(VM)

한번 작성하면, 어디서든 실행

 

javac.exe - 자바 컴파일러. 사람이 작성한 문장을 기계어로 번역, 소스파일(*.java)를 (*.class)로 변환

java.exe - 자바 인터프리터. 자바 프로그램 (클래스 파일)을 실행

클래스 - 자바 프로그램의 단위. 자바 프로그램은 클래스들로 구성

main 메서드 - 자바 프로그램의 시작점. 이 메서드 없이 실행 불가

 

Build 관련 메뉴 설명

Build란 

- 소스파일 (*.java)로부터 프로그램을 만들어 내는 전 과정

Project > Build All

- workspce의 모든 프로젝트를 빌드

Project > Build Project

- 현재 프로젝트를 빌드(변경된 소스 파일만 새로 컴파일)

Project > Clean

- 이전 빌드의 정보를 모두 삭제(모든 소스파일을 새로 컴파일)

Project > Build Automatically

- 소스 파일을 변경 후, 저장할때마다 자동 컴파일

 

 

변수란?

하나의 값을 저장할 수 있는 메모리 공간(RAM)

 

변수의 선언

1. 선언 이유

값을 저장할 공간을 마련하기 위해서

2. 변수의 선언 방법

변수타입 변수이름; 세미콜론을 붙혀줌

ex) int age;

3. 변수에 값 저장하기

- 변수에 값 저장하기

int age;

age = 25;

- 변수의 초기화 = 변수에 처음으로 값을 저장하는 것

int x = 0;

int y = 0;

int x = 0, int y = 0;

4. 변수의 값 읽어오기

- 변수의 값이 필요한 곳에 변수의 이름을 적는다.

int year = 0, age = 14;

year = age + 2000;

year = 2014가 됨

 

 

변수의 타입

1. 변수의 타입은 저장할 값의 타입에 의해 결정된다.

int 정수타입

2. 저장할 값의 타입과 일치하는 타입으로 변수를 선언

char ch = '가'

double pi = 3.14

 

값의 타입

값 -문자 - char

    - 숫자 - 정수(byte, short, int, long), 실수(float, double)

논리 - boolean

 

 

변수, 상수, 리터럴

변수(variable) - 하나의 값을 저장하기 위한 공간

상수(constant) - 한 번만 값을 저장 가능한 변수

리터럴(literal) - 그 자체로 값을 의미하는 것 (기존의 상수)

자바에서 상수를 한 번만 값을 저장 가능한 변수로 정의했기때문에

ex)

int score = 100;

int score = 200;

final int MAX = 100;

 

char ch = 'A';

String str = "abc";

score, ch, str = 변수, 100, 200 = 리터럴, MAX = 상수

 

 

리터럴의 접두사와 접미사

접미사와 접두사는 대소문자를 구별하지않는다.

접두사는 0x, 0b와 같이 진수 접두사를 의미

접미사 f는 생략 불가

  종류              리터럴                       접미사

논리형 false, true                               없음

정수형 123, 0b0101, 088, 0xFF, 100L       L

실수형 3.14, 3.0e8, 1.4f, 0x1                  f, d

문자형 'A', '1', '\n'                             없음

문자열 "ABC", "123", "A", "true"             없음

 

boolean power = true;

char ch = 'A';

String str = "ABC";

byte b = 127; (int 타입)

 

 

변수와 리터럴의 타입 불일치

1. 범위가 '변수 > 리터럴' 인 경우 OK

 int i = 'A';    // int > char

log l = 123;   // long > int

double d = 3.14f; // double > float

 

2. 범위가 '변수 < 리터럴' 인경우 에러

 

3. byte, short 변수에 int리터럴 저장가능

 단, 변수의 타입의 범위 이내이어야 함

byte b = 100;  // Ok, byte의 범위(-128~ 127)에 속함

byte b = 128;  //에러, byte의 범위를 벗어남

 

 

println()의 단점 - 출력형식 지정불가

1. 실수의 자리수 조절 불가 - 소수점 n자리만 출력하려면?

2. 10진수로만 출력된다. - 8진수, 16진수로 출력하려면?

3.printf()로 출력형식 지정가능

 system.out.printf("%.2f", 10.0/3); //3.33 (소수점 2번째까지 출력)

 system.out.printf("%d", 0x1A); //26 (10진수로 출력)

 system.out.printf("%X", 0x1A); //1A (16진수로 출력)

 

printf()의 지시자

b = boolean, d = 10진, o = 8진, x,X = 16진, f = 부동소수점, e,E = 지수, c = 문자, s = 문자열

추가로 2진수를 표현할때에는 system.out.printf("%s", Integer.toBinaryString(15)); // 1111 이런식으로 표현한다

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형
LIST

'Java > Java 공부' 카테고리의 다른 글

Java 언어 기초  (0) 2023.08.28
객체지향 프로그래밍이란  (0) 2022.02.25
[Java] 람다식, interface  (0) 2020.04.22
[Java] 객체 지향 프로그래밍  (0) 2020.04.16
[Java] 알아두면 좋은 정보들  (0) 2020.04.15
Comments