Java : 기본 (1)
자바 프로그램의 기본 구조
// 클래스
public class Hello {
// 메소드
public static int sum(int n, int m) {
return n + m;
}
// main() 메소드에서 실행 시작
public static void main(String[] args) {
int i = 20;
int s;
char a;
s = sum(i, 10); // sum() 메소드 호출
a = '?';
System.out.println(a); // 문자 '?' 화면 출력
System.out.println("Hello"); // "Hello" 문자열 화면 출력
System.out.println(s); // 정수 s 값 화면 출력
}
}
/* 실행결과
?
Hello
30
*/
코드 설명
- 클래스 만들기
- Hello 이름의 클래스를 선언.
public class Hello{ }
- class 키워드로 클래스 선언
- public 선언하면 다른 클래스에서 접근 가능
- 클래스 코드는 {} 내에 모두 작성
-
주석문
// 한 라인 주석 /* 여러행 주석 달기 */
- main()메소드
- 자바 프로그램은 main() 에서 실행 시작
public static void main(String[] args) { }
- public static void 로 선언
- String args 로 실행 인자를 전달 받는다.
- 메소드
- C/C++ 에서의 함수를 메소드로 지칭
public static int sum(int n, int m) [ ]
- 클래스 바깥에 작성할 수 없다
- 메소드 호출
- sum() 메소드 호출
int i = 20; s = sum(i, 10);
- sum() 호출 시 변수 i의 값과 정수 10을 전달
- sum() 은 n과 m에 각각 20, 10 값 전달
- sum() 은 n과 m값을 더한 30 리턴
- 변수 s는 정수 30을 전달 받는다
메소드 호출 및 리턴 과정
- 변수 선언
- 변수 타입과 변수 이름 선언
int i = 20; char a;
- 메소드 내에서 선언된 변수는 지역 변수
- 지역 변수는 메소드 실행이 끝나면 자동 소멸
- 지역 변수는 메소드 실행이 끝나면 자동 소멸
- 문장
- ;를 사용하여 한 문장의 끝을 인식
int i = 20; s = sum(i, 20);
- 화면 출력
- 표준 출력 스트림에 메시지 출력
System.out.println("Hello"); // "Hello" 화면 출력
- 표준 출력 스트림 System.out 의 println() 메소드 호출
- println()은 여러 타입의 데이터 출력 가능
- println()은 출력 후 다음 행으로 커서이동
- 커서를 이동하지 않는 print(), printf()도 사용 가능.
식별자 (Identifier)
- 식별자란?
- 클래스, 변수, 상수, 메소드 등에 붙이는 이름.
- 식별자의 원칙
- @ , # , ! 와 같은 특수 문자, 공백 또는 탭은 식별자로 사용할 수 없으나 ‘_’, ‘$’ 는 사용 가능
- 유니코드 문자 사용 가능. 한글 사용 가능.
- 자바 언어의 키워드는 식별자로 사용불가
- 식별자의 첫 번째 문자로 숫자는 사용불가
- ‘_’ 또는 ‘$’ 를 식별자로 사용할 수 있으나 일반적으로 잘 사용하지 않는다.
- Boolean literal (True, False) , NULL literal(null) 은 식별자로 사용불가
- 길이 제한 없음
- 대소문자 구별
- Test 와 test는 별개의 식별자이다.
Java 식별자 사용의 예
사용 가능한 예
int name; char student_ID; // '_' 사용 가능 void $func() { } // '$' 사용 가능 class Monster3 { } // 숫자 사용 가능 int whatsyournamemynameisseungmin; // 길이 제한 없음 int barChart; int barchart; // 대소문자 구분. barChart와 barchart는 다름 int 가격; // 한글 이름 사용 가능
사용 불가능한 예
int 3Chapter; // 식별자의 첫문자로 숫자 사용 불가 class if{} // 자바의 예약어 if 사용불가 char false; // false 사용 불가 void null() { } // null 사용 불가 class %calc { } // '%'는 특수문자
자바 키워드
Java Keyword
좋은 네이밍을 위한 Java 언어 관습
- 기본 : 가독성 높은 이름
- 목적을 나타내는 이름 붙이기 : s 보다 sum
- 충분히 긴 이름으로 붙이기 : AVM보다 AutoVendingMachine
- 자바 언어의 이름 붙이는 관습 : 헝가리언 이름 붙이기
- 클래스 이름
- 첫 번째 문자는 대문자로 시작
- 각 단어의 첫 번째 문자만 대문자
public class CarefreeLifeWorld { } class AutoVendingMachine { }
- 변수, 메소드 이름
- 첫 단어 이후 각 단어의 첫 번째 문자는 대문자로 시작
int myAge; boolean isSingle; public int getAge() {}
- 상수 이름
- 모든 문자를 대문자로 표시
final static double PI = 3.141592;
자바의 기본 타입
- 특징
- 기본 타입의 크기가 정해져 있다.
- CPU나 O/S(운영체제)에 따라 변하지 않는다.
Java - Type
문자열
- 문자열은 기본 타입이 아니다.
- String 클래스로 문자열 표현
- 문자열 literal - “JDK”, “한글”, “안녕하세요”
String toolName = "JDK";
- 문자열이 섞인 + 연산 (문자열의 연결)
String toolName = "JDK"; toolName + 1.8 // "JDK1.8" "(" + 3 + "," + 5 + ")" // "(3,5)" System.out.println(toolName + "이 출시됨"); // "JDK1.8이 출시됨" 출력
변수와 선언
- 변수
- 프로그램 실행 중에 값을 임시 저장하기 위한 공간
- 변수 값은 프로그램 수행 중 변경될 수 있다.
- 데이터 타입에서 정한 크기의 메모리 할당
- 변수 선언
- 데이터 타입 다음에 변수 이름을 적어 변수를 선언
Java - 변수와 선언
변수 선언 사례
- 변수 선언 사례
- 다중 선언
int radius; char c1, c2, c3; // 3개의 변수를 한 번에 선언한다.
- 변수 선언과 초기화
- 선언과 동시에 초기값 지정
int radius = 10; char c1 = 'a', c2 = 'b', c3 = 'c'; double weight = 75.56;
- 변수 읽기와 저장
- 대입 연산자인 = 다음에 식(expression)
int radius; char c1; double weight = 75.56; radius = 10 * 5; c1 = 'r'; weight = weight + 5.0;
최대한의 설명을 코드 블럭 내의 주석으로 달아 놓았습니다.
혹시 이해가 안가거나 추가적인 설명이 필요한 부분, 오류 등의 피드백은 언제든지 환영합니다!
긴 글 읽어주셔서 감사합니다. 포스팅을 마칩니다.
Task Lists
- [x]
- [x]
- [x]
- [x]
- [x]
- [x]
- [x]
- [x]
- [x]
Comments