230208 TIL #3 Java 오류 모음

김춘복·2023년 2월 8일
0

TIL : Today I Learned

목록 보기
3/550

230208 Today I Learned

오늘은 java 기초 강의 복습하는 느낌으로 다시 봤다.
실습 하는동안 오류가 난게 몇가지 있는데 간단한 오류라 구글링을 통해
해결책을 바로바로 찾아 크게 어렵진 않았지만 java쓰는동안 계속 볼 오류들 같아서
이참에 정리해서 til에 기록해 두려 한다.


Java 오류 모음

Intelli J 설치 후 Gradle 에러

  • Intelli J 설치하고 작동 실행시
    Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0. 오류 발생.

setting에 gradle 검색 후 build and run using과 Run test Using 을
둘 다 IntelliJ IDEA로 바꾸면 더이상 뜨지 않는다.

no usages 거슬릴 때

  • 이건 오류는 아니지만 IntelliJ 최신 버전 사용 시 회색 글자로 no usages가 뜨는데 은근히 거슬린다. 도움되는 기능이지만 필요없다고 생각되면 안보이게 할 수 있다.

안보이게 하려면 file > settings > Editor > Inlay Hints > 'Usages를 체크해제' 하면 된다.

파일 이름과 클래스 이름 불일치

  • java에서 실행 시 아래 오류가 뜨는 건
    class Main is public, should be declared in a file named Main.java
    해당 java파일 이름과 public class 이름이 달라서 발생한다.
    클래스명을 파일 이름과 일치시키면 오류 해결! (대소문자도 일치 시켜야한다.)

괄호 갯수 일치하지 않을 때

  • 괄호가 부족할 때
    java: reached end of file while parsing
    괄호나 인용부 제대로 안 닫고 갯수 맞지 않을때 발생한다.
    주로 괄호가 부족할때 뜬다.

  • 괄호가 많을 때
    java: class, interface, or enum expected
    반대로 괄호가 더 많으면 위의 코드가 주로 뜬다.
    해당 오류시 괄호와 인용부를 한번 더 확인해본다!


기타

반복문 if와 switch 차이?

  • 둘다 반복문이지만 어떤 차이가 있는지 궁금했다.

  • 우선 if는 조건 나올때까지 순차적으로 모든 경우를 비교한다.

  • 반면 switch는 원하는 곳에 한번에 이동(jump)한다.

  • 다만 if는 되는데 switch는 구현 안되는 경우도 있다.

  • 조건이 적을수록 if가 유리. 많으면 switch가 유리.

  • 참고 사이트

내일 해야할 것

  • 입학시험 전 사전 test로 스파르타피디아에 삭제기능을 구현하는 실습이 있었는데,
    삭제기능 구현은 되었지만 num이 len(list)로 저장되어 중간중간 카드가 삭제 되면 num이 중복되어 저장되는 바람에 다른 카드를 삭제해도 같이 삭제되는 일이 발생한다. 해당 오류는 내일 고민을 좀 해봐야 할 것 같다.
profile
Backend Dev / Data Engineer

0개의 댓글