JAVA 기본정리
java
플랫폼 독립성 -WRITE Once Run Anywhere :하나의 프로그램이 모든 플랫폼에서 실행 가능
객체지향언어
함수형 코딩 지원
분산처리 지원
멀티쓰레드 지원
.class : 자바 실행 파일
jdk(Java Development Kit):자바 개발 도구 -컴파일러,디버거
jre(Java Runtime Environment) : 자바 실행 환경 -클래스로더,자바api,런타임 라이브러리
jvm(Java Virtual Machine): 자바 가상 머신
자바 소스코드 실행 과정------------------------------------------------------------------
. java 소스파일 생성 -> 컴파일 -> . class 바이트 코드파일 생성-> 실행
-> JVM 메모리 할당 -> 메서드 영역에 클래스 로딩 ->main() 메서드 실행
------------------------------------------------------------------------------------------------------
자바 가상 머신 메모리: 클래스 내에 포함 되어 있는 main() 메서드를 실행하는 역할
- 메서드
1)클래스 (class)
2)정적 (static)
3)상수 (final)
메모리 할당 이후 실행파일인 바이트 코드는 메서드 영역에 로딩됨.
-스택
-힙
주석
/*
여러줄
주석
*/
//한줄주석
클래스 선언부
public class Test{
필드,메서드,생성자,이너클래스
}
/*
접근제한자 class 클래스명{
필드,메서드,생성자,이너클래스
}
*/
main() 메서드
public static void main(String[] args){}
/*
접근제한자 static 리턴타입 main(String[] args){}
*/
바이트 코드가 메서드 영역에 로딩되면 JVM이 main()메서드 부터 찾는다.
즉, 실행 후 가장 먼저 실행되는 메서드는 main 이라는것.
소스파일 컴파일, 바이트코드 생성
소스파일명은 반드시 클래스명과 같아야 한다.
-> 소스파일과 이름을 일치시켜야 하는 클래스는 public 이 붙은 클래스 ,
따라서 하나의 소스파일에 public이 붙은 클래스는 최대 하나이다.
-바이트코드는 클래스당 하나씩 생성
-클래스 중첩시 아우터 클래스 $ 이너클래스 . class로 생성
class A{}//A.class
class B{
class C{}
}
//B.class, B$C.class
class D{
class E{
class F{}}
}
//D.class, D$E.class, D$E$F.class
문자열
-String 자료형으로 저장됨
-"hello world " 큰따옴표 안에 표기
-문자열 연결시 "문자열"+ "문자열"
1)개행 없이 출력하기 -System.out.print()
2) 줄 바꿔서 출력하기 -System.out.println()
3)-형식대로 출력 -System.out.printf()