PowerPoint Presentation

Similar documents
PowerPoint Presentation

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

PowerPoint 프레젠테이션

PowerPoint Presentation

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

JAVA PROGRAMMING 실습 09. 예외처리

PowerPoint 프레젠테이션

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

Java ...

JAVA PROGRAMMING 실습 02. 표준 입출력

슬라이드 1

PowerPoint Presentation

TEST BANK & SOLUTION

Microsoft PowerPoint - Java7.pptx

PowerPoint Presentation

Design Issues

JAVA PROGRAMMING 실습 08.다형성

PowerPoint Presentation

4장.문장

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

PowerPoint Presentation

설계란 무엇인가?

PowerPoint Presentation

PowerPoint Presentation

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

PowerPoint Presentation

JAVA PROGRAMMING 실습 02. 표준 입출력

PowerPoint 프레젠테이션

슬라이드 1

PowerPoint 프레젠테이션

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

untitled

gnu-lee-oop-kor-lec11-1-chap15

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

02장.배열과 클래스

PowerPoint Presentation

Microsoft PowerPoint - C++ 5 .pptx

PowerPoint Presentation

Microsoft PowerPoint - ch07 - 포인터 pm0415

JAVA PROGRAMMING 실습 05. 객체의 활용

PowerPoint 프레젠테이션

Microsoft PowerPoint - chap06-1Array.ppt

PowerPoint Presentation

설계란 무엇인가?

Microsoft PowerPoint - 04-UDP Programming.ppt

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

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

쉽게

슬라이드 1

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

Microsoft PowerPoint - chap-11.pptx

Microsoft PowerPoint - Lect04.pptx

chap 5: Trees

Semantic Consistency in Information Exchange

슬라이드 1

쉽게 풀어쓴 C 프로그래밍

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

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

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

PowerPoint 프레젠테이션

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

11장 포인터

Slide 1

Microsoft Word - EEL2 Lab4.docx

PowerPoint 프레젠테이션

KNK_C_05_Pointers_Arrays_structures_summary_v02

<4D F736F F F696E74202D20C1A63139C0E520B9E8C4A120B0FCB8AEC0DA28B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

슬라이드 1

Microsoft PowerPoint - 03-TCP Programming.ppt

제11장 프로세스와 쓰레드

슬라이드 1

Microsoft PowerPoint - 2강

쉽게 풀어쓴 C 프로그래밍

PowerPoint 프레젠테이션

Microsoft Word - java19-1-midterm-answer.doc

<4D F736F F F696E74202D20C1A63234C0E520C0D4C3E2B7C228B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

Java

PowerPoint Presentation

Microsoft PowerPoint - CSharp-2-기초문법

항상쌍 ( 키, 값 ) 으로만데이터를저장하는클래스 의최고조상 : Map - Map을조상으로하는클래스, HashTable, HashMap, LinkedHashMap, TreeMap 등은데이터를저장할때반드시 키 와 값 의쌍으로저장한다. - Map에저장되는 키 는중복되면안되

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

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

PowerPoint 프레젠테이션

교육자료

Cluster management software

PowerPoint 프레젠테이션

비긴쿡-자바 00앞부속

쉽게 풀어쓴 C 프로그래밊

쉽게 풀어쓴 C 프로그래밍

Microsoft Word - Crackme 15 from Simples 문제 풀이_by JohnGang.docx

C++ Programming

17장 클래스와 메소드

Spring Boot/JDBC JdbcTemplate/CRUD 예제

2002년 2학기 자료구조

No Slide Title

Transcription:

자바프로그래밍 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, s5, s6, s7, s8, s9,,s99; 2

배열의개념 배열 (array): 동일한타입의변수들의모임 3

배열을만드는절차 먼저배열참조변수부터선언 배열을 new 연산자를사용하여서생성 4

배열의인덱스 다음과같은배열을가정하자. 배열요소에는번호가붙어있는데이것을인덱스 (index) 라고부른다. 첫번째요소의번호는 0 이고, 마지막요소의번호는 9 가된다. 5

인덱스를통한요소의접근 배열은변수들이모인것이니, 배열을이루고있는배열요소는하나의변수 로생각하면된다. 배열의첫번째요소에 80 을저장하려면다음과같이한다. 6

예제 : 반복문과배열 크기가 10 인정수형배열을생성하고여기에 0 부터 9 까지의값으로배열을채우는프로그램을살펴보자. public class ArrayTest1 { public static void main(string[] args) { int[] s = new int[10]; for (int i = 0; i < 10; i++) { } s[i] = i; } } for (int i = 0; i < 10; i++) { } System.out.print(s[i] + " "); 0 1 2 3 4 5 6 7 8 9 7

LAB: 성적평균계산하기 8

SOLUTION import java.util.scanner; public class ArrayTest2 { public static void main(string[] args) { final int STUDENTS = 5; int total = 0; Scanner scan = new Scanner(System.in); int[] scores = new int[students]; for (int i = 0; i < STUDENTS; i++) { System.out.print(" 성적을입력하시오 :"); scores[i] = scan.nextint(); } for (int i = 0; i < STUDENTS; i++) total += scores[i]; System.out.println(" 평균성적은 " + total / STUDENTS + " 입니다 "); } } 9

배열의인덱스범위 프로그래머가인덱스가범위를벗어나지않았는지를확인하고책임을져야 한다. 10

배열의초기화 11

LAB: 문자열배열 12

SOLUTION public class PizzaTopping { public static void main(string[] args) { String[] toppings = { "Pepperoni", "Mushrooms", "Onions", "Sausage", "Bacon" }; } } for (int i = 0; i < toppings.length; i++) { } System.out.print(toppings[i] + " "); 13

LAB: 최대값과최소값구하기 인터넷에서특정한상품 ( 예를들어서 TV) 을구입하고자한다. 인터넷에서판 매되는가격이 1 차원배열 prices[] 에저장되어있다고가정했을때, 어떻게 하면최소가격으로상품을구입할수있을까? 14

LAB: 최소값알고리즘 최소값을구할때는일단배열의첫번째요소를최소값으로가정 15

SOLUTION public class GetMin { public static void main(string[] args) { int s[] = { 12, 3, 19, 6, 18, 8, 12, 4, 1, 19 }; int minimum; minimum = s[0]; for (int i = 1; i < s.length; i++) { if (s[i] < minimum) minimum = s[i]; } } } System.out.print(" 최소값은 " + minimum); 16

LAB: 특정한값찾기 순차탐색 (sequential search) 은탐색방법중에서가장간단하고직접적인 탐색방법이다. 순차탐색은배열의원소를순서대로하나씩꺼내서탐색키 와비교하여원하는값을찾아가는방법이다. 17

LAB: 순차탐색알고리즘 배열의원소를순서대로하나씩꺼내서탐색키와비교하여원하는값을찾 아가는방법 18

SOLUTION import java.util.scanner; public class SeqSearch { public static void main(string[] args) { 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 + " 위치에있습니다."); } 19

LAB: 주사위던지기 20

SOLUTION public class RollDice { public static void main(string[] args) { final int SIZE = 6; int freq[] = new int[size]; for (int i = 0; i < 10000; i++) ++freq[(int) (Math.random() * SIZE)]; System.out.println("===================="); System.out.println(" 면 \t 빈도 "); System.out.println("===================="); } for (int i = 0; i < SIZE; i++) System.out.println("" + (i + 1) + "\t" + freq[i]); 21

LAB: 극장예약시스템 22

SOLUTION import java.util.scanner; public class TheaterReserve { public static void main(string args[]) { final int size = 10; int[] seats = new int[size]; while (true) { System.out.println("----------------------------"); for (int i = 0; i < size; i++) System.out.print(i+1 + " "); System.out.println("\n----------------------------"); for (int i = 0; i < size; i++) System.out.print(seats[i] + " "); System.out.println("\n----------------------------"); 23

SOLUTION } System.out.print(" 원하시는좌석번호를입력하세요 ( 종료는 -1): "); Scanner scan = new Scanner(System.in); int s = scan.nextint(); if (s == -1) break; if (seats[s-1] == 0) { seats[s-1] = 1; System.out.println(" 예약되었습니다."); } else { System.out.println(" 이미예약된자리입니다."); } 24

무명배열 자바에서는배열의이름을지정하지않고단순히초기값만으로배열을생성시킬수있다. 무명배열 (anonymous arrays) 은즉시배열을만들어서함수의인수로전달하고자할때많이사용된다. 25

무명배열의예 26

for-each 루프 향상된루프구조 27

for-each 루프의예 28

배열의복사 배열참조변수의복사 29

배열의복사 한배열의모든값을다른배열로복사하고싶다면 Arrays 클래스의 copyof() 메소드를사용 ( 예 ) int [] list_copy = Arrays.copyOf(list, list.length); 30

main() 매개변수 31

명령어프롬프트 32

배열정렬 배열에저장된숫자를크기순으로정렬하려면 Arrays.sort() 사용 33

배열정렬 34

배열정렬 35

2 차원배열 36

2 차원배열의초기화 37

2 차원배열예제 38