1. 변수 이름 중복
코드
int b = 30;
int b = 40;
오류 메시지
duplicate local variable b
2. 데이터 타입에서 저장 가능한 값 범위 초과
코드
byte a = 128;
System.out.println(a);
오류 메시지
Type mismatch: cannot convert from int to byte
3. 자동 형변환 오류
코드
byte a = 127;
int b = a;
System.out.println(b);
float c = b;
System.out.println(c);
int d = c;
System.out.println(d);
오류 메시지
Type mismatch: cannot convert from float to int
float는 실수형 데이터 타입이기 때문에 int로 변환하려면 강제변환(캐스팅) 해야 한다.
4. 상수 선언 후 값 변경
코드
final double PI = 3.14;
PI = 3.15;
System.out.println(PI);
오류 메시지
The final local variable PI cannot be assigned. It must be blank and not using a compound assignment
final로 상수를 선언하면 프로그램 실행 중에 변경할 수 없다.
5. 숫자연산 된 char타입 출력
코드
char t = 'A';
t = (t+3);
System.out.println(t);
오류 메시지
Type mismatch: cannot convert from int to char
char타입은 문자형이지만 컴퓨터가 인식할 수 있는 형태인 숫자로 저장된다. 때문에 숫자 연산을 할 수 있는데, 연산을 하면 숫자로 다뤄진다.
* char t = 'A';
t = (char)(t+3);
System.out.println(t);
=>E 출력
* char t = 'A';
t = (char)(t+3);
System.out.println((char) (t+3));
=>G 출력
숫자연산 된 값을 다시 char타입으로 강제변환하면 char타입으로 출력할 수 있다.
6. 비교연산자를 동시에 두 개 사용
코드
80<=point<90
오류 메시지
The operator < is undefined for the argument type(s) boolean, int
*80 <= point && point<90을 사용하면 정상적으로 연산된다.
'오류노트' 카테고리의 다른 글
[코딩 오류 노트] 클래스, 인스턴스, 메서드 (0) | 2023.10.17 |
---|---|
[코딩 오류 노트] 배열 선언 실수, 배열 인덱스 범위 초과 (0) | 2023.10.16 |
[코딩 오류 노트] if문, System, printf()/println(), 불필요한 . (0) | 2023.10.13 |
[코딩 오류 노트] 제어문과 외부 클래스 연결 (0) | 2023.10.12 |
[코딩 오류 노트] ; 미기입 (0) | 2023.10.10 |