while 실행 전에 무조건 do 문이 한 번 실행됨.break : while 문 종료continue : 다음 라인을 실행하지 않고 while 조건으로 돌아감int < long < doubledouble doubleValue = 1.5;
int intValue = 1;
// 자동 형변환 (문제 없음)
doubleValue = intValue;
// 명시적 형변환 필요
// 범위를 초과한 값은 손실됨 (intValue = 1이 됨)
intValue = (int) doubleValue;
int intValue = (int) 2147483648L; // int형 최대값은 2147483647
System.out.println(intValue); // 출력: -2147483648
오버플로우는 오류이므로 결과 분석이 불가능함!
int / long → long 타입으로 변환됨System.out.print vs System.out.printlnSystem.out.print("text") : 다음 문장이 바로 이어서 출력됨.System.out.println("text") : 개행 후 다음 줄에 출력됨.print("text\n") == println("text")System.in을 사용하여 콘솔에서 입력을 받을 수 있음.import java.util.Scanner;
public class ScannerExample {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("문자열을 입력하세요: ");
String str = scanner.nextLine();
System.out.println("입력한 문자열: " + str);
}
}
Scanner 주요 메서드nextLine() → 문자열 입력nextInt() → 정수 입력nextDouble() → 실수 입력equals() 메서드 사용!"hello".equals("hello"); // true
기존 코드의 기능은 유지하면서, 내부 구조를 개선하여 가독성을 높이고 유지보수를 용이하게 하는 과정.
int[] intArr;
intArr = new int[5]; // 배열 선언 후 생성
int[] intArr = new int[5]; // 배열 선언 + 생성
int[] intArr = new int[]{1,2,3,4,5}; // 배열 선언 + 초기화 (길이 생략)
int[] intArr = {1,2,3,4,5}; // 배열 선언 + 초기화 (생략 가능)
주의!
int[] intArr; intArr = {1,2,3,4,5}; // 오류 발생! 배열 선언과 동시에 초기화해야 함.
// 2차원 배열 선언
int[][] intArr = new int[2][3];
// 2차원 배열 생성과 초기화
int[][] arr = new int[][]{
{1,2,3},
{4,5,6}
};
// 2차원 배열 생성과 초기화 (생략 가능)
int[][] arr = {
{1,2,3},
{4,5,6}
};
// 행과 열 길이 구하기
int row = arr.length; // 행 길이
int column = arr[0].length; // 열 길이
for 문 (for-each 문)배열을 처음부터 끝까지 탐색하는
for문.
for 문 vs 향상된 for 문// 일반 for문
for (int i = 0; i < numbers.length; i++) {
int number = numbers[i];
System.out.println(number);
}
// 향상된 for문
for (int number : numbers) {
System.out.println(number);
}
for-each 문을 사용할 수 없는 경우index 값이 필요한 경우 for-each 문을 사용할 수 없음.for-each 문은 배열의 값(value) 만 가져올 수 있고, 인덱스(index)는 접근 불가!