728x90

메서드를 만드는 이유는 무엇일까?

 

  • 메서드란 반복되는 코드 블록에 이름을 붙여 놓은 것입니다.
  • 메서드는 반복되는 코드를 줄여주고 좀더 구조화시켜 우리가 코드를 알아보기 쉽게 합니다
  • 객체지향프로그래밍에서 메서드는 '객체가 가져야할 기능을 구현하기 위해 만든다'라고 표현합니다.
  • 메서드의 이름 뒤에는 반드시 소괄호'()' 가 따릅니다.

 

메서드 선언방식 (외우세요!)

<반환 유형> <메서드 식별자 이름> (매개 변수)

 

매서드의 구분, 매개변수

4가지의 유형이 존재합니다.

매개 변수 (parameter)

 

매개 변수는 매서드가 실행될 때 필요한 데이터를 외부로부터 받기 위해 사용됩니다.

매개변수도 일종의 변수이기 때문에 메서드의 소괄호() 부분에 데이터 타입과 함께 선언해야 하며 초기화는 하지 않습니다.

매개변수를 여러개 선언할 수 있으며, 매서드가 외부로 부터 받을 데이터가 없다면 선언하지 않을수도 있습니다.

이때는 반환 유형을 적을때와 같이 때와 같이 void를 쓰지 않고 소괄호() 안을 비워둬야 합니다.

 

반환유형(return type)

 

반환 유형은 메서드가 실행한 후 매서드를 호출한 곳에 반환하는 값의 데이터 타입을 말합니다.

메서드는 반환값이 있을 수도 있고 없을 수도 있는데 없는 경우 반환 유형에 void를 적어줘야합니다.

반환값이 있는 메서드를 호출할 때는 해당 반환 유형에 맞는 변수에 반환값을 저장해야 합니다.

메서드가 실행의 결과값을 반환할 때는 return이라는 키워드 를 사용합니다.

 

Return의 의미

return 문에는 "값의 반환"과 "메서드의 종료" 이라는 두 가지 기능이 담겨있다.

void형 메서드에서 사용되는 return은 메서드의 종료를 의미를 한다.

반환 유형이 있는 메서드에서는 단순 return은 사용할수 없다.

728x90

'lecture' 카테고리의 다른 글

다형성  (0) 2021.12.09
클래스 상속  (0) 2021.12.08
Day 5  (1) 2021.11.30
Day 4 -1  (1) 2021.11.27
Day 4  (0) 2021.11.27
728x90
For 문

while문의 제어변수, 조건, 증감식 을 ()안에 옴겨놓은 형태입니다
- for문은 제어조건을 한꺼번에 지정한다는 점이 다른 반복문과는 다릅니다.
- 따라서 정확한 반복 횟수를 알고 있을 때는 for문이 while문보다 유용합니다.

 

For 문의 기본 문법

for(초기화식; 종결 제어식; 증감 제어식){

//수행부분

}

 for 문의 조건 부분은 세가짖로 나누어 집니다.

1.초기화식

2.종결 제어식

3.증감 제어식

for 문을 이용해서 1부터 10까지 출력하려면 이렇게 하면 됩니다.

 

초기화식에서 i라는 정수 변수를 선언해주고 1을 지정해줍니다.

i가 10보다 작거나 같을동안 반복합니다.

수행부분이 끝나면 i를 1늘려줍니다.

 

for문 의 사용시기

for 문은 while 문ㄱ놔 달리 초기화식이 있고 for 문 안에서만 쓸 수 있는 변수를 만들수 있습니다. 이러한 장점 때문에 for문은,

1.반복의 인덱스가 필요한경우

2.반복의 최대횟수가 정해진 경우

3.갯수가 정해진 데이터셋(배열,리스트 등)의 내용을 하나씩 봐야할 경우

에 주롤 사용합니다.

 

while문 또한 작성된 내용을 for문으로, for 문으로 작성된 내용응ㄹ while 문으로 작성할수 있지만 더 자주 쓰이는, 더 직관적이고 편한경우들이 있을수있다.

 

 


 

 

 

향상된 for문

-향상된 for루프를 사용하면 배열 및 컬렉션에 들어있는 모든 원소들에 대한 반복 작업을 매우 쉽게 처리할수있다.

       기본 형태

for(배열값을 담을 변수 : 배열명){

//반복영역

}

예시)

탈출문

탈출문은 프로그램의 실행 순서를 지정된 곳으로 이동시키는 문장으로 반복문 또는 블록구조에서 빠져 나올때 사용합니다.

 

탈출문 3가지

  • break
  • continue
  • return

 

 

탈출문 break


반복문 내 break를 만나면 반복문을 곧바로 빠져나옵니다.

중첩 반복문의 경우에 내부 반복문에서 break가 사용되었을 경우 그 break문이 속한 내부 반복문만 빠져 나오게 됩니다.

중첩 반복문에서 바깥쪽 반복문까지 종료시키려면 바깥쪽 반복문에 이름을 붙이고 break이름 을 사용하면 됩니다.

예제입니다.

 

 

예제2.

스캐너를 이용하여 정답을 설정후 맞추는 코딩입니다.

"4x6"에 답을 구할경우 정답입니다라는 입력과 함께 break를 넣음으로써 더이상 실행하지 않고 종료가 됩니다. 그리고 오답횟수 또한 표시가 되어 답이 나옵니다.

 

정답이 아닐경우 "정답이 아닙니다"가 출력되며 다시 답을 적도록 실행하고 오답횟수도 count로 더하여 얼마나 틀렸는지 횟수가 표시되어 나옵니다.

업다운 게임을 break를 사용하면 만들어봤습니다.

while 문과 if문을 사용하여 예제를 만들었습니다.

728x90

'lecture' 카테고리의 다른 글

클래스 상속  (0) 2021.12.08
Day5 - Method  (0) 2021.12.05
Day 4 -1  (1) 2021.11.27
Day 4  (0) 2021.11.27
Day 3-1 스캐너(Scanner)  (0) 2021.11.25
728x90

조건문 (if문)

if문은 프로그램의 흐름을 바꾸는데 사용되는 조건 선택분기문입니다.

if문의 조건식 결과는 반드시 boolean형이어야되며, 조건식이 참이면 if문 블록안의 실행문이 실행되거, 거짓이면

else문 블록안의 실행문이 실행됩니다.

if문장은 else문장 없이 사용할수 있습니다. 그러나 else문장은 if문장 없이 단독으로 사용할 수 없습니다.

조건식의 결과가 거짓일 때 실행할 문장이 없다면, else 문 이하를 생략해도 됩니다.

기본적인 구조와 예제입니다.

 

 

다중 분기 조건문 if ~elseif ~else

여러 조건들을 설정할 때 사용하는 조건문입니다.

 

 

if ~else if 구문은 위에서부터 차례대로 조건을 검색하면서 내려오므로 저건식 설정에 주의를 해야합니다.

조건문의 기본 구조입니다. 조건 부분 1이 true이면 수행 부분 1이 실행되고

수행부분 2 ~ 수행 부분 4는 실행되지 않습니다.

조건 부분 1이 false이면 수행 부분 1은 건너 뛰고 조건 부분 2를 확인하고

조건 부분 2가 true 이면 수행 부분 2가 수행되고 조건문이 끝나게됩니다.

조건 부분 1 ~ 조건 부분 3모두 false이면 수행 부분 4가 실행됩니다. 

그래서 문제를 만들때는 대부분 조건부분 1에서 true를 많이 사용합니다.

 

 

조건문 swtich ~ case

복합 if문은 구현하기 복잡하고 프로그램의 효율성이 감소되는 단점이 있기때문에 다중 분기 문제를 해결할 대는 switch 문을 주로 씁니다.

swtich문은 다중 분기 구조이므로 복합 if 문의 논리적인 구조를 간결하게 표현할 수있습니다.

if문과는 달리 조건식이 사용되지 않고, 값을 가지는 변수 또는 표현 식이 판단조건으로 사용되며, 연산 결과의 데이터 타입은 int string Enum(열거형)이 사용됩니다.

 

case 문 뒤에 사용되는 값은 변수를 사용할 수 없고, 반드시 상수를 사용해야합니다.

swtich~ case 문에서 default 는 if ~ else 에서 else와 비슷한 효과를 가집니다.

기본 예제입니다. 이런식으로 switch 문에서는 좀더 편리하고 쉽게 사용할수있습니다.

while문



while문은 조건식을 만족하는 동안 반복문을 실행하는데, 조건식을 검사해서 조건식이 참이면 실행문을 반복하고, 거짓이면 while문을 빠져나옵니다.

while문에 들어가는 조건식도 if문과 마찬가지로 반드시 boolean타입으로 결과를 반환해야 합니다.

조건식 안에 true를 넣으면 무한루프가 발생하기 때문에 반드시 탈출구문을 넣어야 합니다.

 

728x90

'lecture' 카테고리의 다른 글

Day5 - Method  (0) 2021.12.05
Day 5  (1) 2021.11.30
Day 4  (0) 2021.11.27
Day 3-1 스캐너(Scanner)  (0) 2021.11.25
Day 3 - 연산자  (1) 2021.11.25
728x90
배열문(Array)





 

배열은 같은 데이터 유형 변수를 여러개 선언해야 하는 불편함을 줄이기 위해 사용한다.
자바에서는 배열도 일종의 데이터 타입으로 취급할수있기 때문에 배열을 정의하는 대괄호"[]"가 배열 변수명 앞에 오는것이 가능합니다.

배열의 구조
배열 선언: <데이터 타입><배열 이름> or <데이터 타입[]><배열이름>
                             

Int[] arr;


배열 생성: <배열이름> = new<데이터타입[배열의크기]>

                                                                        arr = new int[크기] 



-자바의 배열은 선언시에는 크기를 명시할 수 없으며, 생성에 크기를 명시한다.

-배열은 기본데이터 타입이나 객체참조 데이터 타입 또는 다른 배열이 순차적인 집합체라고 할수있습니다.

-하나의 배열에 여러가지 데이터형을 혼합해서 사용할 수 없습니다. 이런 배열의 특징을 동종모음(/homogeneous collection)이라고 합니다.

-배열은 선언, 생성, 초기화의 과정을 통하여 만들어집니다.

 

선언시에는 배열에 들어갈 데이터 타입을 결정하고, 생성 시 만들 배열의 크기를 결정합니다. 그리고 초기화 과정을 통하여 배열에 들어갈 값을 입력해줍니다.

-배열의 길이란 배열에 저장할 수있는 전체 항목수를 말하는데 코드에서는 배열의 길이를 얻으려면 를 사용합니다.

 

 

위에 값들에 대한 답입니다.


배열을 사용할때는 초기값을 바꿀수있습니다.


배열의 3번째 상자값 200을 나중에는 배열의 3번째 상자값이 50으로 바꿀수있습니다.

 

728x90

'lecture' 카테고리의 다른 글

Day 5  (1) 2021.11.30
Day 4 -1  (1) 2021.11.27
Day 3-1 스캐너(Scanner)  (0) 2021.11.25
Day 3 - 연산자  (1) 2021.11.25
Day 2  (0) 2021.11.25
728x90

Scanner API  사용법

1. 스캐너 객체 생성

 

 

 

 

 

 

 

 

 

 

ex) Scanner scan = new Scanner(system.in) 

 

2. 입력받을 데이터타압에 따른 메서드 호출.

 

ex) scan.next(), scan.nextLine(), scan.nextInt(), scan.nextDouble() 등

- next(): 공백을 포함하지 않는 문자열을 입력 받을 때
- nextLine(): 공백을 포함한 문자열을 입력 받을 때
- nextInt(): 정수를 입력 받을 때
- nextDouble(): 실수를 입력 받을 때

 

 

 

 

 

 

 

 

 

 

 

Ctrl + f11을 눌렀을때 값을 직접 적을수있다

 

색있는 글씨가 내가 직접 적은글입니다.

 

 

3.스캐너 객체 종료

scan.close(); - 더이상의 스캐너 사용이 필료없을때 자원 해제

728x90

'lecture' 카테고리의 다른 글

Day 5  (1) 2021.11.30
Day 4 -1  (1) 2021.11.27
Day 4  (0) 2021.11.27
Day 3 - 연산자  (1) 2021.11.25
Day 2  (0) 2021.11.25

+ Recent posts