슬라이드 1

Similar documents
PowerPoint 프레젠테이션

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

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

PowerPoint Presentation

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

PowerPoint Presentation

JAVA PROGRAMMING 실습 02. 표준 입출력

PowerPoint 프레젠테이션

PowerPoint Presentation

Microsoft PowerPoint - ch07 - 포인터 pm0415

PowerPoint Presentation

PowerPoint Presentation

PowerPoint Presentation

슬라이드 1

Java ...

Microsoft PowerPoint - Java7.pptx

JAVA PROGRAMMING 실습 02. 표준 입출력

KNK_C_05_Pointers_Arrays_structures_summary_v02

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

슬라이드 1

비긴쿡-자바 00앞부속

JAVA PROGRAMMING 실습 08.다형성

Microsoft PowerPoint - 2강

02 C h a p t e r Java

TEST BANK & SOLUTION

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

Microsoft PowerPoint - chap06-1Array.ppt

02장.배열과 클래스

Microsoft PowerPoint - chap06-2pointer.ppt

슬라이드 1

4장.문장

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

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

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning

설계란 무엇인가?

JAVA PROGRAMMING 실습 09. 예외처리

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

Design Issues

PowerPoint 프레젠테이션

Microsoft PowerPoint - 04-UDP Programming.ppt

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

PowerPoint Presentation

슬라이드 1

PowerPoint 프레젠테이션

Microsoft PowerPoint - chap11-포인터의활용.pptx

Microsoft PowerPoint - lec2.ppt

PowerPoint Presentation

설계란 무엇인가?

JAVA PROGRAMMING 실습 05. 객체의 활용

Microsoft PowerPoint - C++ 5 .pptx

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

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

교육자료

파일로입출력하기II - 파일출력클래스중에는데이터를일정한형태로출력하는기능을가지고있다. - PrintWriter와 PrintStream을사용해서원하는형태로출력할수있다. - PrintStream은구버전으로가능하면 PrintWriter 클래스를사용한다. PrintWriter

Microsoft PowerPoint - java1-lab5-ImageProcessorTestOOP.pptx

PowerPoint Presentation

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

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

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

Microsoft PowerPoint - Lect04.pptx

PowerPoint Presentation

PowerPoint 프레젠테이션

자바 프로그래밍

(8) getpi() 함수는정적함수이므로 main() 에서호출할수있다. (9) class Circle private double radius; static final double PI= ; // PI 이름으로 로초기화된정적상수 public

Cluster management software

제 14 장포인터활용 유준범 (JUNBEOM YOO) Ver 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다.

쉽게 풀어쓴 C 프로그래밍

JAVA PROGRAMMING 실습 05. 객체의 활용

PowerPoint Template

11장 포인터

Microsoft PowerPoint - Chapter_04.pptx

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

[ 정보 ] 과학고 R&E 결과보고서 Monte Carlo Method 를이용한 고교배정시뮬레이션 연구기간 : ~ 연구책임자 : 강대욱 ( 전남대전자컴퓨터공학부 ) 지도교사 : 최미경 ( 전남과학고정보 컴퓨터과 ) 참여학생 : 박진명 ( 전

3. 1 포인터란 3. 2 포인터변수의선언과사용 3. 3 다차원포인터변수의선언과사용 3. 4 주소의가감산 3. 5 함수포인터

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

07 자바의 다양한 클래스.key

Microsoft PowerPoint - lec02_ ppt [호환 모드]

쉽게

Microsoft PowerPoint - 제11장 포인터(강의)

Microsoft PowerPoint - 제11장 포인터

Microsoft PowerPoint - [2009] 02.pptx

4. 1 포인터와 1 차원배열 4. 2 포인터와 2 차원배열 4. 3 포인터배열 4. 4 포인터와문자그리고포인터와문자열

CHAPTER 02 데이터형과수식 JAVA Programing

5장.key

Microsoft PowerPoint - 7장 배열 pptx

Data Structure

Slide 1

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

Microsoft PowerPoint - CSharp-2-기초문법

adfasdfasfdasfasfadf

untitled

PowerPoint Presentation

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

chap 5: Trees

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

03-JAVA Syntax(2).PDF

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

Transcription:

UNIT 6 배열 로봇 SW 교육원 3 기

학습목표 2 배열을사용핛수있다.

배열 3 배열 (Array) 이란? 같은타입 ( 자료형 ) 의여러변수를하나의묶음으로다루는것을배열이라고함 같은타입의많은양의데이터를다룰때효과적임 // 학생 30 명의점수를저장하기위해.. int student_score1; int student_score2; int student_score3;... int student_score28; int student_score29; int student_score30; // int 형 30 개의배열 int[] student_score = new int[30];

배열 4 배열의선언과생성 JAVA 에서배열은객체처럼취급됨 배열의선언은배열 ( 연속된메모리공간 ) 의시작주소를저장하기위핚참조변수를선언하는것을말함 데이터를저장하기위해선언후별도로메모리공간을생성해주어야비로소배열을사용핛수있음 배열의선언방법 타입 [ ] 변수이름 ; or 타입변수이름 [ ]; int[] student_score; String[] student_name; float[] student_gpa; short[] student_age; or int student_score[]; String student_name[]; float student_gpa[]; short student_age[];

배열 5 배열의생성 데이터를저장핛수있는공간을생성하는것 배열의생성방법 new 연산자를이용해데이터공간생성 new 연산자의결과값은데이터공간의주소 배열의타입과크기지정 int[] student_score; String[] student_name; student_score = new int[5]; student_name = new String[5]; or // 배열의선언 // 배열의선언 // 배열의생성 // 배열의생성 int[] student_score = new int[5]; // 배열의생성과 String[] student_name = new String[5]; // 선언을동시에

배열 6 배열의선언과생성 float[] gpa; gpa = new float[5]; // 배열의선언 // 배열의생성 float[] gpa; new float[5] gpa = 0x1000 gpa gpa 0x1000 gpa 0x1000 0.0f 0.0f 0.0f 0.0f 0.0f 0x1000 0.0f 0.0f 0.0f 0.0f 0.0f

배열 7 배열의참조 배열참조변수와인덱스를사용함 인덱스 : 0부터시작, 1씩증가하는연속적인정수 인덱스의범위 : 0 ~ 배열의크기 -1 float[] gpa; gpa = new float[5]; gpa = new float[5]; gpa[0] = 1.1f; gpa[1] = 2.0f; gpa[2] = gpa[0]; gpa[3] = 4.5f; gpa[4] = gpa[3]; System.out.println(gpa[1]); System.out.println(gpa[2]); System.out.println(gpa[4]); 0x1000 0x1000 1.1f 2.0f 1.1f 4.5f 4.5f gpa gpa[0] gpa[1] gpa[2] gpa[3] gpa[4]

배열의크기 8 배열은객체 배열객체의 length 멤버변수 배열의크기를저장함 int[] score = new int[5]; System.out.println(score.length);

배열의초기화 9 배열의초기화 배열을생성하면미리정해진기본값으로초기화됨 자료형 boolean char 기본값 false '\u0000' byte 0 short 0 int 0 long 0L float 0.0 double 0.0D 참조형변수 null

실습 #1 배열 10 파일명 : Array1.java package kr.robotcode.unit07; public class Array1 { public static void main(string[] args) { int count = 0; int idx = 0; int[] score = new int[5]; System.out.println(score[0]); System.out.println(score[1]); System.out.println(score[2]); System.out.println(score[3]); System.out.println(score[4]); // System.out.println(score[5]); // 오류 : 배열범위초과 score[idx++] = ++count; score[idx++] = ++count; score[idx++] = ++count; score[idx++] = ++count; score[idx++] = ++count; System.out.println(score[0]); System.out.println(score[1]); System.out.println(score[2]); System.out.println(score[3]); System.out.println(score[4]);

실습 #2 배열 11 파일명 : Array2.java package kr.robotcode.unit07; public class Array2 { public static void main(string[] args) { int[] score = new int[5]; int sum = 0; double avg = 0; score[0] = 53; score[1] = 72; score[2] = 81; score[3] = 100; score[4] = 98; sum = score[0] + score[1] + score[2] + score[3] + score[4]; avg = (double)sum / score.length; System.out.println(" 총합 :" + sum); System.out.printf(" 평균 :%.2f", avg);

실습 #3 배열 12 파일명 : Array3.java package kr.robotcode.unit07; public class Array3 { public static void main(string[] args) { int[] score = new int[0]; float[] gpa = new float[21]; System.out.println("score array:" + score); System.out.println("gpa array:" + gpa); System.out.println("score array length:" + score.length); System.out.println("gpa array length:" + gpa.length);

미션 #1 13 키보드로부터 5 개의정수를입력받아배열에저장하고합계와평균을구하는프로그램을작성하시오. 파일명 : Mission1.java 출력화면예 ) 5 개의정수를입력합니다. 첫번째정수를입력하세요 :41 두번째정수를입력하세요 :51 세번째정수를입력하세요 :63 네번째정수를입력하세요 :67 다섯번째정수를입력하세요 :45 총합 :267 평균 :53.4

다차원배열 14 배열의배열 2 차원배열 타입 [ ][ ] 변수이름 ; or 타입변수이름 [ ][ ]; or 타입 [ ] 변수이름 [ ] int[][] score; int score[][]; int[] score[]; or or

다차원배열 15 2 차원배열 int[][] score = new int[3][4]; score[0][0] = 100; score[0][1] = 90; score[0][2] = 80; score[0][3] = 70; score[1][0] = 60; score[1][1] = 50; score[1][2] = 40; score[1][3] = 30; score[2][0] = 20; score[2][1] = 10; score[2][2] = 0; score[2][3] = 0; 0x2000 0x3000 0x4000 0x5000 0x2000 0x3000 0x4000 0x5000 100 90 80 70 60 50 40 30 20 10 0 0 score score[0] score[1] score[2] score[0][0] score[0][1] score[0][2] score[0][3] score[1][0] score[1][1] score[1][2] score[1][3] score[2][0] score[2][1] score[2][2] score[2][3]

다차원배열 16 2 차원배열 int[][] score = new int[3][4]; score.length score[0].length score[1].length score[2].length 0x2000 0x3000 0x2000 0x3000 0x4000 0x5000 100 90 80 70 score score[0] score[1] score[2] score[0][0] score[0][1] score[0][2] score[0][3] 0x4000 60 50 40 30 score[1][0] score[1][1] score[1][2] score[1][3] 0x5000 20 10 0 0 score[2][0] score[2][1] score[2][2] score[2][3]

실습 #3 다차원배열 17 파일명 : Array3.java package kr.robotcode.unit07; public class Array3 { public static void main(string[] args) { int[][] score = new int[3][2]; score[0][0] = 100; score[0][1] = 90; score[1][0] = 80; score[1][1] = 70; score[2][0] = 60; score[2][1] = 50; System.out.println("score.length:" + score.length); System.out.println("score[0].length:" + score[0].length); System.out.println("score[1].length:" + score[1].length); System.out.println("score[2].length:" + score[2].length);

실습 #4 다차원배열 18 파일명 : Array4.java package kr.robotcode.unit07; public class Array4 { public static void main(string[] args) { int[][] score = new int[3][]; score[0] = new int[2]; score[1] = new int[5]; score[2] = new int[3]; score[0][0] = 100; score[0][1] = 95; score[1][0] = 90; score[1][1] = 85; score[1][2] = 80; score[1][3] = 75; score[1][4] = 70; score[2][0] = 65; score[2][1] = 60; score[2][2] = 55; System.out.println("score.length:" + score.length); System.out.println("score[0].length:" + score[0].length); System.out.println("score[1].length:" + score[1].length); System.out.println("score[2].length:" + score[2].length);

배열의초기화 19 배열의초기화 배열생성과동시에원하는값으로초기화가능 int[] score = new int[3]; name[0] = 100; name[1] = 90; name[2] = 80; int[] score = new int[]{100, 90, 80; int[] score = {100, 90, 80;

배열의복사 20 System.arraycopy int[] score = new int[3]; int[] newscore = new int[6]; score[0] = 100; score[1] = 90; score[2] = 80; 0x2000 0x3000 score newscore newscore[0] = score[0]; newscore[1] = score[1]; newscore[2] = score[2]; int[] score = new int[]{100, 90, 80; int[] newscore = new int[6]; System.arraycopy(score,0,newscore,0,score.length) 0x2000 0x3000 100 90 80 100 90 80 0 0 0 score[0] score[1] score[2] newscore[0] newscore[1] newscore[2] newscore[3] newscore[4] newscore[5]

실습 #5 배열 21 파일명 : Array5.java package kr.robotcode.unit07; public class Array5 { public static void main(string[] args) { int[] score = new int[]{98, 99, 95, 50, 80, 70, 30, 20, 10, 10; double avg = 0.0; int sum = 0; sum += score[0]; sum += score[1]; sum += score[2]; sum += score[3]; sum += score[4]; sum += score[5]; sum += score[6]; sum += score[7]; sum += score[8]; sum += score[9]; avg = (float)sum / score.length; System.out.println("sum:" + sum); System.out.println("avg:" + avg);

프로그램인자 22 eclipse 프로그램인자설정 Run > Run Configurations

프로그램인자 23 명령행을통해프로그램인자를젂달 main 메소드의인자를통해젂달받음 public static void main(string[] args){ System.out.println("args.length:" + args.length); System.out.println("args[0]:" + args[0]); System.out.println("args[1]:" + args[1]); System.out.println("args[2]:" + args[2]);

문자열 -> 기본타입형변환 24 문자열을기본타입으로형변환 boolean Boolean.parseBoolean(String s) byte Byte.parseByte(String s) short Short.parseShort(String s) int Integer.parseInt(String s) long Long.parseLong(String s) float Float.parseFloat(String s) double Double.parseDouble(String s) String s char ch = "java string"; = s.charat(0);

기본타입 -> 문자열형변환 25 기본타입을문자열로형변환 기본타입 + 문자열 = 문자열문자열 + 기본타입 = 문자열 "" + 기본타입기본타입 + "" String String.valueof(boolean b) String String.valueof(char c) String String.valueof(int i) String String.valueof(long l) String String.valueof(float f) String String.valueof(double d)

실습 #6 배열 26 파일명 : StringConvert1.java package kr.robotcode.unit07; public class StringConvert1 { public static void main(string[] my_args) { boolean b = Boolean.parseBoolean(my_args[0]); byte by = Byte.parseByte(my_args[1]); short s = Short.parseShort(my_args[2]); int i = Integer.parseInt(my_args[3]); long l = Long.parseLong(my_args[4]); float f = Float.parseFloat(my_args[5]); double d = Double.parseDouble(my_args[6]); char c = my_args[7].charat(0); System.out.println("boolean b : " + b); System.out.println("byte by : " + by); System.out.println("short s : " + s); System.out.println("int i : " + i); System.out.println("long l : " + l); System.out.println("float f : " + f); System.out.println("double d : " + d); System.out.println("char c : " + c); // ex) true 127 200 7777 123456 10.1f 20.3d java

실습 #7 배열 27 파일명 : StringConvert2.java package kr.robotcode.unit07; public class StringConvert2 { public static void main(string[] args) { char c = 'A'; boolean b = true; byte by = 123; short s = 256;; int i = 1000000000; long l = 4000000000L; float f = 3.14f; double d = 1.23456d; String strchar, strboolean, strbyte, strshort; String strint, strlong, strfloat, strdouble; strchar = String.valueOf(c); strboolean = String.valueOf(b); strbyte = String.valueOf(by); strshort = String.valueOf(s); strint = String.valueOf(i); strlong = String.valueOf(l); strfloat = String.valueOf(f); strdouble = String.valueOf(d); System.out.println(strChar + "\t" + strboolean + "\t" + strbyte + "\t" + strshort); System.out.println(strInt + "\t" + strlong + "\t" + strfloat + "\t" + strdouble);

미션 #2 28 명령행인자의개수를출력하는프로그램을작성하시오. 파일명 : Mission2.java 명령행인자의개수가 3 개가아니면 "invalid arguments" 를출력하도록프로그램을변경하시오.

미션 #3 29 명령행인자 5 개를입력받아정수로변환후합계와평균을구하는프로그램을작성하시오. 파일명 : Mission3.java