본문 바로가기

반응형

JAVA

(33)
[JAVA] 배열 버블정렬(Bubble Sort) 알고리즘 버블 정렬 (Bubble Sort) 배열의 크기만큼 반복하되, [0-1 ] , [ 1-2 ] , [ 2-3 ] . . . . . . [ (n-1)-n] 이런식으로 바로 그 다음 노드와 비교해가면서 큰값을 뒤로보내주며 Sort하는 형식이다. 버블정렬은 배열내의 두개의 인접한 Index를 비교하여 더 큰 숫자를 뒤로 보내 차곡차곡 쌓아 정렬하는 방법입니다. 결론적으로 말하자면 배열의 뒷쪽부터 정렬하는 방법이라고 생각하시면 될 듯 합니다. 버블정렬로 배열에있는 정수값 오름차순 정렬하기 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 package class01; public class Test02 { public static void main(S..
[JAVA] 반복문 for, while 주어진 조건을 만족하면 반복하는 명령문으로 [ for문, while문 ]이 있다. for vs while 비교 for문 - N번, N회 - a부터 ~ b까지 - 범위가 분명하게 주어졌을때 - '배열'(자료구조) while - 어떤(특정) 조건을 만족할때까지 계속 - ~~~할때까지 반복 - 무한하게, 영원히 - 아주작은 경우라도 두번이상 수행한다면 while while문 1 2 3 4 5 6 int i =1; while (i 2번 라인의 조건식으로 간다! cs while문을 활용하여 입력한 값이 소수인지 아닌지 판별해보기 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 package class0..
[JAVA] 배열 최대값, 최소값 구하기 알고리즘 오늘은 자바 배열에서 최대값, 최소값 을 구하는 알고리즘에 대해서 알아보도록 하겠습니다. 먼저 순서대로 하나하나 살펴보도록 하겠습니다. 1. 배열선언 int [] arr = { 4, 6, 32, 98, 1}; 2. 최대값을 담을 변수(max) 선언하고 배열의 인덱스 0 값 참조하기. int max = arr[0]; 3. for문 if문 활용해 최대값 찾기. 배열의 맨 처음부터 끝까지 앞뒤 인덱스를 비교하면서 큰값을 최대값으로 넣어주는 방식입니다. for ( int i = 1; i max) { max = arr[i]; } } 4. 최대값 출력하기 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 package..
[JAVA] 재귀함수 - Stack overflow 오류 재귀 함수 사용에는 스택 오버플로우(stack overflow)를 주의해야한다. 상기와 같이 오류가뜨는 이유는 n이 멈추지않고 -1, -2, -3...n까지 무한대로 실행되어 컴퓨터의 메모리에 한개가 있기때문에 스택 오버플로우의 문제가 발생하게 된다. 이 문제를 해결하기 위해서는 if문을 사용하여 n을 1까지만 수행하게 해주면 된다. (하기 코드 추가) if (n === 1) { return 1; }
[JAVA] 조건문 if, Switch 조건문 말 그대로 코드 실행에 대해 조건을 추가하여 각 조건에 해당하는 각 코드 실행을 시키는 명령 기능을 가진 제어문이다. 조건문 if " 만약(if) 조건식이 참(true)이면 괄호({}) 안의 문장들을 수행해라 " if (조건식) { // 조건식이 참일 경우 수행될 코드 작성 } 괄호는{} 탭(Tab)을 통한 들여쓰기로 내부에 묶어둔 문장들을 조금 더 가독성 좋게 해주는 것이 좋다. -> 단축키 ctrl + shift + F (ctrl + A)+(ctrl + I) 조건문 if 활용 문제 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 package class04; import java.util.Scanner;..
[JAVA] 입력 Scanner 입력문 입력에는 Scanner 클래스를 이용 자바에는 제공되는 Scanner문을 import 해준다. 1 2 3 4 5 6 import java.util.Scanner; // Scanner 클래스를 import해준다 Scanner sc = new Scanner(System.in) // Scanner 객체를 생성 int a = sc.nextInt(); // 정수 입력 받기 String str = sc.nextLine(); // 문자열 입력 받기 cs (System.in)은 키보드와 연결된 자바의 표준 입력 스트림이다. Scanner의 메서드 타입 설명 next() 입력된 값을 문자열로 리턴 nextInt() 입력된 값을 정수형으로 리턴 nextDouble() 입력된 값을 실수형으로 리턴 nextLine()..
[JAVA] 연산자의 종류와 우선순위 연산자 우선순위 연산자 우선순위 종류 연산자 1 최우선 연산자 [], () 2 단항 연산자 (항이 하나인 연산자) !, -, +, ++, -- 3 산술 연산자 +, -, *, /, % 4 쉬프트 연산자 >>> 5 비교 연산자 , a : 10 2 --> a++은 후위증감이기 때문에 c:10값을 먼저 대입해주고 그러고나서 a에 +1을 한값인 a : 11이 된다. 3 --> ++a은 전위증감이기에 먼저 진행하게되어 a에 +1 해주어 a : 12, d : 12가 된다 1 2 3 4 5 6 7 8 9 int a=10; int c=a++; // 후위 증감연산자의 우선순위는 매우낮음! int d=++a; // 전위 증감연산자의 우선순위는 매우높음! // ++a; int d=a; System.out.println("a..
[JAVA] 변수 (개념, 데이터타입, 형변환) 변수(Variable)란? 변수는 프로그램의 처리 과정에서 데이터를 담아둘 수 있는 메모리의 공간을 의미합니다. 하나의 변수에는 하나의 값만 저장할 수 있고 이 값을 변경할 수 있기 때문에 변할 수 있는 값, 즉 변수라고 부릅니다. 데이터 타입(Data type) 데이터에는 정수, 실수, 문자, 논리(참 또는 거짓) 등이 있는데 각각의 데이터를 담을 수 있는 변수의 종류가 다릅니다. 그래서 데이터 타입으로 어떤 데이터를 담는 변수인지 표시합니다. 형변환 (Casting) 말 그대로 변수나 상수의 데이터 타입을 다른 타입으로 바꾸는 것을 의미합니다. 자동형변환 -> 연산 시 컴파일로가 자동으로 수행하는 타입 변환을 가리키며 사용자가 강제로 타입 변환을 하지 않는 경우를 의미합니다. 1 2 3 4 5 6 7..

반응형