차례:
- 소문자가있는 곳에 대문자 쓰기
- switch
- } < 리스너를 만들 때 리스너를 설정해야합니다.
- …
- }
- int guests [] = 새로운 int [10];
- 널 포인터 예상
- null
- MySecondAcitivity 인 경우에도
비디오: 프로그래머 구직자와 회사의 딜레마 - 면접과제 2024
누구나 실수를합니다. 그것은 삶의 사실입니다. 그러나 여기서 조언을 받았다면 Java 프로그래밍의 사실 일 필요는 없습니다.
소문자가있는 곳에 대문자 쓰기
Java는 대소 문자를 구별하는 언어이므로 모든 다른 문자와 함께 p 및 q 알파벳의 다음은 Java 프로그램을 작성할 때 명심해야 할 몇 가지 개념입니다.
- 자바의 키워드는 모두 소문자입니다. 예를 들어, Java
if
문에서 if 또는 IF의 경우 는 가 될 수 없습니다. Android의 API (Application Programming Interface)에서 이름을 사용할 때 이름의 대소 문자는 API에 표시된 것과 일치해야합니다. - 귀하가 직접 작성하는 이름은 전체 프로그램에서 같은 방식으로 대문자로 작성되어야합니다.
- myAccount
변수를 선언하면
MyAccount,
myaccount또는
Myaccount로 참조 할 수 없습니다. 변수 이름을 두 가지 다른 방법으로 대문자로 사용한다면 Java는 완전히 다른 두 변수를 참조한다고 생각합니다.
switch
문에서 벗어나지 않으면 fallthrough가 발생합니다. 예를 들어,
999 999 > 잃기
:
전환 (롤) {
사례 7:
textView. setText ("win"); 케이스 9:
textView. setText ("continue");
case 12:
textView. setText ("lose");
}
이중 등호와 값 비교
두 값을 비교할 때 두 등호를 사용합니다.
if (inputNumber == randomNumber)
줄은 맞지만 if (inputNumber = randomNumber)
줄은 올바르지 않습니다.
이벤트 처리를위한 리스너 추가
public class MainActivity extends Activity
implements …
}
public void onAnimationEnd (애니메이션 애니메이션) { …
} < 리스너를 만들 때 리스너를 설정해야합니다.
ImageView widget = new ImageView (this);
위젯.
setOnClickListener
(this);
…
AlphaAnimation animation = 새로운 AlphaAnimation (0. 0F, 1.0F);
애니메이션.
setAnimationListener (this);
…
setOnClickListener
에 대한 호출을 잊어 버리면 위젯을 클릭해도 아무 일도 발생하지 않습니다.위젯을 두 번 더 클릭하면 도움이되지 않습니다.
필요한 생성자 정의
-> -
public Temperature (double number)
Java는 더 이상 매개 변수없는 기본 생성자를 생성하지 않습니다. 즉, 더 이상
Temperature를 호출 할 수 없습니다. roomTemp = new Temperature (); 매개 변수없는 Temperature
비 정적 참조 수정
다음 코드를 컴파일하려고하면 -
문자열 인사말 = "Hello";
static void show () {
textView. setText (greeting);
}
}
show
메소드는 정적이지만
greeting
는 정적이 아니기 때문에 오류 메시지가 나타납니다.
배열 범위 내에서 머물
10 개의 구성 요소가있는 배열을 선언하면 구성 요소의 인덱스는 0에서 9 사이입니다. 즉,
int guests [] = 새로운 int [10];
손님 [0]
,
손님 [1]
등을 작성하여
손님
배열의 구성 요소를 참조 할 수 있습니다
손님 [9]
게스트
배열에는 인덱스 10이있는 구성 요소가 없으므로
손님 [10]
을 쓸 수 없습니다.
널 포인터 예상
A
NullPointerException
"합법적 인"값이없는 표현식에 대한 메소드를 호출 할 때 발생합니다. 다음은 그 예입니다:
public class MainActivity extends AppCompatActivity {
TextView textView;
@Override
protected void onCreate (Bundle savedInstanceState) {
super. onCreate (savedInstanceState);
setContentView (레이아웃. 활동 _ 메인);
// findViewById 행을 잊었습니다.
}
public void onButtonClick (뷰보기) {
textView. setText ("Hello");
}
}
Java에서 아무 것도 가리 키지 않는 참조 유형 변수의 값은
null
입니다. 따라서이 예에서
textView
변수의 값은
null
입니다.
null
값에 대해
setText
메서드를 호출 할 수 없습니다. 그 문제에 대해서는
null
값에 대한 메서드를 호출 할 수 없습니다. 자바가
textView를 실행하려고 할 때. setText ("Hello")
, 앱이 다운됩니다. 사용자가
응용 프로그램이 중지됨
메시지를 보게됩니다. Android Studio를 사용하여 앱을 테스트하는 경우 Logcat 패널에
NullPointerException
이 표시됩니다.
이러한 종류의 재난을 피하려면 코드에서 메소드 호출에 대해 두 번 생각하십시오. 점 앞에있는 표현식이
null
일 수있는 경우 예외 처리 코드를 프로그램에 추가합니다.
public void onButtonClick (View view) {
try {
textView. setText ("Hello");
} catch (NullPointerException e) {
토스트. makeText ("앱이 오류에서 복구되었습니다.",
토스트. LENGTH_LONG). 보여 주다();
}
}
사용 권한 사용
일부 앱에는 명시 적 권한이 필요합니다. 예를 들어 일부 앱은 인터넷을 통해 Twitter의 서버와 대화합니다. 앱의 AndroidManifest에 요소를 추가하지 않으면 작동하지 않습니다.xml
file:
AndroidManifest에
요소를 추가하는 것을 잊어 버린 경우. xml
파일을 열면 앱이 Twitter의 서버와 통신 할 수 없습니다. 유용한 오류 메시지를 표시하지 않고 앱이 실패합니다. 너무 나빴어!
활동을 찾을 수 없음
앱의 두 번째 활동을 만드는 경우 앱의
AndroidManifest에 새로운
요소를 추가해야합니다. xml
파일. 요소는
처럼 간단 할 수 있지만 대부분의 경우 요소가 좀 더 복잡합니다.
이
요소를 추가하지 않으면 Android가
MySecondAcitivity 인 경우에도
MySecondActivity
클래스를 찾을 수 없습니다. java
파일은 앱의 프로젝트 디렉토리에 있습니다. 앱이
ActivityNotFoundException
(으)로 중단됩니다.
그리고 그것은 모든 차이를 만듭니다.