Java

자바[java] 입문시 많이 보게되는 에러패턴 25가지

차니() 2020. 1. 14. 23:51

 


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 - 형변환 시켜서 담아놓고 딴거 뽑을라할때./