TIL(22.3.31.THU)
항과 연산자
- 항이란?
- 연산 시 사용되는 값을 의미
- 피연산자랑 같은 말인듯
- 삼항 연산자: 항이 세 개 💡 (3>1)?1:0 - () 조건에 따라 조건이 참이면 1을 답하고, 거짓이면 0을 답해라라는 의미
- a가 조건에 맞다면 yes를 답하고 틀리면 no를 답해라
public class MyPrac { public static void main(String[] args) { int a = 100; String aResult = (a == 100) ? "yes":"no"; System.out.println("aResult = " + aResult); } }
대입 연산자
- 대입 연산자 ⇒ =
public class MyPrac { public static void main(String[] args) { int num = 100; } }
부호 연산자
- 부호 연산자 ⇒ +,-
public class MyPrac { public static void main(String[] args) { int num = 100; num = 10; num = +10; num = -10; } }
- +10과 10은 같은것
산술 연산자
- 더하기 ⇒ +
public class MyPrac { public static void main(String[] args) { int numX = 10; int numY = 3; int result = 0; result = numX + numY; System.out.println(result); } }
- 빼기 ⇒ -
public class MyPrac { public static void main(String[] args) { int numX = 10; int numY = 3; int result = 0; result = numX - numY; System.out.println(result); } }
- 곱하기 ⇒ *
public class MyPrac { public static void main(String[] args) { int numX = 10; int numY = 3; int result = 0; result = numX * numY; System.out.println(result); } }
- 나누기 ⇒ /
public class MyPrac { public static void main(String[] args) { int numX = 10; int numY = 3; int result = 0; result = numX / numY; System.out.println(result); } }
- 나머지연산 ⇒ %
public class MyPrac { public static void main(String[] args) { int numX = 10; int numY = 3; int result = 0; result = numX % numY; System.out.println(result); } }
증가/감소 연산자
- 증가 연산자 ⇒ ++
- 뒤에 쓸 경우 ⇒ a++
public class MyPrac { public static void main(String[] args) { int numZ = 1; System.out.println(numZ++); System.out.println(numZ); } }
- 일단 여기서는 증가시키기전인 원래의 값을 사용하고, 그 다음에 증가시킬게 라는 의미
- 앞에 쓸 경우 ⇒ ++a
public class MyPrac { public static void main(String[] args) { int numZ = 1; System.out.println(++numZ); System.out.println(numZ); } }
- 먼저 증가시킬게 라는 의미
- 뒤에 쓸 경우 ⇒ a++
- 감소 연산자 ⇒ —
- 뒤에 쓸 경우 ⇒ a—
public class MyPrac { public static void main(String[] args) { int numZ = 1; System.out.println(numZ--); System.out.println(numZ); } }
- 일단 여기서는 감소시키기전인 원래의 값을 사용하고, 그 다음에 감소시킬게 라는 의미
- 앞에 쓸 경우 ⇒ —a
public class MyPrac { public static void main(String[] args) { int numZ = 1; System.out.println(--numZ); System.out.println(numZ); } }
- 먼저 감소시킬게 라는 의미
- 뒤에 쓸 경우 ⇒ a—
관계 연산자
- 반환값이 boolean자료형 데이터값인 true or false.
- 관계 연산자(비교 연산자?)
public class MyPrac { public static void main(String[] args) { int numA = 10; int numB = 8; System.out.println(numA > numB); System.out.println(numA < numB); System.out.println(numA == numB); System.out.println(numA != numB); } }
논리 연산자
- &&
- 조건이 모두 참이면 결과값으로 true 반환
- 하나라도 거짓이면 결과값으로 false 반환
- ||
- 조건이 하나라도 참이라면 결과값으로 true 반환
- 조건이 모두 거짓이면 결과값으로 false 반환
- !
- true인 조건 앞에 붙이면 결과값으로 false반환
- false인 조건 앞에 붙이면 결과값으로 true 반환
- 논리 연산자
public class MyPrac { public static void main(String[] args) { int numA = 10; int numB = 8; System.out.println((10 > 9) && (1 == 0)); System.out.println((10 > 9) || (1 == 0)); } }
- &&는 어느 하나라도 거짓이라면 false반환
- ||는 어느 하나라도 참이라면 true반환
복합 대입 연산자
- 대입 연산자와 다른 연산자를 조합
- 대표적 코드
- +=, %=
- +=일 경우
public class MyPrac { public static void main(String[] args) { int num1 = 10; int num2 = 5; num1 += num2; // num1 = num1 + num2 System.out.println("num1 = " + num1); }
- %=일 경우
public class MyPrac { public static void main(String[] args) { int num1 = 10; int num2 = 5; num1 %= num2; // num1 = num1 % num2 System.out.println("num1 = " + num1); } }
- -= 일 경우
public class MyPrac { public static void main(String[] args) { int num1 = 10; int num2 = 5; num1 -= num2; // num1 = num1 - num2 System.out.println("num1 = " + num1); } }
- *= 일 경우
public class MyPrac { public static void main(String[] args) { int num1 = 10; int num2 = 5; num1 *= num2; System.out.println("num1 = " + num1); } }
- /= 일 경우
public class MyPrac { public static void main(String[] args) { int num1 = 10; int num2 = 5; num1 /= num2; System.out.println("num1 = " + num1); } }
2진법, 2의 보수
- 2의 보수(보수)
- 자리올림수가 발생하기 위해 필요한 최소의 숫자
- 2의 제곱수에서 빼서 얻은 이진수
- 10진수 3의 보수⇒10의 보수
- 10진수3이 10진수10이 되기위해 10진수7이 필요하므로 7이 10진수 3의 보수임.
- 10진수 3의 보수⇒10의 보수
- 2진수
- 2진수 3의 보수⇒2의 보수
- 2진수3(11)이 (100)이되기 위해 최소 01즉 2진수1(01)이 필요하다. 따라서 2진수 3의 2의 보수는 2진수1이다.
- 음수를 의미할수 있음
- 10진수에서 +3의 음수는 -3이고 이둘을 합치면 0이 된다.
- 2진수 5(101)이 합해서 000이 되려면 011이 필요. 자리올림수 발생하여 1000이 되나 비트구간을 1제외하고 000으로 설정한다 가정하면 즉 011가 2진수5의 보수이면서, 2진수5의 음수 표현이 되는거니까, 2의보수를 음수라고도 이야기함.
- 2의 보수는 음수다
- 2의 보수 빠르게 구하는 법
- 예시 101
- 일단 반전 시킨다. 010
- 다시 1을 더해준다. 011
- 011이 101의 2의보수
- 예시 101
- 2진수 3의 보수⇒2의 보수
- 2의 제곱수에서 빼서 얻은 이진수
- 자리올림수가 발생하기 위해 필요한 최소의 숫자
비트 논리 연산자
- 두 개의 비트 값이 모두 1인 경우에만 결과1
- 기본출력 print에서 줄넘김 ln을 enter키를 추가해서 출력하라는 의미였음.
- AND연산자 ⇒ &이용
public class MyPrac { public static void main(String[] args) { int num1 = 5; int num2 = 3; int result = 0; result = num1 & num2; System.out.println("result = " + result); } }
- 숫자를 2진수로 변환해서 표현하기
System.out.println(Integer.toBinaryString(변환시키려는 숫자));
public class MyPrac { public static void main(String[] args) { int num1 = 5; System.out.println(Integer.toBinaryString(num1)); } }
- 2진수를 4개의 자릿수로 고정하고 서식문자 정수이용하여 정수형으로 출력하기
System.out.printf("%04d\n", Integer.parseInt(Integer.toBinaryString(2진수로 바꿀 숫자)));
-
printf는 "%04d\n"와 같이 우리가 포맷을 만들어서 만든 포멧에 맞게 데이터값을 넣어서 출력하게 해주는 출력문
- %04는 4개의 자릿수를 출력할건데 4개자리에 못 미치면 앞에 0을 채워서 4자리 맞춰주라는 의미
- d는 서식문자. %와 묶여서 사용됨. 정수형 데이터를 받을 수 있는 서식문자.
- 자료형 타입에 맞게 서식문자도 다 다르게 존재.public class MyPrac { public static void main(String[] args) { int num1 = 5; int num2 = 3; int result = 0; result = num1 & num2; System.out.println("result = " + result); System.out.printf("%04d\n", Integer.parseInt(Integer.toBinaryString(num1))); System.out.printf("%04d\n", Integer.parseInt(Integer.toBinaryString(num2))); System.out.printf("%04d\n", Integer.parseInt(Integer.toBinaryString(result))); } }
-
&은 비트의 값이 둘다 1인 경우에만 결과가 1로 나옴
-
- 숫자를 2진수로 변환해서 표현하기
- 비트 값 중 하나라도 1이면 결과 1
- OR연산자 ⇒ | 이용
public class MyPrac { public static void main(String[] args) { int num1 = 5; int num2 = 3; int result = 0; result = num1 | num2; System.out.println("result = " + result); } }
- 2진수를 4개의 자릿수로 고정하고 서식문자 정수이용하여 정수형으로 출력하기
public class MyPrac { public static void main(String[] args) { int num1 = 5; int num2 = 3; int result = 0; result = num1 | num2; System.out.println("result = " + result); System.out.printf("%04d\n", Integer.parseInt(Integer.toBinaryString(num1))); System.out.printf("%04d\n", Integer.parseInt(Integer.toBinaryString(num2))); System.out.printf("%04d\n", Integer.parseInt(Integer.toBinaryString(result))); } }
- |은 비트의 값이 어느 하나라도 1인 경우에만 결과가 1로 나옴
- 2진수를 4개의 자릿수로 고정하고 서식문자 정수이용하여 정수형으로 출력하기
- 두 개의 비트 값이 같으면 0, 다르면 1
- XOR 연산자 ⇒ ^이용
public class MyPrac { public static void main(String[] args) { int num1 = 5; int num2 = 3; int result = 0; result = num1 ^ num2; System.out.println("result = " + result); } }
- 2진수를 4개의 자릿수로 고정하고 서식문자 정수이용하여 정수형으로 출력하기
public class MyPrac { public static void main(String[] args) { int num1 = 5; int num2 = 3; int result = 0; result = num1 ^ num2; System.out.println("result = " + result); System.out.printf("%04d\n", Integer.parseInt(Integer.toBinaryString(num1))); System.out.printf("%04d\n", Integer.parseInt(Integer.toBinaryString(num2))); System.out.printf("%04d\n", Integer.parseInt(Integer.toBinaryString(result))); } }
- ^은 비트의 값이 같으면 0, 다르면 1의 결과가 나옴
- 2진수를 4개의 자릿수로 고정하고 서식문자 정수이용하여 정수형으로 출력하기
- 비트를 반전 시킴
- ~5가 어떻게 -6이 나오는지 모르겠음 아무리 봐도 -2인데?
- bit1을 부호비트라 한다면 1을 놔두고, 나중에 계산결과에 적용해준다.
- 일단 반전시킨다. 1010 → 0101
- 1을 더한다 0101 + 1 → 0110 → 6
- 부호비트 bit1이 1이였으므로 -를 붙여서 결과값은 -6
- bit1을 부호비트라 한다면 1을 놔두고, 나중에 계산결과에 적용해준다.
- 반전 연산자 ⇒ ~이용
public class MyPrac { public static void main(String[] args) { int num1 = 5; int result = 0; result = ~num1; System.out.println("result = " + result); } }
- 2진수를 4개의 자릿수로 고정하고 서식문자 정수이용하여 정수형으로 출력하기
public class MyPrac { public static void main(String[] args) { int num1 = 5; int result = 0; result = ~num1; System.out.println("result = " + result); System.out.printf("%04d\n", Integer.parseInt(Integer.toBinaryString(num1))); } }
- 2진수를 서식문자 문자열이용하여 문자열형으로 출력하기
public class MyPrac { public static void main(String[] args) { int num1 = 5; int result = 0; result = ~num1; System.out.println("result = " + result); System.out.printf("%s\n", Integer.toBinaryString(result)); } }
- 0101이 반전되어 1010이 됨.
- 바이트 체계가 32개라서 원래 다 0으로 되어있던 것이 반전이 되어 전부 1로 바뀐것을 확인할 수 있다.
- 2진수를 4개의 자릿수로 고정하고 서식문자 정수이용하여 정수형으로 출력하기
비트 이동 연산자
- 부호비트에 값이 그대로 부호비트에 들어간다
- 3의 나머지 비트를 왼쪽으로 1칸 이동
- 2배만큼 증가시키는 결과
-
(<<)연산자 이용
- 2진수를 4개의 자릿수로 고정하고 서식문자 정수이용하여 정수형으로 출력하기
public class MyPrac { public static void main(String[] args) { int numA = 3; int result = 0; result = numA << 1; System.out.println("numA = " + numA); System.out.printf("%04d\n", Integer.parseInt(Integer.toBinaryString(numA))); System.out.println("result = " + result); System.out.printf("%04d\n", Integer.parseInt(Integer.toBinaryString(result))); } }
- 2진수를 4개의 자릿수로 고정하고 서식문자 정수이용하여 정수형으로 출력하기
-
부호비트에 값이 그대로 부호비트에 들어간다
- 3의 나머지 비트를 오른쪽1칸 이동
-
2로 나누는 효과를 가짐. 소수점은 버리게 됨.
-
(>>)연산자 이용
- 2진수를 4개의 자릿수로 고정하고 서식문자 정수이용하여 정수형으로 출력하기
public class MyPrac { public static void main(String[] args) { int numA = 3; int result = 0; result = numA >> 1; System.out.println("numA = " + numA); System.out.printf("%04d\n", Integer.parseInt(Integer.toBinaryString(numA))); System.out.println("result = " + result); System.out.printf("%04d\n", Integer.parseInt(Integer.toBinaryString(result))); } }
- 2진수를 4개의 자릿수로 고정하고 서식문자 정수이용하여 정수형으로 출력하기
-
부호비트에 무조건 0으로 채우고
- 3의 나머지 비트를 오른쪽 1칸 이동
- (>>>)연산자 이용
- (>>)연산자 (>>>)연산자 비교
public class MyPrac { public static void main(String[] args) { int numA = -5; int result = 0; result = numA >> 1; System.out.printf("%s\n", Integer.toBinaryString(numA)); System.out.printf("%s\n", Integer.toBinaryString(result)); result = numA >>> 1; System.out.printf("%s\n", Integer.toBinaryString(numA)); System.out.printf("%s\n", Integer.toBinaryString(result)); } }
- 마지막 출력값에서 맨앞 부호비트의 0이 생략되어 있다.
- 부호비트에 0고정은 맨 앞의 부호비트만 해당하는것 같다
- 마지막 출력값에서 맨앞 부호비트의 0이 생략되어 있다.
- (>>)연산자 (>>>)연산자 비교
조건문
if문
- 조건에 따라 무엇을 실행할지 판단하는 분기 구조
- 조건에 맞는다면 해당 조건에 관련된 실행문이 실행되고 종료됨. 즉, 다른 조건은 신경 안씀.
- if문
public class MyPrac { public static void main(String[] args) { int waterTemperature = 99; // 99로 초기화 if (waterTemperature >= 100) { System.out.println("물이 끓습니다."); } else { System.out.println("물을 끓이는 중입니다."); } } }
public class MyPrac { public static void main(String[] args) { int waterTemperature = 100; // 100으로 초기화 if (waterTemperature >= 100) { System.out.println("물이 끓습니다."); } else { System.out.println("물을 끓이는 중입니다."); } } }
public class MyPrac { public static void main(String[] args) { int score = 90; // 90으로 초기화 char grade =0; if (score >= 90) { grade = 'A'; } else if (score >= 80) { grade = 'B'; } else if (score >= 70) { grade = 'C'; } else { grade = 'F'; } System.out.println("grade = " + grade); } }
public class MyPrac { public static void main(String[] args) { int score = 60; // 60으로 초기화 char grade =0; if (score >= 90) { grade = 'A'; } else if (score >= 80) { grade = 'B'; } else if (score >= 70) { grade = 'C'; } else { grade = 'F'; } System.out.println("grade = " + grade); } }
switch문
- 입력값에 따라 어떤 case를 실행할지 판단하는 분기 구조
- break를 써야 case가 종료됨. 쓰지 않는다면 그 다음 case로 이동되어 실행됨.
- default는 if의 else와 같은 맥락.
- switch문
public class MyPrac { public static void main(String[] args) { String fruit = "apple"; // apple로 초기화 switch (fruit) { case "apple": System.out.println(fruit + "은 5000원 입니다."); break; case "pineapple": System.out.println(fruit + "은 7000원 입니다"); break; default: System.out.println("해당 과일이 없습니다."); break; } } }
public class MyPrac { public static void main(String[] args) { String fruit = "peach"; // peach로 초기화 switch (fruit) { case "apple": System.out.println(fruit + "은 5000원 입니다."); break; case "pineapple": System.out.println(fruit + "은 7000원 입니다"); break; default: System.out.println("해당 과일이 없습니다."); break; } } }
반복문
for문
- 주어진 횟수만큼 반복하여 실행하는 구조
- 초기값부터 조건문에 해당하는 어떤 횟수 이하까지 증가치는 1이 증가할수도 2가 증가할수도 그러한 특정값만큼 증가를 하면서 조건문에 이제 만족할때 까지 반복할 내용을 반복하면서 실행을 하게 됨.
- 기본방법 사용 ⇒ for문
public class MyPrac { public static void main(String[] args) { for (int i =0; i < 5; i++) { System.out.println(i); } } }
- 순서가 이런식인듯
- 먼저 초기치 → 조건문 → 조건에 부합 → 반복하여 실행할 내용 실행 → 증가치적용 → 초기치에 대입 → 조건에 부합 → 반복하여 실행할 내용 실행 → 증가치 적용 → 초기치에 대입 → 조건문에 부합하지 않음 → 실행 종료
- 순서가 이런식인듯
- 별 갯수 하나씩 증가하며 나타내기(반복문 중복하여 사용)
public class MyPrac { public static void main(String[] args) { for (int i =0; i < 5; i++) { for (int j = 0; j < i + 1; j++) { System.out.print("*"); } System.out.println(); } } }
- continue와 break섞어서 사용
- continue는 반복문이 continue를 만나면 아래 실행 코드는 건너뛰고 그다음 조건을 실행시킨다.
public class MyPrac { public static void main(String[] args) { for (int i =0; i < 5; i++) { if (i == 2) { continue; } for (int j = 0; j < i + 1; j++) { System.out.print("*"); } System.out.println(); } } }
- i = 2일 때 continue를 만나면 j의 반복문을 실행하지 않고, i = 3일 경우로 넘어감.
- break는 반복문이 break를 만나면 반복문이 바로 탈출함.즉, 더이상 실행되지 않음.
public class MyPrac { public static void main(String[] args) { for (int i =0; i < 5; i++) { if (i == 2) { break; } for (int j = 0; j < i + 1; j++) { System.out.print("*"); } System.out.println(); } } }
- i = 2일 때 break를 만나면 j의 반복문이 실행하지 않을 뿐더러 심지어 i의 다음 조건에 대한 반복문도 실행되지 않고, 코드를 종료시킨다.
- continue는 반복문이 continue를 만나면 아래 실행 코드는 건너뛰고 그다음 조건을 실행시킨다.
- continue와 break섞어서 사용
- for each문
- 기존 방법
public class MyPrac { public static void main(String[] args) { int[] nums = {1,2,3,4,5}; for (int i = 0; i < 5; i++) { System.out.println(nums[i]); } } }
i < 5
대신i < nums.length
으로 해도 무방
for(반복하고자 하는 대상의자료형 자작한 변수명 : 반복하고자 하는 대상명) {}
public class MyPrac { public static void main(String[] args) { int[] nums = {1,2,3,4,5}; for(int num : nums) { System.out.println(num); } } }
for (int 자작변수명 : 배열명)
- 배열안에 있는 원소들을 모두 순회하면서 다 출력함.
- 굉장히 편리함.
- 배열안에 있는 원소들을 모두 순회하면서 다 출력함.
- 증감문의 형태가 특이할 경우 예를 들어 i++처럼 1씩 증가가 아닌 2씩 증가한다던지 3씩 증가한다던지 증감문에 변형이 있을 경우
- 기존방법 사용 ⇒
for (초기치; 조건문; 증가치) {}
- 기존방법 사용 ⇒
- 모든 원소를 순회할 경우
- for each문 사용 ⇒
for(반복하고자 하는 대상의자료형 자작한 변수명 : 반복하고자 하는 대상명) {}
- for each문 사용 ⇒
- 기존 방법
while문
- while문
- 조건문이 만족하는 동안 반복하여 실행
- while과 do-while의 차이
- 조건을 따지냐 안 따지냐
- while문
- 일단 조건문먼저 검사하고나서 실행
- 즉 조건에 따라 실행할수 있고 안 할수 있다.
- do-while문
- 일단 실행먼저 하고, while 조건문 검사함.
- 즉, 무조건 실행하고 나중에 조건문 검사함.
- 기존방법 사용 ⇒ while문
public class MyPrac { public static void main(String[] args) { int i = 0; while (i < 5) { System.out.println(i); } } }
- i 즉, 초기치를 바깥부분에 선언해준다.
- while문에 조건을 명시하고, 반복할 내용을 적는다.
- 주의
- 위와 같이 코드를 실행하면 무한 루프에 빠진다.
- i가 계속0인 상태에서 조건문에서 탈출하지 못하고 계속 출력되는것
- 위와 같이 코드를 실행하면 무한 루프에 빠진다.
- 해결법
- while문의 반복하여 실행할 내용부분에 증감문을 작성한다.
orpublic class MyPrac { public static void main(String[] args) { int i = 0; while (i < 5) { System.out.println(i); i++; } } }
public class MyPrac { public static void main(String[] args) { int i = 0; while (i < 5) { System.out.println(i++); } } }
- while문의 반복하여 실행할 내용부분에 증감문을 작성한다.
- continue사용
public class MyPrac { public static void main(String[] args) { int i = 0; while (i < 5) { if (i == 2) { i++; continue; } System.out.println(i++); } } }
- break사용
public class MyPrac { public static void main(String[] args) { int i = 0; while (i < 5) { if (i == 2) { i++; break; } System.out.println(i++); } } }
- do-while문
public class MyPrac { public static void main(String[] args) { boolean knock = false; do { System.out.println("knock"); } while (knock); } }
- 일단 false이지만 do-while로 시작했으니까 무조건 한 번 실행하고 그 다음 조건문에 걸려서 탈출(코드실행 종료)하게 됨.
다차원 배열
- 삼차원까지는 종종 사용한다. 점점 복잡해지니 4차원이상은 잘 가지 않는다.
- 그중에서도 이차원을 많이 사용한다.
- 일차원 배열
- 기본방법 ⇒ for문 사용하기
public class MyPrac { public static void main(String[] args) { int[] myArray = {1, 2, 3}; System.out.println("myArray[1] = " + myArray[1]); for (int i = 0; i < myArray.length; i++) { System.out.println(myArray[i]); } } }
- for each 사용하기
public class MyPrac { public static void main(String[] args) { int[] myArray = {1, 2, 3}; // 데이터 초기화 for (int i : myArray) { System.out.println(i); } } }
- 기본방법 ⇒ for문 사용하기
이차원 배열
- 데이터를 초기화하는 방법
-
중괄호안에 데이터를 초기화
-
- 데이터를 초기화하지않고, 사이즈로 바로 생성할 때
- 이차원 배열 구조
- 이차원 배열
- 기본방법 ⇒ for문 사용하기
- 첫 번째 반복문은 행을 돌리고, 두 번째 반복문에서 열을 돌린다.
public class MyPrac { public static void main(String[] args) { int[][] myArray2 = {{1, 2, 3}, {4, 5, 6}}; // 데이터 초기화 System.out.println("myArray2[1][2] = " + myArray2[1][2]); for (int i = 0; i < myArray2.length; i++) { for (int j = 0; j < myArray2[i].length; j++) { System.out.println(myArray2[i][j]); } } } }
- myArray2[1][2]
-
1번째 행의 2번째 열을 의미
-
myArray2.length
는 바깥 중괄호를 가리켜 행을 의미함- 2를 반환할듯
myArray2[i].length
는 안쪽 중괄호를 가리켜 열을 의미함.- 3을 반환할 듯
- myArray2[1][2]
- 첫 번째 반복문은 행을 돌리고, 두 번째 반복문에서 열을 돌린다.
- for each문 사용하기
- 이차원 배열에서 하나를 따오면 일차원 배열이기에 그 일차원 배열을 일차원 배열타입인 ints라는 변수에 할당한다.
public class MyPrac { public static void main(String[] args) { int[][] myArray2 = {{1, 2, 3}, {4, 5, 6}}; System.out.println("myArray2[1][2] = " + myArray2[1][2]); for (int[] ints : myArray2) { for (int anInt : ints) { System.out.println("anInt = " + anInt); } } } }
- myArray2가 이차원배열이라서 이차원배열을 하나 따서 갖고 오면 일차원 배열이기에 자료형을 int의 배열자료형으로 만들어준것임.
- 한 번더 for each문을 통해서 작성해줌
- myArray2가 이차원배열이라서 이차원배열을 하나 따서 갖고 오면 일차원 배열이기에 자료형을 int의 배열자료형으로 만들어준것임.
- 이차원 배열에서 하나를 따오면 일차원 배열이기에 그 일차원 배열을 일차원 배열타입인 ints라는 변수에 할당한다.
- 기본방법 ⇒ for문 사용하기
Author And Source
이 문제에 관하여(TIL(22.3.31.THU)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jr28333/TIL22.3.31.THU저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)