☕ JAVA 131

[JAVA]조건문 if과 switch

조건문 Conditional Statements조건이 참 true을 만족할 때 실행한다.  if (조건) {참일 때 실행}if ( ) 안의 조건이 참 true일 경우에만 { }의 코드가 실행됩니다.!true는 false이기 때문에 실행되지 않았습니다.  if-elseelse { }는 if 속하지 않을 경우 실행할 코드를 작성합니다.  if-else if다른 조건을 추가하고 싶을 때는 else if (n번째 조건) { }을 계속해서 추가할 수 있습니다.이렇게 여러번 나눠서 적은 이유는 if문을 다양하게 적을 수 있다는 것을 보여드리기 위함입니다.if() { }  else if () { } else { } 의 단어 뜻 그대로 생각하면 이해가 쉽습니다.만약 ~라면 ~한다. 아님 ~라면 ~하고, 그것도 아니라면..

[JAVA]배열[ ] 정렬sort()

정렬이 필요한 자료구조는?순서가 있는 자료형 Array[ ] 와 Listset은 순서가 없고, map은 key로 값을 가져옵니다.따라서 자바 기본 배열과 리스트만이 순서가 있으므로그 두가지 자료구조에서 정렬하는 방법을 알 필요가 있습니다.arrayList는 이름에서 알 수 있듯이 배열 저장방식을 사용하는 리스트입니다.  Arrays.sort(배열명)배열 정렬의 기본사전순. 오름차순. http://Arrays.sort() docs어떤 타입이든 배열[ ]을 인수로 사용하면 ascending오름차순으로 정렬한다.Arrays.sort(배열명, 시작 인덱스, 종료인덱스) → 구간만 정렬한다. 배열을 정렬할 때 사용하는 기본 함수인 sort()가오름차순으로 정렬되고, 원하는 구간만 정렬할 수 있다는 것을 알 수 있..

[JAVA]Comparator와 Comparable

Comparator & Comparable  Comparator기본 정렬기준을 구현한다.compare (Object o1, Object o2) 메서드를 가지고 있다. → o1과 o2를 비교해서 같으면 0, o1이 크면 양수, o2가 크면 음수를 반환한다.Comparable기본 정렬기준 외 다른 기준으로 정렬하고자 할 때 사용한다.compareTo (Object o) 메서드를 가지고 있다.→ 자기자신과 o를 비교한다. 같으면 0, 자기자신이 크면 양수, 매개변수가 크면 음수를 반한한다.  활용예제  implements Comparator를 상속받습니다.compare를 오버라이드합니다.if문에 instanceof Comparable를 확인하는 이유는 Comparable의 compareTo메서드를 사용하기 위..

[JAVA]연산자

연산에 사용되는 표시와 기호를 연산자.연산되는 데이터를 피연산자라고한다.  사칙연산자: 덧셈, 뺄셈, 곱셈, 나눗셈.  자바에서 사용하는 연산자 기호는 일반 수학에서 사용하는 표기와 다를 수 있습니다. example) 곱하기 연산은 자바에서 *로 표기합니다.  +  더하기 -   빼기 *   곱셈 /   나누기💡 코딩에서 %는 나머지를 뜻합니다.  대입연산자: 변수에 값을 대입한다.  +=-=*=/=%=코딩에서 변수i에 값을 더할 때 이런 식으로 i + 10 이라고 적지 않습니다.기능은 동일하지만 대입연산자를 사용하면 성능과 가독성이 올라가기 때문입니다. 나머지 % 란10을 7로 나눈 나머지 3이 나옵니다.  부호연산자 +와 -  부호연산자를 변수 앞에 붙인다.+연산자는 변수 값의 부호를 유지한다.-연..

[JAVA]Iterator, ListIterator, Enumeration

Enumeration : Iterator의 구버전입니다. Iterator: 각기 다른 구조를 가진 collection의 요소를 읽기위해 표준화한 것.hasNext(): 이터레이터에 다음 요소가 있는 지 확인 합니다. boolean 반환.next(): 다음 값을 가져옵니다.remove(): next() 다음에 적으면 해당 요소가 삭제됩니다.❗ 위 출력결과를 보시면 한번 읽어온 Iterator는 다시 순회할 수 없습니다. ListIterator: Iterator에 이전 값을 확인하는 메서드가 존재.   Collection이 바뀔 상황.ArrayList ↔ HashSet 으로 변경하는 상황에서 유리하다. 사실 실제로는 자주 사용하지 않습니다. 이유는일회용인데다가 List로 타입을 변환하려면 위와 같이 하나씩 ..

[JAVA]NaN과 Infinity

Infinity: 정수를 0.0으로 나눌 경우. 무한대의 숫자.0으로 나눌 때와의 차이0과 0.0으로 나눌 때 이러한 차이가 생기는 이유는 JAVA가 IEEE 754(부동 소수점 표준)을 따르기 때문입니다.이 표준은 수학적으로 무한대와 정의되지 않은 숫자를 허용합니다.0으로 나누는 것은 산술적으로 정의되지 않은 연산이기에 java.lang.ArithmeticException 예외가 발생합니다.  Double/Float.isInfinite(소수): infinity 다루기  NaN: Not a Number. 숫자가 아닌 값.자바에서 % 는 나머지를 구하는 연산자이기 때문에 0.0으로 나눌 시 NaN을 반환합니다.0으로 나눌 시에는 /나누기를 사용할 때와 마찬가지로 ArithmeticException예외가 발..

[JAVA]표준출력 System.out.print/println/printf()

모든 출력에 표준출력을 사용하지는 않습니다. 표준출력은 사용자와의 직접적인 상호작용이나 프로그램의 정상적인 출력 결과를 나타냅니다.(알고리즘을 풀 때와 달리 프로젝트에서는 생각보다 별로 사용할 일이 많지 않다는 거죠.) 프로그램 실행 중 발생하는 상태, 오류, 이벤트 등을 기록(Log)할 때는 Logger를 사용합니다.  System.out.print(): 줄바꿈❌ 출력.  System.out.println(): 줄바꿈⭕ 출력.❗ sysout표준 출력 중 가장 많이 사용되기에 자동완성 단어가 있는데 그게 바로 sysout입니다.  특징1 + 2 + ""→ 3 출력. 앞에서 부터 1 + 2를 더한 값 3에 + " "가 된 것입니다."" + 1 + 2→ 12 출력. 문자열 "" 이 앞에 오면 뒤의 값도 모두..

[JAVA]Queue와 LinkedList

Queue: FIFO (First In First Out)먼저 저장한 것을 먼저 꺼낸다.   은행 창구의 차례 대기열 등에서 사용됩니다.데이터를 넣는 작업은 인큐 enqueue 라 하고, 데이터를 꺼내는 작업을 디큐 dequeue 라 합니다.데이터를 꺼내는 쪽을 프런트 front , 데이터를 넣는 쪽을 리어 rear 라 합니다.배열로 queue를 만든 코드(참고용, 실제로 Queue라는 데이터타입이 있으므로)더보기import java.util.Arrays;public class IntAryQueue { private int max; //queue size private int num; //number of elements private int[] que; //que array..

반응형