
조심할 부분 예제) 이런 코드가 있습니다. int[][][] b= new int[2][2][2]; 이 때, b의 자료형? Int[ ][ ][ ] b[0]의 자료형? Int[ ][ ] b[0][0]의 자료형? Int[ ] b[0][0][0] 자료형? Int 이 때? b =10 가능? No why? 주어진 코드에서 b의 자료형은 int[ ][ ][ ]이다. 즉, 3차원 배열이란 소리. 먼저, b[0]은 배열의 첫 번째 차원에서 첫 요소인 int[ ][ ] 타입의 배열이다. 이 배열은 2차원 배열이다. b[0][0]은 b[0]에서 첫 번째 요소인 int[ ] 타입의 배열이다. 마지막으로 b[0][0][0]은 b[0]에서 첫 번째 요소인 int 타입의 값이다. 따라서 b=10; 은 잘못된 문법이다. b는 3차원..
while(true) 하고 박아두고, if(조건1) ~~~ 뭐 요런 식으로 하면 가장 간편하긴 하다. public static void main(String[] args) { while (true) { if (조건1) { break; } if (조건2) { continue; } if (조건3) { continue; } } 그런데 이건 code smell 이라고 하여 매우 지저분한, 지양해야할 코드로 판단한다. 그래서 필요한 부분만 조건에 야무지게 걸어서 코드를 정돈하면, 훨씬 더 깔끔한 코드를 짤 수 있게 될 것이다. 여기에 강사님 설명을 덧붙이자면 두번째 질문은 break, continue를 많이 쓰면 소스가 지저분 해진다기 보다 무한루프에 break, continue 같은 구조로 만들기 때문에 생각을..
숫자야구 배열 코드 package megait.backend_lecture.Day08; import java.util.Random; import java.util.Scanner; //배열 숫자 야구 //1. 컴퓨터 랜덤 숫자 생성 단, 중복제거 필요 //2. 유저 숫자 입력 단, 1~9값만 허용, 중복허용 X //3. 컴퓨터 랜덤 숫자와 유저 입력 숫자 비교 //3-1. 자리와 숫자가 같으면 strike //3-2. 숫자는 같지만 자리가 다르면 ball //3-3. strike, ball이 없으면 out //3-4. 3 strike -> 홈런 프로그램 종료 //3-5. 홈런이 나오기 전까지는 strike ball을 출력 or out 출력 public class BaseballArray_T { public..
첫 번째 코드 package Day11; public class MethodTest1 { static int a = 10; static void abc() { int a = 30; a = 20; } static void kor() { System.out.println(a); } public static void main(String[] args) { // TODO Auto-generated method stub int a = 20; abc(); System.out.println(a); kor(); } } 실행 결과 20 10 ----------------------------- 두 번째 코드 package Day11; public class MethodTest1_2 { static int a = 10; ..
for(int i = 0;i
Q. 지금 여기서 왜 (i+1)+"번째 숫자 인거야? 즉, i에 +1을 해서 출력하는 이유? public static void main(String[] args) { // TODO Auto-generated method stub Random r = new Random(); Scanner sc = new Scanner(System.in); int[] com = new int[3]; int[] user = new int[3]; for(int i = 0;i
Q. for(int i = 0;i
Q. ball++; 하고 ball +=1; 하고 다른 거야? A : ball++;와 ball += 1;은 둘 다 변수 ball의 값을 1 증가시키는데 사용됩니다. ball++은 후위 증가 연산자입니다. 이 연산자는 변수 ball의 값을 1 증가시킨 후, 이전 값 (증가되기 전의 값)을 반환합니다. ball += 1;은 덧셈 대입 연산자입니다. 이 연산자는 변수 ball에 1을 더한 후, 그 결과를 다시 변수 ball에 할당합니다. 따라서 ball += 1;은 ball = ball + 1;과 동일합니다. 즉, 이 두 코드는 동일한 결과를 출력합니다. 다만 ball++은 반환값이 있고 ball += 1;은 반환값이 없다는 점이 차이점입니다. --------- Q. 반환값이 없다는 말이 어떤 뜻이야? A. :..