
2021.03.02.화 3차원 배열 ✔ 2차원 배열은 1차원 배열을 요소로 가졌다면, 3차원 배열은 2차원 배열을 요소로 가진다. ✔ 3차원 배열은 3개의 첨자를 사용하여 선언한다. int score[2][3][4]; ✔ 2차원 배열에서 각 행은 1차원 배열로서 2차원 배열을 구성하는 하나의 부분 배열이 된다. ✔ 3차원 배열에서 각 행은 2차원 배열로서 3차원 배열을 구성하는 하나의 부분 배열이 된다. ✔ 2차원 배열이 행과 열로 이루어져 있다면, 3차원 배열은 면과 행, 열으로 이루어져 있다. int classAscore[3][5]={ {90, 80, 70, 60, 50}, {50, 70, 60, 40, 80}, {70, 40, 20, 90, 70} }; int classBscore[3][5]={ {..

2021.03.02.화 2차원 배열 선언과 요소 사용 ✔ 4개 과목 점수를 한 명의 학생의 것만 처리할 때에는 int형 배열 하나로 가능하다. ✔ 여러 학생의 점수를 처리해야 할 때에는 같은 형태의 배열이 여러 개 필요한데 이런 경우 2차원 배열을 사용한다. ✔ 말하자면 2차원 배열은 1차원 배열을 요소로 가지는 배열이다. ✔ 2차원 배열을 사용해 1차원 배열 여러 개를 연속성을 지니게 해서 사용할 수 있다. ✔ 2차원 배열은 아래와 같이 행과 열로 표현하고 이해하는 편이 좋다. score[2][4] score[0][0] score[0][1] score[0][2] score[0][3] 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 sco..

2021.03.01.월 지역 변수 ✔ 지역 변수는 예약어 auto와 함께 선언하며, 생략 가능하다. 자동 초기화되지 않는다. ✔ 지역 변수는 블록 내부로 제한되므로, 다른 함수에서 사용할 수 없다. ✔ 블록 범위는 중괄호를 기준으로 결정된다. ✔ 각 각 독립된 저장 공간이기 때문에 다른 함수에 같은 이름의 변수를 선언해도 충돌하지 않는다. #include void swap(int a, int b); int main(void){ int a = 10; int b = 20; swap(a,b); printf("a = %d, b = %d\n",a,b); // a = 10, b = 20 → 값이 그대로인걸 확인할 수 있다. } void swap(int a, int b){ int temp = a; a = b; b =..

문제. n을 d(n)의 생성자라고 한다. 위의 수열에서 33은 39의 생성자이고, 39는 51의 생성자, 51은 57의 생성자이다. 생성자가 없는 숫자를 셀프 넘버라고 한다. 100보다 작은 셀프 넘버는 총 13개가 있다. 1, 3, 5, 7, 9, 20, 31, 42, 53, 64, 75, 86, 97 10000보다 작거나 같은 셀프 넘버를 한 줄에 하나씩 출력하는 프로그램을 작성하시오. 입출력. 10,000보다 작거나 같은 셀프 넘버를 한 줄에 하나씩 증가하는 순서로 출력한다. 방법. i 라는 생성자를 가지는 sum을 구해서 반환하는 함수 d를 만든다. sum의 값이 10000보다 큰 경우 0을 반환하고, 0이 아닌 경우에만 해당 인덱스에 저장한다. #include int d(int i); int m..

📌 기타 연산자 앞에서 다루지 않았던 조건 연산자, 대입 연산자를 알아보자. 1. 조건 연산자 조건? A : B public static void main(String args[]) { int a = 10; int b = 20; int c = 10; boolean ab = a==b ? true : false; System.out.println("a와 b의 값은 같다 : "+ab); boolean ac = a==c ? true : false; System.out.println("a와 c의 값은 같다 : "+ac); } ✔ 조건이 참일 때, A 반환 거짓일 때, B 반환. 2. 대입 연산자 ✔ 우항의 값을 좌항에 대입하는 연산자. ✔ 복합 대입 연산자는 산술 연산과 대입을 동시해 수행한다. 복합 대입 연산자..

📌 비교 연산자 피연산자 두 개를 비교하는 데 사용되는 연산자이다. 제어문의 조건식에 사용되며 연산 결과는 오직 true와 false 중 하나이다. 1. 대소 비교 연산자 비교 연산자 설명 > 좌항의 값이 크면 true, 아니면 false 반환 = 좌항의 값이 크거나 같으면 true, 아니면 false 반환 는 1/2배의 연산 수행 ✔ 2진수 기준으로 비트 연산자 > 는 1/2^n배의 연산 수행 public static void main(String args[]) { int num1 = 3;//0000 0011 int num2 = 4;//0000 0100 //0000 0011 //1)+"\n"); } [참고] 자바의 정석

📌 산술 연산자 산술 연산자에는 사칙 연산자와 나머지 연산자가 있다. 몇 가지 주의할 사항이 있는데, 해당 사항을 중심적으로 살펴보자. 1. 사칙 연산자 + - * / ✔ 곱셈과 나눗셈 연산자가 덧셈, 뺄셈 연산자보다 우선순위가 높다 ✔ 피연산자가 정수형인 경우, 0으로 나눌 수 없다. a = 5 / 3 ; // 1 b = 5 % 3 ;// 2 c = 5 / 3.0 ; // 1.666667 ✔ 피연산자가 정수인 경우 나눗셈 연산자는 나머지를 반환하지 않는다. ✔ 몫만 반환하므로 나머지를 알고 싶다면 나머지 연산자를 사용한다. ✔ 피연산자 중 하나라도 실수라면 자동 형 변환(산술 변환)되어 나눗셈 연산의 결과는 실수를 반환한다. 'A' - 'B';//1 'A' + 'B';//131 ✔ 문자도 사칙 연산이 ..

📌 단항 연산자 하나의 피연산자를 가지는 연산자를 뜻한다. 아래의 연산자가 단항 연산자에 속한다. 1. 증감 연산자 x ++ x의 값을 1 증가 y -- y의 값을 1 감소 ✔ 증감 연산자는 피연산자의 값을 1 증가하거나 1 감소시킨다. ✔ 대부분의 연산자는 피연산자의 값을 읽어 연산에 사용할 뿐, 직접 값을 변경하지 않는다. ✔ 하지만 증감연산자와 대입 연산자는 피연산자의 값을 변경한다. 타입 설명 예 전위형 값이 참조되기 전에 증감 j = ++i ; 후위형 값이 참조된 후에 증감 j = i++ ; ✔ 증감 연산자는 피연산자의 앞과 뒤에 모두 사용될 수 있다. ✔ 메서드 호출에 포함되는 경우 전위형과 후위형의 결과가 다르니 주의하자. 2. 부호 연산자 ✔ 부호 연산자는 피연산자의 부호가 반대로 변경한 ..

📌 연산자(Operator) 연산을 수행하는 기호를 말한다. 사칙 연산자뿐만 아니라 다양한 연산자가 존재한다. 1. 연산자와 피 연산자 ✔ 연산자 : 연산을 수행하는 기호 (+, -, *, / 등) ✔ 피연산자 : 연산을 수행하기 위해서는 반드시 연산의 대상이 있어야 하는데, 이를 피연산자로 한다. ✔ 연산자는 피 연산자로 연산을 수행하고, 항상 결과를 반환한다. 2. 식과 대입 연산자 ✔ 연산자와 피 연산자를 조합해 계산하고자 하는 바를 표현한 것이 식. ✔ 그리고 식을 통해 결과를 얻은 것을 '식을 평가한다'라고 한다 ✔ 하나의 식을 평가(계산)한다면 단 하나의 결과를 얻는다. ✔ 적당한 식을 프로그램에 평가하려면 식의 끝에 ';'을 붙여서 문장으로 만들자 x = 5 + 5 ; → y = x * 4 ..