4장 자바 기본 구조 4.1 자바 응용 프로그램 분석 4.2 자바 애플릿 프로그램 분석

Slides:



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

Chapter 12. 배열. 배열  동일한 항목들이 동일한 크기로 연속적으로 메모리에 저장되는 구조  동일한 자료 유형이 여러 개 필요한 경우에 이용할 수 있는 자료 구조.
6 장. printf 와 scanf 함수에 대한 고찰 printf 함수 이야기 printf 는 문자열을 출력하는 함수이다. – 예제 printf1.c 참조 printf 는 특수 문자 출력이 가능하다. 특수 문자의 미 \a 경고음 소리 발생 \b 백스페이스 (backspace)
1 08 배열. 한국대학교 객체지향연구소 2 C 로 배우는 프로그래밍 기초 2 nd Edition 배열  동일한 자료유형의 여러 변수를 일괄 선언  연속적인 항목들이 동일한 크기로 메모리에 저장되는 구조  동일한 자료 유형이 여러 개 필요한 경우에 이용할 수 있는.
Part 03 상수, 변수, 자료형 ©우균, 창병모 © 우균, 창병모.
10. 예외 처리.
ㅎㅎ 구조체 구조체 사용하기 함수 매개변수로서의 구조체 구조체 포인터와 레퍼런스 구조체 배열.
컴퓨터 응용 및 실습 Part1. OOP&Java Programming data type Review
Chap07 상속 Section 1 : 상속의 개요 Section 2 : 멤버 변수의 상속
최윤정 Java 프로그래밍 클래스 상속 최윤정
Chap03 자바 기본 구조 3.1 자바 응용 프로그램 분석 3.2 프로그래밍 오류(Error)
Chapter 02 자바 기본구조 자바 프로그래밍의 기초적인 문법을 소개
Lesson 3. 입출력과 제어문.
7장 배열 ②.
3장. 변수와 연산자. 3장. 변수와 연산자 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, / 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, /
Lesson 5. 레퍼런스 데이터형.
제 6장. 생성자와 소멸자 학기 프로그래밍언어및실습 (C++).
4.1 자바 응용 프로그램 분석 4.2 식별자(identifier)와 예약어 4.3 변수와 자료형
8.1 인터페이스 개요와 인터페이스 정의 8.2 인터페이스의 사용 8.3 인터페이스의 상속 8.4 인터페이스 참조
Lesson 9. 예외처리.
Lesson 6. 형변환.
명품 Java Programming.
5장. 참조 타입.
2장 자바환경과 자바 프로그램 2.1 자바 개발 환경 2.2 자바 통합환경 2.3 자바 응용 프로그램과 애플릿 프로그램
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
8장 함수 함수의 필요성 라이브러리 함수와 사용자 정의 함수 함수의 정의, 원형, 호출 배열을 함수 인자로 전달 재귀호출.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
패키지와 접근 제어 패키지에 대하여 접근 제어에 대하여.
3장 자바의 기본문법(2).
Java 6장. 클래스 : 속성 public class SumTest {
Java 기초 (Java 프로그램의 기본 구조)
14장. 포인터와 함수에 대한 이해.
11장. 1차원 배열.
C#.
13. 연산자 오버로딩.
Method & library.
JA A V W. 03.
사용자 함수 사용하기 함수 함수 정의 프로그램에서 특정한 기능을 수행하도록 만든 하나의 단위 작업
Lesson 4. 수식과 연산자.
3장 상수 변수 기본 자료형 키워드와 식별자 상수와 변수 기본 자료형 형변환 자료형의 재정의.
3장. 변수와 연산자 교안 : 전자정보통신 홈페이지 / 커뮤니티/ 학술세미나
Lesson 2. 기본 데이터형.
제 2장 어휘구조와 자료형 토 큰 리 터 럴 주 석 자 료 형 배 열 형.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
연산자 (Operator).
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
2장. 변수와 타입.
컴퓨터공학실습(I) 3주 인공지능연구실.
자바 5.0 프로그래밍.
Chapter 02. 자바 기본 문법.
8주차: Strings, Arrays and Pointers
5장 선택제어문 if 선택문 switch-case 선택문 다양한 프로그램 작성 조건 연산자.
Choi Seong Yun 컴퓨터 프로그래밍 기초 #03 : 변수와 자료형 Choi Seong Yun
Java 3장. 자바의 기본 구조 I : 변수, 자료형, 연산자 public class SumTest {
[ 단원 04 ] 반복과 배열.
2부 기본 구조 2부에서는 자바 언어의 기본구조인 변수, 자료형, 연산자, 선택 및 반복논리, 배열 등에 관해 설명합니다
클래스 : 기능 CHAPTER 7 Section 1 생성자(Constructor)
Lecture 02 프로그램 구조 및 문법 Kwang-Man Ko
Chapter 10 데이터 검색1.
16장. 변수, 연산자, 사용자 정의 함수 변수 배열과 객체 연산자 함수.
Numerical Analysis Programming using NRs
실습과제 (변수와 자료형, ) 1. 다음 작업 (가), (나), (다)를 수행하는 프로그램 작성
2.가상머신의 탐험 도구, Oolong에 대하여 ps lab 김윤경.
29장. 템플릿과 STL 01_ 템플릿 02_ STL.
어서와 C언어는 처음이지 제21장.
2장 자바의 기본문법(1).
제 3장 연 산 자 연 산 자 의 종 류 연 산 자 우 선 순 위 형 변 환.
6 객체.
3장 자바의 기본문법(2).
Presentation transcript:

4장 자바 기본 구조 4.1 자바 응용 프로그램 분석 4.2 자바 애플릿 프로그램 분석 4.3 식별자(identifier)와 예약어 4.4 변수와 자료형 4.5 형 변환(Casting) 4.6 연산자와 수식 4.7 배열 4.8 문자열(String) 2018-11-12

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

응용 프로그램의 예 - (2) 클래스의 정의 클래스의 정의 /** 다음 프로그램(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 + "입니다"); } 클래스의 정의 2018-11-12

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

응용 프로그램의 예 (3) main() 메소드의 매개변수 args[] x = Integer.parseInt(args[0]); 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] 2018-11-12

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

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

4.2 자바 애플릿 프로그램 분석 애플릿 프로그램의 특징 main() 메소드가 없다 네트웍 환경에서 WWW 검색기에 의해 실행 가능 JDK에서 제공되는 애플릿-뷰어에서 실행 가능 HTML 코드내에서 애플릿 파일(*.class) 호출 작고 간단한 응용에 적합 2018-11-12

애플릿 프로그램의 예 (1)패키지 포함 프로그램에서 사용한 라이브러리 클래스를 import 문을 사용하여 포함 import java.applet.*; import java.awt.*; public class Example extends Applet { public void paint( Graphics g) { g.drawString("안녕하세요!! 두 번째 자바 프로그램입니다!", 100,60); } 2018-11-12

애플릿 프로그램의 예 (2) 클래스 정의 애플릿 프로그램은 반드시 java.applet.Applet 클래스로부터 상 속 받아야 한다. import java.applet.*; import java.awt.*; public class Example extends Applet { public void paint( Graphics g) { g.drawString("안녕하세요!! 두 번째 자바 프로그램입니다!", 100,60); } 2018-11-12

애플릿 프로그램의 예 (3) paint() 메소드 - 애플릿에 그래픽을 출력하는 메소드 매개변수로 지정된 문자열을 import java.applet.*; import java.awt.*; public class Example extends Applet { public void paint( Graphics g) { g.drawString("안녕하세요!! 두 번째 자바 프로그램입니다!", 100,60); } 매개변수로 지정된 문자열을 애플릿의 100,60(애플릿의 좌상단을 기준) 위치에 출력 2018-11-12

애플릿 프로그램의 예 (4) 애플릿의 실행 - 애플릿은 HTML 코드 내에서 호출된다 <HTML> <HEAD> <TITLE> 자바 프로그램 테스트 02 </TITLE> </HEAD> <BODY> <CENTER> <APPLET CODE= "Example.class" WIDTH=400 HEIGHT=200 > </APPLET> </CENTER> </BODY> </HTML> 애플릿의 크기 2018-11-12

4.3 식별자와 예약어 식별자 변수, 상수, 메소드, 배열, 문자열, 사용자가 정의하는 클래스나 메 소드 등을 구분할 수 있는 이름 첫 문자가 영문자나 특수문자('_','$')로 시작 길이에는 제한을 두지 않는다 예약어는 식별자로 사용할 수 없다. 대, 소문자를 구분하여 사용 식별자의 사용 관례 클래스 이름은 대문자로 시작 메소드, 변수, 배열, 문자열 등의 이름은 소문자로 시작 2018-11-12

식별자와 예약어 자바의 예약어 abstract boolean break byte cast catch char class const continue default do double else extends final finally float for goto if implememts import instanceof int interface long native new package private protected public return short static super switch synchronized this throw throws transient try void volatile while 2018-11-12

식별자와 예약어 자바는 16비트 유니코드 사용 유니코드는 세계의 다양한 언어들을 지원하기 위해 설계된 문자코 드 체계 현재 34168개의 글자들을 코드화 하고 있으며 최대 65536개의 글 자들을 코드화 할 수 있다 유니코드는 기존의 ASCII 코드 문자 집합을 포함 www.unicode.org 사이트 참조 2018-11-12

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

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

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

형변환(Casting)의 예 정수값을 바이트 값으로 형변환 (target-type) value int a; byte b; ..... b = (byte) a; 2018-11-12

class ConversionDemo{ public static void main(String args[]){ byte b; int i = 259; double d = 525.428; System.out.println(“축소 형변환 결과”); b = (byte) i; System.out.println(“int 259를 byte로 : ” + b); i = (int) d; System.out.println(“double 525.428을 int로 : ” + i ); b = (byte)d; System.out.println(“double 525.428을 byte로 : ” + b ); } 2018-11-12

4.6 연산자와 수식 연산자의 유형 단항연산자 이항 연산자 삼항 연산자 operator op op operator op1 operator op2 삼항 연산자 expr ? op1 : op2 2018-11-12

(1)산술 연산자 2018-11-12

public static void main(String args[]){ int a=5, b=2; int sum = a + b; class Arithmetic{ public static void main(String args[]){ int a=5, b=2; int sum = a + b; int sub = a – b; int mul = a * b; float div = a / b; int mod = a % b; a++; b--; System.out.println(“a+b=”+sum); System.out.println(“a-b=”+sub); System.out.println(“a*b=”+mul); System.out.println(“a/b=”+div); System.out.println(“a의 단항 증가 연산=”+a); System.out.println(“b의 단항 감소 연산=”+b); } 2018-11-12

(2) 관계 연산자 2018-11-12

(2) 논리 연산자 2018-11-12

(3)비트 연산자(비트 단위의 연산) 2018-11-12

public static void main(String args[]){ int a=2, b=5; int c = a | b; class Bitwise{ public static void main(String args[]){ int a=2, b=5; int c = a | b; int d = a & b; int e = a ^ b; int i; int j; i = a << 2; j = b >> 2; System.out.println(“a=”+a); System.out.println(“b=”+b); System.out.println(“a|b=”+c); System.out.println(“a&b=”+d); System.out.println(“a^b=”+e); System.out.println(“a<<2=”+i); } 2018-11-12

(4) 배정 연산자 2018-11-12

public static void main(String args[]){ int a=10; class BitEquals{ public static void main(String args[]){ int a=10; int b1=5, b2=5, b3=5; a+=4; System.out.println(“a+=”+a); a-=4; System.out.println(“a+=”+a); a*=4; System.out.println(“a+=”+a); a/+=4; System.out.println(“a+=”+a); a%=4; System.out.println(“a+=”+a); a|=4; System.out.println(“a+=”+a); System.out.println(“b1=”+b1+”b2=“+b2+”b3=“+b3); b1 >>= 1; b2 <<= 1; b3 >>>= 1; System.out.println(“ b1 >>= 1”+b1); System.out.println(“ b2 <<= 1”+b2); System.out.println(“ b3 >>>= 1”+b3); } 2018-11-12

(5) 3항 연산자 3항 연산자 "?:” 선택문의 if-then-else문을 축약해서 사용할 수 있는 연산자 수식1 ? 수식2 : 수식3 3항 연산자는 우선 수식1을 평가하여 true인지 false 인지를 판별하여 true이면 수식2가 평가되고, false 이면 수식3이 평가되어 그 결과가 수식1의 결과로 반환 예 : flag = count > 0 ? 0 : 1; 2018-11-12

public static void main(String args[]){ int i=10; class TenaryDemo{ public static void main(String args[]){ int i=10; System.out.println(“정수형 변수 i의 값은 ”+i); String str = ( i % 2 == 0) ? “짝수” : “혹수”; System.out.print(str); } 2018-11-12

연산자의 우선 순위 2018-11-12

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

배열의 첨자 열 첨자 [0][0] [0][1] [0][2] [0][3] [0][4] [0][0] [0][1] [0][2] [0][3] [0][4] [1][0] [1][1] [1][2] [1][3] [1][4] 행 첨자 [2][0] [2][1] [2][2] [2][3] [2][4] [3][0] [3][1] [3][2] [3][3] [3][4] 2018-11-12

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

배열 class Array{ public static void main(String args[]){ String weekly_days[] = {“월요일”, “화요일”, 수요일”, “목요일”, “금요일”, “토요일”, “일요일”}; /* String weekly_days[] = new String[7]; weekly_days[0] = “월요일”; weekly_days[1] = “화요일”; … */ System.out.println(“내가 제일 좋아하는 요일은 ” +weekly_days[4]+”입니다”); } 2018-11-12

public static void main(String args[]){ class Array{ public static void main(String args[]){ int two_array[][] = new int[4][5]; int i, j, k=0; for (i=0; i<4; i++){ for (j=0; j<5; j++){ two_array[i][j] = k; k++; } for (j=0; j<5; j++) System.out.print(two_array[i][j] + “ “); System.out.println(); 2018-11-12