00_프로그래밍 기초
사용자/개발자 입장에 따라 설치하는 범위가 달라짐
JDK( Java Development Kit )
컴파일러(Compiler) : 코드를 2진수(0, 1)로 변환하는 번역기
코드 작성 -> ctrl + f11 실행 ( 컴파일러가 2진수로 번역 -> JVM이 실행 )
https://www.eclipse.org/downloads/
객체를 만들기 위한 일종의 설계도
자바에서 모든 코드는 반드시 클래스 안에 존재해야 하며, 서로 관련된 코드들을 그룹으로 나누어 별도의 클래스를 구성
클래스들이 모여 하나의 Java 애플리케이션 구성
코드에 대한 설명이나 그 외 다른 정보를 넣을 때 사용하는 것으로 컴파일 시 컴파일러가 주석 부분은 건너 뜀
// : 한 줄 주석
컴파일러가 해석하지 않는 부분, 주로 코드 설명 작성
/* / : 범위 주석
/와 */ 사이 내용은 주석으로 간주
public static void main(String[] args)는 고정된 형태의 메서드 선언부로 Java Application을 실행하는데 필요한 메서드 (프로그램 실행 시 java.exe에 의해 호출됨)
모든 클래스가 main메서드를 가지고 있어야 하는 것은 아니지만 하나의 Java애플리케이션에는 main메서드를 포함한 클래스가 반드시 하나 이상 존재해야 함
// 메인 메서드
public static void main(String[] args) {
System.out.println("Hello world !!!");
System.out.println("나는!!");
System.out.println("이유진이야!!!");
}
1. 패키지(package) 선언
2. 임포트(import) 선언
3. 클래스(class) 작성부
- 필드 (또는 멤버 변수)
- 생성자
- (멤버) 메서드
01_변수(Variable)
메모리(RAM)에 값(Data)을 기록하기 위한 공간
변수에 기록된 값은 지속적으로 사용 가능
package edu.kh.basic; // 3레벨 이상으로 작성
public class JavaTest {
// class : 자바 코드가 작성되는 영역
public static void main(String[] args) {
// main method(메소드) : 자바 애플리케이션(프로그램)을 실행하기 위해 반드시 필요한 메서드
// ctrl+alt+방향키 : 작성한 방향으로 해당 줄 복사
System.out.println("Hello world!");
System.out.println("점심은 드셨나요?");
System.out.println("12345");
System.out.println("----------------------------");
// 숫자 연산
System.out.println("1 + 2"); // 1 + 2
System.out.println(1 + 2); // 3
// "" 안에 작성된 코드는 단순 문자열 인식
// "" 안에 작성되지 않은 코드는 숫자, 변수로 인식
System.out.println(50 - 23); // 27
System.out.println(12 * 13); // 156
System.out.println(327 / 3); // 109
// ""(문자열) + 숫자 함께 작성
System.out.println("14 * 19 = " + 266); // 14 * 19 = 266
System.out.println("14 * 19 = " + 14 * 19) // 14 * 19 = 266
System.out.println("90 + 70 + 65 = " + (90 + 70 + 65)); // 90 + 70 + 65 = 225
// 자바는 사칙연산의 우선순위를 그대로 따른다!
// -> 우선 계산을 원하면 () 괄호 사용
// + 기호의 역할
// -> 숫자 + 숫자 = 덧셈 연산 결과
// -> 문자열 + 숫자 or
// 문자열 + 문자열 --> 이어쓰기
}
}
package edu.kh.variable.ex1;
public class VariableExample1 {
// .java 파일과 class 오른쪽에 작성된 이름은 같아야 한다.
public static void main(String[] args) {
System.out.println(2 * 3.141592653589793 * 5);
System.out.println(3.141592653589793 * 5 * 5);
/* 변수(Variable)
* - 메모리(RAM)에 값을 기록하는 공간
* -> 공간에 기록되는 값(Data)이 변할 수 있어서 변수라고 한다.
*
* - 변수는 여러 종류 존재(저장되는 값의 형태, 크기가 다름)
*
*
* 변수 사용의 장점
*
* 1. 가독성 증가(읽기 편해짐)
* 2. 재사용성 증가(한번 만든 변수를 계속 사용)
* 3. 코드 길이 감소
* 4. 유지보수성 증가(코드 수정이 간단해짐)
*
*/
// 변수 사용
double pi = 3.141592653589793; // 원주율
int r = 5; // 반지름(radius)
int h = 20; // 높이(height)
System.out.println("-------------------------------");
System.out.println(2 * pi * r); // 원의 둘레
System.out.println(pi * r * r); // 원의 넓이
System.out.println(pi * r * r * h); // 원기둥의 부피
System.out.println(4 * pi * r * r); // 구의 겉넓이
}
}
저장 공간이 제한적이기 때문에 저장 크기에 대한 기준과 CPU가 데이터를 처리할 때 일정한 기준 필요
메모리 공간에 데이터를 저장할 수 있는 공간을 할당하는 것
자료형(변수타입지정) 변수명(변수명지정);
| 표현식 | 메모리 크기 |
|---|---|
| 논리형 | |
| boolean | 1byte |
| 숫자 - 정수형 | |
| byte | 1byte |
| short | 2byte |
| int | 4byte(정수 기본형) |
| long | 8byte |
| 숫자 - 실수형 | |
| float | 4byte |
| double | 8byte(실수 기본형) |
| 문자 - 문자 | |
| char | 2byte |
| 문자 - 문자열 | |
| String | 참조형 |
1. 대소문자가 구분되며 길이 제한이 없다.
2. 예약어를 사용하면 안 된다.
ex) true, final, String 등
3. 숫자로 시작하면 안 된다.
ex) age1은 가능하지만 1age는 불가능
4. 특수문자는 '_'와 '$'만을 허용한다.
5. 여러 단어 이름은 단어의 첫 글자를 대문자로 한다.
단, 첫 시작 글자는 소문자로 하는 것이 관례이다.
ex) ageOfVampire, userName