
for(초기작업 ; true ; 반복 후 작업){ //반복 조건이 true 이면 무한 반복
...
}
for(초기작업 ; ; 반복 후 작업){ //반복조건이 비어있으면 true 로 간주, 무한반복
...
}
//'초기 작업' 과 '반복 후 작업' 은 (,) 로 분리하여, 여러 문장 나열 가능
for(i=0; i<10; i++, System.out.println(i)){
...
}
//for문 내에 변수 선언
for(int i=0; i<10; i++){ //변수 i 는 for 문 내에서만 사용 가능한 지역 변수
...
}
int i = 0;
while(i<10) { //반복 조건이 true 이면 작업문 수행 후 다시 조건문 질의, false 면 반복 종료
System.out.print(i);
i++;
}
i = 0;
do { //무조건 최소 한번을 실행
System.out.print(i);
i++
} while(i<10); //반복 조건이 true 이면 반복, false 이면 반복 종료


//배열에 대한 레퍼런스 변수 선언
int intArray[]; // 배열의 타입 int
char charArray[]; // 배열의 타입 char
//또는
int[] intArray;
char[] charArray;
//------------------//
//배열 생성
intArray = new int[10]; //int 타입의 배열 원소의 개수 10개
charArray = new char[20];
//배열 생성과 동시에 배열 메모리 생성
//10칸짜리 int 공간을 만들어 배열에 대한 참조 변수 intArray 로 관리하겠다
int intArray = new int[10];
char charArray = new char[20];
//------------------//
//배열이 생성되면서 원소의 값이 초기화됨
int intArray[] = {0,1,2,3,4,5,6}; //주의 : intArray 는 레퍼런스(참조)
//잘못된 배열 선언
int intArray[10]; //컴파일 오류, 배열의 크기를 지정하면 안됨.
//< 배열의 원소 접근 >//
int intArray[] = new int[5]; //원소가 5개인 배열 생성, 인덱스는 0~4 까지 가능
intArray[3] = 6; //원소 0 에 6 저장
int n = intArray[3]; //원소 3을 읽어 n 에 저장, n=6
//------------------------------------------//
//< 인덱스의 범위 >//
n = intArray[-2] //실행 오류
//------------------------------------------//
//< 반드시 배열 생성 후 접근 >//
int intArray []; //배열을 관리하는 '참조변수' 만 선언된 상태
intArray[1] = 8; //생성 되지 않은 배열 사용
int intArray[] = new int[5];
int myArray[] = intArray;
// 두개의 참조변수로 원소의 동시에 접근 가능.
intArray[1] = 2;
myArray[1] = 6;
import java.util.Scanner;
public class ArrayLength {
public static void main(String[] args) {
// TODO Auto-generated method stub
int intArray[] = new int[5]; //배열의 선언과 생성
// intArray.length 의 크기는 5
int sum = 0;
Scanner scanner = new Scanner(System.in);
System.out.print("Please enter " + intArray.length + " integers. >>");
for(int i =0; i < intArray.length;i++)
intArray[i] = scanner.nextInt(); //키보드에서 입력 받은 정수 저장
for(int i =0; i < intArray.length;i++)
sum += intArray[i]; //배열에 저장된 정수 값을 더하기
System.out.print("The average is "+(double)sum/intArray.length);
//실수 연산을 위한 double 변환
scanner.close();
}
}
String names[] = {"사과", "배", "바나나", "체리", "딸기", "포도"}
for (String s : names) //반복할 때 마다 s는 names[0], names[1], ... , names[5] 로 설정
System.out.print(s + " "); //반복되는 s 값 출력
enum Week {월, 화, 수, 목, 금, 토, 일}
for(Week day : Week.values()) //반복될 때마다 day 는 월, 화, 수, 목, 금, 토, 일 로 설정
System.out.print(day + "요일");
//2차원 배열 선언
int intArray[][];
char charArray[][];
//또는
int[][] intArray;
char[][] charArray;
//---------------------------------------//
//2차원 배열 생성
intArray = new int[2][5];
charArray = new char[5][5];
//또는
int intArray[][] = new int[2][5];
char charArray[][] = new char[5][5];
//---------------------------------------//
//2차원 배열 선언, 생성, 초기화
int intArray[][] = {{0,1,2}, {3,4,5}, {6,7,8}};
char charArray[][] = {{'a', 'b', 'c'}, {'d', 'e', 'f'}};
//정방형 배열 : 각 행의 열의 개수가 같은 배열
int i[][] = new int[4][4]; //각 행의 열의 개수 모두 4개
i.length: 2차원 배열의 행의 개수로서 4
i[n].length: n 번째 행의 열의 개수
i[0].length: 0 번째 행의 열의 개수 4개i[1].length: 1 번쨰 행의 열의 개수 4개i[2].length: 2 번쨰 행의 열의 개수 4개i[3].length: 3 번쨰 행의 열의 개수 4개
//비정방형 배열 : 각 행의 열의 개수가 다른 배열
int i[][] = new int[4][];
i[0] = new int[1]; //0번쨰 행의 열의 개수는 1개
i[1] = new int[2]; //1번쨰 행의 열의 개수는 2개
i[2] = new int[3]; //2번쨰 행의 열의 개수는 3개
i[3] = new int[4]; //3번쨰 행의 열의 개수는 4개
i.length: 2차원 배열의 행의 개수로서 4
i[n].length: n 번째 행의 열의 개수
i[0].length: 0 번째 행의 열의 개수 1개i[1].length: 1 번쨰 행의 열의 개수 2개i[2].length: 2 번쨰 행의 열의 개수 3개i[3].length: 3 번쨰 행의 열의 개수 4개
public class ReturnArray {
static int[] makeArray() { //int[] (정수형 배열): 리턴 타입 , makeArray : 메소드 이름
int temp[] = new int[4]; //배열 생성
for(int i=0; i<temp.length; i++)
temp[i] = i; //배열의 원소를 0,1,2,3 할당
return temp; //배열 참조 temp 의 해시값 리턴
}
public static void main(String[] args) {
int[] intArray; // 배열 참조 변수만 선언
intArray = makeArray(); //메소드로 부터 배열을 전달 받음, intArray = temp;
for(int i=0; i<intArray.length; i++)
System.out.print(intArray[i] + " ") //배열의 모든 원소 출력
}
}
실행 중 발생한 오류
자바에서 예외 처리 가능
try {
에외가 발생할 가능성이 있는 실행문(try 블록)
}
catch (처리할 예외 타입 선언) {
예외 처리문 (catch 블록)
}
fianlly { //fianlly 는 생략 가능
에외 발생 여부와 상관없이 무조건 실행되는 문장(fianlly 블록)
예외가 발생하지 않은 정상적인 경우는 바로 try 블록으로 넘어옴
}

import java.util.Scanner;
public class DivideByZeroHandling {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scanner = new Scanner(System.in);
while(true) {
System.out.print("Enter the dividend: ");
int dividend = scanner.nextInt(); // 나뉨수 입력
System.out.print("Enter the divisor: ");
int divisor = scanner.nextInt(); // 나눗수 입력
try {
System.out.println("When " + dividend +
" is divided by " + divisor + ", the quotient is " + dividend/divisor + ".");
break; // 정상적인 나누기 완료 후 while 벗어나기
}
catch(ArithmeticException e) { // ArithmeticException 예외 처리 코드
System.out.println("Not divisible by zero! Please enter again.");
}
}
scanner.close();
}
}
AA ref = new AA();
new AA();)을 리턴한다.ref)가 아닌 참조값(해시코드)