*교육내용 중 개인적인 복습을 위해 일부 내용을 정리하였으므로 본 내용은 커리큘럼의 일부임을 알립니다.
1. Java 프로그램 실행구조
개발자가 Java 코드 작성
-> 컴파일러인 javac가 java코드를 바이트코드(반기계어)로 변환하여 .class 파일 생성
-> JVM(자바 가상 머신)에서 java가 .class파일을 돌려 프로그램 실행
*OS마다 코드를 별도 구현할 필요가 없음
2. 변수의 종류
- 멤버변수(instance 변수):
--- 클래스변수와 인스턴스변수를 포함하는 개념
--- 클래스 영역에 선언됨
--- 초기화하지 않아도 디폴트값이 들어감
- 클래스변수(static 변수):
--- 멤버변수 중 static이 붙은 것
--- 클래스 영역에 선언됨
--- 초기화하지 않아도 디폴트값이 들어감
- 지역변수(local 변수):
--- 메소드나 {} 블럭 안에서 선언됨
--- 지역변수는 반드시 초기화해야 함
--- 초기화하지 않으면 에러발생(stack 영역의 변수는 초기화해야 함)
3. 형변환
- 자동 형변환(Implicit)
--- 작은 종류의 데이터를 더 큰 종류의 데이터에 할당하는 경우
--- int보다 작은 데이터의 연산 시 int로 변환하여 연산함(int 연산이 가장 빠름)
--- int보다 큰 데이터의 연산 시 피연산자중 가장 큰 데이터타입으로 변환하여 연산함
--- byte → short → int → long → float → double
--- char ↗
- 명시적 형변환(Explicit)
--- 큰 범위의 데이터를 작은 종류의 데이터에 할당하는 경우
--- 개발자가 직접 자료값을 지정함
--- 헷갈리지 않기 위해 자동변환 되는 경우에도 명시해주기도 함
--- Cast 연산자 ()를 사용
float f = 3.14f;
int i = (int)f;
4. Wrapper Class 메소드
- 기본형 변수들을 객체로 다루어야 하는 경우 사용한다.
//최대값과 최소값
int i_min = Integer.MIN_VALUE;
int i_max = Integer.MAX_VALUE;
char ch_min = Character.MIN_VALUE;
char ch_max = Character.MAX_VALUE;
- Parse 메소드, toString메소드의 예시(byte, short, int, long, float, double, char 클래스에 각자 메소드가 있음)
//문자열 -> 숫자 예시
String str = "1234";
int i = Integer.parseInt(str);
//숫자 -> 문자열 예시
int i = 1234;
String str = Integer.toString(i);
*잘 모르겠는 점: Java Platform Standard에 Wrapper라는 클래스는 따로 찾을 수 없다. java.lang 하위에 Integer, Character 등 변수타입 클래스가 각각 있고 거기서 설명과 사용예시를 볼 수 있다.
5. Scanner Class 사용
import java.util.*; //또는 java.util.Scanner;
System.out.println("Input data:");
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
System.out.println("data: "+str);
public int nextInt()
public double nextDouble()
public String nextLine()
public boolean nextBoolean()
'Languages > Java' 카테고리의 다른 글
무한 중첩 폴더 삭제하기 (nested folder) / 날려먹은 JAVA소스코드 디컴파일해서 복구하기 (0) | 2020.09.30 |
---|---|
Eclipse에서 JAVA Project import시 existing or corrupted 오류 날 때 프로젝트 디렉토리 재설정하는 방법 (0) | 2020.09.22 |
[국비지원교육] 04. Java 메소드 활용방법 정리 (0) | 2020.09.14 |
[국비지원교육] 02. 자바 환경 세팅 (0) | 2020.09.11 |
[국비지원교육] 01. 블로그 시작 (0) | 2020.09.11 |