Chap03 자바 기본 구조 3.1 자바 응용 프로그램 분석 3.2 프로그래밍 오류(Error)

Slides:



Advertisements
Similar presentations
3. 메소드와 변수 SCJP 자격증 프로젝트 발표자 : 최선웅. 1. 메 소 드 개 념 2. 메 소 드 양 식 3. 메 소 드 변 수 4. 메 소 드 예 제 5. 참 고 문 헌 / 자 료 목 차.
Advertisements

Ⅰ. 연산자 Ⅱ. 제어 구조. 연산자 : 할당 연산자 - 사용자가 정의한 변수에 임의의 값을 저장하는 기능 strvar = strVar1+ “ Hello ”
Python Ch.06 RaspberryPi Sejin Oh. Raspberry Pi Python  IDLE(Integrated Development Environment)  라즈베리 파이 배포본들은 일반적으로 파이썬과 파이썬 3 의 IDLE 파 이썬 개발 도구를.
Chapter 12. 배열. 배열  동일한 항목들이 동일한 크기로 연속적으로 메모리에 저장되는 구조  동일한 자료 유형이 여러 개 필요한 경우에 이용할 수 있는 자료 구조.
6 장. printf 와 scanf 함수에 대한 고찰 printf 함수 이야기 printf 는 문자열을 출력하는 함수이다. – 예제 printf1.c 참조 printf 는 특수 문자 출력이 가능하다. 특수 문자의 미 \a 경고음 소리 발생 \b 백스페이스 (backspace)
1 08 배열. 한국대학교 객체지향연구소 2 C 로 배우는 프로그래밍 기초 2 nd Edition 배열  동일한 자료유형의 여러 변수를 일괄 선언  연속적인 항목들이 동일한 크기로 메모리에 저장되는 구조  동일한 자료 유형이 여러 개 필요한 경우에 이용할 수 있는.
1. 2 차원 배열  배열은 동일한 데이터 유형으로 여러 개의 변수를 사용할 경우 같은 이 름으로 지정하여 간편하게 사용할 수 있도록 하는 것으로서 앞에서 1 차원 배열을 공부하였습니다.  2 차원 배열은 바둑판을 생각하면 되며, 1 차원 배열에서 사용하는 첨자를 2.
Part 03 상수, 변수, 자료형 ©우균, 창병모 © 우균, 창병모.
제 4장 문 장 배정문 혼합문 제어문 표준 입출력.
4장 자바 기본 구조 4.1 자바 응용 프로그램 분석 4.2 자바 애플릿 프로그램 분석
Chapter 7. 조건문.
제 9 장 구조체와 공용체.
Lesson 3. 입출력과 제어문.
3장. 변수와 연산자. 3장. 변수와 연산자 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, / 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, /
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 12. 포인터의 이해.
Lesson 5. 레퍼런스 데이터형.
제 6장. 생성자와 소멸자 학기 프로그래밍언어및실습 (C++).
Chapter 04 C 연산자의 이해.
4.1 자바 응용 프로그램 분석 4.2 식별자(identifier)와 예약어 4.3 변수와 자료형
8.1 인터페이스 개요와 인터페이스 정의 8.2 인터페이스의 사용 8.3 인터페이스의 상속 8.4 인터페이스 참조
Lesson 9. 예외처리.
Lesson 6. 형변환.
5장. 참조 타입.
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
3장 자바의 기본문법(2).
Java 기초 (Java 프로그램의 기본 구조)
14장. 포인터와 함수에 대한 이해.
10장. 예외처리.
C#.
13. 연산자 오버로딩.
3. while문 반복문의 종류 while 문 while( 조건식 )        문장;.
Method & library.
JA A V W. 03.
어서와 C언어는 처음이지 제14장.
Lesson 4. 수식과 연산자.
3장 상수 변수 기본 자료형 키워드와 식별자 상수와 변수 기본 자료형 형변환 자료형의 재정의.
3장. 변수와 연산자 교안 : 전자정보통신 홈페이지 / 커뮤니티/ 학술세미나
Lesson 2. 기본 데이터형.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
연산자 (Operator).
에어 조건문.
2장. 변수와 타입.
컴퓨터 프로그래밍 기초 - 5th : 조건문(if, else if, else, switch-case) -
자바 5.0 프로그래밍.
김선균 컴퓨터 프로그래밍 기초 - 7th : 함수 - 김선균
Chapter 02. 자바 기본 문법.
8주차: Strings, Arrays and Pointers
5장 선택제어문 if 선택문 switch-case 선택문 다양한 프로그램 작성 조건 연산자.
17장. 제어문과 내장 함수 제어문 내장 함수 제어문 내장 함수.
Choi Seong Yun 컴퓨터 프로그래밍 기초 #03 : 변수와 자료형 Choi Seong Yun
Java 3장. 자바의 기본 구조 I : 변수, 자료형, 연산자 public class SumTest {
[ 단원 04 ] 반복과 배열.
2부 기본 구조 2부에서는 자바 언어의 기본구조인 변수, 자료형, 연산자, 선택 및 반복논리, 배열 등에 관해 설명합니다
Chapter08 JavaScript 시작하기
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
클래스 : 기능 CHAPTER 7 Section 1 생성자(Constructor)
Homework #12 (1/2) 프로그램을 작성하고, 프로그램과 실행 결과를 프린트하여 제출한다.
Lecture 02 프로그램 구조 및 문법 Kwang-Man Ko
7주차: Functions and Arrays
Chapter 10 데이터 검색1.
16장. 변수, 연산자, 사용자 정의 함수 변수 배열과 객체 연산자 함수.
8장 선택 논리 II 1. 논리연산자 1.1 논리연산자 : AND (&&) 1.2 논리연산자 : OR (||)
실습과제 (변수와 자료형, ) 1. 다음 작업 (가), (나), (다)를 수행하는 프로그램 작성
2.가상머신의 탐험 도구, Oolong에 대하여 ps lab 김윤경.
어서와 C언어는 처음이지 제21장.
제 3장 연 산 자 연 산 자 의 종 류 연 산 자 우 선 순 위 형 변 환.
6 객체.
3장 자바의 기본문법(2).
Presentation transcript:

Chap03 자바 기본 구조 3.1 자바 응용 프로그램 분석 3.2 프로그래밍 오류(Error) 3.3 식별자(Identifier)와 예약어 3.4 변수와 자료형 3.5 형 변환(Casting) 3.6 연산자와 수식 3.7 문자열(String) 3.8 선택문 3.9 반복문 3.10 제어의 이동 3.11 배열

3.1 자바 응용 프로그램 분석 자바의 주석 /*주석*/ //주석 /**주석*/ /*에서 */ 까지의 모든 것을 무시한다 //에서부터 그 줄의 끝까지를 무시한다 /**주석*/ /**에서 */까지의 모든 것을 무시한다. 이 주석은 javadoc에 의해 생성되는 HTML 파일에서 사용된다

3.1 자바 응용 프로그램 분석 클래스의 정의 /** 다음 프로그램(ExamTest.java)은 두개의 클래스로 구성된다 */ class Exam { // 클래스 Exam의 정의 int c; public int add(int a, int b) { c = a + b; return c; } } class ExamTest { /* Exam 클래스의 객체를 생성하여 사용한다 객체로부터 반환된 결과를 인쇄한다 */ public static void main(String args[]) { int sum; int x, y; x = Integer.parseInt(args[0]); y = Integer.parseInt(args[1]); // 명령행 인자로부터 데이터를 받아 정수로 변환하여 저장 Exam examobject = new Exam(); sum = examobject.add(x,y); System.out.println("입력한 값의 합은 " + sum + "입니다"); 클래스의정의

3.1 자바 응용 프로그램 분석 main() 메소드 public static void main(String args[]) { …… } main() 메소드는 자바 응용 프로그램에 반드시 있어야 하는 특수한 메소드 프로그램의 실행 시 자동으로 실행되는 메소드 C나 C++ 언어의 main() 함수와 같은 역할 일반적으로 자바 응용 프로그램은 main() 메소드 내에서 다른 클래스의 객체를 생성한 다음 그 객체에 메시지를 보내어 원하는 결과를 얻는다.

3.1 자바 응용 프로그램 분석 main() 메소드의 매개변수 args[] main() 메소드는 문자열의 배열을 매개변수(argument)로 받는다 프로그램 실행시 필요한 정보를 전달. 이러한 매개변수를 명령행 매개변수(command-line argument)라 한다. 명령행 매개변수들은 입력된 순서에 따라 배열에 저장된다 예제에서는 args[]에 저장된 데이터를 숫자로 사용하기 위해 Integer 클래스의 parseInt() 메소드를 사용하여 변환 x = Integer.parseInt(args[0]); y = Integer.parseInt(args[1]); 예제 프로그램을 다음과 같이 실행 >java ExamTest 20 40 입력한 값의 합은 60입니다 args[0] args[1]

3.1 자바 응용 프로그램 분석 객체의 생성과 메시지 전달 예제 프로그램에서 main() 메소드는 Exam 클래스로부터 객체 examobject를 생성 명령행 인자로 입력된 x, y 값을 매개변수로 하여 examobject 객체의 add() 메소드를 수행하라는 메시지를 보낸다 Exam 클래스의 add() 메소드는 매개변수로 받은 두 개의 수를 더하여 결과를 반환하고, 반환된 값은 sum 변수에 저장된다. Exam examobject = new Exam(); sum = examobject.add(x,y);

3.1 자바 응용 프로그램 분석 System.out.println("입력한 값의 합은 " + sum + " 입니다"); 표준 출력의 사용 자바의 입출력은 다양한 종류의 하드웨어 장치들과 무관하게 설계(14장) 표준 출력을 위해 System 클래스와 out 객체, println() 메소드를 이용 println() 메소드는 문자열을 매개변수로 받아 화면에 출력하는 역할을 한다. 예제의 매개변수에 사용된 정수형 변수 sum의 값은 문자열로 자동 변환되어 출력된다 System.out.println("입력한 값의 합은 " + sum + " 입니다"); 클래스 이름 객체의 이름 메소드 이름 메소드의 매개변수

3.2 프로그래밍 오류(Error) 구문 오류(컴파일 오류) 1 public class Test { 2    public static void main(String args[]) { 3      i = 30 ; 4      System.out.println( i ) 5   } 6  }

3.2 프로그래밍 오류(Error) 실행시간 오류(Runtime Error) 1 public class TestError { 2    public static void main(String args[]) { 3      int i = 3 / 0 ; 4      int j = 5 / 0 ; 5    } 6  }

3.2 프로그래밍 오류(Error) 논리 오류(Logic Error) 이 프로그램은 컴파일과 실행 시 오류가 발생되지 않는다. public class TestLogicError {   public static void main(String args[]) {     int i = 300 ;     int j = 500 ;     j += i + j ;     System.out.println("합계는 = " + j) ;   } } 이 프로그램은 컴파일과 실행 시 오류가 발생되지 않는다. 이 프로그램을 작성한 작성자의 의도는 두수를 더하여 결과 800을 얻고자 시도 하였지만 결과는 1300이 출력된다. 이와 같은 논리 오류는 프로그램 작성자에 의해 발견되어야 한다

3.3 식별자(Identifier)와 예약어 식별자 : 변수, 상수, 메소드, 배열, 문자열, 사용자가 정의하는 클래 스나 메소드 등을 구분할 수 있는 이름 식별자 사용 원칙 식별자는 문자, 숫자, 특수문자(_, $)로 구성될 수 있다 식별자의 첫 문자는 문자나 특수문자로 시작할 수 있다. 숫자는 사용할 수 없다 예약어를 식별자로 사용할 수 없다 true, false, null은 식별자로 사용할 수 없다 식별자는 길이에 제한을 두지 않는다 같은 문자의 대소문자(Sum과 sum)는 서로 다른 식별자로 취급한다 식별자의 사용 관례 클래스 이름은 대문자로 시작 메소드, 변수, 배열, 문자열 등의 이름은 소문자로 시작 자바의 예약어 : 50개 (표3-1 참조)

3.4 변수와 자료형 변수(variable) 자료형(Data Type) 값(value)이 저장된 메모리의 위치에 주어진 이름 자바는 변수를 사용하기 전에 반드시 선언하여야 한다 자료형(Data Type) 기본 자료형(primitive type) 정수, 실수, 문자, 논리값 등과 같은 8가지의 기본 자료형 기본 자료형 변수는 값을 가진다 매개변수 전달 : call by value 참조 자료형(reference type) 배열, 문자열, 클래스, 인터페이스 등과 같은 자료형 객체에 대한 참조 즉 주소를 가지고 있다 매개변수 전달 : call by value

16비트 유니코드(Unicode) 문자 데이터 3.4 변수와 자료형 자바의 기본 자료형 기본 자료형의 크기와 범위 : 표 3-3 참조 타입 설명 키워드 character 16비트 유니코드(Unicode) 문자 데이터 char boolean 참/거짓 값 byte 부호를 가진 8비트 정수 short 부호를 가진 16비트 정수 integer 부호를 가진 32비트 정수 int long 부호를 가진 64비트 정수 float 부호를 가진 32비트 부동소수점 double 부호를 가진 64비트 부동소수점

3.4 변수와 자료형 3.4.1 숫자 자료형(Numeric Data Type) 기본 자료형 중에 6종의 숫자 자료형 제공 byte, short, int, long, float, double

3.4 변수와 자료형 3.4.2 문자 자료형(Character Data Type) 자바의 문자 코드 유니코드 16비트 유니코드(Unicode) 사용 유니코드 세계의 다양한 언어들을 지원하기 위해 설계된 문자코드 체계 현재 34168개의 글자들을 코드화 하고 있으며 최대 65536개의 글자들을 코드화 할 수 있다 유니코드는 기존의 ASCII 코드 문자 집합을 포함 www.unicode.org 사이트 참조 문자 자료형의 사용 char grade1 = ‘A’; char grade2 = ‘\u0041’; // ‘A’와 같은 의미의 유니코드 char years = ‘2’;

3.4 변수와 자료형 자바의 특수 문자와 유니코드 3.4.3 이진 자료형(Boolean Data Type) 참 또는 거짓을 가지는 자료형 특수문자 표기방법 유니코드 Backspace \b \u0008 Tab \t \u0009 Linefeed \n \u000A Formfeed \f \u000C Carriage Return \r Backslash \\ \u005C Single Quote \’ \u0027 Double Quote \” \u0022

3.4 변수와 자료형 예제 : IntLiteral.java 예제 : DatatypeTest.java 예제 : DoubleFloat.java 예제 : CharacterBoolean.java

3.5 형변환(Casting) 형 변환은 치역(traget type)에 정의역(source type)의 값을 배정할 때 발생 확대(widening)변환 치역(traget type)이 정의역(source type)보다 더 넓어 값의 손실이 발생 되지 않고 저장. 예 : 8비트의 바이트 값을 32비트의 정수형으로 변환하는 경우 축소(narrowing)변환 명시적은 형변환 구문을 사용해야 한다 치역(traget type)이 정의역(source type)보다 좁아 값을 저장할 수 없는 경우. 예 : 32비트의 정수형 값을 8비트의 바이트 형으로 변환하면 정보의 손실이 발생

3.5 형변환(Casting) 축소 변환을 위해서는 명시적인 형변환 구문 사용 형변환의 예 : 정수값을 바이트 값으로 형변환 예제 : ConversionDemo.java 예제 : CastCharacter.java (target-type) value int a; byte b; ..... b = (byte) a;

3.6 연산자와 수식 연산자의 유형 단항연산자 이항 연산자 삼항 연산자 operator op op operator op1 operator op2 삼항 연산자 expr ? op1 : op2

3.6 연산자와 수식 3.6.1 산술 연산자 연산자 사용법 설명 비고 + op1 + op2 op1과 op2를 더한다 단항 및 이항 - op1 – op2 op1에서 op2를 뺀다 * op1 * op2 op1과 op2를 곱한다 이항 / op1 / op2 op1과 op2를 나눈다 % op1 % op2 op1과 op2로 나눈 나머지를 구한다 ++ var++ ++var var 값 1 증가. var 값을 증가시키기 전에 평가 var 값 1 증가. var 값을 증가시킨 다음 평가 단항 -- var— --var var 값 1 감소. var 값을 감소시키기 전에 평가 var 값 1 증가. var 값을 감소시킨 다음 평가

3.6 연산자와 수식 3.6.2 관계 및 논리 연산자 관계 연산자 연산자 사용법 설명 > op1 > op2 >= op1 >= op2 op1이 op2 보다 크거나 같은 경우 참 < op1 < op2 op1이 op2 보다 작은 경우 참 <= op1 <= op2 op1이 op2 보다 작거나 같은 경우 참 == op1 == op2 op1과 op2가 같은 경우 참 != op1 != op2 op1과 op2가 같지 않을 경우 참 instanceof op1 instanceof op2 op1이 op2의 객체일 경우 참

3.6 연산자와 수식 논리 연산자 연산자 사용법 설명 & op1 & op2 op1과 op2가 모두 true인 경우 true && op1 && op2 op1이 false이면 op2를 평가하지 않는다 | op1 | op2 op1과 op2중 둘 중 하나가 true인 경우 true || op1 || op2 op1이 true이면 op2를 평가하지 않는다 ! !op op가 true이면 false, false이면 true

3.6 연산자와 수식 3.6.3 비트 연산자 비트 단위로 연산을 수행하며 int, long, short, char, byte 형에 적용 연산자 사용법 설명 >> op1 >> op2 op1을 op2만큼 오른쪽으로 쉬프트 << op1 << op2 op1을 op2만큼 왼쪽으로 쉬프트 >>> op1 >>> op2 op1을 op2만큼 오른쪽으로 쉬프트하면서 왼쪽에는 부호와 무관하게 0이 채워짐 & op1 & op2 비트 단위의 논리곱(AND) | op1 | op2 비트 단위의 논리합(OR) ^ op1 ^ op2 비트 단위의 배타적 논리합(XOR) ~ ~op2 비트 단위의 보수

3.6 연산자와 수식 비트 연산자 비트 연산자의 논리표 A B A|B A&B A^B ~A 1

3.6 연산자와 수식 3.6.4 배정 연산자와 단축 배정 연산자 단축 배정 연산자( i = i + 8; => i += 8;) 연산자 사용법 의미 += op1 += op2 op1 = op1 + op2 -= op1 -= op2 op1 = op1 - op2 *= op1 *= op2 op1 = op1 * op2 /= op1 /= op2 op1 = op1 / op2 %= op1 %= op2 op1 = op1 % op2 &= op1 &= op2 op1 = op1 & op2 |= op1 |= op2 op1 = op1 | op2 ^= op1 ^= op2 op1 = op1 ^ op2 <<= op1 <<= op2 op1 = op1 << op2 >>= op1 >>= op2 op1 = op1 >> op2 >>>= op1 >>>= op2 op1 = op1 >>> op2

3.6 연산자와 수식 3.6.5 3항 연산자 "?:” 선택문의 if-then-else문을 축약해서 사용할 수 있는 연산자 3항 연산자는 우선 수식1을 평가하여 true인지 false 인지를 판별하여 true이면 수식2가 평가되고, false 이면 수식3이 평가되어 그 결과가 수식1의 결과로 반환 예 : flag = count > 0 ? 0 : 1; count 값이 0보다 크면 flag에 0이 배정되고 count값이 0보다 크지 않으면 flag에 1값이 배정된다 예 : ratio = count > 0 && count <= 100 ? count/100 : 0 ; 수식 1에 해당하는 “count > 0 && count <= 100”을 평가하여 그 결과가 true이면 “count/100”의 결과를 ratio에 저장하고, false이면 ratio에 0을 저장 수식1 ? 수식2 : 수식3

>> >>> << 3.6 연산자와 수식 3.6.6 연산자의 우선 순위 우선순위 연산자 1 () [] . 8 & 2 ++ -- ~ ! 9 ^ 3 * / % 10 | 4 + - 11 && 5 >> >>> << 12 || 6 > >= < <= 13 ?: 7 == != 14 =

3.6 연산자와 수식 예제 : Arithmetic.java 예제 : Bitwise.java 예제 : BitEquals.java 예제 : TernaryDemo.java

3.7 문자열(String) 자바는 문자열을 String 클래스의 객체로 구현(12장) 사용 예 String str = "this is a test"; System.out.println(str); // 문자열 인쇄 int count = 4; System.out.println("Counted" + count + " characters"); // 문자열을 결합하여 인쇄 // 정수 4는 자동으로 문자열로 형변환

3.8 선택문 자바는 선택논리의 제공을 위해 if, switch 문 제공 3.8.1 if-else 문 if-else 문 int a,b; boolean flag; flag = false; // ........생략 if (a < b) flag = true; System.out.println("Flag is" + flag);

3.8 선택문 if-else 문 예 int a,b; boolean flag; // ........생략 if (a < b) flag = true; else flag = false; // else 절의 사용 System.out.println("Flag is" + flag); boolean dataAvailable; // 조건절에 boolean 변수를 직접 사용 if (dataAvailable) ProcessData(); waitForMoreData();

3.8 선택문 if-else 문 예 int bytesAvailable; // ... if (bytesAvailable > 0) { // 한 문장 이상일 경우 블록으로 지정 ProcessData(); bytesAvailable -= n; } else { waitForMoreData(); bytesAvailable = n; }

3.8 선택문 3.8.2 내포된 if 문 if(i == 10) { if(j < 20) a = b; 예 if(i == 10) { if(j < 20) a = b; if(k > 100) c = d; else a = c; // 같은 블록 내에서 가장 가까운 if(k>100)과 연관된 else문 } else a = d; // 같은 블록 내에서 가장 가까운 if(i == 10)과 연관된 else문

3.8 선택문 3.8.3 if-else-if 문 if (조건절) 문장1; else if(조건절) 문장2; 문장3; ... 문장n;

3.8 선택문 3.8.4 switch 문 switch (수식) { case 값1: 처리문장들; break; case 값2: ........... case 값n: default: 묵시적으로 처리해야 하는 문장들; }

3.8 선택문 3.8.5 내포된 switch 문 예 switch(count) { case 1: switch(flag) { //내포된 switch문 case 0: System.out.println("flag is zero"); break; case 1: // switch(count)의 case 1과 아무런 상관이 없다 System.out.println("flag is one"); } System.out.println("내포된 switch문 실행"); case 2: .....................

3.8 선택문 예제 : IFelse.java 예제 : Switch.java 예제 : SwitchNoBreak.java

3.9 반복문 자바는 반복 논리를 제공하기 위해 while, do-while, for문을 제공 반복될 문장이 여러 문장일 경우 “{}”를 사용하여 블록으로 지정

3.9 반복문 3.9.1 while 문 조건절로 지정된 조건이 참일 동안 While 블록을 실행 예 반복문장들 } int a=10, b=20; while(a>b) System.out.println(“이 문장은 영원히 나타나지 않는다”);

3.9 반복문 3.9.2 do-while 문 예제 : DoWhile.java 예제 : DoUseMenu.java 반복문장들 } while(조건절);

3.9 반복문 3.9.3 for문 for문은 주어진 초기값을 시작으로 조건을 만족하는 동안 블록을 수행 초기값설정을 수행하고, 조건을 판단하여 참이면 블록을 수행하고, 증감 부분을 수행(과정반복) for(초기값 ; 조건 ; 증감) { 반복문장들 }

3.9 반복문 for문의 예 class For { public static void main(String args[]) { int n; System.out.print("1에서 10까지의 정수 : " ); for(n=1; n < 11; n++) System.out.print(n + " " ); }

3.9 반복문 for문의 예 class For { public static void main(String args[]) { System.out.print("1에서 10까지의 정수 : " ); for(int n=1; n < 11; n++) // for 문 내에서 변수를 선언하여 사용. // 변수 n은 main() 메소드를 유효범위로 가진다. System.out.print(n + " " ); } class ForErr { int n; // 변수 n 선언 // for 문 내에서 n을 다시 선언. 에러발생 }}

3.9 반복문 for문의 예 class DoubleC { public static void main(String args[]) { int a, b; for(a=1, b=10; a<b; a++, b--) { // 초기화 부분과 증감부분에 두 개 이상의 구문을 콤마로 구분하여 지정 System.out.print("a = " + a); System.out.println(" b = " + b); }

3.9 반복문 for문의 예 boolean flag=false; for (int i=1; !flag; i++) { if (finished_routine()) flag = true; } class Forflag { public static void main(String args[]) { int i; boolean flag = false; i = 1; for( ; !flag; ) { // 초기화 증감부분 생략 System.out.println("i의 값은 " + i + "입니다. "); if(i == 10) flag = true; i++; } } }

3.9 반복문 예제 : While.java 예제 : WhileNoBody.java 예제 : NestedFor.java 예제 : Alphabet.java 예제 : MinMax.java for( ; ; ) { // 무한 루프 ......... }

3.10 제어의 이동 프로그램 제어를 이동시키기 위해 break, continue, return 문을 제공 switch문에서 switch문을 벗어나는데 사용 반복문에서 반복루프를 벗어나는데 사용 기존 프로그램 goto문의 개선된 형태로서 사용

3.10 제어의 이동 break문 예 class ForBreak { public static void main(String args[]) { for(int i=0; i<100; i++) { if(i == 10) break; System.out.println(i + "자바의 세계로 오세요! " ); } System.out.println("Break에 의하여 for 문이 중단되었습니다."); }} class WhileBreak { int i = 0; while(i < 100) { i++; System.out.println("Break에 의하여 While 문이 중단되었습니다.");

3.10 제어의 이동 예제 : NestedForBreak.java 예제 : BreakTest.java 예제 : BreakErr.java

3.10 제어의 이동 3.10.2 continue 문 예제 : ContinueTest.java 반복문의 특정지점에서 제어를 반복문의 처음으로 보낸다 continue label 문 내포된 for문에서 제어를 label로 지정된 for문의 처음으로 이동시킨다. 예제 : ContinueTest.java 예제 : ContinueLabelTest.java

3.10 제어의 이동 3.10.3 return 문 제어를 메소드를 호출한 곳으로 반환. 예제 : Return.java

3.11 배열 같은 종류의 데이터를 저장하기 위한 자료구조 배열을 객체로 취급 3.11.1 1차원 배열 3.11.1 1차원 배열 1차원 배열의 선언 type array-name[]; 또는 type[] array-name; 3.11.2 다차원 배열 다차원 배열 선언 type array-name[][]; 또는 type[][] array-name; 배열의 생성 array-name = new type[size]; 예 : int two_dim[][] = new int[4][5]; Tip : 자바의 배열은 한번 생성된 후에는 크기가 변할 수 없다

3.11 배열 예제 : Array.java 예제 : AutoArray.java 예제 : TwoArray.java 예제 : TwoDA.java 예제 : TwoDA1.java 예제 : ThreeDA.java