JAVA 기초수업

 | JAVA
2012. 5. 8. 18:29

 // 날짜 생각 없이 만들자.

1월 25일 (1일)

  1. JDK 설치

    www.orcale.com 에서 JAVA SE-> jdk 다운.. 후 설치..

    JAVA EE - Enterprise(기업..)

    JAVA ME -micro(휴대폰 등..)

    JAVA SE - Standard (기본)

  2. 환경변수 설정

    1. 내컴퓨터->속성->고급->환경설정-> 시스템변수의 CLASSPATH에 C:\Program Files\Java\jdk1.6.0_30\bin를 추가..
  3. 클래스명은 파일명과 동일하게 만들어야 한다.
  4. 자바는 모든명령문들이 class 내에 존재해야 한다.
  5. main method는 이 class를 실행할 때 최초 실행되는 method이다.
  6. 주석

    1. // - 한 줄 주석..
    2. /* 내용 */ - 여러줄 주석...
    3. /** 내용 */ - 특별한 주석.

 

1월 26일 (2일)

  1. 변수(Variable) - 임시저장공간 (자바의 정석 P.20)

    1. 변수타입

      * 기본형

      문자 - char

      숫자 - 정수 - byte, short, int, long

      실수 - float, double

      논리 - boolean

      * 참조형

기본형을 제외한 나머지.. (String , System 등)

2. 보수 = 보충해주는수..

  1. 10의 보수 4 > 6

 

3 > 7

3. 명명규칙..

  1. 대소문자가 구분되며 길이에 제한이없다.
  2. 예약어를 사용해서는 안된다..
  3. 숫자로 시작해서는 안된다.
  4. 특수문자는 " _ "와 " $ "만을 허용한다.
  5. 권장사항

    1. 클래스 이름의 첫 글자는 항상 대문자로 한다..
    2. 여러 단어 이름은 단어의 첫글자를 대문자로 사용한다..(낙타표기법.) 예) lastIndexOf, StringBuffer
    3. 상수의 이름은 대문자로 쓰고, 단어는 " _ " 로 구분한다. (변수는 값을 변경해도 되지만 상수는 값을 한번 정하면 바꿀수 없다.)

      • 예) final int NUM = 0;
      • NUM = 10; ->에러...
      • final int MAX_NUMBER = 0; <- 이런식으로 전부 대문자로 표시함.....
  6. 리터럴과 접미사

    1. 특수문자를 저장할때 사용 (자바의정석 P.26).. 역슬러시 (|)를 사용함..

      • String str = "그가 |"잘가|"라고 말했다. ";
      • 역슬러시를 저장할때도 ||으로 하면 특수문자인 | 로 인식한다.
    2. int i = 100; = 10진수 표현 >> (자바의정석 P.34)
    3. int oct = 0100; = 8진수 표현 0을 붙히면 8진수 라는 것을 의미
    4. int hex = 0x100; = 16진수 표현 0x 를 붙히면 16진수 라는 것을 의미
  7. 변수의 기본값과 초기화

    1. 초기화 = 변수의 처음 값으로 변경.
  8. 형변환 - 값의 타입을 다른 타입으로 변환하는것.(boolean을 제외한 7개의 기본형은 서로 형변환이 가능)

    1. 예) float형을 int 형으로 바꿀 때.. (자바의 정석P.36 표 참고.)

      • float f = 1.6f;
      • int i = (int)f;
    2. 변환시 값의 크기가 변환된 타입의 표현가능한 범위를 넘어가면 값 손실이 발생할 수 있다.

 

1월 27일 (3일)

  1. Overflow..
  2. 연산자. (자바의 정석 P.44)

    1. 단항 연산자 = 값이 하나만 필요로 하는 연산자..
    2. 이항 연산자 = 값이 두개를 필요로 하는 연산자..
    3. 삼항 연산자 = '?' , ':' 를 이용하여 값을 세개로 필요로 하는 연산자.. (조건식?참일경우:거짓일경우) x>y?a:b
    4. 대입 연산자 = 값을 대입 할 때 사용.. (int result = z + b;)
    5.  
    • i = j++ 은 i에 j값을 대입 한 뒤 j가 증가된다..
    • i = ++j 는 j를 증가한뒤 i에 대입된다..
    • 비트 전환 연산자 ' ~ '

      • byte b = 10;
      • System.out.println("~b = " + ~b); ==> -11
    • 이항연산자는 크기가 int보다 작은 자료형은 int 형으로 형변환 후 연산 된다..

      • byte a = 10;
      • byte b = 20;
      • byte c = a + b; <- int형으로 변환되기때문에 에러가 난다 그러므로
      • byte c = (byte)(a+b); <- byte로 형변환을 다시 시켜줘야함..
      •  
      •  

1월 30일( 4일)

  1. 연산자

    1. / = 나누기 연산자(몫을 저장 ex. 10/8 = 1)
    2. % = 나머지 연산자 (나눈 뒤 나머지값을 저장. ex. 10%8 = 2 )
    3.  
  2. 쉬프트연산자

    1. <<
    2. >>
    3. <<<
  3. 비교 연산자

    1. 대소비교 연산자

      1. <
      2. >
      3. <=
      4. >=
    2. 등가비교 연산자

      1. ==
      2. !=
    3. 논리 연산자

      1. && = (AND결합) 피연산자 양쪽 모두 true 이어야 결과값이 true.
      2. || =(OR결합) 피연산자 중 한 쪽만 true이면 true를 결과로 얻는다.
    4. 비트 연산자 - 이진 비트연산을 수행한다.

      1. & = (AND연산자) 피연산자 양 쪽이 모두 1 이어야 1을 결과로 얻는다. 그 외에는 0을 얻는다.
      2. | = (OR연산자) 피연산자 중 한 쪽의 값이 1 이면, 1을 결과로 얻는다. 그 외에는 0을 얻는다.
      3. ^ = (XOR연산자) 피연산자의 값이 서로 다를 때만 1을 결과로 얻는다. 그 외에는 0을 얻는다.
    5. 삼항 연산자

      1. ?: = (조건식) ? 식1: 식2 > 조건식이 true이면 식1을 false면 식2를 수행함.. if문과 비슷..
    6. 대입연산자

      1.  

 

1월 31일 (5일)

  1. 조건문

    1. if문
    2. switch
  2. 반복문

    1. for
    2. while
    3. do-while
  3. 입력 받기.
    1. BufferedReader..

      1. // 키보드로 부터 줄단위로 입력받기 위한 리더준비.
      2. BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
      3. String readStr1 = br.readLine(); //입력받은 값을 String형태로 저장.
      4. (생략..)
      5. //입력받은 String 값을 int형으로 바꿔서 계산하는 방법..
      6. int sum = Integer.parseInt(readStr1) + Integer.parseInt(readStr2) ;
      7. //Integer.parseInt(s), Double.parseDouble(s), Float.parseFloat(s) 등의 형태로 바꿀 수 있음.
    2. scanner...

      1. Scanner scan = new Scanner(System.in); //new Scanner
      2. String str = scan.next();//문자열 1개를 입력받기.(공백기준)
      3. String strLine = scan.nextLine();//문자열 1개를 입력 받기(엔터키 기준)
      4. int num = scan.nextInt();//숫자로 이루어진 문자열을 숫자형 데이터로 입력 받기
      5. System.out.println( strLine ); //test.... strLine = 엔터키 기준으로 입력을 받는다..
      6. System.out.println( num ); //test.... 숫자만 받아서 출력한다.
    3. JOptionPane

      1. String str = JOptionPane.showInputDialog("입력하세요.제발..;"); //다이얼로그 형식의 입력폼이 뜬다..
      2. System.out.println("다이얼로그에 입력한 문자열 : " + str);

 

2월 1일 (6일)

  1. 여러개의 점수를 입력받아 평균을 구한뒤 if문과 switch문으로 학점을 계산하는 코드...

    • workspace/Chapter4/BranchEx.java 참고
  2. 현재 시스템(pc)시간을 반환해주는 method

    1. System.currentTimeMillis();
  3. 반복문에서 break를 만나면 자신이 포함된 {}를 빠져나오고 continu를 넣으면 그 부분을 제외시키고 다음 조건을 수행함..

    • for(int j=1; j<=9; j++){//i*5까지 정상 순서로 출력
    • if(i==3&&j==5) break; or continu -->break = for문을 빠져나옴 continu = for문의 다음 조건을 수행.
    • System.out.println(i + "*" + j + "=" + i*j);
    • }
  4. while문.

    • while(조건식){ 조건식이 참인 동안 실행할 명령문}
  5. do while문.

    • do{조건식이 참인 동안 실행할 명령문들..
    • }while(조건식);

 

2월 02일

  • java에서 String 문자열 비교.

    • String 변수명 = "문자";
    • 변수명.equals("비교할 문자");
    • 변수명 == "비교할 문자"; => 비교가 되지 않는다...

 

2월 03일

  1. 변수명 한번에 바꾸기 : 바꿀 변수명에 커서를 가져간 뒤 -> alt + shift + r 누르고 난 뒤 바꾸면 그 변수의 이름이 한번에 다바뀜
  2. System.out.printf("")는

    1. System.out.printf("국어는 %d 수학은 %d 영어는 %d", kor, mat, eng) 식으로 문자 중간에 %d 같은 표현으로 입력될 수 있다..
    2. 여기서 %d는 10수 %o는 8진수 %x는 16진수.. 등등..검색 ㄱㄱㄱ
  3. Math.round() 함수는 소수점 반올림을 해준다.

 

5장. 배열

  1. 배열이란

    • 같은 타입의 여러변수를 하나의 묶음으로 다루는 것
    • 많은 양의 값을 다룰 때 유용하다.
  2. 선언 방법

    1. 타입[] 변수이름; -> int[] score; (권장 방법..)
    2. 타입 변수이름[]; -> int score[];
  3. 생성

    1. 변수이름 = new 타입[배열길이]; score = new int[5];
    2. 배열의 길이는 생략 가능하다. 만약 배열 길이를 지정해준 경우 그 길이를 벗어날 수 없다.
  4. 초기화 - 생성된 배열에 처음으로 값을 저장하는 것

    1. int[] score = {100, 90, 80, 70}; // 사용가능 선언과 초기화를 한번에 할때 가능..
    2. int[] score = new int[]{100, 90, 80, 70} // 사용가능
    3. | int[] score; | // 사용불가능 선언 따로 한뒤 초기화 시 이방법은 사용 불가.

      | score = {100, 90, 80, 70} |

    4. int[] score;

      score = new[]{100, 90, 80, 70} //사용가능

    5. 배열길이는 -> 배열이름.length 를 이용하면 알 수 있다.
    6. 랜덤 함수 ==> Math.random();

      1. random 함수는 0.0~1.0 까지만(1.0은 포함 x) 반환 하므로 *10을 해서 0~9까지의 값을 사용할 수 있도록한다..
      2. 더블 형태로 반환 하므로 int로 형변환을 해줘야 한다.

 

2월6일 월요일

*정렬 할때..

 

for(int i=0; i<score.length-1; i++){

for(int j=i+1; j<score.length; j++){

if(score[i]<score[j]){

temp = score[i];

score[i] = score[j];

score[j] = temp;

}

}

}

  1. 다차원 배열

    1. 선언방법

      • 타입[][] 변수이름; ->int[][] score;
      • 타입 변수이름[][]; ->int score[][];
      • 타입[] 변수이름[]; ->int[] score[];
    2. 생성 ==> int [][]score = new int[5][3] 이런식으로
    3. 생성과 초기화를 한번에..

      • int[][] score = new int[][]{ {100, 100, 100}, {20, 20, 20}, {30, 30, 30}, {40, 40, 40}, {50, 50, 50}}
  2. 가변 배열..

    1. 선언방법
    2. int[][] score = new int[5][];
    3. score[0] = new int[3];
    4. score[1] = new int[2];
    5. ...이하 생략...
    6. score[5] = new int[5];
    7. 이런식으로 배열 안의 배열의 크기를 바꿔서 지정할 수 있다..
  3. 간단하게 배열 복사하기..

    1. System.arraycopy(arg1, 0, arg2, 0, arg.length); 메소드를 이용하여 간단히 할 수 있다.
    2. System.arraycopy(복사할 배열, 복사할배열 시작 위치, 복사될 배열, 복사될 배열시작위치, 복사할 배열의 길이)

       

1. Overloding

  ▶ 생성자 메소드(함수)처럼 메소드의 형태가 동일하지만, 입력되는 파라미터들의 값들이 다른 경우에 overloading이라고 한다.

  ▶ 하나의 클래스에 여러 개의 overloading된 메소드들이 존재 가능하다.

2. null

  ▶ 참조하고 있는 객체가 없음을 의미한다.

  ▶ 객체생성을 하지 않은 상태에서 레퍼런스만 준비해둔 상태이다.

  ▶ String a = null;

       a라는 레퍼런스만 준비해둔 상태

       String 클래스 타입의 객체가 필요하다는 의미

3. instanceof

  ▶ 연산자 중에 객체단위에 적용되는 연산자

  ▶ A instanceof  B 는 A레퍼런스가 B타입의 객체를 가르키고 있는가를 의미한다.

  ▶ 객체의 타입을 검사하기 위해 사용.

4. this

  ▶ 객체형 변수(레퍼런스 자료형)에서 현재의 객체를 일컫는 용어이다.

  ▶ String str = new String("aaa"); 인 경우에는 현재 하나의 변수가 선언되어

      그 변수를 이용해서 객체를 언급하는것을 의미한다.

  ▶ 반면에 this.name = new String("aaa"); 와 같은 경우에는 현재 만들어 지고

     있는 객체의 name이라는 속성의 값이 "aaa"라는 것을 의미하게 된다.

이 글은 스프링노트에서 작성되었습니다.

'JAVA' 카테고리의 다른 글

SqlExploler(eclipse)  (0) 2012.05.08
자바 EXE 만들기.  (0) 2012.05.08
JDBC  (0) 2012.05.08
VisualSVN  (0) 2012.05.08
JAVA 에러코드  (0) 2012.05.08
Posted by 사라링
BLOG main image
.. by 사라링

카테고리

사라링님의 노트 (301)
JSP (31)
J-Query (41)
JAVA (24)
디자인패턴 (1)
스트러츠 (3)
안드로이드 (11)
오라클 (45)
우분투-오라클 (1)
이클립스메뉴얼 (6)
스프링3.0 (23)
자바스크립트 (10)
HTML5.0 (17)
정보처리기사 (1)
기타(컴퓨터 관련) (1)
문제점 해결 (3)
프로젝트 (2)
AJAX (4)
하이버네이트 (3)
트러스트폼 (11)
Jeus (2)
재무관리(회계) (5)
정규식 (5)
아이바티스 (8)
취미 (2)
소프트웨어 보안 관련모음 (0)
정보보안기사 (6)
C언어 베이직 및 프로그램 (3)
보안 관련 용어 정리 (2)
넥사크로 (6)
웹스퀘어_ (0)
Total :
Today : Yesterday :