

메소드(method)란?
public class Method{
public static void number(){
// number() 메소드 코드 내용 작성 부분
}
public static void main(String[] args){
number();
// number() 메소드 호출해서 number() 메소드 코드 내용을 사용할 수 있음.
}
}
한 번 코딩해 놓으면, 다른 사람에게 공유 가능
메소드를 사용하는 사람은 메소드의 실제 구현 코드 내용을 이해하지 않아도 얼마든지 사용가능.
전체 소스코드 양을 대폭 줄일 수 있고, 중복되는 코드를 제거 가능함.
중복 코드 덩어리를 수정 할 경우 , 전체 코딩 속도 향상 가능.
sum(1,10)이 기계어로 처리되는 과정
sum이라는 이름을 갖은 메소드를 찾음.sum메소드를 호출 후, 메소드에 formal parameter인 startValue에 1을 넣음.endValue에는 10을 넣음.result변수에 메모리 자리를 만들고 메소드 바디에 명령어 실행함.result변수의 값을 sum 메소드를 호출한 곳으로 넘겨줌 -->returnstartValue endValue result변수의 메모리 자리는 삭제됨.public static void main(String[] args) {
System.out.println("1과 10사이의 합" + sum(1,10));
System.out.println("27과 37사이의 합" + sum(27,37));
System.out.println("35과 49사이의 합" + sum(35,49));
}
// 이름이 sum인 메소드 갖음
public static int sum(int startValue, int endValue) {
int result = 0;
for (int i = startValue; i <= endValue; i++) {
result += i;
}
return result;
}
매개변수(parameter)란?
,로 구분하여 한번에 여러개 선언이 가능함.인자(argument)란?
,로 구분하여 한번에 여러개 선언이 가능함.public class Method{
public static void number(int num){
// number() 안에 들어오는 값은 int num;이라는 매개 변수에 들어옴.
System.out.println(num);
}
public static void main(String[] args){
number(5); // number()메소드에 5라는 인자값을 변수에 넣음
}
}
메소드 작성시 주의
return을 사용하지 않고 바로 출력하라고 하면 바르게 실행 됨.return을 사용하여 코드를 작성하면 가변적 메소드와 고정적 메소드를 정확히 구분할 수 있음return이 끝나면, return 값이 메소드 밖으로 반환됨과 동시에 메소드가 종료됨.입력 값을
return으로 반환하기. (실습)
public class Method{
public static String number(int num1, int num2){
// num1 = 1; num2 = 5; 라는 값을 main()으로부터 받음
int i = num1; // int i = 1;
String output;
while (i < num2){ // i < 5
output += i; // 출력되는 숫자를 output에 담음.
i++;
}
return output;
// !!! return을 사용하면 결과값이 메소드 외부로 반환됨.!!!
}
public static void main(String[] args){
String result = number(1,5);
// number()메소드에 1과 5라는 인자값을 순서대로 변수에 넣음
// number()메소드에서 반환 받은 값을 result로 넣어줌.
System.out.println(result); // 반환 받은 입력값 출력
}
}
return 값은 존재하지 않음을 의미함.String 참고 )
https://www.w3schools.com/java/java_ref_string.asp
문자열의 크기 비교
s1과 s2의 문자열을 알파벳 순서로 비교함.
s1.compareTo(s2) 메소드 실행 결과
s1의 문자열 > s2의 문자열 이면, 양수의 값 return
s1의 문자열 < s2의 문자열 이면, 음수의 값 return
s1의 문자열 == s2의 문자열 이면, 0을 return
System.out.println(s1+ "과" +s2+"의 크기 비교 : " + s1.compareTo(s2));
System.out.println("키위와 오렌지의 크기 비교 : " +"kiwi".compareTo("orange"));
.substring(startIndex,endIndex)형식
startIndex 0부터 시작함
endIndex 일부 문자열 가져오기 불포함
endIndex - 1 순서 문자까지 가져옴.startIndex만 있고 endIndex 값이 없으면
startIndex 부터 문자열 끝까지 데이터 가져옴System.out.println(message.substring(0,5));
System.out.println(message.substring(0,7));
System.out.println(message.substring(0,11));
System.out.println(message.substring(2,5));
System.out.println(message.substring(2,7));
System.out.println(message.substring(2,11));
System.out.println(message.substring(0));
System.out.println(message.substring(2));
문자열에서 찾고 싶은 문자열의 시작 index가져오기.
.indexOf('char' "String" startIndex )
startIndex부터 시작하는 문자열이 있으면 Index를 가져옴startIndex가 주어지지 않으면 ,startIndex는 0부터 시작..lastIndexOf() 는 문자열의 끝에서부터 찾기 시작
System.out.println("wellcome to java".indexOf('w'));
System.out.println("wellcome to java".indexOf('o',5));
System.out.println("wellcome to java".indexOf("come"));
System.out.println("wellcome to java".lastIndexOf('w'));System.out.println("wellcome to java".lastIndexOf('o',5));
System.out.println("wellcome to java".lastIndexOf("come"));
.toUpperCase()를 사용하여 원하는 문자열 찾기에 응용 가능System.out.println("wellcome to java".toUpperCase().indexOf("JAVA",5));
문자열 내부에서 특정 문자를 다른 문자로 바꾸기
.replace(oldChat, newChar)형식
oldChar에서 newChar로 바꾸기.String s1 = "apple";
System.out.println(s1.replace('p', 'r'));
같은 이름이지만 다른 매개변수를 같는 경우