자바
[Java] 제어문2: 조건문 Switch문
Switch 문 경우의 수가 변수의 값의 등가 비교로 나뉠 때 사용 변수에 담긴 값에 따라 알맞은 case로 이동하고 문장을 실행 그 밑에 case 가 더 있다면 그 안에 있는 문장들도 실행 switch(변수){ case 값1: 변수의 값이 값1 일 때, 실행 break; case 값2: 변수의 값이 값2 일 때, 실행 break; default: //if문의 else 와 유사 변수의 값이 위의 값들이 아닐 때 실행 } 기타연산자 break 속해있는 switch문이나 반복문을 탈출한다. case로 진입점을 설정하기 때문에, 만약 case 값1:에서 진입할 경우, 순서대로 그 밑의 case 값2도 실행 switch문 효율적인 사용 switch(choice){ case 3: System.out.println..
[Java] 제어문1: 조건문 IF문 (분산처리, 일괄처리)
제어문 위에서 아래로만 흐르던 코드의 흐름을 제어하기 위해 사용하는 문장 조건문(선택제어문) if ~ else if ~else switch ~ case ~ default 반복문(반복제어문) while 문 for 문 조건문 값만 선택하여 사용하는 삼항연산자의 연장선으로 보면 된다. 조건에 따라 경우의 수를 나누기 흐름을 나누기 선택지를 주어주기 특정한 상태 물어보기(입력한게 3이니? 비밀번호가 abcd니?) if문 if(조건식1){ 조건식1의 연산결과가 true 일 때, 실행 } else if(조건식2){ 조건식2의 연산결과가 true 일 때, 실행(나머지 조건식들이 false 이어야함.) } else{ 조건식들의 연산결과가 false 일 때, 실행 } else if 와 else문은 생략 가능 조건식 중 ..
[Java] 연산자 종류 및 우선순위
연산자 기능이 있는 특수문자 또는 단어 우선순위: 한 문장 안에 다양한 연산자가 있을 때, 먼저 연산하는 순위 연산자 종류 (우선순위 순서대로 나열) 최우선 연산자 (), . 단항 연산자 형변환 연산자 (자료형) 이항연산자 산술 연산자 +,-,*,/,% 비트연산자 bit : 1,0 을 저장할 수 있는 컴퓨터 용량의 최소 단위 byte : 데이터의 최소단위 ( 8 bit) &(AND) 논리곱 14 & 17 --> (2진법) 01110 & 10001 --> (2진법)00000 -->(10진법) 0 |(OR)논리합 14 | 17 --> (2진법) 01110 | 10001 --> (2진법)11111 -->(10진법) 31 모든 자리가 1일 때 2**5 -1 가능 ~(NOT) 논리부정 : 단항연산 ^(XOR) 베..
가장 많이 사용하는 Eclipse 단축키 모음(Java)
Eclipse 단축키 모음(Java) alt + shift + N : 새 프로젝트 만들기 ctrl + N : 새 class, package 만들기 ctrl + space : 자동완성 + 필요한 모듈 생성 ex) Overriding alt + 방향키 : 선택된 라인 이동 ctrl + alt + 방향키 : 선택된 라인 복사 ctrl + shift + f : 라인 정리 ctrl + d : 해당 라인 삭제 객체(obj) 마우스커서 + ctrl + 클릭 : 클래스나 메소드 혹은 멤버를 정의한 곳으로 이동 alt + shift + s + o : class 의 생성자 생성 alt + shift + s + c : 부모 class 생성자 생성 alt + shift + z + ↓ : try 문으로 감싸줌 alt + shi..
[알고리즘] binarySearch 이진탐색, 재귀이진탐색_분할과 정복 (pseudo-code 파이썬, Java)
이진탐색 오름차순으로 정렬되어 있는 리스트(배열)에서 찾고자 하는 원소 item 의 위치를 찾을 때, 리스트(배열)에서 중간지점을 구한 후, item 값과 비교하여, item 값이 중간지점보다 작으면, 왼쪽부분에서 다시 중간지점을 찾아서 비교하여, 탐색하고, 크면 오른쪽부분에서 탐색한다. 중간지점과 item 과 값이 같으면 인덱스를 반환한다. Pseudo-code Algorithm binarySearch(A, item, n) left = 0 right = n-1 while (left right return -1 : item이 없을 경우 -1 반환 else mid = (left + right) / 2 : 2로 나눈 몫을 구하는 연산 if (item == A[mid]) return mid else if (i..
[알고리즘] insertionSort 삽입정렬(pseudo-code, 파이썬, Java)
삽입정렬 삽입 정렬은 자료 배열의 모든 요소를 앞에서부터 차례대로 이미 정렬된 배열 부분과 비교하여, 자신의 위치를 찾아 삽입함으로써 정렬을 완성하는 정렬 방법이다. 현재 타겟이 되는 숫자와 이전 위치에 있는 원소들을 비교한다. (첫 번째 타겟은 두 번째 원소부터 시작한다.) 타겟이 되는 숫자가 이전 위치에 있던 원소보다 작다면 위치를 서로 교환한다. 그 다음 타겟을 찾아 위와 같은 방법으로 반복한다. 배열을 0인덱스부터 i-1번째가 정렬되어 있을 때 for문을 돌아서 a[i]의 값보다 크다면 인덱스를 한칸씩 뒤로 이동해준다 만약에 a[i]의 값보다 작거나 같다면 배열의 j+1번째 인덱스에 a[i]값을 넣어준다. 이때 a[i]값은 미리 변수에 저장을 해둔다. Pseudo-code Algorithm ins..
[알고리즘] selectionSort 선택정렬(pseudo-code, Java, 파이썬)
선택정렬 각 루프마다 최대(최소) 원소를 찾는다 최대(최소) 원소와 마지막(가장 앞에 있는) 원소를 교환한다 마지막(가장 앞에 있는) 원소를 제외한다 – 하나의 원소만 남을 때까지 위의 루프를 반복 pseudo 코드 배열 끝에서부터 나머지 원소들 중 최대값과 교환하는 방식 Algorithm selectionSort(a,n) for i = n-1 down to 1 //a[0]부터 a[i]까지 중 가장 큰 원소의 위치 index를 찾는다. index = 0 for j = 1 to i if(a[index] < a[j]) then index = j //a[index]와 a[i]를 교환한다. int temp = a[index] a[index] = a[i] a[i] = temp python 코드 배열 처음부터 나머..
Java 언어 시작
Java 언어 탄생 1995년 James Gosling(제임스 고슬링)이 만듬 썬 마이크로시스템즈(Sun Microsystems)에서 배포 오크(Oak) 언어에서 발전 처음에는 가전제품에 탑재할 수 있는 프로그램을 개발하기 위한 목적으로 탄생 특징 장점 객체 지향 언어 기능이 최적화 JRE를 이용하기 때문에 운영체제로부터 자유롭다. 어떤 운영체제이든간에 호환성이 좋다 웹 및 모바일 프로그밍에 좋음 운영체제로부터 자유롭기 때문 GC(Garbage Collector)를 통해 자동메모리관리를 지원하여 C 계열의 언어와 다르게 메모리 관리가 용이 단점 JVM(자바 가상 머신)을 거쳐야 하므로, 실행속도가 다른 언어에 비해 느리다. 예외처리를 개발자가 일일이 처리를 지정해야 한다.