it-swarm-ko.tech

Java 클래스 이름의 유효한 문자

Java 클래스 이름에서 유효한 문자는 무엇입니까? 다른 규칙이 Java 클래스 이름 (예 : Java class) 이름은 숫자로 시작할 수 없습니다)?

68
Zach

대부분의 유니 코드 문자를 포함하여 거의 모든 문자를 사용할 수 있습니다! 정확한 정의는 the Java 섹션 3.8 : 식별자 )에 있습니다.

식별자 는 무제한 길이의 자바 문자 자바 숫자 . 첫 번째는 자바 문자 여야합니다. ...

문자와 숫자는 전체 유니 코드 문자 집합에서 가져올 수 있습니다. 이것은 프로그래머가 모국어로 작성된 프로그램에서 식별자를 사용할 수 있도록합니다.

식별자는 키워드 (§3.9), 부울 리터럴 (§3.10.3) 또는 널 리터럴 (§3.10.7)과 동일한 철자 (유니 코드 문자 시퀀스)를 가질 수 없거나 컴파일 타임 오류가 발생합니다.

그러나 그렇게 해야할지 여부는 이 질문 을 참조하십시오.

56
Jason Cohen

모든 프로그래밍 언어에는 사용할 수있는 이름 종류에 대한 고유 한 규칙 및 규칙 세트가 있으며 Java 프로그래밍 언어는 다르지 않습니다. 변수 이름 지정 규칙 및 규칙 다음과 같이 요약 할 수 있습니다.

  • 변수 이름은 대소 문자를 구분합니다. 변수의 이름은 문자, 달러 기호 "$"또는 밑줄 문자 "_"로 시작하는 모든 길이의 유니 코드 문자와 숫자로 구성된 유효한 식별자 일 수 있습니다. 그러나 규칙은 항상 변수 이름을 "$"또는 "_"가 아닌 문자로 시작하는 것입니다. 또한, 일반적으로 달러 기호 문자는 전혀 사용되지 않습니다. 자동 생성 된 이름에 달러 기호가 포함되는 상황이있을 수 있지만 변수 이름은 항상 사용하지 않아야합니다. 밑줄 문자에도 비슷한 규칙이 있습니다. 변수 이름을 "_"로 시작하는 것은 기술적으로 합법적이지만이 방법은 권장하지 않습니다. 공백은 허용되지 않습니다.

  • 후속 문자는 문자, 숫자, 달러 기호 또는 밑줄 문자 일 수 있습니다. 이 규칙에도 규칙 (및 상식)이 적용됩니다. 변수 이름을 선택할 때는 암호 약어 대신 전체 단어를 사용하십시오. 그렇게하면 코드를보다 쉽게 ​​읽고 이해할 수 있습니다. 대부분의 경우 코드를 자체 문서화합니다. 예를 들어 케이던스, 속도 및 기어라는 필드는 s, c 및 g와 같은 약어 버전보다 훨씬 직관적입니다. 또한 선택한 이름은 키워드 또는 예약어가 아니어야합니다.

  • 선택한 이름이 한 단어로만 구성되어 있으면 해당 단어를 모두 소문자로 입력하십시오. 하나 이상의 단어로 구성된 경우 각 후속 단어의 첫 글자를 대문자로 표기하십시오. gearRatio 및 currentGear라는 이름이이 규칙의 주요 예입니다. 변수에 static final int NUM_GEARS = 6와 같은 상수 값이 저장되는 경우 규칙이 약간 변경되어 모든 문자를 대문자로 표시하고 후속 단어를 밑줄 문자로 구분합니다. 일반적으로 밑줄 문자는 다른 곳에 사용되지 않습니다.

공식 Java Tutorial 에서.

16
Ivan Bosnic

이전 답변 외에도 다음과 같은 점에 주목할 가치가 있습니다.

  1. Java는 기호 이름에 모든 유니 코드 통화 기호를 허용하므로 다음이 모두 작동합니다.

$ var1 £ var2 € var3

통화 기호 사용은 C/C++에서 유래 한 것으로 생각되며 컴파일러에서 코드에 추가 된 변수는 일반적으로 '$'로 시작했습니다. Java의 명백한 예는 내부 클래스에 대한 '.class'파일의 이름이며, 일반적으로 'Outer $ Inner.class'형식입니다.

  1. 많은 C # 및 C++ 프로그래머는 인터페이스 (일명 C++의 순수 가상 클래스) 앞에 'I'를 배치하는 규칙을 채택합니다. Java)에서는 구현할 필요가 없으며, 구현할 때 키워드가 인터페이스 일 때 매우 명확하기 때문에 필요하지 않습니다.

비교:

직원 : 공개 IPayable // C++

직원 : IPayable // C #

employee 직원은 Payable // Java를 구현합니다.

  1. 많은 프로젝트는 필드 이름 앞에 밑줄을 배치하는 규칙을 사용하여 로컬 변수 및 매개 변수와 쉽게 구별 할 수 있습니다.

개인 더블 _salary;

작은 소수는 필드 이름 뒤에 밑줄을 표시합니다 (예 :.

개인 이중 급여 _;

10
Garth Gilmour

Jason Cohen이 이미 언급했듯이 Java 언어 사양은 3.8 절에서 유효한 식별자를 정의합니다.

"식별자는 Java 문자 및 Java 숫자)의 무제한 길이 시퀀스입니다. 첫 번째는 Java = 문자 [...] '자바 문자'는 Character.isJavaIdentifierStart (int) 메소드가 true를 리턴하는 문자이고, '자바 문자 또는 숫자'는 Character.isJavaIdentifierPart (int 메소드가 사용하는 문자입니다. )는 true를 반환합니다. "

이것은 두 번째 질문에 대한 답변입니다. 첫 번째 질문에 대해; 나는 교사들과 (내가 기억할 수있는 한) Java Java 클래스 이름은 대문자 AZ이지만 신뢰할 수있는 출처를 찾을 수 없습니다 OpenJDK로 시도 할 때 소문자 또는 $ 기호로 클래스 이름을 시작할 때 경고가 없습니다. $ 기호를 사용하면 그러나 bash 쉘에서 컴파일하는 경우 이스케이프 처리하지 마십시오.

4
EriF89

유효한 통화 문자가 Java의 식별자에 적합하다는 bosnic의 답변에 추가하고 싶습니다. th는 is와 마찬가지로 유효한 식별자입니다. 그러나 답변을 편집하는 방법을 알 수 없으므로이 간단한 추가 사항을 게시해야합니다.

2
MetroidFan2002

Java 클래스 이름을 지배하는 다른 규칙은 무엇입니까 (예 : Java 클래스 이름은 숫자로 시작할 수 없음))?

  • Java 클래스 이름은 일반적으로 대문자로 시작합니다.
  • Java 클래스 이름은 숫자로 시작할 수 없습니다.
  • "MyClassName"과 같이 클래스 이름에 여러 단어가있는 경우 각 단어는 대문자로 시작해야합니다. 예 : "MyClassName".이 명명 규칙은 CamelCase 유형을 기반으로합니다.
1
Deepak Kumar

클래스 이름은 대문자로 된 명사 여야하며 모든 단어의 첫 글자는 대문자로 표기해야합니다. 단어 나 약어를 사용하지 마십시오 (약어가 URL이나 HTML과 같은 긴 형식보다 훨씬 널리 사용되지 않는 한). 명명 규칙은 여기에서 읽을 수 있습니다.

http://www.Oracle.com/technetwork/Java/codeconventions-135099.html

0
Sachin Tiwari

식별자는 클래스 이름, 메서드 이름 및 변수 이름에 사용됩니다. 식별자는 대문자와 소문자, 숫자 또는 밑줄과 달러 기호 문자로 구성된 설명 순서 일 수 있습니다. 숫자 리터럴과 혼동되지 않도록 숫자로 시작해서는 안됩니다. Java는 대소 문자를 구분하므로 VALUE는 Value와 다른 식별자입니다. 유효한 식별자의 예는 다음과 같습니다.

평균 온도, 카운트 a4, $ test, this_is_ok

유효하지 않은 변수 이름은 다음과 같습니다.

2 카운트, 고온, Not/ok

0
navneet kumar