7. 입출력
//입력 : Scanner 클래스 사용
Scanner scanner = new Scanner(System.in);
//문자열 입력
System.out.println("문자열을 입력하세요");
String str = scanner.nextLine();
System.out.println("입력한 문자열 : " + str);
//정수 입력
System.out.println("정수을 입력하세요");
int i = scanner.nextInt();
System.out.println("입력한 정수 : " + i);
//실수 입력
System.out.println("실수을 입력하세요");
double d = scanner.nextDouble();
System.out.println("입력한 실수 : " + i);
Scanner.nextInt() 메소드는 가장 마지막 개행문자(\n)를 제거하지 않는다.
때문에 Scanner.nextInt() 사용 후 Scanner.nextLine() 로 문자열 입력받는 경우 중간에 Scanner.nextLine()를 한번 입력해 준다.
8. 배열
데이터 타입 : 기본형 vs 참조형
- 기본형 : 변수에 사용할 값을 직접 넣을 수 있는 데이터 타입 (int, long, double, boolean…)
- 참조형 : 데이터에 접근하기 위한 주소를 저장하는 데이터 타입 (배열, 객체, 클래스, 인터페이스…)
- 실제 값이 저장되지 않고, 자료가 저장된 공간의 주소를 저장 (실제 값은 heap, 주소는 stack에 저장)
배열 리팩토링 - 초기화
// 배열 초기화
int[] student1; // 선언
student1 = new int[]{1,2,3,4,5,6,7}; // 초기화
int[] student2 = {1,2,3,4,5,6,7}; // 간편한 초기화
9.메서드
메서드 정의
public int add(int a, int b){
return 0;
}
제어자 반환타입 메서드이름(매개변수 목록){
retrun 리턴값;
}
메서드 호출
add(10, 30);
메서드이름(인자 목록);
메서드 호출과 값 복사 (중요)
- 자바는 항상 변수의 값을 복사해서 대입한다. (기본형, 참조형 동일함)
- 때문에 메서드 내부에서 파라미터 값을 변경해도(새로 할당해도) 메서드 밖의 호출자에는 영향 주지 않는다.
- 단, 클래스나 배열같은 참조형 변수의 경우 arr[1] = 3; a.value = 3; 처럼 '내부'의 값을 변경하면 호출자의 변수에 반영됨
'TIL' 카테고리의 다른 글
SLOW QUERY 란? 성능 개선은 어떻게 이루어지는지 (0) | 2024.05.03 |
---|---|
함수 명명시 자주 사용되는 동사 표현 정리 (유의어, 반의어) (1) | 2024.05.02 |
JPA 단방향 연관관계, 양방향 연관관계 (1) | 2024.04.28 |
JPA 연관관계 매핑 (0) | 2024.04.27 |
Java 기초 문법 (1) (0) | 2024.02.18 |