Java start01 in 2hours

10,900
-1

Published on

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

1 Comment
20 Likes
Statistics
Notes
No Downloads
Views
Total Views
10,900
On Slideshare
0
From Embeds
0
Number of Embeds
25
Actions
Shares
0
Downloads
152
Comments
1
Likes
20
Embeds 0
No embeds

No notes for slide
  • \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

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

    ×