
1. 리턴값은 다른 메서드가 main 메서드에게 주는 값이다 -> 좀 더 정확하게는 호출 당한 메서드가 호출한 메서드에게 주는 값이다. public class _01 { static int addTwoNumbers(int a, int b) { return a+b; } public static void main(String[] args) { int sum = addTwoNumbers(100,200); System.out.println(addTwoNumbers(100,200)); } } 이런 경우는 main 에게 준다고 할 수 있지만, public class _01 { static int addTwoNumbers(int a, int b) { return a+b; } static void hello() { a..

이 모양이 나오도록 2차원 배열 활용하기 풀이 IDEA * 열이 증가하고 -> 행이 증가하고 / 또는, 열이 감소하고 -> 행이 감소하고 ... => 이 논리가 한 세트가 될 수 있다. * 이 두 개가 하나의 쌍으로 동작한다. * 한 번 반복 할 때마다 방향이 바뀌어야 한다. ** 방향 바꾸는 가장 간편한 방법이 switch를 이용하는 것! (변수 선언해서 활용하는 방법이겠지.) *** 이 sw는 부호를 바꾸는 역할만 수행하면 된다. 즉 열이 증가하고 -> 행이 증가하고 // 스위치 // 열이 감소하고 -> 행이 감소하고 이 로직. 반복 횟수를 나타내는 변수 k도 선언해서, k--;를 반복이 끝날 때마다 해주고, k==0 이 되면 break. 그런데 이 세트가 왜 가운데에 있는가? 열과 행이 하나의 세트..

수업시간에 다룬 예제 첫번째 코드 for(int i = 0;i 2번째 반복 완료 후 a[0] : 6 / a[1] : 8 / a[2] : 2 / a[3] : 4 / a[4] : 5 i = 2일 때 j = 0 이면 2 / 6 이므로 swap / 2 8 6 4 5 j = 1 이면 6 / 8 이므로 swap / 2 6 8 4 5 j = 2 이면 8 / 8 이므로 그대로 j = 3 이면 8 / 4 이므로 그대로 j = 4 이면 8 / 5 이므로 그대로 => 3번째 반복 완료 후 a[0] : 2 / a[1] : 6 / a[2] : 8 / a[3] : 4 / a[4] : 5 i = 3일 때 j = 0 이면 4 / 2 이므로 그대로 j = 1 이면 4 / 6 이므로 swap / 2 4 8 6 5 j = 2 이면 6 /..
1. Call by Value 값에 의한 호출이라고도 하며, 함수 호출 시 인자로 값을 전달한다. 함수 내부에서 인자 값이 변경되어도 호출한 쪽에는 영향을 주지 않는다.. 호출한 쪽에서 전달한 값의 복사본이 함수 내부에서 사용되기 때문이다. 2. Call by Reference 참조에 의한 호출이라고도 하며, 함수 호출 시 인자로 변수의 주소를 전달한다. 함수 내부에서 인자 값이 변경되면 호출한 쪽에서도 그 변경된 값이 반영된다. 호출한 쪽에서 전달한 변수의 주소가 함수 내부에서 사용되기 때문이다. Call by Value 예시코드 Void abc(int a){ a = 10; } public static void main(String[] args) { int a = 5; abc(a); System.out..

이 코드는 다음과 같은 실행 순서와 출력 값을 가지게 됩니다: Main() 함수가 호출되어 a() 함수가 실행됩니다. a() 함수 내부에서 b() 함수가 호출되어 실행됩니다. b() 함수 내부에서 c() 함수가 호출되어 실행됩니다. c() 함수 내부에서 d() 함수가 호출되어 실행됩니다. d() 함수 내부에서 e() 함수가 호출되어 실행됩니다. e() 함수에서는 문자열 "E"가 출력됩니다. d() 함수로 돌아와서 "D"가 출력됩니다. c() 함수로 돌아와서 "C"가 출력됩니다. b() 함수로 돌아와서 k() 함수가 호출되어 실행됩니다. k() 함수 내부에서는 문자열 "A"가 출력됩니다. b() 함수에서는 문자열 "B"가 출력됩니다. a() 함수로 돌아와서 k() 함수가 호출되어 실행됩니다. k() 함수 ..
package Day11; import java.util.Scanner; public class Q4 { static int a = 0; static int b = 0; static double a1 = 0; static double b1 = 0; static String operator; static int add(int a, int b) { return a+b; } static int multiple() { return a*b; } static void substract(int a, int b) { System.out.println(a-b); } static void divide() { if (b == 0) { System.out.println("0으로 나눌 수 없습니다."); } else { Sys..
메서드의 입력값과 리턴값 메서드는 들어온 입력값을 가지고 어떤 처리를 하여 적절한 리턴값을 돌려주는 블랙박스와 같다. 입력값 ---> 메서드(블랙박스) ----> 리턴값 메서드의 구조 자바의 메서드 구조는 아래와 같다. 리턴자료형 메서드명(입력자료형1 매개변수1, 입력자료형2 매개변수2, ...) { ... return 리턴값; // 리턴자료형이 void 인 경우에는 return 문이 필요없다. } 리턴자료형은 메서드 수행 후 돌려줄 값의 자료형을 의미한다. 메서드의 리턴값은 return 이라는 명령을 사용한다. 메서드는 입출력 유무에 따라 다음과 같이 4가지로 분류할 수 있다. 입력과 출력이 모두 있는 메서드 입력과 출력이 모두 없는 메서드 입력은 없고 출력은 있는 메서드 입력은 있고 출력은 없는 메서..
다른 프로그래밍 언어에는 함수라는 것이 별도로 존재한다. 하지만 자바는 클래스를 떠나 존재하는 것은 있을 수 없기 때문에 자바의 함수는 따로 존재하지 않고 클래스 내에 존재한다. 메소드란? 자바는 이러한 클래스 내의 함수를 메서드라고 부른다. 믹서기 비유 * 믹서기에 과일을 넣는다. * 그리고 믹서를 이용해서 과일을 갈아서 과일 쥬스를 만들어 낸다. * 우리가 믹서기에 넣는 과일은 입력이 되고 과일 쥬스는 그 출력(리턴값)이 된다. 입력을 가지고 어떤 일을 수행한 다음에 결과물을 내어놓는 것 메소드 사용 이유 가끔 프로그래밍을 하다 보면 똑같은 내용을 자신이 반복해서 적고 있는 것을 발견할 때가 있다. 이 때가 바로 메서드가 필요한 때이다. 여러 번 반복해서 사용된다는 것은 언제고 또다시 사용할 만한 가..