서노썬
sun noes sun
서노썬
전체 방문자
오늘
어제
  • 카테고리 (142)
    • Java (89)
      • Day1 (20)
      • Day2 (16)
      • Day3 (4)
      • Day4 (5)
      • Day5 (2)
      • Day6 (2)
      • Day7 (4)
      • Day8 (6)
      • Day9 (3)
      • Day10 (0)
      • Day11 (0)
      • Day12 (0)
      • Day13 (3)
      • Day14 (0)
      • Day15 (0)
      • Day16 (0)
      • Day19 (0)
      • Day20 (0)
      • Day21 (2)
      • Day22 (4)
      • Day23 (2)
      • Day24 (5)
      • Day25 (4)
      • Day27 (2)
      • Day28 (3)
      • Day29 (1)
      • Day30 (1)
      • Day31 (0)
      • Day32 (0)
      • Dat33 (0)
      • Day34 (0)
      • Day35 (0)
      • Day36 (0)
    • HTML (37)
      • Day36 (20)
      • Day37 (3)
      • Day38 (2)
      • Day39 (8)
      • Day40 (3)
    • SQL (4)
      • Day40 (4)
      • Day41 (0)
      • Day42 (0)
      • Day43 (0)
      • Day44 (0)
      • Day45 (0)
    • JSP (0)
      • Day46 (0)
      • Day75 (0)
    • PYTHON (0)
      • Day75 (0)
      • Day76 (0)
    • Photo (12)

블로그 메뉴

  • 홈
  • 방명록

인기 글

최근 글

태그

  • java데이터타입
  • 자바연산자
  • 자바
  • 논리연산자
  • 자바continue
  • 자바break
  • java메뉴입력
  • Java
  • java자료형
  • 자바자료형

티스토리

hELLO · Designed By 정상우.
서노썬

sun noes sun

Java/Day4

[Java] 사용자 정의 메소드 & 예문

2021. 11. 4. 22:07

1. 사용자 정의 메소드

 

1
2
3
4
5
6
7
8
9
10
11
class Test
{
    public static void main(String[] args)
    {
        hi();
    }
    public static void hi()
    {
        System.out.println("Hi")
    }
}
Colored by Color Scripter
cs

 

(1) void : 반환 값 없음
(2) 매개변수 : parameter

- 사용자 정의 메소드는 메인 메소드의 위, 아래 어디에 있던지 위치는 상관이 없다.


- JVM에 의해서 항상 메인 메소드가 가장 먼저 호출이 되고 실행된다.


- 메인 메소드에서 사용자 정의 메소드를 호출 할 때에는 매개변수의 갯수도 동일하게 주어야 한다.


- 메인 메소드에 의해서 호출된 사용자 정의 메소드는 실행문을 완료한 후 메인 메소드의 지역변수와 사용자 정의 메소드의 매개변수는 소멸되고 return을 만나면 해당 메소드를 호출했던 곳으로 다시 돌아간다.

 

 

2. 사용자 정의 메소드 문제

 

(1)

사칙연산을 각각 메소드로 사칙연산의 결과 값을 리턴한다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
class Test
{
    public static void main(String[] args)
    {
        System.out.println(add(10,2));
        System.out.println(subtract(10,2));
        System.out.println(divide(10,2));
        System.out.println(multiply(10,2));
 
    }
    public static int add(int i, int j)
    {
        return i + j;
    }
    public static int subtract(int i, int j)
    {
        return i - j;        
    }
    public static int divide(int i, int j)
    {
        return i / j;
    }
    public static int multiply(int i, int j)
    {
        return i * j;
    }
}
Colored by Color Scripter
cs

 

- 출력값

12

8

5

20

 

 

(2)

정수값 하나를 넘겨주면 그 정수에 해당하는 구구단을 출력하는 메소드

(예 정수 3을 넘겨주면 3단을 출력). 리턴값 없음

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Test
{
    public static void main(String[] args)
    {
        multiply(2);
    }
    public static void multiply(int num2)
    {
        for(int num1=1; num1<=9; num1++)
        {
            System.out.println(num2 + "*" + num1 + "=" + num2*num1);
        }
    }
}
Colored by Color Scripter
cs

 

- 출력값

2*1=2
2*2=4
2*3=6
2*4=8
2*5=10
2*6=12
2*7=14
2*8=16
2*9=18

 

 

(3)

정수값 두개를 넘겨주면 첫 번째 매개변수 시작단부터 두번째 매개변수 끝단까지 출력하는 메소드
(예 3과 5를 넘겨주면 3단부터 5단까지 출력). 리턴값 없음

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class Test
{
    public static void main(String[] args)
    {
        multiply(3, 5);
        System.out.println();
    }
    public static void multiply(int num1, int num2)
    {
        for(int i=num1; i<=num2; i++)
        {
            for(int j=1; j<=9; j++)
            {
                System.out.println(i + "*" + j + "=" + i*j);
            }
            System.out.println();
        }
    }
}
Colored by Color Scripter
cs

 

- 출력값

3*1=3
3*2=6
3*3=9
3*4=12
3*5=15
3*6=18
3*7=21
3*8=24
3*9=27

4*1=4
4*2=8
4*3=12
4*4=16
4*5=20
4*6=24
4*7=28
4*8=32
4*9=36

5*1=5
5*2=10
5*3=15
5*4=20
5*5=25
5*6=30
5*7=35
5*8=40
5*9=45

 

 

(4)

숫자하나를 넘겨주면 1부터 그 숫자까지 더해서 그 값을 리턴하는 메소드
(예 100을 넘겨주면 1부터 100까지 순차적으로 더해서 그 값을 리턴)

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class Test
{
    public static void main(String[] args)
    {
        System.out.println(add(1, 100));
    }
    public static int add(int num1, int num2)
    {
        int sum=0;
        for(int i=num1; i<=num2; i++)
        {
            sum+=i;
        }
        return sum;
    }
}
Colored by Color Scripter
cs

 

-출력값

5050

 

 

(5)

정수값 두개를 넘겨주면 첫 번째 매개변수가 시작값부터 두 번째 매개 변수가 끝값까지 더해서 리턴
(5와 10을 넘겨주면 5부터 10까지 순차적으로 더해서 그 값을 리턴)

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class Test
{
    public static void main(String[] args)
    {
        System.out.println(add(5, 10));
    }
    public static int add(int num1, int num2)
    {
        int sum=0;
        for(int i=num1; i<=num2; i++)
        {
            sum+=i;
        }
        return sum;
    }
}
Colored by Color Scripter
cs

 

- 출력값

45

 

 

(6)

정수값 하나를 넘겨주면 그 정수값에 대한 팩토리얼 값을 리턴

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class Test
{
    public static void main(String[] args)
    {
        System.out.println(fac(5));
    }
    public static int fac(int num)
    {
        int result=1;
        for(int i=1; i<=num; i++)
        {
            result*=i;
        }
        return result;
    }
}
Colored by Color Scripter
cs

 

- 출력값

120

 

 

(7)

숫자 하나를 넘겨주면 그 숫자가 소수이면 true를 리턴 소수가 아니면 false를 리턴하는 메소드

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class Test
{
    public static void main(String[] args)
    {
        System.out.println(isPrimeNumber(37));
    }
    public static boolean isPrimeNumber(int num)
    {
        if(num<=1) return false;
        else
        {
            for(int i=2; i<num; i++)
            {
                if(num%i==0) return false;
            }
        }
        return true;
    }
}
Colored by Color Scripter
cs

 

- 출력값

true

 

(8)

7번 메소드를 이용하여 1부터 100사이의 모든 소수 출력. 7번메소드는 변경하면 안된다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class Test
{
    public static void main(String[] args)
    {
        for(int i=1; i<=100; i++)
        {
            if(isPrimeNumber(i)) System.out.print(i+"  ");
        }
    }
    public static boolean isPrimeNumber(int num)
    {
        if(num<=1) return false;
        else
        {
            for(int i=2; i<num; i++)
            {
                if(num%i==0) return false;
            }
        }
        return true;
    }
}
Colored by Color Scripter
cs

 

- 출력값

2  3  5  7  11  13  17  19  23  29  31  37  41  43  47  53  59  61  67  71  73  79  83  89  97

'Java > Day4' 카테고리의 다른 글

[Java] 삼항 연산자 & short circuit evaluation  (0) 2021.11.04
[Java] 비트 연산자  (0) 2021.11.04
[Java] 데이터 타입. 자료형에 따른 연산  (0) 2021.11.04
[Java] switch case 구문  (0) 2021.11.03
    'Java/Day4' 카테고리의 다른 글
    • [Java] 삼항 연산자 & short circuit evaluation
    • [Java] 비트 연산자
    • [Java] 데이터 타입. 자료형에 따른 연산
    • [Java] switch case 구문

    티스토리툴바