본문 바로가기
728x90

자바의정석17

[ch2-14] 화면으로부터 입력 받기 1) import 문: 사용하려는 클래스가 어떤 패키지에 속해있는지 알려주기 위한 것. import문이 필요한 클래스가 있고 필요하지 않은 클래스가 있다 2) Scanner 클래스는 꼭 객체를 생성해야만 사용할 수 있다 System.in - 화면 입력을 의미 Scanner 클래스는 화면 뿐만 아니라 파일로부터도 입력 받을 수 있다 3) 생성한 Scanner 객체를 사용하면 화면으로부터 입력을 받을 수 있다 화면에서 입력한 정수를 변수 num에 저장한 것. 정수가 아니라 실수를 입력할 땐 => Float를 이용 nextLine (메서드): 화면에서 입력한 내용을, 한 행을 읽어서 문자열로 만든 것 그래서, 저장할 때 타입이 String input 이라는 문자열을 숫자(정수)로 변환해서 변수 num에 저장한.. 2023. 1. 27.
[ch6-22] 호출 스택(call stack) 스택에서 넣을 때와 꺼낼 때 스택은 위에 뚫려진 공간으로만 넣거나 뺄 수 있다 메서드가 호출되면 메소드 작업이 필요하게 되고, 메소드가 작업을 수행하는데 필요한 메모리공간이 호출스택에 만들어짐 작업하다가 작업이 종료되면 호출스택에서 메소드가 사용하던 메모리 공간이 제거됨 main 메소드가 println 메소드 호출하면 main 메소드 위에 println 메소드가 올라감 main메소드는 대기상태가 되고, println은 실행상태가 됨 첨에는 main메소드가 실행중이었음 println 메서드가 작업을 마치면 (println 종료) 종료되고, 스택이 사라짐 다시 main 메서드로 돌아와 main 메서드가 실행상태가 됨 아래에 있는 메서드가 위의 메서드를 호출함 맨 위의 메서드 하나만 실행중이고, 나머지는 대기.. 2023. 1. 26.
[ch11-22~24] Iterator, Enumeration, Map과 Iterator 컬렉션에 저장된 데이터를 읽어올 때 사용 핵심은 위에 두 개 동그라미 표시된 것 hasNext: 읽어올게 남아있는 지 확인 Object next: 읽어오기 1) 확인 2) 읽기 더 이상 읽어올 것이 없으면 false로 리턴 Enumeration은 Iterator의 구버전 거의 같다고 봄 Enumeration이 가진 메서드 이름만 다를 뿐 위의 표처럼 하는 일이 같음 true면 다음 요소 읽어옴 false면 반환 Listlterator는 next 뿐만 아니라 previous도 있다 next: 한방향으로만 감 (다음요소만 읽을 수 있음) Listlterator는 양방향 다음요소 + 이전요소 읽어올 수 있음 잘은 안 씀 컬렉션: List / Set / Map 컬렉션들 마다 구조가 다르고 요소를 읽어오는 방법이.. 2023. 1. 25.
[ch6-20,21] return문, 반환 값 printGugudan은 dan을 입력하면 그 dan을 출력해주는 메서드 3단을 출력해주고 싶으면 3을 넣어주면 됨 if 문에 입력한 dan의 값 2단부터 9단 사이가 아니면 (return) 더 이상 작업 진행하지 않고 호출한 곳으로 되돌아간다 원래는 메서드 마지막에 return 써야 함 매번 쓰기 귀찮으니 생략하는 것 근데 return문을 생략할 수 있는 경우는, 반환타입이 void 일 때만 가능 반환타입이 void가 아닌 경우, 반드시 return문이 필요 (return문 생략불가) 그나저나 이 작성문에는 문제가 있어서 에러가 발생함 에러 내용: return문이 없음 if 조건식이 참일 땐, return문이 있고 거짓일 땐, 없는 것 이런식으로 참일 때랑, 거짓일 때 return문이 있도록 작성해야 .. 2023. 1. 24.
[ch6-17~19] 메서드 호출 메서드를 호출해야 괄호 안 문장 실행됨 메서드 이름을 먼저 작성 메서드가 작업하는데 필요한 값을 괄호안에 적어준다 (없을 때는 아무것도 안써도 됨) ex) print99danAll(); 구구단을 출력하는데 딱히 add 메서드의 경우엔 값이 2개 있음 (덧셈 하려면 필요한 값들) 값 두 개 주면 int 값 출력 한다는 뜻 print99danAll 메서드의 반환타입은 void 즉, 출력이 없다는 뜻. 내가 작업을 수행하고 그 결과를 줄 게 없다는 의미 3하고 5가 매개변수의 x와 y에 대입됨 3+5 의 값 8이 int result 에 저장된다 그리고 result 변수가 메서드 수행 결과로 반환된다 (return) 메서드 호출할 때 int result 이 부분이 없어도 된다 뒤에 add(3,5)가 메서드 호출.. 2023. 1. 24.
[ch6-14~16] 메서드란? 메서드의 선언부와 구현부 똑같은 코드 2번 들어가는 것 : 코드의 중복 오른쪽 코드는 배열출력을 별도의 메서드로 만든 것 printArr: 메서드 이름 하나의 작업을 하는 코드를 괄호 안에 집어 넣고 하나로 묶은 후 이름을 붙여준 것이 메서드 printArr(numArr) - 메서드 호출 즉, 메서드 사용하는 것 이 3문장이 1줄로 줄어듦 얘 또한 1줄로 줄어듦 메서드 : 작업 단위로 문장들을 묶어서 이름 붙인 것 메서드가 작업을 할 때 필요한 값을 주고 그 결과를 받을 수도 있다 메서드: 한가지 기능만 수행하도록 작성하는게 좋음 메서드: 선언부, 구현부로 구성 반환타입: 메서드가 작업한 작업결과의 타입을 보는 것 add메서드: 두 개 이상의 입력 값이 필요 입력은 0~n개 가능 출력 값은 0~1개 출력(반환타입): 예시에는 작.. 2023. 1. 23.
728x90