과목명

Similar documents
PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

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

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

Microsoft PowerPoint - lec2.ppt

02 C h a p t e r Java

K&R2 Reference Manual 번역본

PowerPoint Presentation

JAVA PROGRAMMING 실습 08.다형성

PowerPoint Presentation

Java ...

PowerPoint Presentation

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

Microsoft PowerPoint - 04-UDP Programming.ppt

JAVA PROGRAMMING 실습 02. 표준 입출력

03-JAVA Syntax(2).PDF

rmi_박준용_final.PDF

슬라이드 1

4장.문장

PowerPoint Presentation

Microsoft PowerPoint - 2강

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

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

Design Issues

PowerPoint Presentation

자바 프로그래밍

Microsoft PowerPoint - ch07 - 포인터 pm0415

PowerPoint 프레젠테이션

PowerPoint Presentation

TEST BANK & SOLUTION

프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어

10.0pt1height.7depth.3width±â10.0pt1height.7depth.3widthÃÊ10.0pt1height.7depth.3widthÅë10.0pt1height.7depth.3width°è10.0pt1height.7depth.3widthÇÁ10.0pt1height.7depth.3width·Î10.0pt1height.7depth.3width±×10.0pt1height.7depth.3width·¡10.0pt1height.7depth.3width¹Ö pt1height.7depth.3widthŬ10.0pt1height.7depth.3width·¡10.0pt1height.7depth.3width½º, 10.0pt1height.7depth.3width°´10.0pt1height.7depth.3widthü, 10.0pt1height.7depth.3widthº¯10.0pt1height.7depth.3width¼ö, 10.0pt1height.7depth.3width¸Þ10.0pt1height.7depth.3width¼Ò10.0pt1height.7depth.3widthµå

비긴쿡-자바 00앞부속

제11장 프로세스와 쓰레드

Microsoft PowerPoint - Java7.pptx

JAVA PROGRAMMING 실습 02. 표준 입출력

PowerPoint Presentation

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

09-interface.key

Microsoft PowerPoint - java1-lab5-ImageProcessorTestOOP.pptx

PowerPoint 프레젠테이션

교육자료

Microsoft PowerPoint - chap03-변수와데이터형.pptx

12-file.key

05-class.key

예제 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

JAVA PROGRAMMING 실습 09. 예외처리

Cluster management software

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

슬라이드 1

JUNIT 실습및발표

Microsoft PowerPoint - 03-TCP Programming.ppt

5장.key

1

<4D F736F F F696E74202D20C1A63234C0E520C0D4C3E2B7C228B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

Spring Boot/JDBC JdbcTemplate/CRUD 예제

슬라이드 1

Spring Data JPA Many To Many 양방향 관계 예제

JAVA PROGRAMMING 실습 05. 객체의 활용

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

C++ Programming

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

Cluster management software

PowerPoint Presentation

쉽게 풀어쓴 C 프로그래밍

초보자를 위한 C# 21일 완성

JMF3_심빈구.PDF

gnu-lee-oop-kor-lec10-1-chap10

Microsoft PowerPoint - lec3.ppt

C프로-3장c03逞풚

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

PowerPoint Presentation

제8장 자바 GUI 프로그래밍 II

Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET

<4D F736F F F696E74202D20C1A63235C0E520B3D7C6AEBFF6C5A920C7C1B7CEB1D7B7A1B9D628B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

class Sale void makelineitem(productspecification* spec, int qty) SalesLineItem* sl = new SalesLineItem(spec, qty); ; 2. 아래의액티비티다이어그램을보고 Java 또는 C ++,

ThisJava ..

JMF2_심빈구.PDF

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

유니티 변수-함수.key

Java

신림프로그래머_클린코드.key

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

* Factory class for query and DML clause creation * tiwe * */ public class JPAQueryFactory implements JPQLQueryFactory private f

쉽게 풀어쓴 C 프로그래밊

PowerPoint 프레젠테이션

fundamentalOfCommandPattern_calmglow_pattern_jstorm_1.0_f…

chap 5: Trees

Network Programming

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

Semantic Consistency in Information Exchange

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

PowerPoint 프레젠테이션

0. 표지에이름과학번을적으시오. (6) 1. 변수 x, y 가 integer type 이라가정하고다음빈칸에 x 와 y 의계산결과값을적으시오. (5) x = (3 + 7) * 6; x = 60 x = (12 + 6) / 2 * 3; x = 27 x = 3 * (8 / 4

ch09

PowerPoint 프레젠테이션

PowerPoint Presentation

Transcription:

과목명 차시명 초보자를위한 Java 프로그래밍 4 차시. java 언어의기초 목차 1. 자바식별자 2. 키워드 3. 자바타입

본학습내용 1. 자바식별자 (1) 개요자바식별자라는것은클래스이름, 메소드이름, 변수등의이름을설정하는것을이야기합니다. 길이의제한은없으나사용을하게되면자바언어에서이해를못하는것들이있습니다. (2) 식별자가어떻게쓰이나요? 예 ) int aaa 위는 aaa 라는식별자를 integer 로명하겠다 라는뜻입니다. TV 방송에서도여러가지프로그램이있는데거기서드라마, 코미디등으로나누어지는것을볼수있습니다. 드라마부분등에서도 슬픔이여안녕 등등의식으로프로그램이름이지어지게되는데이것이바로식별자입니다. 슬픔이여안녕이라는단어를들으면 아드라마방송이구나 하고생각을할것입니다. 이와같이위의예시에서 aaa 를보면 아 integer 구나 하고생각을할수있습니다. 이제보다식별자에대해이해가쉽게되실것입니다. (3) 식별자로쓸수없는것은무엇인가요? 무조건식별자로다쓰는것은아닙니다. 1 space 나 \t, \n 등은올수없습니다. 예 ) user name user\nname 2 처음글자가숫자로는될수없습니다. 예 ) 4username 3 자바에서사용되는키워드는사용될수없습니다. 예 ) int 4 # 을앞에붙여서는사용을할수없습니다. 예 ) #username

**** 잠깐! 쉬어가기 \n,\t 이것은무엇일까요? \n 은계행문자로써라인을바꿀때쓰는것입니다. 일반적으로집어넣을수도있습니다. 우리가글씨를치다가 enter 를치게될때맨마지막에자동으로 \n 이들어가는것을볼수있습니다.\t 이것은 tab 입니다. 글씨를치다가 tab 키를치시면워드에서자동으로 \t 가들어갑니다.

2. 키워드 (1) 키워드는자바프로그램이먼저사용을하고있는식별자 abstract boolean break byte case catch char class * const continue default do double else extends final finally float for * goto if implements 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 많은종류가있지만일부러외울필요는없으며저절로알게됩니다. **** 잠깐! 쉬어가기보통식별자를할때에는자신이알수있는변수등을사용합니다. 만일메뉴에서나가기와삽입하기를식별자로명칭한다면 menu_insert, menu_exit 이런식으로누가봐도알수있는식별자를사용합니다. 예전개발자들은 01, 02, 03 이런식을쓰기도했습니다. 이역시자신들이알수있는코드를사용한것입니다.

3. 자바타입 (1) 개요 자바타입이라고이름은명했지만대부분의언어에서동일하게사용됩니다. (2) 기본형 기본자료타입 : Boolean 숫자 (number) 정수형 (integer) byte short char int long 실수형 (f loating) float double 레퍼런스타입 : 클래스, 인터페이스, 배열 위에서보면기본자료타입이라는것은말그대로기본적을이야기합니다. boolean이라는것은참 / 거짓을이야기합니다. 프로그램에서는 true, false로구분이됩니다. 숫자를보면 byte라는것을볼수있습니다. 우리가보통쓰고있는한글은 2byte입니다. 즉 2개가합쳐져서한개의문자를나타내는겁니다. 영어, 숫자등은 1byte문자열이라고합니다만일 String name = 우리나라 ; 이렇게하면식별자는 name이고 name이라는식별자에우리나라를넣으라는말입니다. 여기서 name의길이를구하고싶을때 name.length() 이렇게하면 4라고나옵니다. 맞는것같지만전산에서는 4개가아니라 8개입니다. 즉 1byte가기본단위인것입니다. 그래서 name.getbytes().length라고해야실제길이가얻어지게됩니다.

(3) 한개의타입을쓰면되지왜여러개로나눌까요? 크기가한정된방이있습니다. 우선그방에다가차례대로그릇을놓는다고가정해봅시다. 그리고그그릇에과자를넣어봅시다. 새우깡한개를소쿠리에넣어서방에다가넣으면아마소쿠리를몇개넣지도못하고더이상자리가없을것입니다이번에는새우깡을아주작은그릇에넣어봅시다. 그러면아주많은그릇을방에넣을수있을것입니다. 이처럼무엇인가를담아야하는데작은데이터를큰그릇에넣을필요는없을것입니다. 그래서같은숫자라도나누어지게되는겁니다. (4) 기본자료타입 유형 값 디폴트값 크기 최소값 최대값 Boolean True / false false 1bit 없음 없음 Char 유니코드문자 \u0000 16bit \u0000 \u0000 Byte 부호있는정수 0 8bit -128 127 Short 부호있는정수 0 16bit -32758 32768 Int 부호있는정수 0 32bit -2147483648 2147483647 Long 부호있는정수 0 64bit Float 플로팅포인트 0.0 32bit Double 플로팅포인트 0.0 64bit **** 잠깐! 쉬어가기 8bit 가어떻게 128 이나올까요? 2**8 입니다. 즉 2*2=4; 4*2 = 8; 8 * 2 = 16; 16*2 = 32 ; 32*2 = 64 ; 64 * 2 = 128 이렇게계산이됩니다. 그리고부호가있으므로 -/+ 가있고 0 이라는중요한값이존재하므로 + 쪽은 127 이됩니다. Long 은얼마가나올지는각자여러분들이계산해보십시오. int타입 Int 32비티정수타입 -2**23 ~ 2**23-1 의값입니다. 예 ) test 실행방법 1) 도스창을여시고 2) Javac Inttest Java Inttest결과하면 28 * 5 = 140

28 / 5 = 5 25 / 5 = 5 한가지유의하실점은, 28/5 를하면 5.6~~ 이렇게소수점이나옵니다. 그러나 int 형에서는 소수점을가지고있지않아서보이지않습니다. 꼭기억하십시오. int 형은소수점이없으므로나머지가나오지않습니다. 1 byte, short type - byte 는 -2**7 ~ 2**7-1( ~ ) 까지이므로큰값을넣으시면안됩니다. 2 float dluble연산 이는플로팅포인트타입이라고하는데그냥소수점을표현할때사용을한다고생각하시면됩니다. 여러분이사용하고있는 msword나아래아한글을보면모두버전이 v1.0.0 이런식으로소수점이포함되어있음을알수있을것입니다. < 1.0.1 이것은금방알수있듯이언어에서는하나의문자에지나지않습니다. 이때플로팅포인트를사용하여숫자화시키면크기비교가가능해집니다.> 예 ) * 실행방법메모장에서입력완료 java로저장 ( 대소문자확인바람 )cmd창을열어저장되어있는곳으로이동 javac java 실행결과 Float1 = 28 / 5 = 5.0 Float1 = 28 / 5.0 = 5.6 Int3 = 28 / 5 = 5 다시한번소스를간략하게설명하겠습니다. class이름이며전부다사용하므로처음시작하는곳을만들어야합니다. main을만들고 int1이라는식별자를만듭니다. 이식별자의속성은 int 나머지와도동일합니다. System 으로 out 출력을하면 println을하나씩찍으면서라인을 skip해달라고합니다. + 표기는연결을의미합니다. (5) 레퍼런스타입

1 래퍼런스타입은누군가가여러가지속성을지고있는 class를활당받는다고생각하면됩니다. 예 ) 집을이야기해봅시다. 위에서보았던기본타입은그냥밥그릇을이야기했습니다. 그밥그릇이어디를가던그것은밥그릇입니다. 이번에배우는래퍼런스는아파트번지와도같습니다. 모두똑같이생긴아파트의층층집에살고있지만우리는식별자를두어서각각의집에호수를지정하였습니다. 몇호에있는방개수 와같이지정을하는것입니다. 이를실재 java에서보면 String 몇호 = 아파트 ; System.out.println( 몇호. 방객수 ); 이렇게출력을하면방의개수가출력이됩니다. 예 ) int a = 20; Car mycar = new Car(); System.out.println(mycar.model); System.out.println(mycar.speed); System.out.println(mycar.cost); System.out.println(mycar.color); Class Car{ String model; int model; color model; 레퍼런스변수라는것은 class 라는집단을대신하는변수입니다. **** 잠깐! 쉬어가기잠깐! 쉬어가기 class 라는개념의이해가되어야래퍼런스도이해가가능합니다. 래퍼런스는 class( 변수, 함수등을자지고있는 java) 라는식별자로받을수있는아이입니다. 위에서 test 했던소수가모두 class 입니다. 이들을모두연결할수있습니다. class 에대한이야기는계속반복됨으로이후에모두이해가되실겁니다. 너무조급해하지는마십시오.

두개의래퍼런스변수를선언해보겠습니다. Class Car Car a = new Car(); Car b = new Car(); 이렇게선언을하면결과 : 레퍼런스 2 개객체 2 개입니다. 여기에서 Car c = b 라고한다면 결과 : 래퍼런스 3 개객체 2 개입니다. 다시 c= null; 이렇게하면 결과 : 래퍼런스 2 개객체 2 개이렇게됩니다. 3-5-2. 배열배열이라는것은이름을써놓은컵과같습니다. 자신의집에컵이 7 개가있습니다. 모두같은모양에같은색입니다. 물을담은컵, 커피를담은컵, 주스를담은컵등다양하게있습니다. 여기서여러분이먹고싶은음료가들은컵을들어마실수있습니다. 바로이것이배열입니다 Int cup[] = new int[7]; 이것의배열자체는배열입니다. 그러면이런것은어떨까요. Car mycar [10] = new Car[10]; 이런식으로하면 cars 에는 10 개의 car class 가들어옵니다. System.out.println(mycar[0].speed); System.out.println(mycar[0].cost); System.out.println(mycar[0].color); System.out.println(mycar[1].speed); System.out.println(mycar[1].cost); System.out.println(mycar[1].color); System.out.println(mycar[2].speed);

System.out.println(mycar[2].cost); System.out.println(mycar[2].color); 이제는배열의사용법도좀보았습니다. 배열은언어에서는가장많이사용되는것으로잘다루셔야합니다. 예 ) class Gauss { public static void main(string[] args) { int[] ia = new int[101]; for (int i = 0; i < ia.length; i++) ia[i] = i; int sum = 0; for (int i = 0; i < ia.length; i++) sum += ia[i]; System.out.println(sum); 결과값 : 5050 다차원배열도존재하며통계쪽에서많이이용합니다. 예 ) class MultiDarray { public static void main(string args[]) { char stars[][]; stars = new char[5][]; for(int i=0; i < stars.length; i++) { stars[i] = new char[i+1]; for(int j=0; j < stars[i].length; j++) { stars[i][j] = '*'; for(int i=0; i < stars.length; i++) { for(int j=0; j < stars[i].length; j++) {

System.out.print(stars[i][j]); System.out.println(); 결과 * ** *** **** ***** ****** 이러한예제들은절대로카피하시지말고꼭손으로치면서만들어보아야합니다.