Java Chapter 1 ~ 3 2014.01.09 1주차
스터디 교재 및 방향 교재 방향 명품 JAVA ( 혹은 개인적으로 선택) (황기태, 김효수 저) 교재 : Ch.1~17 - 8주 계획 스터디 : 교재 예제 혹은 다른 문제 코딩
세부 계획 스터디 계획 및 Ch.1 ~ Ch.3 1주차 Ch.4 ~ Ch.5 2주차 Ch.6 ~ Ch.7 3주차 4주차 Ch.10~11 5주차 Ch.12 ~ Ch.13 6주차 Ch.14 ~ Ch.15 7주차 Ch.16 ~ Ch.17 8주차
Chapter 1 ~ 3
자바란? 개발자 목적 썬 마이크로시스템스의 제임 스 고슬링 플랫폼 호환성 문제 해결 플랫폼 독립적인 언어 개발 메모리 사용량이 적고 다양한 플랫폼을 가지는 가전 제품에 적용
자바 가상머신 일반적인 프로그램의 실행 구조 자바 프로그램의 실 행구조
JVM은 속도의 저하의 원인인가? 자바의 속도를 문제시 삼지 말자!
자바 프로그램의 구성
자바의 변수
자바의 변수 이름 숫자로 시작불가 $와_ 이외의 다른 특수 문자는 사용 불가 키워드는 변수의 이름으 로 사용불가
자바에서 키 입력 System.in 객체는 저수준 입력 스트림으로 입력되는 키 값을 바이트 정보로 반환한다. InputStreamReader 클래스는 바이트 정보를 문자 정보 로 변환하여 리턴한다. InputStreamReader rd = new InputStreamReader(System.in); //키보드 입력 스트림 생성 Int c = rd.read(); //키보드로부터 문자 하나 읽기. 읽은 문자 값은 c에 저장
자바에서 키 입력(2) Scanner 객체 생성 Import 문 사용 Scanner 클래스로 키 입력받기 Scanner scanner = new Scanner(System.in); Import 문 사용 Import java.util.Scanner; Scanner 클래스로 키 입력받기
Scanner scanner = new Scanner(System. in); String name = scanner Scanner scanner = new Scanner(System.in); String name = scanner.next(); // “Kim” String addr = scanner.next(); // “Seoul” int age = scanner.nextInt(); // 23 double weight = scanner.nextDouble(); // 65.1
연산자(1) 산술 연산자 : + (더하기), - (빼기), * (곱하기), / (나누기), % (나머 지) 비트 연산자 a & b : a와 b의 각 비트들의 AND 연산 a | b : a와 b의 각 비트들의 OR 연산 a ^ b : a와 b의 각 비트들의 XOR 연산 ~ a : 단항 연산자로서 a의 각 비트들에 NOT 연산 시프트 연산자 a >> b : a의 각 비트를 오른쪽으로 b번 시프트, 최상위 비트의 빈자 리는 시프트 전 최상위 비트. a >>> b : a의 각 비트를 오른쪽으로 b번 시프트,. 최상위 비트의 빈 자리는 0. a << b : a의 각 비트를 왼쪽으로 b번 시프트, 최하위 비트의 빈자리 는 0.
연산자(2) 비교 연산자 : <, >, <=, >=, ==, != 논리 연산자 : true, false 대입 연산자 : =, +=, -=, *=, /=, %=, &=, ^=, |=, <<=, >>=, >>>= 증감 연산자 : a++, a--, ++a, --a 조건 연산자(삼항 연산자) : condition?opr2:opr3 : condition이 true이면 값은 opr2, false이면 opr3. int x = 5; int y = 3; int s = (x>y)?1:-1; //x가 y보다 크기 때문에 1이 s에 대입된다.
조건문(1) 단순 if 문 if-else 문 if(조건식) { 실행문장; } if(조건식) { 실행문장1; } else { 실행문장2;
조건문(2) 다중 if 문 switch 문 if(조건식 1) { 문장1; //조건식 1이 참 인 경우 } 문장1; //조건식 1이 참 인 경우 } else if(조건식 m) { 문장m; //조건식 m이 참인 경우 else { 문장n; //모든 조건이 거짓인 경우 switch 문 switch(식) { case 값1: 문장1; break; case 값m: 문장m; default: 문장n; }
For문 초기문 For(초기문; 조건식; 반복 후 작업) { 작업문 } 초기문 : 시작시 1회 수행, 여러문장 나열 /공백 가능 조건식 : 논리 변수나 연산만 사용 반복 후 작업 작업문 :여러줄이면 무조건 {}사용 조건식 false true 작업문 반복 후 작업
While문 While(조건식){ 작업문 } 조건식 : while문 전에 변수 선언과 초기화 반복이 진행되면서 조건식을 false로 만들도록 설계 조건식 false true 작업문
Do-while문 Do{ 작업문 }while(조건식) 조건식 : 최소 한번은 실행 작업문 true 조건식 false
중첩반복 반복문 안에 다른 반복문 For( i=0; i<100; i++) { for(j=0; j<10000; j++) { ~~ }
continue문 Continue; 로 사용, 그 자체가 하나의 문장 반복문 내의 작업을 건너뛰고 다음 반복으로 진행 Break; 로 사용 반복문을 벗어나 실행이 진행된다, 반복문을 빠져나 갈 때 사용 라벨(lable)로 분기 : continue LABEL; break LABEL; 특정 라벨의 위치로 바로 분기 가독성을 떨어뜨리고 구조적프로그래밍이 어려워 부작용을 낳을 수 있음.
배열 같은 타입의 여러 변수를 하나의 묶음으로 다루 는 것 선언 형식 → int [ ] name ; name = new int [ 5 ] ; 혹은 int [ ] name = new int [ 5 ] ; 다른 언어와의 선언 형식 비교 C ,C++언어 → int name [ 5 ] ;
다차원 배열 선언 형식 → int [ ] [ ] name ; name = new int [ 5 ] [ 5 ] ; 혹은 int [ ] [ ] name = new int [ 5 ] [ 5 ] ; 가변배열 → int [ ] [ ] name = new int [ 2 ] [ ] ; ← 비 워 둔다 Name [ 0 ] = new int [ 4 ] ; Name [ 1 ] = new int [ 2 ] ;
MAIN() 메소드의 특징 main() 메소드 원형 main() 메소드의 특징 Main() 메소드는 public 속성이다, Main() 메소드는 static 속성이다. main() 메소드의 리턴 타입은 void 이다. Main() 메소드의 인자는 문자열 배열(string [ ] ) 이 전달된다.
MAIN() 메소드에 인자전달 그림에서 보이듯 이 명령 프롬프 트상에서 전달되 는, 공백으로 구 분되는 문자열로 String 배열이 구성 되어 이 배열의 참조 값이 전달된 다.
MAIN() 메소드에 인자전달의 예
MAIN() 메소드에 인자전달의 예
MAIN() 메소드에 인자전달의 예
이클립스에서 MAIN() 메소드에 인자전달 이클립스 Run 메뉴의 Run configurations 메 뉴 항목에서 main() 메소드의 인자를 저장할 수 있다.
이클립스에서 MAIN() 메소드에 인자전달
이클립스에서 MAIN() 메소드에 인자전달
자바에서 발생하는 예외 자바의 예외 종류는 매 우 많으며 이 중에서 자주 발생하 는 예외는 옆에 나온 표 와 같다. 이러한 예외들은 자바 의 JDK에 정의되어 있 다.
자바에서의 예외 처리 Try – catch 문 Try는 예외발생의 감 지대상을 감싸는 목적 으로 사용된다. 예외 발생 예를 설명해야 될듯..
자바에서의 예외 처리 예제 예외 발생 예를 설명해야 될듯..
자바에서의 예외 처리 예제 예외 발생 예를 설명해야 될듯..
Finally 문 try 블록 내에 진입 하면, 그냥 무조건, 항상 실 행되는 것이 아니라, finally와 연결되어 있 는 try 블록으로 일단 진입을 하면, 무조건 실행되는 영역이 finally 블록이다. (예외 발생 여부와 상관없 다.) 중간에 return 문을 실 행하더라고 finally 블 록이 실행된 다음에 메소드를 빠져 나간다. finally 블록은 무조건 실행 된다! 예외 발생 예를 설명해야 될듯..
Finally 문 예제 예외 발생 예를 설명해야 될듯..
Finally 문 예제 예외 발생 예를 설명해야 될듯..