전체 글 17

수업 13일차

2차원 배열 [4][3] 2차원 배열 -> [6][2] 2차원배열 순서 : 2차원 배열 -> 1차원배열 -> 2차원 배열 코드 int [][] m = { {1,2,3}, {4,5,6}, {7,8,9}, {10,11,12} }; int [][] n = new int[6][2]; int m_cols = m[0].length; int n_cols = n[0].length; // 2차원 -> 1차원 -> 2차원 for(int i = 0,k=0; i < m.length; i++) { for(int j = 0; j < m[i].length; j++,k++) { int temp = m_cols*i+j; n[temp/n_cols][temp%n_cols] = m[i][j]; } }​ 대각선 채우기 1 2 4 7 11 3..

Chapter04

제어문 정의 : 프로그램의 흐름(실행 순서)를 바꾸어 주는 문장들 종류 조건문 : if 문 분기문 : switch 문 반복문 : for 문, for each 문 조건 반복문 : while 문 do~while 문 조건문 – if 문 코드 1) if (조건식){ 조건식이 참일 때 수행될 코드 } 2) if (조건식){ 조건식이 참일 때 수행될 코드 } else{ 조건식이 거짓일 때 수행될 코드 } -> 생략가능 3) if (조건식1) { 조건식1이 참일 때 수행될 코드 } else if (조건식2) { 조건식1은 거짓이고 2가 참일 때 수행될 코드 } else { 조건식1, 2 모두 거짓일 때 수행될 코드 } -> 생략가능 4) if (조건식1) { if (조건식2) { 조건식1이 참이고 조건시2가 참일 때..

Chapter03

연산자 정의, 우선순위 연산자 : 연산을 수행하는 기호 피연산자 : 연산자의 작업 대상(변수, 상수, 리터럴, 수식 등) 우선순위 산술 > 비교 > 논리 > 대입 단항 > 이항 > 삼항 단항, 대입 연산자를 제외한 모든 연산자는 좌측에서 우측 순이다. 산술 연산자 + : System.out.println( 3 + 5 ); // 8 - : System.out.println( 3 - 5 ); // -2 * : System.out.println( 3 * 5 ); // 15 / : System.out.println( 3 / 5 ); // 0 : 몫 연산자 -> 정수/정수하여 결과가 정수 나옴 System.out.println( 3 / 0 ); System.out.println( 3.14 / 0 ); //결과 :..

Chapter02

변수와 상수 변수 수학적 의미 : 변하는 수 프로그래밍 언어에서의 의미 : 어떤 값을 저장할 수 있는 메모리 상의 공간 자바에서 변수를 선언하는 방식 자료형( Data Type ) 변수명 [= 초기값] ; age와 Age는 다른 것이다. 예약어를 사용할 수 없다. -> int, public 불가 숫자로 시작할 수 없다. -> 0name 불가 특수문자는 '_' , '$'만 사용할 수 있다. -> first name은 불가능하며 firstName나 first_name을 사용해야 한다. ex) days02 패키지명, Ex06 클래스명, age 변수명 등 예약어(키워드) 미리 의미가 부여된 식별자 ex) package, public, class, static, void, String 등 변수의 타입 자료형의 종..

수업 11일차

배열 정의 : [동일한 자료형]을 메모리상에 연속적으로 놓이게 한 것. 국어 점수 저장할 100명의 학생 변수 int kor1, kor2, ~kor100; int [] kors = new int[100]; 선언 및 생성 자료형 [] 배열명 = new 자료형[배열 크기]; new 연산자 : 배열 크기만큼 heap 영역에 할당하고 시작주소 값을 스택 영역에 대입 heap(동적 영역) : new 연산자에 의해서 배열 크기만큼 기억 공간을 가지고 있음 stack(스택 영역) : 주소를 기억할 4바이트를 할당하고 배열명의 값으로 동적 영역에서의 주소 값을 저장 요소 : 각각의 heap 영역에 있는 기억 공간을 뜻함 윗첨자값(Upper Bound) : 배열 크기 -1 아랫첨자값(Lower Bound) : 0 모든 ..

수업 10일

함수 1.“문자열”.substring(시작위치, 끝나는 위치+1); [주민등록번호] String rrn = ㄱㄴㄷㄹㅁㅂ-ㅅㅇㅈㅊㅋㅌ 1. 생년월일 – getBirthday(rrn) public static String getBirthday(String rrn){ String year = rrn.substring(0,2); String month = rrn.substring(2,4); String day = rrn.substring(4,6); String gender = rrn.substring(7,8); switch(gender){ case "9": case "0": year = 18 + year; break; case "1": case "2": case "5": case "6": year = 19 + ..

수업 9일차

문자열 함수 문자열.charAt(index) 기능 : 문자열의 index에 위치한 한 문자 추출하는 함수 매개변수 : X 반환값 : 선택한 위치의 문자 (char) 문자열.matches(regex) 기능 : 정규표현식에 해당하는것이 있으면 boolean형식으로 반환하는 함수 매개변수 : 정규표현식 반환값 : (boolean) 문자열.split(regex) 1)기능 2)매개변수 3)리턴값 기능 : 하나의 문자열을 regex(정규표현식)구분자를 기준으로 문자열을 분할하는 메서드 매개변수 : regex(정규표현식) 리턴값 : 구분자로 나눈 배열(Array) 문자열.format("변환하려는 형식", 변환하려는 값) 기능 : 내가 원하는 문자열 형식으로 변화해서 문자열을 반환하는 함수. 매개변수 : 변환하려는 형..

수업 8일차

윤년(leap year)/ 평년(common year) 윤년 : 태양력에서 2월이 29일까지 있는 해 / 평년 : 태양력에서 2월이 28일까지 있는 해 1년 == 365.2422일 => 1년 == 365일 -> 매년 0.2422일 오차가 생김 [율리우스력]에서는 4년마다 2월을 29일 [그레고리오력]에서는 치윤법 ① 서력기원 연수가 4로 나누어떨어지는 해는 우선 윤년으로 하고, =>4의 배수 년도에 2월 29일 => 100번 나옴 -> +3번 ② 그중에서 100으로 나누어떨어지는 해는 평년으로 하며, => 100의 배수 년도 => 4번 나옴 ->96번 -> -1번 ③ 다만 400으로 나누어떨어지는 해는 다시 윤년으로 정하였다. => 400의 배수 년도 => 1번 나옴 =>97번 이로써 1년의 평균 길이를..

수업 7일차

정규표현식 특정한 규칙을 가진 문자열의 집합을 표현하기 위해 쓰이는 형식 언어 입니다. matches()함수 클린코드 1. int a, i = 0, j = 0; loop1 :do { System.in.skip( System.in.available()); for ( ; i = 256) break loop1; if (i % 10 == 0) System.out.printf("%d : ", lineNumber++); System.out.printf("[%c]", i); if (i % 10 == 9) System.out.println(); } j = i; System.out.println("\n> 계속하려면 엔터 치세요\n"); a = System.in.read(); ..