자바 기본 구문
Java 프로그램은 객체의 모음으로 생각할 수 있으며 이러한 객체는 서로의 메소드를 호출하여 함께 작동합니다. 다음은 클래스, 객체, 메소드 및 인스턴스 변수의 개념을 간략하게 소개합니다.
Object: 객체는 클래스의 인스턴스이며 상태와 동작을 갖습니다. 예를 들어, 개는 개체입니다. 상태에는 색깔, 이름, 행동이 포함됩니다. 꼬리 흔들기, 짖기, 먹기 등.
Class: 클래스는 객체 유형의 동작과 상태를 설명하는 템플릿입니다.
Methods: 메서드는 동작이며 클래스에는 여러 메서드가 있을 수 있습니다. 논리 연산, 데이터 수정 및 모든 작업은 메서드에서 완료됩니다.
인스턴스 변수: 각 개체에는 고유한 인스턴스 변수가 있으며 개체의 상태는 이러한 인스턴스 변수의 값에 따라 결정됩니다.
첫 번째 Java 프로그램
아래에서 문자열을 인쇄하는 간단한 Java 프로그램을 살펴보세요Hello World
Example
public class HelloWorld { /* 第一个Java程序 * 它将打印字符串 Hello World */ public static void main(String []args) { System.out.println("Hello World"); // 打印 Hello World } }
예제 실행»
"예제 실행"을 클릭하세요. 온라인 예시 보기 버튼
다음은 이 프로그램을 저장, 컴파일 및 실행하는 방법을 단계별로 소개합니다.
메모장을 열고 위의 코드를 추가하세요.
파일 이름을 HelloWorld.java로 저장합니다.
cmd 명령 창을 열고 대상 파일의 위치를 C:
이라고 가정하고 입력하세요. 명령줄 창에 javac HelloWorld.java를 입력하고 Enter 키를 눌러 코드를 컴파일합니다. 코드에 오류가 없으면 cmd 명령 프롬프트는 다음 줄로 이동합니다. (환경 변수가 모두 설정되어 있다고 가정)
그런 다음 java HelloWorld를 입력하고 Enter 키를 눌러 프로그램을 실행하세요
창에 Hello World가 표시됩니다
C : > javac HelloWorld.java C : > java HelloWorld Hello World
Gif 데모:
기본 구문
Java 프로그램을 작성할 때 다음 사항에 주의해야 합니다. 다음 사항:
대소문자 구분: Java는 대소문자를 구분합니다. 즉, Hello와 hello 식별자가 다릅니다.
클래스명: 모든 클래스는 클래스명의 첫 글자를 대문자로 표기해야 합니다. 클래스 이름이 여러 단어로 구성된 경우 각 단어의 첫 글자를 대문자로 사용해야 합니다(예: MyFirstJavaClass ).
메서드 이름: 모든 메소드 이름은 소문자로 시작해야 합니다. 메서드 이름에 여러 단어가 포함된 경우 각 후속 단어의 첫 글자는 대문자로 표시됩니다.
소스 파일 이름: 소스 파일 이름은 클래스 이름과 동일해야 합니다. 파일을 저장할 때 클래스 이름을 파일 이름으로 사용해야 하며(Java는 대소문자를 구분함) 파일 이름 접미사 .java를 사용해야 합니다. (파일명과 클래스명이 다를 경우 컴파일 에러가 발생합니다.)
Main 메소드 입구: 모든 Java 프로그램은 public static void main(String []args) 메소드에서 실행을 시작합니다.
Java 식별자
Java의 모든 구성 요소에는 이름이 필요합니다. 클래스 이름, 변수 이름, 메서드 이름을 모두 식별자라고 합니다.
Java 식별자와 관련하여 다음 사항에 유의해야 합니다.
모든 식별자는 문자(A-Z 또는 a-z), 달러 기호($) 또는 밑줄(_)로 시작해야 합니다.
첫 번째 문자 뒤에는 임의의 문자 조합이 올 수 있습니다.
키워드는 식별자로 사용할 수 없습니다
식별자는 대소문자를 구분합니다
법적 식별자의 예: 연령, $salary, _value, __1_value
불법 식별자의 예: 123abc, -salary
자바 수정자
다른 언어와 마찬가지로 Java는 수정자를 사용하여 클래스의 메서드와 속성을 수정할 수 있습니다. 수식어에는 두 가지 주요 유형이 있습니다.
접근 가능한 수정자: default, public, protected, private
접근할 수 없는 수정자: final, abstract, strictfp
이후 장에서 Java 수정자에 대해 자세히 논의할 것입니다.
Java 변수
Java에는 주로 다음과 같은 유형의 변수가 있습니다지역 변수
클래스 변수(정적 변수)
멤버 변수(비정적 변수)
Java 배열
배열은 힙에 저장된 객체이며 동일한 유형의 여러 변수를 저장할 수 있습니다. 이후 장에서는 배열을 선언하고, 생성하고, 초기화하는 방법을 배우게 됩니다.
Java 열거형
Java 5.0에서는 변수를 미리 설정된 값으로 제한하는 열거형을 도입했습니다. 열거형을 사용하면 코드의 버그를 줄일 수 있습니다.
예를 들어, 주스를 소, 중, 대 컵으로 제한하는 주스 가게용 프로그램을 설계합니다. 이는 고객이 이 세 가지 크기 이외의 주스를 주문하는 것을 허용하지 않는다는 것을 의미합니다.
Instance
class FreshJuice { enum FreshJuiceSize{ SMALL, MEDUIM, LARGE } FreshJuiceSize size; } public class FreshJuiceTest { public static void main(String []args){ FreshJuice juice = new FreshJuice(); juice.size = FreshJuice. FreshJuiceSize.MEDUIM ; } }
참고: 열거는 개별적으로 선언하거나 클래스 내에서 선언할 수 있습니다. 메서드, 변수 및 생성자를 열거형으로 정의할 수도 있습니다.
Java 키워드
Java 예약어는 아래에 나열되어 있습니다. 이러한 예약어는 상수, 변수 및 식별자 이름에 사용할 수 없습니다.
Keyword | Description |
---|---|
abstract | 추상 메소드, 추상 클래스의 수정자 |
assert | 조건 충족 여부를 확인 |
boolean | 부울 데이터 유형 |
break | 루프 또는 레이블 코드 세그먼트에서 벗어나 |
byte | 8비트 부호 있는 데이터 유형 |
case | switch 문의 조건 |
catch | 을 시도하고 예외 정보 캡처를 시도합니다. |
char | 16비트 유니코드 문자 데이터 유형 |
class | 정의 클래스 |
const | Unused |
continue | 나머지 루프 본문은 실행하지 마세요 |
default | switch 문의 기본 분기 |
do | 루프 본문은 루프 본문이 적어도 한 번 실행됩니다 |
double | 64비트 배정밀도 부동 소수점 수 |
else | 조건이 true가 아닐 때 분기가 실행되는 경우 |
enum | Enumeration type |
extends | 한 클래스가 다른 클래스의 하위 클래스임을 나타냅니다. |
final | 값이 초기화 후 변경됨 메서드가 재정의될 수 없거나 클래스가 하위 클래스를 가질 수 없음을 나타냅니다. |
finally | 주로 프로그램의 견고성과 무결성을 위해 실행된 코드를 완성하도록 설계되었으며, 코드는 실행 여부에 관계없이 실행됩니다. 예외가 발생합니다. |
float | 32비트 단정밀도 부동 소수점 수 |
for | for 루프 문 |
goto | 사용되지 않음 |
if | 조건문 |
구현 | A 클래스가 인터페이스 |
import | Import class |
instanceof | 객체가 클래스의 인스턴스인지 테스트 |
int | 32비트 정수 |
인터페이스를 구현함을 의미 | 메소드와 상수 정의만 있는 추상 유형인 인터페이스 |
long | 64비트 정수 |
native | 는 Java가 아닌 코드에서 구현된 메소드를 나타냅니다. |
new | 새 A 클래스 인스턴스를 할당합니다. |
package | 일련의 관련 클래스가 패키지를 형성합니다. |
private | 은 클래스 내에서만 액세스할 수 있는 비공개 필드 또는 메소드 등을 의미합니다. |
protected | 는 필드는 A 클래스 또는 해당 하위 클래스를 통해서만 액세스할 수 있습니다. 서브클래스 또는 동일한 패키지의 다른 클래스 |
public | 는 공유 속성 또는 메서드를 나타냅니다. |
return | 메서드 반환 값 |
short | 16자리 |
static | 은 클래스 수준에서 정의되고 모든 인스턴스에서 공유됨을 의미합니다. |
strictfp | 부동 소수점 숫자 비교는 엄격한 규칙을 사용합니다. |
super | 는 기본 클래스를 의미합니다 |
스위치 | Select 문 |
synchronized | 는 동시에 하나의 스레드에서만 액세스할 수 있는 코드 블록을 나타냅니다. |
this | 은 현재 인스턴스 호출을 나타냅니다. 아니면 다른 생성자를 호출하세요 |
throw | 예외가 발생합니다 |
throws | 메서드가 던질 수 있는 예외를 정의하세요 |
transient | 직렬화되지 않는 필드 수정 |
시도해 | 예외가 발생했는지 여부를 나타내기 위해 코드 블록이 finally와 협력해야 함을 나타냅니다. |
void | 표시된 메서드는 어떤 값도 반환하지 않습니다. |
휘발성 | 표시된 필드는 여러 스레드에서 사용될 수 있습니다. 동기화 없이 동시에 액세스 |
while | while 루프 |
Java 주석
C/C++와 유사하게 Java도 단일 라인 및 다중 라인을 지원합니다. 댓글. 주석의 문자는 Java 컴파일러에서 무시됩니다.
public class HelloWorld { /* 这是第一个Java程序 *它将打印Hello World * 这是一个多行注释的示例 */ public static void main(String []args){ // 这是单行注释的示例 /* 这个也是单行注释的示例 */ System.out.println("Hello World"); } }
Java 빈 줄
빈 줄이나 주석이 있는 줄은 Java 컴파일러에서 무시됩니다.
상속
Java에서는 클래스가 다른 클래스에서 파생될 수 있습니다. 클래스를 생성 중이고 필요한 속성이나 메서드가 있는 클래스가 이미 있는 경우 해당 클래스에서 새로 생성된 클래스를 상속할 수 있습니다.
상속을 사용하면 이러한 코드를 다시 작성할 필요 없이 기존 클래스의 메서드와 속성을 재사용할 수 있습니다. 상속받은 클래스를 슈퍼클래스, 파생된 클래스를 서브클래스라고 합니다.
인터페이스
자바에서 인터페이스는 객체 간 통신을 위한 프로토콜로 이해될 수 있습니다. 인터페이스는 상속에서 매우 중요한 역할을 합니다.
인터페이스는 파생에 사용할 메서드만 정의하지만, 메서드의 구체적인 구현은 파생 클래스에 전적으로 의존합니다.
다음 섹션에서는 Java 프로그래밍의 클래스와 객체를 소개합니다. 그러면 Java의 클래스와 객체에 대해 더 명확하게 이해할 수 있습니다.