• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Java start01 in 2hours
 

Java start01 in 2hours

on

  • 8,541 views

super easy start java in 2 hours

super easy start java in 2 hours
source code in http://www.okjsp.pe.kr/seq/183450

Statistics

Views

Total Views
8,541
Views on SlideShare
5,418
Embed Views
3,123

Actions

Likes
13
Downloads
101
Comments
1

33 Embeds 3,123

http://www.okjsp.pe.kr 1523
http://www.okjsp.net 451
http://okjsp.tistory.com 359
http://okjsp.pe.kr 281
http://iyounges.org 201
http://www.hanrss.com 94
http://cloud.feedly.com 69
http://okjsp.net 48
http://younges.tistory.com 17
http://new.okjsp.pe.kr 12
http://ww.okjsp.pe.kr 11
https://www.okjsp.pe.kr 10
http://aaa.okjsp.pe.kr 7
http://cafe.naver.com 6
http://ww.okjsp.net 4
http://rss.com 4
http://flex.okjsp.net 4
http://rss.devsearch.co.kr 4
https://www.okjsp.net 3
http://wiki.okjsp.pe.kr 2
http://inoreader.com 1
http://editor.daum.net 1
http://digg.com 1
http://a0.twimg.com 1
http://flex.okjsp.pe.kr 1
http://wwww.okjsp.pe.kr 1
http://www.wiki.okjsp.pe.kr 1
http://aaa.okjsp.net 1
https://www.facebook.com 1
http://wwww.okjsp.net 1
http://weblogic.okjsp.pe.kr 1
http://local.okjsp.net 1
http://ww.w.okjsp.pe.kr 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Apple Keynote

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

11 of 1 previous next

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • 굳굳
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n

Java start01 in 2hours Java start01 in 2hours Presentation Transcript

  • 2시간만에 자바를쉽게 배우고 싶어요. okjsp 기본 세미나 kenu@okjsp.pe.kr
  • 첫 시간1. 구구단을 만들자 (변수, 반복문, 조건문)2. 관등성명을 대라 (메소드와 클래스, 패키지)3. 이용하자. 자바 라이브러리 (jar)
  • 프로그램이란• 컴퓨터에게 일 시키기 위한 명령 집합• 소스와 바이너리• 소스를 바이너리로 만드는 컴파일러
  • java? 뭘 자바?• coffee?• 프로그램 언어• 1995년 제임스 고슬링
  • • James Gosling• Sun Microsystems• Java Creator
  • Java is NOT Javascript
  • 구구단을 만들자•2 x 1 = 2• System.out.println("2 x 1 = 2");
  • 기본 틀public class Gugudan { public static void main(String[] args) { System.out.println("2 * 1 = 2"); }}
  • keyword• 클래스 (class)• 메소드 (method)• 명령문 (statement)
  • 기본 틀클래스 class Gugudan {public 메소드 static void main(String[] args) { public 명령문 System.out.println("2 * 1 = 2"); }}
  • 컴파일• java compiler• javac• JAVA_HOME/bin/javac.exe or javac• javac -d . okjsp.chap01.Gugudan.java• tool super easy
  • 실행• java okjsp.chap01.Gugudan 2*1=2
  • 문자열 (String)public class Gugudan { public static void main(String[] args) { System.out.println("2 * 1 = 2"); }}
  • 문자열더하기publicclassGugudan{ publicstaticvoidmain(String[]args){  System.out.println("2"+"*1=2"); }}
  • 문자열더하기publicclassGugudan{ publicstaticvoidmain(String[]args){  System.out.println(2+"*1=2"); }}
  • 변수public class Gugudan { public static void main(String[] args) { int i = 2; System.out.println( i + " * 1 = 2"); }}
  • 변수public class Gugudan { public static void main(String[] args) { int i = 2; int j = 1; System.out.println( i + " * " + j + " = 2"); }}
  • 반복(loop)public class Gugudan { public static void main(String[] args) { int i = 2; for (int j = 1; j <= 9; j = j + 1) { System.out.println( i + " * " + j + " = 2"); } }}
  • 실행• java okjsp.chap01.Gugudan 2 * 1 = 2 2 * 2 = 2 2 * 3 = 2 2 * 4 = 2 2 * 5 = 2 2 * 6 = 2 2 * 7 = 2 2 * 8 = 2 2 * 9 = 2
  • 연산 (operation)•더하기• 빼기• 곱하기• 나누기• 나머지
  • 연산 (operation)•더하기 +• 빼기 -• 곱하기 *• 나누기 /• 나머지 % (5 % 3 = 2)
  • 연산public class Gugudan { public static void main(String[] args) { int i = 2; for (int j = 1; j <= 9; j = j + 1) { int k = i * j; System.out.println(i + " * " + j + " = " + k); } }}
  • 실행• java okjsp.chap01.Gugudan 2 * 1 = 2 2 * 2 = 4 2 * 3 = 6 2 * 4 = 8 2 * 5 = 10 2 * 6 = 12 2 * 7 = 14 2 * 8 = 16 2 * 9 = 18
  • 구구단 완성public class Gugudan { public static void main(String[] args) { for (int i = 2; i <= 9; i = i + 1) { for (int j = 1; j <= 9; j = j + 1) { int k = i * j; System.out.println( i + " * " + j + " = " + k); } } }}
  • 실행• java okjsp.chap01.Gugudan 2* 1=2 2* 2=4 ... 2* 8 = 16 2* 9 = 18 3* 1 = 3 3* 2 = 6 ... 9* 8 = 72 9* 9 = 81
  • 관등성명을 대라패키지 okjsp.chap01; package클래스 class Gugudan { public 메소드 public static void main(String[] args) { 명령문 for (int i = 2; i <= 9; i = i + 1) { 명령문 for (int j = 1; j <= 9; j = j + 1) { int k = 명령문 i * j; 명령문 System.out.println( i + " * " + j + " = " + k); } } } }
  • 패키지(package)• 김 영수• 김 : package, family group• 영수 : class• 고 영수, 이 영수, 최 영수
  • 클래스 (class)• Type• 도장• Object • attributes • methods
  • 클래스 (class)• 메모리 할당 필요 (static, new)• 인스턴스: 메모리 할당 받은 객체
  • 메소드 (method)• do• f(x)• 명령문 그룹• 입력과 반환
  • 메소드 (method)package okjsp.chap01;public class Gugudan { public static void main(String[] args) { for (int i = 2; i <= 9; i = i + 1) { printDan(i); } } ...
  • 메소드(method)... public static void printDan(int i) { for (int j = 1; j <= 9; j = j + 1) { int k = i * j; System.out.println( i + " * " + j + " = " + k); } }} // class end
  • 메소드 Outlinepackage okjsp.chap01;public class Gugudan { public static void main(String[] args) {...} public static void printDan(int i) {...}}
  • 메소드 signature• public static void main(String[] args)• public: 접근자 private, protected• static: 메모리 점유 (optional)• void: return type 없음• main: 메소드 이름• String[] args: 파라미터
  • 자기 클래스 반환 함수• 생성자 함수• 리턴 타입 표시 안 함• 왜? 자기 스스로를 반환하니까• public void Gugudan() {} (x)• public Gugudan() {} (O)
  • Bonus public static void main(String[] args) { System.out.println("gugudan from:"); Scanner sc = new Scanner(System.in); int i = sc.nextInt(); for (; i <= 9; i = i + 1) { printDan(i); }
  • 이용하자 자바 라이브러리 jar• 클래스 모음• jar: Java ARchive(기록 보관)• zip 알고리즘• tar와 유사 (Tape ARchive)
  • jar 만들기• jar cvf gugudan.jar * • jar xvf: 풀기 • jar tvf: 목록 보기• META-INF/MANIFEST.MF • jar 파일의 버전 등의 정보 • 실행 클래스 설정 • 제외 옵션: cvfM
  • MANIFEST.MF• Manifest-Version: 1.0• Class-Path: .• Main-Class: okjsp.chap01.Gugudan
  • jar 활용• java -jar gugudan.jar• java -classpath .;c:libsgugudan.jar; okjsp.chap01.Gugudan
  • 두번째 시간• 아빠가 많이 도와줄께 (상속)• 클래스 간의 약속 (인터페이스)• 잘 안될 때, 버그 잡는 법 (예외 처리, 디버깅)
  • 아빠가 많이 도와줄께 (상속)• 여러 클래스의 공통 부분• java.lang.Object• equals(), toString(), hashCode()
  • Father, Son, Daughter• Father class• Son, Daughter classes• Son extends Father {}• Daughter extends Father {}• 아빠꺼 다 내꺼
  • 클래스 간의 약속 (인터페이스)• interface• 구현은 나중에• 파라미터는 이렇게 넘겨줄테니• 이렇게 반환해주세요• 실행은 안 되어도 컴파일은 된다
  • 인터페이스 구현 implements• 클래스 implements PromiseInterface• 이것만 지켜주시면 됩니다• 이 메소드는 이렇게 꼭 구현해주세요
  • 인터페이스 장점• interface가 같으니까• 테스트 클래스로 쓱싹 바꿀 수 있어요• 바꿔치기의 달인• 전략 패턴, SpringFramework, JDBC Spec
  • 잘 안될 때, 버그잡는 법 (예외 처리, 디버깅)• 변수가• 내 생각대로 움직이지 않을 때
  • 디버그 (debug)• de + bug• 약을 뿌릴 수도 없고
  • 디버그 (debug)• 중단점 (break point)• 변수의 메모리값 확인• 한 줄 실행• 함수 안으로• 함수 밖으로• 계속 실행
  • 더 배워야 할 것들• 배열• 데이터 컬렉션 프레임워크• 객체지향의 특성• 자바 웹 (JSP/Servlet)• 데이터베이스 연결• 자바 오픈소스 프레임워크• ...