java 17

제어문(조건문 if, 반복문 for/while)

제어문 메소드는 { } 에서 위에서 아래로 흘러가며 실행된다. 이런 실행 흐름을 개발자가 원하는 방향으로 바꿀 수 있도록 해주는 게 제어문이다. 제어문에는 조건문과 반복문이 있다. 조건문은 특정 조건을 만족할 경우 { } 내부를 실행하고 원래의 실행흐름으로 되돌아온다. 반복문은 특정 조건을 만족할 때까지 { } 내부를 반복 실행한다. 조건문 IF if 문은 조건식이 true이면 { } 내부를 실행하고, false이면 실행하지 않는다. int score = 70; String grade; if(score >= 90) { grade = "A"; } // 위의 if문 조건을 만족하지 않으면서 // 해당 조건문을 만족하면 실행한다. else if(score >= 80 ) { grade = "B"; } // 위의..

JAVA/JAVA 2021.10.07

Objects 클래스

Objects 클래스 Object의 유틸리티 클래스 Method Return Type 설명 compare(T o1, T o2, Comparator c) int Comparator(우선순위)를 이용해 두 객체를 비교 deepEquals(Object o1, Object o2) boolean 깊은 비교 : 두 객체의 데이터 값을 비교 equals(Object o1, Object o2) boolean 얕은 비교 : 두 객체의 번지(주소값) 비교 hashCode(Object o) int 객체의 해시코드 hash(Object o) int 입력값으로 배열을 생성하고 해시코드를 생성 isNull(Object o) boolean 객체가 null인지 조사 nonNull(Object o) boolean 객체가 null이 아..

JAVA/JAVA 2021.09.28

프로그래머스 디스크 컨트롤러

https://programmers.co.kr/learn/courses/30/lessons/42627 코딩테스트 연습 - 디스크 컨트롤러 하드디스크는 한 번에 하나의 작업만 수행할 수 있습니다. 디스크 컨트롤러를 구현하는 방법은 여러 가지가 있습니다. 가장 일반적인 방법은 요청이 들어온 순서대로 처리하는 것입니다. 예를 programmers.co.kr 우선순위 힙을 이용해 풀이 참조 : https://codevang.tistory.com/316 프로그래머스_힙(Heap)_디스크 컨트롤러 (JAVA) 문제 설명 하드디스크는 한 번에 하나의 작업만 수행할 수 있습니다. 디스크 컨트롤러를 구현하는 방법은 여러 가지가 있습니다. 가장 일반적인 방법은 요청이 들어온 순서대로 처리하는 것입 codevang.tist..

어노테이션 Annotation (@)

어노테이션 컴파일 및 실행 과정에서 코드를 어떻게 컴파일하고 처리할 지를 알려주는 메타데이터 정보 @Annotation 어노테이션의 용도 컴파일러에게 코드 문법 에러를 체크하도록 정보를 제공 소프트웨어 개발 툴이 빌드나 배치 시 코드를 자동으로 생성할 수 있도록 정보를 제공 실행 시(런타임 시) 특정 기능을 실행하도록 정보를 제공 어노테이션 정의와 사용 어노테이션은 element를 가질 수 있음. element는 타입과 이름으로 구성되어 있고, default값을 가질 수 있음. public @interface AnnotationName{ String elementName1(); String elementName2() default "Manta.Ray"; } public class AnnotationTes..

JAVA/JAVA 2021.09.26

데이터 타입 Data Type

기본타입 Primitive Type byte, char, short, int, long, float, double, boolean 실제 값을 변수 안에 저장한다. 참조타입 Reference Type 배열타입, 열거타입, 클래스, 인터페이스, Integer 메모리에는 실제값의 주소(번지)가 저장되고, 실제 값은 힙 영역에 저장된다. 2021.10.02 - [JAVA/JAVA] - JVM 자바 가상머신 기본타입 종류 정수형 [byte] 색상 정보 및 파일 또는 이진(바이너리) 데이터를 처리할 때 주로 사용됨. 정수 타입 중 가장 작은 범위의 값을 표현함. 저장되는 값의 범위 : -27 ~ 27 메모리 사용 크기 : 1 byte ( 8 bit ) [char] 글자 1개, 유니코드 1개를 저장하기 위한 데이터 ..

JAVA/JAVA 2021.09.24

NaN과 Infinity

개념 NaN : Not a Number, 숫자가 아닌 값 Infinity : 무한대 System.out.println( 5 % 0.0); System.out.println( 5 / 0.0); NaN Infinity 실제 연산 시 ArithmeticException이 발생함. System.out.println( Integer.valueOf(5%0) ); System.out.println( Integer.valueOf(5/0) ); Exception in thread "main" java.lang.ArithmeticException: / by zero 특징 /, % 연산의 우측 연산자가 0일때 나타남. 이 값들에 추가 연산을 해도 NaN 또는 Infinity가 그대로 출력됨. 처리방법 해당 값이 NaN이나 ..

JAVA/JAVA 2021.09.24

[JAVA] No enclosing instance of type Class is accessible.

에러 메시지 No enclosing instance of type Class is accessible. Must qualify the allocation with an enclosing instance of type Class (e.g. x.new A() where x is an instance of Class). 원인 static void main 메소드에서 최상위 클래스 선언 없이 내부 public 클래스 생성자를 호출했을 때 발생함. public class Sample { public static void main(String[] args) { A sampleA = new A(); } class A { int a; A(){ this.a = 0; } A(int a){ this.a = a; } publ..

기타/에러처리 2021.09.21