자바[java] 입문시 많이 보게되는 에러패턴 25가지
01 - 변수를 만들지도 않고 쓸때.
- 변수를 일단 만들어야 쓸수 있다.
02 - 변수를 만들기만 하고, 값을 대입하지 않고 부를때.
The local variable i may not have been initialized
local variable(지역변수) : 메서드내에 선언된 변수
에러 : 지역변수 선언 후 사용전에 값을 대입(초기화) 해야 한다.
03 - 퍼블릭을 2개 선언하는 에러.
04 - import안해서 뜨는 에러.
클래스를 모르겠다고 하는 에러.
Random r; 하면
Random이라는게 일단 클래스인데.
이게 데이터타입으로 사용되었다는걸 알수 있음.
어쨌든 이런 에러는 import를 하면 됨.
05 - 파이널처리 해놓은 상수를 바꾸려고 할때
06 - 문자열에 역슬래시 애매하게 써서 생기는 오류
07 - 생성자안에 비워서 생기는 오류
08 - 연산의 결과를 사용하지 않는 경우(출력하거나, 변수에 담거나 해줘야함.)
int max = (a > b) ? a : b; 이런식으로해야함
09 - 앞에 스트링이 들어가서 문자열 연산이 되어 버려서 계산이 안되는 경우
이런경우 괄호로 묶어줘야 에러가 없어짐.
10 - 닿을 수 없는 코드=> 언리치에이블 코드 => 무한루프의 신호
위에서 반복문을 빠져나오도록 해줘야함.
11 - While 반복문에서 변수초기화 제대로 안해서 발생하는 오류
위에서 i가 등장했는데, 이걸 또 선언해서 어떻게 할려고 하니까 에러가 남.
12 - 담을수 있는 데이터의 크기를 넘겼을때
21억 4700만 넘겨서 정수로 표현못해서 에러나던거 l붙여주니깐 에러없어짐.
c가 아스키로 97인데, 유니코드 16진수 표기한것도값이 97이라 에러없음.
13 - 불리언을 형변환하려고 할 경우
14 - 참조형 데이터타입을 기본형으로 강제 형변환하려고 할때
15 - 정수 = 정수 x 더블 이런식으로해서 오류
16 - 배열의 선언 이후에 {}로 값을 넣으려 할때
초기 생성 이후에 값을 변경하려면
이렇게 바꾸는 수밖에 없음.
17 - 참조형이 아닌 기본형에 null값을 넣으려는 경우.
18 - 배열의 크기를 초과해서 담으려고 할때
선택 : 2
이름 : ad
나이 : 2
전공 : ad
성별 :
zc
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2
at ch07_class.exam.Quiz02.main(Quiz02.java:110)
19 - 호출할때 매개변수 타입 안맞춰서 쓸때
20 - void형 메서드에 리턴하고 뒤에 값을 붙였을때
21 - 프라이빗으로 막아놓은 변수에 접근할때.
22 - 읽을 라인도 없는데 읽으라고해서
23- 인스턴스 변수를 사용하는 메소드에 스태틱을 붙일때.
24 - 자식클래스에서 생성자를 재생성후 this시 리커시브 오류
25 - 형변환 시켜서 담아놓고 딴거 뽑을라할때./