Microsoft PowerPoint - java1-lecture3.ppt [호환 모드]

Size: px
Start display at page:

Download "Microsoft PowerPoint - java1-lecture3.ppt [호환 모드]"

Transcription

1 Control Statement 자바기초문법선택, 반복, 배열, 예외처리 년가을학기 9/11/2017 박경신 제어문의종류 제어문이란프로그램을실행할때는논리적인흐름이필요한데, 이러한문장의논리적인흐름을통제해주는것. 조건문 - 조건식의값에따라각각에해당되는명령문을수행한다. 예 ) if 문, switch 문 반복문 조건이만족하는동안특정명령문을반복적으로수행한다. 예 ) while 문, do 문, for 문, foreach 문 점프문 제어권을이동시킬때점프문을사용한다. 예 ) label 문, break 문, continue 문 If Statement 단순 if 문 if 다음의괄호안에는조건식 ( 논리형변수나논리연산 ) 조건식의값 true인경우, if문을벗어나다음문장이실행된다. false의경우에는 if 다음의문장이실행되지않고 if 문을빠져나온다. 실행문장이단일문장인경우둘러싸는 {, 생략가능 예제 : if 구문사용 점수가 80 점이이상이면합격을판별 import java.util.scanner; public class SuccessOrFail { Scanner in = new Scanner(System.in); System.out.print(" 점수를입력하시오 : "); int score = in.nextint(); if (score >= 80) System.out.println(" 축하합니다! 합격입니다."); 점수를입력하시오 : 95 축하합니다! 합격입니다.

2 If-Else Statement if-else 문 조건식이 true 면실행문장 1 실행후 if-else 문을벗어남 false 인경우에실행문장 2 실행후, if-else 문을벗어남 예제 : if-else 구문사용 입력된수가 3 의배수인지판별 import java.util.scanner; public class MultipleOfThree { Scanner in = new Scanner(System.in); System.out.print(" 수를입력하시오 : "); int number = in.nextint(); if (number % 3 == 0) System.out.println("3 의배수입니다."); else System.out.println("3 의배수가아닙니다."); 수를입력하시오 : 의배수입니다. If-Else Statement 다중 if-else 문 실행문장이다시 if문또는 if-else문을포함 else 문은바로전의 if문과짝을이룬다. 조건문이너무많은경우, switch 문사용권장 예제 : 다중 if-else 사용 키보드입력된성적에학점을부여하는프로그램작성 import java.util.scanner; public class Grading { char grade; Scanner a = new Scanner(System.in); while (a.hasnext()) { int score = a.nextint(); if(score >= 90) // score 가 90 이상인경우 grade = 'A'; 키가입력될때까지기다리며, 입력된키가있는경우 true 리턴. 라인의첫문자로 ctrl-z 키가입력되면 false 리턴 else if(score >= 80) // score 가 80 이상이면서 90 미만인경우 grade = 'B'; else if(score >= 70) // score 가 70 이상이면서 80 이만인경우 grade = 'C'; else if(score >= 60) // score 가 60 이상이면서 70 이만인경우 grade = 'D'; else // score 가 60 이만인경우 grade = 'F'; System.out.println(" 학점은 "+grade+" 입니다 "); 80 학점은 B 입니다 90 학점은 A 입니다 76 학점은 C 입니다

3 Ternary Conditional Operator?: 조건연산자?: 는 if-else 로바꿀수있음 i = a>b?a-b:b-a; if (a>b) i= a b; else i= b a; Switch Statement switch문은식과 case 문의값과비교 case의비교값과일치하면해당 case문의실행문장수행 break를만나면 switch문을벗어남 case의비교값과일치하는것이없으면 default 문실행 default문은생략가능 Switch Statement switch문내의break문 break 문장을만나면 switch문을벗어남 만일 case 문에 break문이없다면, 다음 case문의실행문장으로실행을계속하게되며, 언젠가 break를만날때까지 계속내려감 char grade = A ; switch (grade) { case A : System.out.println("90 ~ 100점입니다."); case B : System.out.println("90 ~ 100점입니다."); case C : System.out.println("90 ~ 100점입니다."); 90 ~ 100 점입니다. 80 ~ 89 점입니다. 예제 : switch 사용 switch 구문을사용하여학점에따른출력 public class GradeSwitch { char grade='c'; switch (grade) { case 'A': case 'B': System.out.println(" 참잘하였습니다."); case 'C': case 'D': System.out.println(" 좀더노력하세요."); case 'F': System.out.println(" 다음학기에다시수강하세요."); default: System.out.println(" 잘못된학점입니다."); 좀더노력하세요.

4 Switch Statement case 문의값의특징 switch 문은식의결과값을case 문과비교 사용가능한 case문의비교값 정수타입리터럴, JDK 1.7 부터는문자열리터럴도허용 int a = 0; int b = 1; int c = 25; switch(c%2) { case 1 : // 정수리터럴...; case 2: // 정수리터럴 String s = " 예 ; switch(s) { case " 예 " : // 문자열리터럴...; case " 아니요 : // 문자열리터럴...; Switch Statement 잘못된 case 문 switch(a) { case a : // 오류. 변수사용안됨 case a > 3 : // 오류. 수식안됨 case a == 1 : // 오류. 수식안됨 예제 : switch 사용한학점분류 import java.util.scanner; public class Grading2 { char grade; Scanner a = new Scanner(System.in); while (a.hasnext()) { int score = a.nextint(); switch (score/10) { case 10: case 9: grade = 'A'; case 8: grade = 'B'; case 7: grade = 'C'; case 6: grade = 'D'; default: grade = 'F'; System.out.println(" 학점은 "+grade+" 입니다 "); 100 학점은 A 입니다 55 학점은 F 입니다 76 학점은 C 입니다 Loop Q) 반복구조는왜필요한가? A) 같은처리과정을되풀이하는것이필요하기때문이다. 학생 30 명의평균성적을구하려면같은과정을 30 번반복하여야한다.

5 Loop For Statement 자바반복문의종류 for 문 while 문 do while 문 for 문이실행한후오직한번만실행되는초기화작업 콤마 (, ) 로구분하여여러문장나열가능 초기화할일없으면비어둘수있음 논리형변수나논리연산만가능 반복조건이 true 이면반복계속, false 이면반복종료 반복조건이 true 상수인경우, 무한반복 반복조건이비어있으면 true 로간주 반복작업문장들의실행후처리작업 콤마 (, ) 로구분하여여러문장나열가능 For Statement For 문의실행과정을나타내는순서도 주로정해진횟수만큼반복할때사용됨 또는정해진범위를반복할때활용됨 For Statement 0~9 까지정수출력 int i; for(i = 0; i < 10; i++) { System.out.print(i); For-loop 안에변수선언가능 int i; for(i = 0; i < 10; i++) System.out.print(i); for(int i = 0; i < 10; i++) // 변수 i 는 for 문을벗어나서사용할수없음 System.out.print(i); 0~100 까지합계산 int sum = 0; for(int i = 0; i <= 100; i++) sum += i; int sum = 0; for(int i = 100; i >= 0; i--) sum += i; int sum; for(int i = 0, sum=0; i <= 100; i++) sum += i;

6 For Statement 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 문내에서만사용가능... 예제 : for 구문사용 1부터 10까지덧셈을표시하고합계산 public class ForSample { int i, j; for (j=0,i=1; i <= 10; i++) { =55 j += i; System.out.print(i); if(i==10) { System.out.print("="); System.out.print(j); else System.out.print("+"); 예제 : for 구문사용 사용자로부터정수를입력받아 factorial 계산 public class Factorial { long fact = 1; int n; System.out.printf(" 정수를입력하시오 : "); Scanner scan = new Scanner(System.in); n = scan.nextint(); for (int i=1; i <= n; i++) { fact = fact * i; System.out.printf("%d! 는 %d입니다. ", n, fact); 정수를입력하시오 : 5 5! 는 120입니다. 예제 : for 구문사용 사용자로부터양의정수를입력받아약수를계산 public class Divisor { System.out.printf(" 양의정수를입력하시오 : "); Scanner scan = new Scanner(System.in); int n = scan.nextint(); System.out.println(n + " 의약수는다음과같습니다."); for (int i=1; i <= n; ++i) { if (n % i == 0) System.out.print(" " + i); 양의정수를입력하시오 : 의약수는다음과같습니다

7 While Statement 반복조건이 true이면반복, false 이면반복종료 반복조건이없으면컴파일오류 처음부터반복조건을통과한후작업문수행 While Statement While 문의실행과정을나타내는순서도 예제 : while 구문사용 사용자로부터숫자를입력받아입력받은모든수의평균을출력. 0 이입력되면입력이종료되고평균계산. import java.util.scanner; public class WhileSample { Scanner scan = new Scanner(System.in); int n = 0; double sum = 0; int i=0; while ((i = scan.nextint())!= 0) { sum += i; n++; 마지막입력 입력된수의개수는 4 개이며평균은 25.0 입니다. System.out.println(" 입력된수의개수는 " + n + " 개이며평균은 " + sum / n + " 입니다."); 예제 : while 구문사용 사용자로부터두수를입력받아최대공약수를계산 public class Gcd { int x, y, r; System.out.printf(" 두개의정수를입력하시오 ( 큰수, 작은수 ): "); Scanner scan = new Scanner(System.in); x = scan.nextint(); y = scan.nextint(); while (y!=0) { r = x % y; y = r; System.out.println(" 최대공약수는 " + x); 두개의정수를입력하시오 ( 큰수, 작은수 ) : 최대공약수는 12

8 Do-While Statement Do-While Statement do-while 문의실행과정을나타내는순서도 무조건최소한번은실행 반복조건이 true 이면반복, false 이면반복종료 반복조건이없으며컴파일오류 예제 : do-while 구문사용 a 부터 z 까지출력 public class DoWhileSample { char a = 'a'; do { System.out.print(a); a = (char) (a + 1); while (a <= 'z'); Nested Loop 중첩반복문 (nested loop) 은반복문안에다른반복문이위치 abcdefghijklmnopqrstuvwxyz

9 Nested Loop 중첩반복 반복문이다른반복문을내포하는구조 이론적으로는몇번이고중첩반복가능 너무많은중첩반복은프로그램구조를복잡하게하므로 2중또는 3중반복이적당 for(i=0; i<100; i++) { // 100 개의학교성적을모두더한다 for(j=0; j<10000; j++) { // 명의학생성적을모두더한다 명의학생이있는 100 개대학의모든학생성적의합을구할때, for 문을이용한이중중첩구조 예제 : Nested-Loop 사용 중첩 for 문을사용하여구구단을한줄에한단씩출력 public class NestedLoop { int i, j; for (i = 1; i < 10; i++,system.out.println()) { for (j = 1; j < 10; j++,system.out.print('\t')) { System.out.print(i + "*" + j + "=" + i*j); 1*1=1 1*2=2 1*3=3 1*4=4 1*5=5 1*6=6 1*7=7 1*8=8 1*9=9 2*1=2 2*2=4 2*3=6 2*4=8 2*5=10 2*6=12 2*7=14 2*8=16 2*9=18 3*1=3 3*2=6 3*3=9 3*4=12 3*5=15 3*6=18 3*7=21 3*8=24 3*9=27 4*1=4 4*2=8 4*3=12 4*4=16 4*5=20 4*6=24 4*7=28 4*8=32 4*9=36 5*1=5 5*2=10 5*3=15 5*4=20 5*5=25 5*6=30 5*7=35 5*8=40 5*9=45 6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 6*7=42 6*8=48 6*9=54 7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 7*8=56 7*9=63 8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 8*9=72 9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81 Continue Statement continue 문 반복문을빠져나가지않으면서 반복문실행도중다음반복을진행 for ( 초기문 ; 조건식 ; 반복후작업 ) {... continue;... while ( 조건식 ) {... continue;... 분기 do {... continue;... while ( 조건식 ); 조건식으로분기 예제 : for 와 continue 문사용 For와 continue문을사용하여 1부터 100까지짝수의합을계산 public class ContinueExample { int sum = 0; for (int i = 1; i <= 100; i++) { if (i%2 == 1) // 홀수이면 continue; else sum += i; System.out.println("1부터 100까지짝수의합은 " + sum); 1 부터 100 까지짝수의합은 2550 조건식으로분기

10 Break Statement break 문 반복문하나를완전히빠져나갈때사용 break 문은하나의반복문만벗어남 중첩반복의경우안쪽반복문의 break 문이실행되면안쪽반복문만벗어남 예제 : while 과 break 문사용 while과 break문을사용하여 -1이입력될때까지입력된숫자의개수를출력 import java.util.scanner; public class BreakExample { Scanner in = new Scanner(System.in); int num = 0; while (true) { if (in.nextint() == -1) num++; System.out.println(" 입력된숫자개수는 " + num); 마지막입력 -1 입력된숫자개수는 4 Array 배열 (array) 여러개의데이터를같은이름으로활용할수있도록해주는자료구조 인덱스 (Index, 순서번호 ) 와인덱스에대응하는데이터들로이루어진자료구조 배열을이용하면한번에많은메모리공간선언가능 배열은같은타입의데이터들이순차적으로저장되는공간 원소데이터들이순차적으로저장됨 인덱스를이용하여원소데이터접근 반복문을이용하여처리하기에적합한자료구조 ( 주로 for 또는 foreach 반복문과많이사용됨 ) 배열인덱스 0부터시작 인덱스는배열의시작위치에서부터데이터가있는상대위치 Array 자바배열의필요성과모양

11 Array 배열선언과배열생성의두단계필요 배열선언 int char intarray[]; chararray[]; 배열생성 intarray = new int[10]; chararray = new char[20]; 선언과초기화 배열생성과값초기화 또는 또는 int[] char[] // 총 10 개의정수배열생성및값초기화 int intarray[] = {0,1,2,3,4,5,6,7,8,9; intarray; chararray; int intarray[] = new int[10]; char chararray[] = new char[20]; Array 배열선언과생성 잘못된배열선언 //int intarray[10]; // 컴파일오류. 배열의크기를지정할수없음 Array 배열을초기화하면서생성한결과 Array 배열참조 생성된 1 개의배열을다수의레퍼런스가참조가능

12 Array 배열원소접근 반드시배열생성후접근 int intarray []; // 배열선언 intarray[4] = 8; // 오류, 아직 intarray 배열의메모리가할당되지않았음 배열변수명과 [] 사이에원소의인덱스를적어접근 배열의인덱스는 0 부터시작 배열의마지막항목의인덱스는 ( 배열크기 1) int[] intarray; // 배열선언 intarray = new int[10]; // 배열생성 intarray[3]=6; // 배열에값을저장 int n = intarray[3]; // 배열로부터값을읽음 예제 : Array 사용 array 를사용하여숫자를입력받아저장하고입력된 숫자중에제일큰수를화면에출력 import java.util.scanner; public class ArrayAccess { Scanner in = new Scanner(System.in); int intarray[] = new int[5]; int max = 0; for (int i = 0; i < 5; i++) { System.out.print(" 숫자를입력하시오 :"); 숫자를입력하시오 :1 숫자를입력하시오 :39 숫자를입력하시오 :78 숫자를입력하시오 :100 intarray[i] = in.nextint(); 숫자를입력하시오 :99 if (intarray[i] > max) 입력된수에서가장큰수는 max = intarray[i]; 100입니다. System.out.print(" 입력된수에서가장큰수는 " + max + " 입니다."); 예제 : 문자열 Array 사용 문자열 array 를사용하여 5 가지피자토핑을출력 public class PizzaTopping { String[] toppings = { "Pepperoni", "Mushrooms", "Onions", "Sausage", "Bacon" ; for (int i = 0; i < toppings.length; i++) { System.out.print(toppings[i] + " "); Pepperoni Mushrooms Onions Sausage Bacon Array 배열인덱스 인덱스는 0부터시작하며마지막인덱스는 ( 배열크기 -1) 인덱스는정수타입만가능 int intarray [] = new int[5]; // 인덱스는 0~4 까지가능 int n = intarray[-2]; // 실행오류. -2 는인덱스로적합하지않음 int m = intarray[5]; // 실행오류. 5 는인덱스의범위 (0~4) 를넘었음 배열의크기 배열의크기는배열레퍼런스변수를선언할때결정되지않음 배열의크기는배열생성시에결정되며, 나중에바꿀수없음 배열의크기는배열의 length 필드에저장 int size = intarray.length;

13 Array 예제 : Array 를사용한원소의평균구하기 import java.util.scanner; public class ArrayTest2 { final int STUDENTS = 5; int total = 0; Scanner scan = new Scanner(System.in); 성적을 5 개입력받아배열에저장하고평균성적을계산 int[] scores = new int[students]; for (int i = 0; i < scores.length; i++) { System.out.print(" 성적을입력하시오 :"); 성적을입력하시오 :10 성적을입력하시오 :20 성적을입력하시오 :30 성적을입력하시오 :40 scores[i] = scan.nextint(); 성적을입력하시오 :50 평균성적은 30입니다. for (int i = 0; i < scores.length; i++) total += scores[i]; System.out.println(" 평균성적은 " + total / STUDENTS + " 입니다 "); 예제 : 순차탐색 (Sequential Search) import java.util.scanner; public class SeqSearch { int s[] = { 0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100 ; int value, index = -1; Scanner scan = new Scanner(System.in); System.out.print(" 탐색할값을입력하시오 : "); value = scan.nextint(); for (int i = 0; i < s.length; i++) { if (s[i] == value) index = i; if (index < s.length && index >= 0) System.out.println("" + value + " 값은 " + index + " 위치에있습니다."); 탐색할값을입력하시오 :50 50 값은 5 위치에있습니다. Array & For-each For-each 문 배열이나나열 (enumeration) 의각원소를순차적으로접근하는데유용한 for 문 int[] num = { 1,2,3,4,5 ; int sum = 0; // 반복될때마다 k는 num[0], num[1],..., num[4] 값으로설정 for (int k : num) sum += k; 합은 15 System.out.println(" 합은 " + sum); String names[] = { " 사과 ", " 배 ", " 바나나 ", " 체리 ", " 딸기 ", " 포도 " ; // 반복할때마다 s는 names[0], names[1],..., names[5] 로설정 for (String s : names) System.out.print(s + " "); 사과배바나나체리딸기포도

14 Anonymous Array 자바에서는배열의이름을지정하지않고단순히초기값만으로배열을생성시킬수있음 무명배열 (Anonymous array) 는즉시배열을만들어서함수의인수로전달하고자할때많이사용됨 new int[] { 1, 2, 3, 4, 5 ; // 배열의이름이없다 // 초기값을가지는무명배열생성 public static int sum(int[] numbers) { int total = 0; for (int i=0; i<numbers.length; i++) { total = total + numbers[i]; return total; System.out.println( 합은 : + sum(new int[] {1, 2, 3, 4)); 합은 10 2D Array 2차원배열선언 int intarray[][]; char chararray[][]; float floatarray[][]; 2 차원배열생성 intarray = new int[2][5]; chararray = new char[5][5]; floatarray = new float[5][2]; 또는 또는 2 차원배열선언, 생성, 초기화 int[][] intarray; char[][] chararray; float[][] floatarray; int char float int intarray[][] = {{0,1,2,{3,4,5,{6,7,8; char chararray[][] = {{'a', 'b', 'c',{'d, 'e', 'f'; float floatarray[][] = {{0.01, 0.02, {0.03, 0.04; intarray[] = new int[2][5]; chararray[] = new char[5][5]; floatarray[] = new float[5][2]; 2D Array 예제 : 2D Array 사용 지난 3 년간매출총액과연평균매출을계산 public class SalesRevenue { int intarray[][] = {{90, 90, 110, 110, {120, 110, 100, 110, {120, 140, 130, 150 ; double sum = 0; 2 차원배열의 length i.length -> 2 차원배열의행의개수로서 2 i[n].length 는 n 번째행의열의개수 i[0].length -> 0 번째행의열의개수로서 5 i[1].length -> 1 번째행의열의개수로서역시 5 for (int i = 0; i < intarray.length; i++) // intarray.length=3 for (int j = 0; j < intarray[i].length; j++) // intarray[i].length=4 sum += intarray[i][j]; System.out.println(" 지난 3 년간매출총액은 " + sum + " 이며연평균매출은 + sum/intarray.length + " 입니다."); 지난 3 년간매출총액은 이며연평균매출은 입니다.

15 비정방형배열 비정방형배열의 length 정방형배열 각행의열의개수가같은배열 비정방형배열 각행의열의개수가다른배열 비정방형배열의생성 비정방형배열의 length 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 IrregularArray { int intarray[][] = new int[4][]; intarray[0] = new int[3]; intarray[1] = new int[2]; intarray[2] = new int[3]; intarray[3] = new int[2]; 메소드에서배열리턴 메소드의배열리턴 배열의레퍼런스만리턴 메소드의리턴타입 메소드가리턴하는배열의타입은리턴받는배열타입과일치 리턴타입에배열의크기를지정하지않음 for (int i = 0; i < intarray.length; i++) for (int j = 0; j < intarray[i].length; j++) intarray[i][j] = (i+1)*10 + j; for (int i = 0; i < intarray.length; i++) { for (int j = 0; j < intarray[i].length; j++) System.out.print(intArray[i][j]+" "); System.out.println();

16 예제 : 배열리턴사용 main(string [] args) 메소드의인자전달 배열을생성하고각원소값을출력하는프로그램을작성하시오. 배열생성은배열을생성하여각원소의인덱스값으로초기화하여반환하는메소드를이용한다. public class ReturnArray { static int[] makearray() { int temp[] = new int[4]; for (int i=0;i<temp.length;i++) temp[i] = i; return temp; int intarray []; intarray = makearray(); for (int i = 0; i < intarray.length; i++) System.out.println(intArray[i]); C:\>java Hello abc 3 % 5.7 class Hello 생성 public static void main(string[] args) { String a = args[0]; // a 는 "abc" String b = args[1]; // b 는 "3" String c = args[2]; // c 는 "%" String d = args[3]; // d 는 "5.7" args abc 3 % 5.7 args.length => 4 args[0] => "abc" args[1] => "3" args[2] => "%" args[3] => "5.7" 이클립스에서 main() 메소드의인자전달 main() 의인자이용예 Run 메뉴의 Run Configurations 항목에서 main() 메소드의인자나열 public class Calc { int sum = 0; for(int i=0; i<args.length; i++) { // 명령행인자의개수만큼반복 int n = Integer.parseInt(args[i]); // 명령행인자인문자열을정수로변환 sum += n; // 숫자를합한다. System.out.println("sum = " + sum); Integer.parseInt() 는매개변수로주어진문자열을정수로변환. Integer.parseInt("68") 은정수 68 리턴 명령행인자 2, 44, 68 을모두합하여 114 출력

17 예제 : main() 의인자들을받아서평균값을계산하는예제 여러개의실수를 main() 메소드인자로전달받아평균값을구하는프로그램을작성하시오. public class MainParameter { double sum = 0.0; for (int i=0; i<args.length; i++) sum += Double.parseDouble(args[i]); System.out.println(" 합계 :" + sum); System.out.println(" 평균 :" + sum/args.length); Double.parseDouble() 는매개변수로주어진문자열을실수로변환. Double.parseDouble("7 7.5") 은실수 77.5 리턴 예제 : 정수가아닌문자열을정수로변환할때예외발생 문자열을정수로변환할때발생하는 NumberFormatException 을 처리하는프로그램을작성하라. public class NumException { String[] stringnumber = {"23", "12", "998", " "; try { for (int i = 0; i < stringnumber.length; i++) { int j = Integer.parseInt(stringNumber[i]); System.out.println(" 숫자로변환된값은 " + j); catch (NumberFormatException e) { System.out.println(" 정수로변환할수없습니다."); 숫자로변환된값은 23 숫자로변환된값은 12 숫자로변환된값은 998 정수로변환할수없습니다 를정수로변환할때 NumberFormatException 예외발생 예외와예외클래스 오류의종류 에러 (Error) 하드웨어의잘못된동작또는고장으로인한오류 에러가발생되면 JVM실행에문제가있으므로프로그램종료 정상실행상태로돌아갈수없음 예외 (Exception) 사용자의잘못된조작또는개발자의잘못된코딩으로인한오류 예외가발생되면프로그램종료 예외처리 추가하면정상실행상태로돌아갈수있음 예외와예외클래스 예외의종류 일반예외 ( 컴파일체크 Exception) 컴파일하는과정에서예외처리코드가필요한지검사 예외처리코드없으면컴파일오류발생 실행예외 (RuntimeException) 예외처리코드를생략하더라도컴파일이되는예외 ' 경험 따라예외처리코드작성필요

18 예외클래스 자주발생하는예외 예외클래스 Java 는예외를클래스로관리 JVM 이프로그램을실행하는도중에예외가발생하면해당예외클래스로객체를생성 예외처리코드에서예외객체를이용 실행예외 (RuntimeException) NullPointerException 객체참조가없는상태 null 값갖는참조변수로객체접근연산자인도트 (.) 사용했을때발생 실행예외 (RuntimeException) NumberFormatException 숫자로변환될수없는문자가포함되어있는문자열을숫자로변경할경우 Integer.parseInt(String s) Double.parseDouble(String s) ArrayIndexOutOfBoundsException 배열에서인덱스범위초과하여사용할경우발생 public class NumberFormatExceptionExample { String data1 = "100"; String data2 = "a100"; int value1 = Integer.parseInt(data1); int value2 = Integer.parseInt(data2); 실행시매개값을주지않을경우예외발생 int result = value1 + value2; System.out.println(data1 + "+" + data2 + "=" + result);

19 실행예외 (RuntimeException) ClassCastException 타입변환이되지않을경우발생 정상코드 예외발생코드 실행예외 (RuntimeException) ClassCastException 타입변환이되지않을경우발생 public class NumberFormatExceptionExample { Dog dog = new Dog(); changedog(dog); Cat cat = new Cat(); changedog(cat); public static void changedog(animal animal) { //if(animal instanceof Dog) { Dog dog = (Dog) animal; //ClassCastException 발생가능 // class Animal { class Dog extends Animal { class Cat extends Animal { 예제 : ArithmeticException 예외처리 try-catch 문을이용하여정수를 0 으로나누려고할때 "0 으로나룰수없습니다." 라는경고메시지를출력하도록프로그램을작성하시오. import java.util.scanner; public class ExceptionExample2 { Scanner rd = new Scanner(System.in); int divisor = 0; int dividend = 0; System.out.print(" 나뉨수를입력하시오 :"); dividend = rd.nextint(); System.out.print(" 나눗수를입력하시오 :"); divisor = rd.nextint(); try { System.out.println(dividend+" 를 "+divisor+" 로나누면몫은 "+ dividend/divisor+" 입니다."); catch (ArithmeticException e) { System.out.println("0으로나눌수없습니다."); 나뉨수를입력하시오 :100 나눗수를입력하시오 :0 0 으로나눌수없습니다. ArithmeticException 예외발생 예제 : 범위를벗어난배열의접근 배열의인덱스가범위를벗어날때발생하는 ArrayIndexOutOfBoundsException을처리하는프로그램을작성하시오. public class ArrayException { int[] intarray = new int[5]; i가 4일때 ArrayIndexOutOfBoundsException intarray[0] = 0; 예외발생 try { for (int i = 0; i < 5; i++) { intarray[i+1] = i+1 + intarray[i]; System.out.println("intArray["+i+"]"+"="+intArray[i]); catch (ArrayIndexOutOfBoundsException e) { System.out.println(" 배열의인덱스가범위를벗어났습니다."); intarray[0]=0 intarray[1]=1 intarray[2]=3 intarray[3]=6 배열의인덱스가범위를벗어났습니다.

20 예제 : 정수가아닌문자열을정수로변환할때예외발생 문자열을정수로변환할때발생하는 NumberFormatException 을처리하는프로그램을작성하라. public class NumException { String[] stringnumber = {"23", "12", "998", " "; try { for (int i = 0; i < stringnumber.length; i++) { int j = Integer.parseInt(stringNumber[i]); System.out.println(" 숫자로변환된값은 " + j); catch (NumberFormatException e) { System.out.println(" 정수로변환할수없습니다."); 숫자로변환된값은 23 숫자로변환된값은 12 숫자로변환된값은 998 정수로변환할수없습니다 를정수로변환할때 NumberFormatException 예외발생 예외처리코드 (try-catch-finally) 예외처리코드 예외발생시프로그램종료막고, 정상실행유지할수있도록처리 일반예외 : 반드시작성해야컴파일가능 실행예외 : 컴파일러가체크해주지않으며개발자경험의해작성 try catch finally 블록이용해예외처리코드작성 예외처리코드 (try-catch-finally) public class TryCatchFinallyRuntimeExceptionExample { String data1 = null; String data2 = null; try { 실행시매개값을주지않을경우예외발생 data1 = args[0]; data2 = args[1]; catch(arrayindexoutofboundsexception e) { System.out.println(" 실행매개값의수가부족합니다."); System.out.println("[ 실행방법 ]"); System.out.println("java TryCatchFinallyRuntimeExceptionExample num1 num2"); return; try { int value1 = Integer.parseInt(data1); 실행시매개값을잘못주었을경우예외발생 int value2 = Integer.parseInt(data2); int result = value1 + value2; System.out.println(data1 + "+" + data2 + "=" + result); catch(numberformatexception e) { System.out.println(" 숫자로변환할수없습니다."); finally { System.out.println(" 다시실행하세요."); 예외종류에따른처리코드 다중 catch 하나의 try 블록내부에서다양한종류의예외발생시 각예외별로예외처리코드 (catch 블록 ) 다르게구현 단하나의 catch 블록만실행

21 예외종류에따른처리코드 public class CatchByExceptionKindExample { try { String data1 = args[0]; String data2 = args[1]; 실행시매개값을주지않을경우예외발생 int value1 = Integer.parseInt(data1); int value2 = Integer.parseInt(data2); 실행시매개값을잘못주었을경우예외발생 int result = value1 + value2; System.out.println(data1 + "+" + data2 + "=" + result); catch(arrayindexoutofboundsexception e) { System.out.println(" 실행매개값의수가부족합니다."); System.out.println("[ 실행방법 ]"); System.out.println("java CatchByExceptionKindExample num1 num2"); catch(numberformatexception e) { System.out.println(" 숫자로변환할수없습니다."); finally { System.out.println(" 다시실행하세요."); 예외종류에따른처리코드 하위예외는상위예외를상속 하위예외는상위예외타입도됨 catch 순서 상위예외가아래에위치해야 상위예외 Exception 이위에있을경우 상위예외 Exception 이아래에있을경우 예외종류에따른처리코드 public class CatchOrderExample { try { String data1 = args[0]; String data2 = args[1]; int value1 = Integer.parseInt(data1); int value2 = Integer.parseInt(data2); int result = value1 + value2; System.out.println(data1 + "+" + data2 + "=" + result); catch(arrayindexoutofboundsexception e) { System.out.println(" 실행매개값의수가부족합니다."); catch(exception e) { System.out.println(" 실행에문제가있습니다."); finally { System.out.println(" 다시실행하세요."); 예외종류에따른처리코드 멀티 (multi) catch 자바 7부터는하나의 catch 블록에서여러개의예외처리가능 동일하게처리하고싶은예외를 로연결

22 예외종류에따른처리코드 public class MultiCatchExample { try { String data1 = args[0]; String data2 = args[1]; 실행시매개값을주지않을경우예외발생 int value1 = Integer.parseInt(data1); 실행시매개값을잘못주었을경우예외발생 int value2 = Integer.parseInt(data2); int result = value1 + value2; System.out.println(data1 + "+" + data2 + "=" + result); catch(arrayindexoutofboundsexception NumberFormatException e) { System.out.println(" 실행매개값의수가부족하거나숫자로변환할수없습니다.."); catch(exception e) { System.out.println(" 알수없은예외발생 "); finally { System.out.println(" 다시실행하세요."); 자동리소스닫기 try-with-resources 예외발생여부와상관없음 사용했던리소스객체의 close() 메소드호출해리소스닫음 리소스객체 각종입출력스트림, 서버소켓, 소켓, 각종채널 java.lang.autocloseable 인터페이스구현하고있어야함 예외떠넘기기 (throws) throws 메소드선언부끝에작성 메소드내에서처리하지않은예외를메소드호출한곳 (calling method) 으로떠넘기는역할 예외떠넘기기 (throws) throws throws 선언된메소드를호출하는메소드 (calling method) 는 1. 반드시 try 블록내에서호출 2. catch 블록에서떠넘겨받은예외를처리함 3. try-catch 블록으로예외처리를하지않고 throws 키워드로자신도 다시예외를떠넘길수있음 3. throws ClassNotFoundException 1. try block 2. catch block 예외발생

23 사용자정의예외와예외발생 사용자정의예외 (user-defined exception) 클래스선언 자바표준 API 에서제공하지않는예외 애플리케이션서비스와관련된예외, Application Exception E.g. 잔고부족예외, 계좌이체실패예외, 회원가입실패예외. 사용자정의예외클래스선언방법 1. 예외클래스상속 일반예외 : Exception class 상속 실행예외 : RuntimeException class 상속 2. 생성자정의 매개변수없는기본생성자, String 타입의매개변수를갖는생성자 사용자정의예외와예외발생 예외발생시키기 (throw) 코드에서예외발생시키는법 - 예외객체생성 호출한곳에서발생한예외를처리하도록 사용자정의예외와예외발생 사용자정의예외와예외발생 public class BalanceInsufficientException extends Exception { public BalanceInsufficientException() { public BalanceInsufficientException(String message) { super(message); public class Account { private long balance; public Account() { 1. Exception class 상속 2. constrctors 생성 public long getbalance() { return balance; public void deposit(int money) { balance += money; 4. 호출한곳에서발생한예외를처리하도록함 public void withdraw(int money) throws BalanceInsufficientException { if(balance < money) { 3. 사용자정의예외발생 예외객체생성 throw new BalanceInsufficientException(" 잔고부족 :"+(money-balance)+" 모자람 ); balance -= money; public class AccountExample { Account account = new Account(); // 예금하기 account.deposit(10000); System.out.println(" 예금액 : " + account.getbalance()); // 출금하기 try { account.withdraw(30000); catch(balanceinsufficientexception e) { String message = e.getmessage(); System.out.println(message); System.out.println(); e.printstacktrace(); 5. try block에서메소드호출 6. catch block에서사용자정의예외처리 7. 예외정보얻기 (8 절 )

24 예외정보얻기 getmessage() 예외발생시킬때생성자매개값으로사용한메시지리턴 예외정보얻기 printstacktrace() 예외발생코드를추적하여모두콘솔에출력 프로그램테스트하면서오류찾을때유용하게활용 원인세분화하기위해예외코드포함 ( 예 : 데이터베이스예외코드 ) catch() 절에서활용

(Microsoft PowerPoint - java1-lecture11.ppt [\310\243\310\257 \270\360\265\345])

(Microsoft PowerPoint - java1-lecture11.ppt [\310\243\310\257 \270\360\265\345]) 예외와예외클래스 예외처리 514760-1 2016 년가을학기 12/08/2016 박경신 오류의종류 에러 (Error) 하드웨어의잘못된동작또는고장으로인한오류 에러가발생되면 JVM실행에문제가있으므로프로그램종료 정상실행상태로돌아갈수없음 예외 (Exception) 사용자의잘못된조작또는개발자의잘못된코딩으로인한오류 예외가발생되면프로그램종료 예외처리 추가하면정상실행상태로돌아갈수있음

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 예외처리 배효철 th1g@nate.com 1 목차 예외와예외클래스 실행예외 예외처리코드 예외종류에따른처리코드 자동리소스닫기 예외처리떠넘기기 사용자정의예외와예외발생 예외와예외클래스 구문오류 예외와예외클래스 구문오류가없는데실행시오류가발생하는경우 예외와예외클래스 import java.util.scanner; public class ExceptionExample1

More information

JAVA PROGRAMMING 실습 09. 예외처리

JAVA PROGRAMMING 실습 09. 예외처리 2015 학년도 2 학기 예외? 프로그램실행중에발생하는예기치않은사건 예외가발생하는경우 정수를 0으로나누는경우 배열의크기보다큰인덱스로배열의원소를접근하는경우 파일의마지막부분에서데이터를읽으려고하는경우 예외처리 프로그램에문제를발생시키지않고프로그램을실행할수있게적절한조치를취하는것 자바는예외처리기를이용하여예외처리를할수있는기법제공 자바는예외를객체로취급!! 나뉨수를입력하시오

More information

PowerPoint Presentation

PowerPoint Presentation 자바프로그래밍 1 배열 손시운 ssw5176@kangwon.ac.kr 배열이필요한이유 예를들어서학생이 10 명이있고성적의평균을계산한다고가정하자. 학생 이 10 명이므로 10 개의변수가필요하다. int s0, s1, s2, s3, s4, s5, s6, s7, s8, s9; 하지만만약학생이 100 명이라면어떻게해야하는가? int s0, s1, s2, s3, s4,

More information

Microsoft PowerPoint - 3장

Microsoft PowerPoint - 3장 1 반복문의 특징 2 자바 반복문의 종류 for 문 while 문 do while 문 제 3 장 반복문, 배열, 예외처리 3 for 문의 구성 초기문 4 for문의 실행 과정을 나타내는 순서도 for 키워드 for(초기문; 조건식; 반복후작업) {..작업문.. for 문이 실행한 후 오직 한번만 실행되는 초기화 작업 콤마(, )로 구분하여여러문장나열가능 초기할

More information

Microsoft PowerPoint - java2-lecture2.ppt [호환 모드]

Microsoft PowerPoint - java2-lecture2.ppt [호환 모드] 스트림 FileIO, Exception Handling 514770 2018 년가을학기 9/17/2018 박경신 자바의스트림 자바스트림은입출력장치와자바응용프로그램연결 입출력장치와프로그램사이의데이터흐름을처리하는소프트웨어모듈 입력스트림 입력장치로부터자바프로그램으로데이터를전달하는소프트웨어모듈 출력스트림 자바프로그램에서출력장치로데이터를보내는소프트웨어모듈 입출력스트림기본단위

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 명품 JAVA Essential 1 2 학습목표 1. 자바의반복문 (for, while, do-while) 이해, 작성 2. continue문과 break문활용 3. 자바의배열선언및활용 4. 배열을리턴하는메소드작성 5. 예외개념과자바에서의예외처리 반복문 3 자바반복문 - for 문, while 문, do-while 문 for 문 - 가장많이사용하는반복문 for(i=0;

More information

JAVA PROGRAMMING 실습 02. 표준 입출력

JAVA PROGRAMMING 실습 02. 표준 입출력 # 메소드의구조자주반복하여사용하는내용에대해특정이름으로정의한묶음 반환형메소드이름 ( 매개변수 ) { 실행문장 1; : 실행문장 N; } 메소드의종류 Call By Name : 메서드의이름에의해호출되는메서드로특정매개변수없이실행 Call By Value : 메서드를이름으로호출할때특정매개변수를전달하여그값을기초로실행하는메서드 Call By Reference : 메서드호출시매개변수로사용되는값이특정위치를참조하는

More information

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 (   ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각 JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( http://java.sun.com/javase/6/docs/api ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각선의길이를계산하는메소드들을작성하라. 직사각형의가로와세로의길이는주어진다. 대각선의길이는 Math클래스의적절한메소드를이용하여구하라.

More information

슬라이드 1

슬라이드 1 UNIT 16 예외처리 로봇 SW 교육원 3 기 최상훈 학습목표 2 예외처리구문 try-catch-finally 문을사용핛수있다. 프로그램오류 3 프로그램오류의종류 컴파일에러 (compile-time error) : 컴파일실행시발생 럮타임에러 (runtime error) : 프로그램실행시발생 에러 (error) 프로그램코드에의해서해결될수없는심각핚오류 ex)

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 실습 1 배효철 th1g@nate.com 1 목차 조건문 반복문 System.out 구구단 모양만들기 Up & Down 2 조건문 조건문의종류 If, switch If 문 조건식결과따라중괄호 { 블록을실행할지여부결정할때사용 조건식 true 또는 false값을산출할수있는연산식 boolean 변수 조건식이 true이면블록실행하고 false 이면블록실행하지않음 3

More information

Microsoft PowerPoint 자바-기본문법(Ch2).pptx

Microsoft PowerPoint 자바-기본문법(Ch2).pptx 자바기본문법 1. 기본사항 2. 자료형 3. 변수와상수 4. 연산자 1 주석 (Comments) 이해를돕기위한설명문 종류 // /* */ /** */ 활용예 javadoc HelloApplication.java 2 주석 (Comments) /* File name: HelloApplication.java Created by: Jung Created on: March

More information

<4D F736F F F696E74202D20C1A63036C0E520BCB1C5C3B0FA20B9DDBAB928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20C1A63036C0E520BCB1C5C3B0FA20B9DDBAB928B0ADC0C729205BC8A3C8AF20B8F0B5E55D> Power Java 제 6 장선택과반복 이번장에서학습할내용 조건문이란? if 문 if, else 문 중첩 if 문 switch 문 break문 continue문 지금까지는문장들이순차적으로실행된다고하였다. 하지만필요에따라서조건이만족되면문장의실행순서를변경할수있는기능이제공된다. 3 가지의제어구조 조건문 문장이실행되는순서에영향을주는문장 조건에따라서여러개의실행경로가운데하나를선택

More information

Java ...

Java ... 컴퓨터언어 1 Java 제어문 조성일 조건문 : if, switch 어떠한조건을조사하여각기다른명령을실행 if 문, switch 문 if 문 if - else 문형식 if 문형식 if ( 조건식 ) { 명령문 1; 명령문 2;... if ( 조건식 ) { 명령문 1; 명령문 2;... else { 명령문 a; 명령문 b;... 예제 1 정수를입력받아짝수와홀수를판별하는프로그램을작성하시오.

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 클래스, 객체, 메소드 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 필드만있는클래스 텔레비젼 2 예제 1. 필드만있는클래스 3 예제 2. 여러개의객체생성하기 4 5 예제 3. 메소드가추가된클래스 public class Television { int channel; // 채널번호 int volume; // 볼륨 boolean

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 System Software Experiment 1 Lecture 5 - Array Spring 2019 Hwansoo Han (hhan@skku.edu) Advanced Research on Compilers and Systems, ARCS LAB Sungkyunkwan University http://arcs.skku.edu/ 1 배열 (Array) 동일한타입의데이터가여러개저장되어있는저장장소

More information

Microsoft PowerPoint - CSharp-10-예외처리

Microsoft PowerPoint - CSharp-10-예외처리 10 장. 예외처리 예외처리개념 예외처리구문 사용자정의예외클래스와예외전파 순천향대학교컴퓨터학부이상정 1 예외처리개념 순천향대학교컴퓨터학부이상정 2 예외처리 오류 컴파일타임오류 (Compile-Time Error) 구문오류이기때문에컴파일러의구문오류메시지에의해쉽게교정 런타임오류 (Run-Time Error) 디버깅의절차를거치지않으면잡기어려운심각한오류 시스템에심각한문제를줄수도있다.

More information

Microsoft PowerPoint - Java7.pptx

Microsoft PowerPoint - Java7.pptx HPC & OT Lab. 1 HPC & OT Lab. 2 실습 7 주차 Jin-Ho, Jang M.S. Hanyang Univ. HPC&OT Lab. jinhoyo@nate.com HPC & OT Lab. 3 Component Structure 객체 (object) 생성개념을이해한다. 외부클래스에대한접근방법을이해한다. 접근제어자 (public & private)

More information

슬라이드 1

슬라이드 1 UNIT 6 배열 로봇 SW 교육원 3 기 학습목표 2 배열을사용핛수있다. 배열 3 배열 (Array) 이란? 같은타입 ( 자료형 ) 의여러변수를하나의묶음으로다루는것을배열이라고함 같은타입의많은양의데이터를다룰때효과적임 // 학생 30 명의점수를저장하기위해.. int student_score1; int student_score2; int student_score3;...

More information

Infinity(∞) Strategy

Infinity(∞) Strategy 반복제어 표월성 passwd74@cherub.sungkyul.edu 개요 for() 문 break문과 continue문 while문 do-while문 for() 문 for() 문형식 for( 표현식1; 표현식2; 표현식3) 여러문장들 ; 표현식 1 : 초기화 (1 번만수행 ) 표현식 2 : 반복문수행조건 ( 없으면무한반복 ) 표현식 3 : 반복문수행횟수 for()

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 @ Lesson 3 if, if else, if else if, switch case for, while, do while break, continue : System.in, args, JOptionPane for (,, ) @ vs. logic data method variable Data Data Flow (Type), ( ) @ Member field

More information

JAVA PROGRAMMING 실습 08.다형성

JAVA PROGRAMMING 실습 08.다형성 2015 학년도 2 학기 1. 추상메소드 선언은되어있으나코드구현되어있지않은메소드 abstract 키워드사용 메소드타입, 이름, 매개변수리스트만선언 public abstract String getname(); public abstract void setname(string s); 2. 추상클래스 abstract 키워드로선언한클래스 종류 추상메소드를포함하는클래스

More information

슬라이드 1

슬라이드 1 UNIT 08 조건문과반복문 로봇 SW 교육원 2 기 학습목표 2 조건문을사용핛수있다. 반복문을사용핛수있다. 조건문 3 조건식의연산결과에따라프로그램의실행흐름을변경 조건문의구성 조건식 실행될문장 조건문의종류 if switch? : ( 삼항연산자 ) if 조건문 4 if 문의구성 조건식 true 또는 false(boolean 형 ) 의결과값을갖는수식 실행될문장

More information

Cluster management software

Cluster management software 자바네트워크프로그래밍 (OCJP 국제공인자격취득중심 ) 충북대학교 최민 기본예제 예외클래스를정의하고사용하는예제 class NewException extends Exception { public class ExceptionTest { static void methoda() throws NewException { System.out.println("NewException

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 @ Lesson 2... ( ). ( ). @ vs. logic data method variable behavior attribute method field Flow (Type), ( ) member @ () : C program Method A ( ) Method B ( ) Method C () program : Java, C++, C# data @ Program

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 데이터타입과변수및조건문, 반복문 배효철 th1g@nate.com 1 목차 자바프로그램구조 변수및데이터타입 연산자 조건문 반복문 2 목차 자바프로그램구조 변수및데이터타입 연산자 조건문 반복문 3 자바프로그램구조 public class Hello2 { public static int sum(int n, int m) { return n + m; } 메소드 클래스

More information

Microsoft PowerPoint - chap05-제어문.pptx

Microsoft PowerPoint - chap05-제어문.pptx int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); 1 학습목표 제어문인,, 분기문에 대해 알아본다. 인 if와 switch의 사용 방법과 사용시 주의사항에 대해 알아본다.

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Lecture 02 프로그램구조및문법 Kwang-Man Ko kkmam@sangji.ac.kr, compiler.sangji.ac.kr Department of Computer Engineering Sang Ji University 2018 자바프로그램기본구조 Hello 프로그램구조 sec01/hello.java 2/40 자바프로그램기본구조 Hello 프로그램구조

More information

C++ Programming

C++ Programming C++ Programming 예외처리 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 예외처리 2 예외처리 예외처리 C++ 의예외처리 예외클래스와객체 3 예외처리 예외를처리하지않는프로그램 int main() int a, b; cout > a >> b; cout

More information

4장.문장

4장.문장 문장 1 배정문 혼합문 제어문 조건문반복문분기문 표준입출력 입출력 형식화된출력 [2/33] ANSI C 언어와유사 문장의종류 [3/33] 값을변수에저장하는데사용 형태 : < 변수 > = < 식 > ; remainder = dividend % divisor; i = j = k = 0; x *= y; 형변환 광역화 (widening) 형변환 : 컴파일러에의해자동적으로변환

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 오류처리 손시운 ssw5176@kangwon.ac.kr 오류메시지를분석한다. 오류메시지에서많은내용을알수있다. 2 디버깅 디버거를사용하면프로그램에서쉽게오류를감지하고진단할수있다. 디버거는중단점을설정하여서프로그램의실행을제어할수있으며문장 단위로실행하거나변수의값을살펴볼수있다. 3 이클립스에서디버깅 4 이클립스에서디버깅 5 이클립스의디버깅명령어 6 예외처리

More information

슬라이드 1

슬라이드 1 UNIT 07 조건문과반복문 로봇 SW 교육원 3 기 학습목표 2 조건문을사용핛수있다. 반복문을사용핛수있다. 조건문 3 조건식의연산결과에따라프로그램의실행흐름을변경 조건문의구성 조건식 실행될문장 조건문의종류 if switch? : ( 삼항연산자 ) if 조건문 4 if 문의구성 조건식 true 또는 false(boolean 형 ) 의결과값을갖는수식 실행될문장

More information

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D> Power Java 제 8 장클래스와객체 I 이번장에서학습할내용 클래스와객체 객체의일생직접 메소드클래스를 필드작성해 UML 봅시다. QUIZ 1. 객체는 속성과 동작을가지고있다. 2. 자동차가객체라면클래스는 설계도이다. 먼저앞장에서학습한클래스와객체의개념을복습해봅시다. 클래스의구성 클래스 (class) 는객체의설계도라할수있다. 클래스는필드와메소드로이루어진다.

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Chapter 06 반복문 01 반복문의필요성 02 for문 03 while문 04 do~while문 05 기타제어문 반복문의의미와필요성을이해한다. 대표적인반복문인 for 문, while 문, do~while 문의작성법을 알아본다. 1.1 반복문의필요성 반복문 동일한내용을반복하거나일정한규칙으로반복하는일을수행할때사용 프로그램을좀더간결하고실제적으로작성할수있음.

More information

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074> Chap #2 펌웨어작성을위한 C 언어 I http://www.smartdisplay.co.kr 강의계획 Chap1. 강의계획및디지털논리이론 Chap2. 펌웨어작성을위한 C 언어 I Chap3. 펌웨어작성을위한 C 언어 II Chap4. AT89S52 메모리구조 Chap5. SD-52 보드구성과코드메모리프로그래밍방법 Chap6. 어드레스디코딩 ( 매핑 ) 과어셈블리어코딩방법

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 오류처리 손시운 ssw5176@kangwon.ac.kr 오류메시지를분석한다. 오류메시지에서많은내용을알수있다. 2 디버깅 디버거를사용하면프로그램에서쉽게오류를감지하고진단할수있다. 디버거는중단점을설정하여서프로그램의실행을제어할수있으며문장 단위로실행하거나변수의값을살펴볼수있다. 3 이클립스에서디버깅 4 이클립스에서디버깅 5 이클립스의디버깅명령어 6 예외처리

More information

Semantic Consistency in Information Exchange

Semantic Consistency in Information Exchange 제 6 장제어 (Control) 6.1 구조적프로그래밍 (Structured Programming) 6.2 예외 (Exceptions) Reading Chap. 7 숙대창병모 1 6.1 구조적프로그래밍 숙대창병모 2 Fortran 제어구조 10 IF (X.GT. 0.000001) GO TO 20 11 X = -X IF (X.LT. 0.000001) GO TO

More information

gnu-lee-oop-kor-lec06-3-chap7

gnu-lee-oop-kor-lec06-3-chap7 어서와 Java 는처음이지! 제 7 장상속 Super 키워드 상속과생성자 상속과다형성 서브클래스의객체가생성될때, 서브클래스의생성자만호출될까? 아니면수퍼클래스의생성자도호출되는가? class Base{ public Base(String msg) { System.out.println("Base() 생성자 "); ; class Derived extends Base

More information

쉽게

쉽게 Power Java 제 4 장자바프로그래밍기초 이번장에서학습할내용 자바프로그램에대한기초사항을학습 자세한내용들은추후에. Hello.java 프로그램 주석 주석 (comment): 프로그램에대한설명을적어넣은것 3 가지타입의주석 클래스 클래스 (class): 객체를만드는설계도 ( 추후에학습 ) 자바프로그램은클래스들로구성된다. 그림 4-1. 자바프로그램의구조 클래스정의

More information

PowerPoint Presentation

PowerPoint Presentation Class - Property Jo, Heeseung 목차 section 1 클래스의일반구조 section 2 클래스선언 section 3 객체의생성 section 4 멤버변수 4-1 객체변수 4-2 클래스변수 4-3 종단 (final) 변수 4-4 멤버변수접근방법 section 5 멤버변수접근한정자 5-1 public 5-2 private 5-3 한정자없음

More information

JAVA PROGRAMMING 실습 02. 표준 입출력

JAVA PROGRAMMING 실습 02. 표준 입출력 자바의기본구조? class HelloJava{ public static void main(string argv[]){ system.out.println( hello,java ~ ){ } } # 하나하나뜯어살펴봅시다! public class HelloJava{ 클래스정의 public static void main(string[] args){ System.out.println(

More information

Visual Basic 반복문

Visual Basic 반복문 학습목표 반복문 For Next문, For Each Next문 Do Loop문, While End While문 구구단작성기로익히는반복문 2 5.1 반복문 5.2 구구단작성기로익히는반복문 3 반복문 주어진조건이만족하는동안또는주어진조건이만족할때까지일정구간의실행문을반복하기위해사용 For Next For Each Next Do Loop While Wend 4 For

More information

예외 예외정의예외발생예외처리예외전파 단정 단정의선언 단정조건검사옵션 2

예외 예외정의예외발생예외처리예외전파 단정 단정의선언 단정조건검사옵션 2 예외 예외정의예외발생예외처리예외전파 단정 단정의선언 단정조건검사옵션 kkman@sangji.ac.kr 2 예외 (exception) 실행시간에발생하는에러 (run-time error) 프로그램의비정상적인종료잘못된실행결과 예외처리 (exception handling) 기대되지않은상황에대해예외를발생야기된예외를적절히처리 (exception handler) kkman@sangji.ac.kr

More information

PowerPoint Template

PowerPoint Template 10. 예외처리 대구가톨릭대학교 IT 공학부 소프트웨어공학연구실 목차 2 10.1 개요 10.2 C++ 의예외처리 10.3 Java 의예외처리 10.4 Ada 의예외처리 10.1 예외처리의개요 (1) 3 예외 (exception) 오버플로나언더플로, 0 으로나누기, 배열첨자범위이탈오류와같이프로그램실행중에비정상적으로발생하는사건 예외처리 (exception handling)

More information

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음 프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음 CHAPTER 9 둘중하나선택하기 관계연산자 두개의피연산자를비교하는연산자 결과값은참 (1) 아니면거짓 (0) x == y x 와 y 의값이같은지비교한다. 관계연산자 연산자 의미 x == y x와 y가같은가? x!= y

More information

PowerPoint Presentation

PowerPoint Presentation Package Class 3 Heeseung Jo 목차 section 1 패키지개요와패키지의사용 section 2 java.lang 패키지의개요 section 3 Object 클래스 section 4 포장 (Wrapper) 클래스 section 5 문자열의개요 section 6 String 클래스 section 7 StringBuffer 클래스 section

More information

Design Issues

Design Issues 11 COMPUTER PROGRAMMING INHERIATANCE CONTENTS OVERVIEW OF INHERITANCE INHERITANCE OF MEMBER VARIABLE RESERVED WORD SUPER METHOD INHERITANCE and OVERRIDING INHERITANCE and CONSTRUCTOR 2 Overview of Inheritance

More information

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx #include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 인터페이스 배효철 th1g@nate.com 1 목차 인터페이스의역할 인터페이스선언 인터페이스구현 인터페이스사용 타입변환과다형성 인터페이스상속 디폴트메소드와인터페이스확장 2 인터페이스의역할 인터페이스란? 개발코드와객체가서로통신하는접점 개발코드는인터페이스의메소드만알고있으면 OK 인터페이스의역할 개발코드가객체에종속되지않게 -> 객체교체할수있도록하는역할 개발코드변경없이리턴값또는실행내용이다양해질수있음

More information

윤성우의 열혈 TCP/IP 소켓 프로그래밍

윤성우의 열혈 TCP/IP 소켓 프로그래밍 예외처리 (Exception Handling) 박종혁교수 UCS Lab Tel: 970-6702 Email: jhpark1@seoultech.ac.kr SeoulTech 2012-2 nd 프로그래밍입문 (1) 예외상황과예외처리의이해 3 예외상황을처리하지않았을때의결과 예외상황은프로그램실행중에발생하는문제의상황을의미한다. 예외상황의예나이를입력하라고했는데, 0보다작은값이입력됨.

More information

TEST BANK & SOLUTION

TEST BANK & SOLUTION TEST BANK & SOLUTION 어서와자바는처음이지!" 를강의교재로채택해주셔서감사드립니다. 본문제집을만드는데나름대로노력을기울였으나제가가진지식의한계로말미암아잘못된부분이있을것으로사료됩니다. 잘못된부분을발견하시면 chunik@sch.ac.kr로연락주시면더좋은책을만드는데소중하게사용하겠습니다. 다시한번감사드립니다. 1. 자바언어에서지원되는 8 가지의기초자료형은무엇인가?

More information

윈도우즈프로그래밍(1)

윈도우즈프로그래밍(1) 제어문 (2) For~Next 문 윈도우즈프로그래밍 (1) ( 신흥대학교컴퓨터정보계열 ) 2/17 Contents 학습목표 프로그램에서주어진특정문장을부분을일정횟수만큼반복해서실행하는문장으로 For~Next 문등의구조를이해하고활용할수있다. 내용 For~Next 문 다중 For 문 3/17 제어문 - FOR 문 반복문 : 프로그램에서주어진특정문장들을일정한횟수만큼반복해서실행하는문장

More information

슬라이드 1

슬라이드 1 -Part3- 제 4 장동적메모리할당과가변인 자 학습목차 4.1 동적메모리할당 4.1 동적메모리할당 4.1 동적메모리할당 배울내용 1 프로세스의메모리공간 2 동적메모리할당의필요성 4.1 동적메모리할당 (1/6) 프로세스의메모리구조 코드영역 : 프로그램실행코드, 함수들이저장되는영역 스택영역 : 매개변수, 지역변수, 중괄호 ( 블록 ) 내부에정의된변수들이저장되는영역

More information

12-file.key

12-file.key 11 (String).. java.lang.stringbuffer. s String s = "abcd"; s = s + "e"; a b c d e a b c d e ,., "910359,, " "910359" " " " " (token) (token),, (delimiter). java.util.stringtokenizer String s = "910359,,

More information

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조 - Part2- 제 2 장다차원배열이란무엇인가 학습목차 2.1 다차원배열이란 2. 2 2 차원배열의주소와값의참조 2.1 다차원배열이란 2.1 다차원배열이란 (1/14) 다차원배열 : 2 차원이상의배열을의미 1 차원배열과다차원배열의비교 1 차원배열 int array [12] 행 2 차원배열 int array [4][3] 행 열 3 차원배열 int array [2][2][3]

More information

9장.예외와 단정

9장.예외와 단정 예외 예외정의예외발생예외처리예외전파 단정 단정의선언 단정조건검사옵션 [2/28] 예외 (exception) 실행시간에발생하는에러 (run-time error) 프로그램의비정상적인종료잘못된실행결과 예외처리 (exception handling) 기대되지않은상황에대해예외를발생 야기된예외를적절히처리 (exception handler) [3/28] 단정 (assertion)

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 배효철 th1g@nate.com 1 목차 표준입출력 파일입출력 2 표준입출력 표준입력은키보드로입력하는것, 주로 Scanner 클래스를사용. 표준출력은화면에출력하는메소드를사용하는데대표적으로 System.out.printf( ) 를사용 3 표준입출력 표준출력 : System.out.printlf() 4 표준입출력 Example 01 public static void

More information

C 언어 프로그래밊 과제 풀이

C 언어 프로그래밊 과제 풀이 과제풀이 (1) 홀수 / 짝수판정 (1) /* 20094123 홍길동 20100324 */ /* even_or_odd.c */ /* 정수를입력받아홀수인지짝수인지판정하는프로그램 */ int number; printf(" 정수를입력하시오 => "); scanf("%d", &number); 확인 주석문 가필요한이유 printf 와 scanf 쌍

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 자료구조자바세미나 Week1 00 Contents 목차 01 Introduction 02 JAVA? 03 Basic Grammar 04 Array 05 String 06 Class & Method 07 Practice 01 Introduction 자료구조자바세미나기본소개 일시장소 IDE 대상 매주수요일저녁 6 시 (2019.03.20 ~ 2019.04.10)

More information

C프로-3장c03逞풚

C프로-3장c03逞풚 C h a p t e r 03 C++ 3 1 9 4 3 break continue 2 110 if if else if else switch 1 if if if 3 1 1 if 2 2 3 if if 1 2 111 01 #include 02 using namespace std; 03 void main( ) 04 { 05 int x; 06 07

More information

PowerPoint Presentation

PowerPoint Presentation Package Class 1 Heeseung Jo 목차 section 1 패키지개요와패키지의사용 section 2 java.lang 패키지의개요 section 3 Object 클래스 section 4 포장 (Wrapper) 클래스 section 5 문자열의개요 section 6 String 클래스 section 7 StringBuffer 클래스 section

More information

PowerPoint Presentation

PowerPoint Presentation public class SumTest { public static void main(string a1[]) { int a, b, sum; a = Integer.parseInt(a1[0]); b = Integer.parseInt(a1[1]); sum = a + b ; // 두수를더하는부분입니다 System.out.println(" 두수의합은 " + sum +

More information

금오공대 컴퓨터공학전공 강의자료

금오공대 컴퓨터공학전공 강의자료 C 프로그래밍프로젝트 Chap 14. 포인터와함수에대한이해 2013.10.09. 오병우 컴퓨터공학과 14-1 함수의인자로배열전달 기본적인인자의전달방식 값의복사에의한전달 val 10 a 10 11 Department of Computer Engineering 2 14-1 함수의인자로배열전달 배열의함수인자전달방식 배열이름 ( 배열주소, 포인터 ) 에의한전달 #include

More information

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770> 연습문제해답 5 4 3 2 1 0 함수의반환값 =15 5 4 3 2 1 0 함수의반환값 =95 10 7 4 1-2 함수의반환값 =3 1 2 3 4 5 연습문제해답 1. C 언어에서의배열에대하여다음중맞는것은? (1) 3차원이상의배열은불가능하다. (2) 배열의이름은포인터와같은역할을한다. (3) 배열의인덱스는 1에서부터시작한다. (4) 선언한다음, 실행도중에배열의크기를변경하는것이가능하다.

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 명품 JAVA Essential 1 2 학습목표 1. 자바의프로그램의기본구조이해 2. 자바의데이터타입이해 3. 자바에서키입력받는방법이해 4. 자바의연산자이해 5. 자바의조건문 (if-else와 switch) 이해 예제 2-1 : Hello, 자바프로그램의기본구조 3 /* * 소스파일 : Hello.java */ public class Hello {? Hello

More information

Microsoft PowerPoint - lec2.ppt

Microsoft PowerPoint - lec2.ppt 2008 학년도 1 학기 상지대학교컴퓨터정보공학부 고광만 강의내용 어휘구조 토큰 주석 자료형기본자료형 참조형배열, 열거형 2 어휘 (lexicon) 어휘구조와자료형 프로그램을구성하는최소기본단위토큰 (token) 이라부름문법적으로의미있는최소의단위컴파일과정의어휘분석단계에서처리 자료형 자료객체가갖는형 구조, 개념, 값, 연산자를정의 3 토큰 (token) 정의문법적으로의미있는최소의단위예,

More information

02 C h a p t e r Java

02 C h a p t e r Java 02 C h a p t e r Java Bioinformatics in J a va,, 2 1,,,, C++, Python, (Java),,, (http://wwwbiojavaorg),, 13, 3D GUI,,, (Java programming language) (Sun Microsystems) 1995 1990 (green project) TV 22 CHAPTER

More information

설계란 무엇인가?

설계란 무엇인가? 금오공과대학교 C++ 프로그래밍 jhhwang@kumoh.ac.kr 컴퓨터공학과 황준하 6 강. 함수와배열, 포인터, 참조목차 함수와포인터 주소값의매개변수전달 주소의반환 함수와배열 배열의매개변수전달 함수와참조 참조에의한매개변수전달 참조의반환 프로그래밍연습 1 /15 6 강. 함수와배열, 포인터, 참조함수와포인터 C++ 매개변수전달방법 값에의한전달 : 변수값,

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 누구나즐기는 C 언어콘서트 제 5 장조건문 이번장에서학습할내용 조건문이란? if 문 if, else 문 중첩 if 문 switch 문 goto 문 이제까지는문장들이순차적으로실행된다고하였다. 하지만필요에따라서조건이만족되면문장의실행순서를변경할수있는기능이제공된다. 조건문 조건에따라서여러개의실행경로가운데하나를선택 문장이실행되는순서에영향을주는문장 조건에따라서여러개의같은처리를반복

More information

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2 제 8 장. 포인터 목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2 포인터의개요 포인터란? 주소를변수로다루기위한주소변수 메모리의기억공간을변수로써사용하는것 포인터변수란데이터변수가저장되는주소의값을 변수로취급하기위한변수 C 3 포인터의개요 포인터변수및초기화 * 변수데이터의데이터형과같은데이터형을포인터 변수의데이터형으로선언 일반변수와포인터변수를구별하기위해

More information

Microsoft PowerPoint - chap06-1Array.ppt

Microsoft PowerPoint - chap06-1Array.ppt 2010-1 학기프로그래밍입문 (1) chapter 06-1 참고자료 배열 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 배열의선언과사용 같은형태의자료형이많이필요할때배열을사용하면효과적이다. 배열의선언 배열의사용 배열과반복문 배열의초기화 유연성있게배열다루기 한빛미디어

More information

Microsoft PowerPoint - 04-UDP Programming.ppt

Microsoft PowerPoint - 04-UDP Programming.ppt Chapter 4. UDP Dongwon Jeong djeong@kunsan.ac.kr http://ist.kunsan.ac.kr/ Dept. of Informatics & Statistics 목차 UDP 1 1 UDP 개념 자바 UDP 프로그램작성 클라이언트와서버모두 DatagramSocket 클래스로생성 상호간통신은 DatagramPacket 클래스를이용하여

More information

Microsoft PowerPoint - chap-06.pptx

Microsoft PowerPoint - chap-06.pptx 쉽게풀어쓴 C 언어 Express 제 6 장조건문 컴퓨터프로그래밍기초 이번장에서학습할내용 조건문이란? if 문 if, 문 중첩 if 문 switch 문 break문 continue문 goto 문 5장까지는문장들이순차적으로실행된다고하였다. 하지만필요에따라서조건이만족되면문장의실행순서를변경할수있는기능이제공된다. 컴퓨터프로그래밍기초 2 조건문 조건에따라서여러개의실행경로가운데하나를선택

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 명품 JAVA Essential 1 2 학습목표 1. 자바의프로그램의기본구조이해 2. 자바의데이터타입이해 3. 자바에서키입력받는방법이해 4. 자바의연산자이해 5. 자바의조건문 (if-else와 switch) 이해 1 예제 2-1 : Hello, 자바프로그램의기본구조 3 /* * 소스파일 : Hello.java */ public class Hello {? Hello

More information

5장. JSP와 Servlet 프로그래밍을 위한 기본 문법(완성-0421).hwp

5장. JSP와 Servlet 프로그래밍을 위한 기본 문법(완성-0421).hwp 1 0 1.7 6 5 'A ' '/ u 4 4 2 2 ' " JS P 프로그래밍 " A ', 'b ', ' 한 ', 9, \ u d 6 5 4 ' c h a r a = 'A '; 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 < % @ p a g e c o n te n

More information

Microsoft PowerPoint - 2강

Microsoft PowerPoint - 2강 컴퓨터과학과 김희천교수 학습개요 Java 언어문법의기본사항, 자료형, 변수와상수선언및사용법, 각종연산자사용법, if/switch 등과같은제어문사용법등에대해설명한다. 또한 C++ 언어와선언 / 사용방법이다른 Java의배열선언및사용법에대해서설명한다. Java 언어의효과적인활용을위해서는기본문법을이해하는것이중요하다. 객체지향의기본개념에대해알아보고 Java에서어떻게객체지향적요소를적용하고있는지살펴본다.

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Chapter 08 함수 01 함수의개요 02 함수사용하기 03 함수와배열 04 재귀함수 함수의필요성을인식한다. 함수를정의, 선언, 호출하는방법을알아본다. 배열을함수의인자로전달하는방법과사용시장점을알아본다. 재귀호출로해결할수있는문제의특징과해결방법을알아본다. 1.1 함수의정의와기능 함수 (function) 특별한기능을수행하는것 여러가지함수의예 Page 4 1.2

More information

JAVA PROGRAMMING 실습 02. 표준 입출력

JAVA PROGRAMMING 실습 02. 표준 입출력 2015 학년도 2 학기 # 배열 (array) 인덱스와인덱스에대응하는데이터들로이루어짂자료구조 배열을이용하면핚번에맋은메모리공갂선언가능 배열에는같은종류의데이터들이순차적으로저장하는공갂 데이터들이순차적으로저장됨 반복문을이용하여처리하기에적합핚자료구조 배열인덱스 0부터시작 인덱스는배열의시작위치에서부터데이터가있는상대적인위치 배열선언과배열생성의두단계필요 배열선언 int

More information

Microsoft PowerPoint - chap06-2pointer.ppt

Microsoft PowerPoint - chap06-2pointer.ppt 2010-1 학기프로그래밍입문 (1) chapter 06-2 참고자료 포인터 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 포인터의정의와사용 변수를선언하는것은메모리에기억공간을할당하는것이며할당된이후에는변수명으로그기억공간을사용한다. 할당된기억공간을사용하는방법에는변수명외에메모리의실제주소값을사용하는것이다.

More information

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Function) 1. 함수의개념 입력에대해적절한출력을발생시켜주는것 내가 ( 프로그래머 ) 작성한명령문을연산, 처리, 실행해주는부분 ( 모듈 ) 자체적으로실행되지않으며,

More information

예제 2) Test.java class A intvar= 10; void method() class B extends A intvar= 20; 1"); void method() 2"); void method1() public class Test 3"); args) A

예제 2) Test.java class A intvar= 10; void method() class B extends A intvar= 20; 1); void method() 2); void method1() public class Test 3); args) A 제 10 장상속 예제 1) ConstructorTest.java class Parent public Parent() super - default"); public Parent(int i) this("hello"); super(int) constructor" + i); public Parent(char c) this(); super(char) constructor

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 쉽게풀어쓴 C 언어 Express 제 6 장조건문 이번장에서학습할내용 조건문이란? if 문 if, else 문 중첩 if 문 switch 문 break 문 continue 문 goto 문 5 장까지는문장들이순차적으로실행된다고하였다. 하지만필요에따라서조건이만족되면문장의실행순서를변경할수있는기능이제공된다. 조건문 조건에따라서여러개의실행경로가운데하나를선택 문장이실행되는순서에영향을주는문장

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 쉽게풀어쓴 C 언어 Express 제 6 장조건문 이번장에서학습할내용 조건문이란? if 문 if, else 문 중첩 if 문 switch 문 break 문 continue 문 goto 문 5 장까지는문장들이순차적으로실행된다고하였다. 하지만필요에따라서조건이만족되면문장의실행순서를변경할수있는기능이제공된다. 조건문 조건에따라서여러개의실행경로가운데하나를선택 문장이실행되는순서에영향을주는문장

More information

JAVA PROGRAMMING 실습 05. 객체의 활용

JAVA PROGRAMMING 실습 05. 객체의 활용 public class Person{ public String name; public int age; } public Person(){ } public Person(String s, int a){ name = s; age = a; } public String getname(){ return name; } @ 객체의선언 public static void main(string

More information

02장.배열과 클래스

02장.배열과 클래스 ---------------- DATA STRUCTURES USING C ---------------- CHAPTER 배열과구조체 1/20 많은자료의처리? 배열 (array), 구조체 (struct) 성적처리프로그램에서 45 명의성적을저장하는방법 주소록프로그램에서친구들의다양한정보 ( 이름, 전화번호, 주소, 이메일등 ) 를통합하여저장하는방법 홍길동 이름 :

More information

Microsoft PowerPoint - ch07 - 포인터 pm0415

Microsoft PowerPoint - ch07 - 포인터 pm0415 2015-1 프로그래밍언어 7. 포인터 (Pointer), 동적메모리할당 2015 년 4 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) Outline 포인터 (pointer) 란? 간접참조연산자

More information

설계란 무엇인가?

설계란 무엇인가? 금오공과대학교 C++ 프로그래밍 jhhwang@kumoh.ac.kr 컴퓨터공학과 황준하 5 강. 배열, 포인터, 참조목차 배열 포인터 C++ 메모리구조 주소연산자 포인터 포인터연산 배열과포인터 메모리동적할당 문자열 참조 1 /20 5 강. 배열, 포인터, 참조배열 배열 같은타입의변수여러개를하나의변수명으로처리 int Ary[10]; 총 10 개의변수 : Ary[0]~Ary[9]

More information

Tcl의 문법

Tcl의 문법 월, 01/28/2008-20:50 admin 은 상당히 단순하고, 커맨드의 인자를 스페이스(공백)로 단락을 짓고 나열하는 정도입니다. command arg1 arg2 arg3... 한행에 여러개의 커맨드를 나열할때는, 세미콜론( ; )으로 구분을 짓습니다. command arg1 arg2 arg3... ; command arg1 arg2 arg3... 한행이

More information

Microsoft PowerPoint - C++ 5 .pptx

Microsoft PowerPoint - C++ 5 .pptx C++ 언어프로그래밍 한밭대학교전자. 제어공학과이승호교수 연산자중복 (operator overloading) 이란? 2 1. 연산자중복이란? 1) 기존에미리정의되어있는연산자 (+, -, /, * 등 ) 들을프로그래머의의도에맞도록새롭게정의하여사용할수있도록지원하는기능 2) 연산자를특정한기능을수행하도록재정의하여사용하면여러가지이점을가질수있음 3) 하나의기능이프로그래머의의도에따라바뀌어동작하는다형성

More information

10 강. 쉘스크립트 l 쉘스크립트 Ÿ 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 Ÿ 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 Ÿ 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다

10 강. 쉘스크립트 l 쉘스크립트 Ÿ 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 Ÿ 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 Ÿ 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다 10 강. 쉘스크립트 쉘스크립트 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다른운영체제로이식되지않음 -스크립트언어를사용하면컴파일과정이없고인터프리터가소스파일에서명령문을판독하여각각의명령을수행

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 Power Java 제 7 장클래스와객체 이번장에서학습할내용 객체지향이란? 객체 메시지 클래스 객체지향의장점 String 클래스 객체지향개념을완벽하게이해해야만객체지향설계의이점을활용할수있다. 실제세계는객체로이루어진다. 객체지향이란? 실제세계를모델링하여소프트웨어를개발하는방법 절차지향과객체지향 절차지향프로그래밍 (procedural programming): 문제를해결하는절차를중요하게생각하는방법

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Chapter 10 포인터 01 포인터의기본 02 인자전달방법 03 포인터와배열 04 포인터와문자열 변수의주소를저장하는포인터에대해알아본다. 함수의인자를값과주소로전달하는방법을알아본다. 포인터와배열의관계를알아본다. 포인터와문자열의관계를알아본다. 1.1 포인터선언 포인터선언방법 자료형 * 변수명 ; int * ptr; * 연산자가하나이면 1 차원포인터 1 차원포인터는일반변수의주소를값으로가짐

More information

PowerPoint Presentation

PowerPoint Presentation Class : Method Jo, Heeseung 목차 section 1 생성자 (Constructor) section 2 생성자오버로딩 (Overloading) section 3 예약어 this section 4 메소드 4-1 접근한정자 4-2 클래스메소드 4-3 final, abstract, synchronized 메소드 4-4 메소드반환값 (return

More information

Microsoft PowerPoint - Supplement-03-TCP Programming.ppt [호환 모드]

Microsoft PowerPoint - Supplement-03-TCP Programming.ppt [호환 모드] - Socket Programming in Java - 목차 소켓소개 자바에서의 TCP 프로그램작성방법 주요클래스와메소드 HTTP 프로토콜을이용한예제 에코프로그램 Q/A 에코프로그램 - EchoServer 에코프로그램 - EchoClient TCP Programming 1 소켓소개 IP, Port, and Socket 포트 (Port): 전송계층에서통신을수행하는응용프로그램을찾기위한주소

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 인터페이스, 람다식, 패키지 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 홈네트워킹 public interface RemoteControl { public void turnon(); // 가전제품을켠다. public void turnoff(); // 가전제품을끈다. 인터페이스를구현 public class Television

More information

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2 객체지향프로그래밍 IT CookBook, 자바로배우는쉬운자료구조 q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2 q 객체지향프로그래밍의이해 v 프로그래밍기법의발달 A 군의사업발전 1 단계 구조적프로그래밍방식 3 q 객체지향프로그래밍의이해 A 군의사업발전 2 단계 객체지향프로그래밍방식 4 q 객체지향프로그래밍의이해 v 객체란무엇인가

More information

Microsoft PowerPoint - chap10-함수의활용.pptx

Microsoft PowerPoint - chap10-함수의활용.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 중 값에 의한 전달 방법과

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 명품 JAVA Essential 1 2 학습목표 1. 자바의프로그램의기본구조이해 2. 자바의데이터타입이해 3. 자바에서키입력받는방법이해 4. 자바의연산자이해 5. 자바의조건문 (if-else와 switch) 이해 예제 2-1 : Hello, 자바프로그램의기본구조 3 /* * 소스파일 : Hello.java */ public class Hello {? Hello

More information

Microsoft PowerPoint - [2009] 02.pptx

Microsoft PowerPoint - [2009] 02.pptx 원시데이터유형과연산 원시데이터유형과연산 원시데이터유형과연산 숫자데이터유형 - 숫자데이터유형 원시데이터유형과연산 표준입출력함수 - printf 문 가장기본적인출력함수. (stdio.h) 문법 ) printf( Test printf. a = %d \n, a); printf( %d, %f, %c \n, a, b, c); #include #include

More information