
Call by Value 예시 package Sample // 어떻게 보면 자바에서는 그냥 통칭하여 call by value라고 할 수도 있음. /* 예시, swap이란 함수를 써서 값을 바꾸기만 했으면 좋겠다. */ public class CallbyExample { static void swap(int a, int b) { int temp = a; a = b; b = temp; System.out.println(a); // 20 출력 System.out.println(b); // 10 출력 } public static void main(String[] args) { int a = 10; int b = 20; swap(a, b); System.out.println(a); // 10 출력 System.o..
정리하자면, 피라미드와 다이아몬드는 일종의 idea가 꽤 필요한 작업이다. 피라미드 public class MakeStar04Sample { public static void main(String[] args) { /* 일단 피라미드를 그리려면 모양을 쪼개서 살펴보자 왼쪽 직각삼각형과 오른쪽 직각삼각형 혹은 가운데를 기준으로 왼쪽과 오른쪽에 하나씩 더 찍어주면, 완성이 된다 뭐 요런 느낌으로다가. */ //4.피라미드 for (int i = 0; i = 0; j--) { // 4 3 2 1 0 if (i < j) { //4 3 2 1 / 4 3 2 /4 3 / 4 System.out.print(" "); } else { //0..

선택 정렬 얘를 오름차순 정렬을 한다고 하면, 절차 1. 지금 내가 찾을 자리를 정한다.(맨 왼쪽을 찾는다고 가정하면) 2. 일단 가장 작은 수를 찾는다.(아무것도 하지 않고) 3. 가장 작은 수인 9를 찾았다. 그렇다면 13과 swap. 9의 위치는 고정 4. 다음 자리의 수인 46을 기준으로 오른쪽에 있는 수 중에서 가장 작은 수를 찾는다. 5. 13을 발견했으면, 대소비교 후 작은 수인 13과 swap 한다. 13의 위치는 고정. 6. 세 번째, 네 번째, 마지막 자릿수까지 동일한 방식으로 비교하고 swap하고 고정한다. . ----------------- 그런데 수업시간에 다룬 코드 첫번째에서는 하나의 기준을 잡고 모든 걸 다 비교하는 코드다. for(int i = 0;i 13이 더 작아서 그대로..
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..
1. for문에 각각이 없는 경우는 무엇인가. for(초기식; 조건식; 증감식){ } 세미콜론은 이를 구분하는 용도로만 사용하기 때문에 증감식 끝에는 세미콜론이 들어가지 않는다고 이해해도 된다. 그래서 for(; ;) 이것도 가능 아무 조건도 주지 않으면 무한히 반복된다. 반복문 초기식 => 반복변수 초기식을 안 써도 되는 경우 : 밖에서 이미 반복변수를 만들어 놨을 때. public class Hello { public static void main(String[] args) { int i = 0; for (; i < 10; i++) { } } } 이렇게 쓸 수 있다. for문에서만 쓰고, 끝나면 죽게 만드는 변수. ----------- 조건이 없으면, 무한반복 키오스크 등. 조건식이 없는 경우: 사용..

Day01-05 관련 질문 * 문자열 더하기 관련 Q. 입력받은 수의 약수를 출력하는 프로그램을 만드세요. ex) 1. 8의 약수는 1, 2, 4, 8 출력예시 > 8의 약수는 1, 2, 4, 8 입니다. ment 3) "5" + "," => "5," 4) "5,"를 다시 ment에 저장 : "5," => ment 예를 들면 이런식으로 출력 public class Test { public static void main(String[] args) { String ment = ""; ment += "1, "; ment += "3, "; ment += "5, "; ment += "7, "; System.out.println(ment); // "1, 3, 5, 7 " 출력됨 } } 또 중요한 문자열의 특징 중 ..
4. 로그인 코드 메서드로 분리 if (id.equals(inputId)) { if (!pw.equals(inputPw)) { System.out.println("비밀번호가 틀립니다."); } else { System.out.println("로그인 되었습니다."); } } else { System.out.println("존재하지 않는 회원입니다."); } 위에 것을 아래 것처럼 분리 import java.util.Scanner; public class Login2_method { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String inputId = sc.next(); String inputPw = sc.n..