오늘은 자바에서 볼 수 있는 for, while문외의 제어문을 정리해 보았다. switch문 if문은 조건식의 결과가 참과 거짓, 두 가지밖에 없기 때문에 경우의 수가 많아질수록 else-if를 추가해야 한다. switch문은 단 하나의 조건식으로 많은 경우의 수를 처리할 수 있고, 표현도 간결하므로 알아보기 쉽다. switch (조건식) { case 값1: System.out.println(4); break; case 값2: System.out.println(3); break; default: System.out.println(1); } 1. 조건식을 계산한다. 2. 조건식의 결과와 일치하는 case문으로 이동한다. 3. 이후의 문장들을 수행한다. 4. break문이나 switch문의 끝을 만나면 sw..

프리미티브 타입 종류와 값의 범위 그리고 기본 값 java에는 8가지의 자료형이 존재하며 Object가 아닌 raw value이다. 8가지 타입은 모두 스택 메모리에 저장된다. 프리미티브 타입과 레퍼런스 타입 다음과 같이 primitive type과 reference type이 나뉜다. byte: Byte short: Short int: Integer long: Long float: Float double: Double char: Character boolean: Boolean primitive type은 값이 stack영역에 그대로 저장되고 reference는 heap영역에 있는 객체의 주소를 저장하게 된다. 그렇기 때문에 참조형은 기본자료형에 비해 오버헤드가 발생할 수 있다. 변수 선언 및 초기화하는..

JVM이란 Java Virtual Machine의 약자로 OS의 종속적이지 않고 java코드를 독립적으로 해석할 수 있는 기능이다. 다른 언어의 경우 코드를 기계어로 번역하여 OS에서 처리하지만 java는. class파일 바이트코드로 변환하여 jvm이 해석한다. 그렇다면 OS의 종속적이지 않는다는 게 무슨 말일까? 다른 언어의 경우는 OS가 변경될 때마다 해당 운영체제에 맞는 형태로 컴파일을 진행해야 한다. 하지만 자바의 경우는 JVM이 해석하기 때문에 한번 컴파일한다면 OS를 변경하여도 컴파일을 다시 진행하지 않아도 된다. 그렇다면 JVM은 어떻게 설치할까? JVM은 JDK를 설치하면 함께 설치된다. JDK란 Java 프로그래밍 언어를 개발하고 실행하기 위해 필요한 도구와 라이브러리의 모음 JDK는 O..

오늘은 Tree에 대해 학습하였다. 트리와 그래프의 차이점은 무엇일까? 1. 그래프는 양방향, 트리는 단방향 (부모 -> 자식) 2. 트리는 부모노드를 하나만 가질 수 있다. preorder - M L R F -> B -> A -> D -> C -> E -> G -> I -> H inorder - L M R A-> B -> C ->D -> E -> F -> G -> H -> I postorder - L R M A-> C -> E -> D -> B -> H -> I -> G -> F 중앙 노드 값의 위치를 pre, in ,post로 이해하니 쉽게 이해 할 수 있었다. class Node: def __init__(self,data): self.left = None self.right = None self.d..