제 7주 2015년 1학기 강원대학교 컴퓨터학부 담당교수: 정충교

Slides:



Advertisements
Similar presentations
5 장 조건과 반복 ②. Contents Counting and Looping [while 문 사용 ] Powers of 2 [while 문 사용 ] More Guessing [do 문 사용 ] Election Day [do 문 사용 ] Finding Maximum &
Advertisements

명품 JAVA Programming 제 3 장 반복문, 배열, 예외처리.
어서와 Java는 처음이지! 제3장선택과 반복.
프로그래밍 개론 Ⅰ 제 3장. 클래스와 객체의 사용 ①.
22강 API - I - JAVA필수 API - String의 이해 - String의 문제점
어서와 Java는 처음이지! 제2장 자바 프로그래밍 기초.
IntArray[0] int length 5 intArray 객체 제 3 장 반복문, 배열, 예외처리.
객체지향 프로그래밍.
11장. 기본 API 클래스.
어서와 Java는 처음이지! 제2장 자바 프로그래밍 기초.
7장 배열 ②.
어서와 Java는 처음이지! 제4장 배열.
Java Seminar 6.
제 4장 문 장 배정문 혼합문 제어문 표준 입출력.
4부 클래스 라이브러리 “4부에서는 자바 언어의 API인 클래스 라이브러리에 관해 설명합니다
자바란 무엇인가? JDK의 다운로드 및 설치 방법 Hello, Java 프로그램의 작성 자바 프로그램의 작동 원리
윤 홍 란 제3장 클래스와 객체의 사용-1 윤 홍 란
Chapter 02 자바 기본구조 자바 프로그래밍의 기초적인 문법을 소개
표준 API(클래스라이브러리)의 기본 클래스 활용
[INA470] Java Programming Youn-Hee Han
명품 JAVA Essential.
명품 JAVA Essential.
정적 메소드와 정적 변수 상수 래퍼 클래스 포매팅
명품 JAVA Essential.
명품 JAVA Programming 제 4 장 클래스와 객체.
3. 자바에서 지원하는 패키지 자바에서 기본적으로 제공하는 패키지.
Power Java 제4장 자바 프로그래밍 기초.
JAVA 프로그래밍 6장 객체지향프로그래밍의 핵심.
Power Java 제10장 배열.
객체지향 언어와 클래스, 객체 ㅎㅎ 개요 클래스의 선언, 객체의 생성 및 속성 참조 방식 멤버 변수 메소드 한빛미디어(주)
Choi, Namseok Java 기초 (Java의 제어문과 배열) Choi, Namseok
명품 JAVA Essential.
명품 Java Programming.
제 11 장 java.lang 패키지 제 12 장 문자열 제 13 장 유틸리티 제 14 장 입출력 제 15 장 네트워킹
윤 홍 란 4 장 클래스 작성 윤 홍 란
5장 조건과 반복 ①.
주소록 프로그램.
프로그래밍2 및 실습 C언어 기반의 C++ 2.
Power Java 제20장 패키지.
7장 배열 ①.
제 4주 – 클래스 설계 제 4주 목표 클래스를 구현하는 법을 배운다. 변수 선언 메소드 구현 구성자 객체지향프로그래밍
6장 객체-지향 설계 ①.
제 4주 2014년 1학기 강원대학교 컴퓨터학부 담당교수: 정충교
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
12장 문자열 12.1 문자열의 개요 12.2 String 클래스 12.3 StringBuffer 클래스.
23강 API - II - 약방의 감초 Random 클래스 - Scanner 및 Sysout - Wrapper 클래스의 이해
5장 조건과 반복 ②.
제2장 데이터 및 수식.
6장 객체-지향 설계 ①.
어서와 Java는 처음이지! 제4장 배열 IT응용시스템공학과 김형진 교수.
자바의 신 Volume 1 1부(1~3장) 자바의 신 메인 홈 : 자바의 신 페이스북: 자바의 신 문제 풀이 :
03. 안드로이드를 위한 Java 문법 제목. 03. 안드로이드를 위한 Java 문법 제목.
WAP Java Seminar
Ch.1 Iterator Pattern <<interface>> Aggregate +iterator
메소드와 클래스 정의 및 문제 풀이 Method and Class Define and Problem Solve
제 2장 어휘구조와 자료형 토 큰 리 터 럴 주 석 자 료 형 배 열 형.
[INA470] Java Programming Youn-Hee Han
Java의 정석 제 4 장 조건문과 반복문 Java 정석 남궁성 강의
JA A V W. 04.
자바 5.0 프로그래밍.
5장 조건과 반복 ①.
Java 3장. 자바의 기본 구조 I : 변수, 자료형, 연산자 public class SumTest {
JVM의 구조와 메모리 모델 JVM의 내부 구조 클래스 파일 클래스 로더 메소드(method) 영역 힙(heap) 영역
자바 5.0 프로그래밍.
컴퓨터 프로그래밍: 실습 1 제 1장 . 서론.
컴퓨터 프로그래밍 기초 - 11th : 파일 입출력 및 구조체 -
Java 5장. 객체지향 개념 public class SumTest {
자바 암호 프로그래밍 Java Cryptography Programming
Chapter8 : 인터페이스와 패키지 8.1 인터페이스 개요와 인터페이스 정의 8.2 인터페이스의 사용
자바 암호 프로그래밍 Java Cryptography Programming
Presentation transcript:

제 7주 2015년 1학기 강원대학교 컴퓨터학부 담당교수: 정충교 프로그래밍 기초 제 7주 2015년 1학기 강원대학교 컴퓨터학부 담당교수: 정충교

라이브러리 활용

라이브러리(library) 자주 사용되는 기능을 미리 프로그램으로 작성하여 한 곳에 저장해 놓은 것.

라이브러리와 API Document http://docs.oracle.com/javase/7/docs/api/ API: Application Programming Interface 라이브러리에 들어 있는 클래스이 지원하는 메소드와 메소드 사용법을 보여줌 아래 사이트에서 온라인으로 볼 수 있으며 http://docs.oracle.com/javase/7/docs/api/ 내려받아 내 컴퓨터에 저장해 놓고 볼 수 도 있음

The API Document

import java.util.Scanner; 라이브러리에 들어 있는 클래스 이용하기 import java.util.Scanner; 클래스들은 그룹으로 분류되어 있으며 이 그룹을 패키지라고 함 Scannner 클래스는 java.util 패키지에 들어 있음 Scanner 클래스의 full name = java.util.Scanner 클래스를 import하면 프로그램을 작성할 때 클래스의 full name(java.util.Scanner) 대신 Scanner라고만 적을 수 있음

java.lang 패키지 java.lang 패키지에는 가장 기본적이며 많이 사용되는 클래스들이 들어 있음 java.lang 패키지에 들어 있는 클래스들은 import 하지 않고도 짧은 이름을 사용할 수 있음 String 클래스와 System 클래스는 java.lang 패키지에 들어 있음

Math 클래스 java.lang.Math

static double  random() Returns a double value with a positive sign, greater than or equal to 0.0  and less than 1.0.

static double abs(double a) 메소드 이름 static double abs(double a) 메소드를 사용할 때 double 타입 인수를 하나 주어야 한다. 메소드가 실행되고 나면 double 타입 결과를 반환한다. (인수로 주어진 수의 절대값) * abs: absolute value (절대값)

static double random() 메소드 이름 static double random() 메소드를 사용할 때 인수를 주지 않는다. 메소드가 실행되고 나면 double 타입 결과를 반환한다. (0.0 이상 1.0 미만 난수가 반환됨)

10개의 난수 생성 public class TenRandomNumbers { public static void main(String[] args) for (int i = 1; i <= 10; i++) System.out.println(Math.random()); }

출력 0.6516831128923004 0.3159760705754926 0.945877632966408 0.04538322890407964 0.8815999823052094 0.07672479266883347 0.04423548066038108 0.4441137107417066 0.15348060768674676 0.1833850393131755

주사위 모의실험 한 개의 주사위를 던지는 모의실험에는 1에서 6까지의 정수 난수가 필요하다. int r; r = Math.random(); 0.0 < r < 1.0. 0.0 < 6*r < 6.0 (int)(6 * Math.random()) // 0 이상 6 미만 정수 난수 (int)(6 * Math.random()) + 1 // 1 이상 7 미만 정수 난수

정수를 생성하기 위한 Math.random() 사용 예를 들어, 만약 r = 0.8929343993861253 이라면, 6*r = 5.3576063963167518 이고   정수 값을 얻기 위하여, 6 * r을 정수로 형변환 함으로써 소수점 아래 부분을 손쉽게 버릴 수 있다. 따라서, (int)(6*Math.random()) + 1 는 1에서 7미만의 임의의 정수를 반환한다. (int)(52*Math.random() )+1은 1에서 53미만의 임의의 정수를 반환한다.

예제   주사위 2개를 100번 굴려서 합이 7이 나온 횟수를 출력하는 프로그램 

public static void main(String [] args) int die1,die2;   import java.util.*; public class Dice { public static void main(String [] args) int die1,die2; int sum, sevens = 0; for (int i = 1; i <= 100; i++) die1 = (int)(6*Math.random())+1; // 임의의 정수 1..6 die2 = (int)(6*Math.random())+ 1; sum = die1 + die2; if (sum == 7) sevens = sevens + 1; } System.out.println("The number of sevens is " + sevens);

java.util.Scanner int nextInt() 정수를 하나 읽음 double nextDouble() 실수를 하나 읽음 String next() 단어를 하나 읽음 String nextLine() 한 줄을 읽음

문자열을 정수로 변환

문자열을 실수로 변환

Strings 문자열 java.lang.String

String int literal 10, 2300 String literal "Java", "123", "" // 그 변수가 문자열을 가리키게 한다. String lang = "Java"; String lang = new String("Java"); (위 두 문장은 같다.) int literal  10, 2300 // int 타입 변수를 선언하고 // 그 변수에 값을 저장한다. int num1 = 10; int numb2 = 2300; “Java” num1 lang 10 num2 2300 문자열은 객체이다.

String concatenation String s = "꽃이" + " 되었다."; "꽃이" " 되었다." s "꽃이 되었다." 새 객체가 만들어진다.

Multiline strings System.out.print("그대가 \n" + "곁에 있어도 \n" + " 나는 그대가 그립다."); 그대가 곁에 있어도 나는 그대가 그립다.

Comparing strings String a = "Kangwon"; String b = "kangwon"; System.out.println(a.equals(b)); a "Kangwon" 네가 b와 내용이 같니? 예 b "Kangwon"

Comparing strings String a = "Kangwon"; String b = "KANGWON"; System.out.println(a.equals(b)); System.out.println(a.equalsIgnoreCase(b)); // 대소문자 무시 String c = input.nextLine(); System.out.println("Kangwon".equals(c)); // 입력된 단어가 일치하나?

Test for reference equality String a = new String("Kangwon"); String b = new String("Kangwon"); System.out.println(a == b); a b "Kangwon" "Kangwon" a와 b가 같은 객체를 가리키나? false

String 메소드 int length( ) s.length() s에 있는 문자들의 수를 반환한다. String s = “Jaws”; s.length() --> 4

String 메소드 String substring(int index) s.substring(index) index 이후의 내용으로 새 문자열을 만들어 반환한다. String s = “The Sixth Sense”; s.substring(7) --> “th Sense”

String 메소드 String substring(int start, int end) s.substring(start, end) start 부터 end 직전까지의 내용으로 새 문자열을 만들어 반환 (inclusive) (exclusive) String s = “TheSixthSense”; s.substring(1, 3) --> “he”

String 메소드 String toLowerCase() String toUpperCase() s.toLowerCase() 모든 대문자를 소문자로 바꾼 새 문자열을 만들어 반환 s.upperCase() 모든 소문자를 대문자로 바꾼 새 문자열을 만들어 반환 String s = “The Lion King”; s.toLowerCase() --> “the lion king”

java.lang.StringBuilder StringBuilder sb = "꽃이"; sb.append(" 되었다."); sb "꽃이" " 되었다." sb "꽃이 되었다." 기존 객체가 변한다.

끝.