본문 바로가기
코스웨어/11년 내장형하드웨어

[내장형]최남식-2011년12월14일 일일보고서

by 알 수 없는 사용자 2011. 12. 14.
728x90
반응형
String 클래스

1.String 클래스의 메소드
-startWith() 는 문자열의 시작이 startWith(인수) 와 같은 지를 비교하여 같으면  TRUE 다르면 FALSE를 반환한다.
ex ) myString.equals ("Java Programing"); 일 때 myString.startWith("Java")를 하면 myString와 "Java"로 일치 하므로 TRUE 반환한다.

-endWith() 는 문자열의 끝을 비교한다.
ex) String aString = "cat", bString = "dog"를 비교하면 일단 첫글자인 C와 D가 다르므로 그뒤에 글자는 볼 필요 없다. cat의 c에 아스키 코드에서 d의 아스키코드 값을 빼준다. aString.compareTo(bString) 는 c의 아스키 코드값에서 d의 아스키값을 빼준다. d가 뒤에 있으므로 음수가 반환된다.

ex) a a a - a a a a = ?
a a a 뒤에는 NULL이 존재하므로 0 - a는 -a 음수가 된다.

자바에는 라이브러리와 같이 클래스에 해당하는 수많은 메서드를 찾을 수 있다. 그러므로 클래스에 멤버를 찾아 메소드를 찾아보자.

-char charAt (int idx)   
-> 위의 메서드는 문자열내 idx위치의 문자를 반환한다.
예를 들어 String A = "abc";
              A.charAt (1);을 하면 b가 반환된다. 위치가 012의 위치를 가진다. 

2. 자바에서의 배열.
자바에서의 배열선언은 두가지 형태가 있다.

->자료형[] 배열이름;      
   자료형 배열이름[] ;   //일반적인 경우  

ex) int [] score;
      score = new int[10];   -> 다음 2줄의 소스는 하나로 코딩해보자
                                          int [ ] score = new int[10]; 

 




예제1

//정수를 배열에 넣어서 출력하는 프로그램

class
 NumOfArray
{
  final static int SIZE = 10;//#define같은 의미
    
  public static void main (String[] array)
  {
    int[] list;
    list = new int[SIZE];
    for(int i = 0; i <= SIZE; i++) //=일 경우 배열 index가 문제가 됨  index초과시 문제가 된다.하진만 컴파일은 되지만 실행이 되지 않는다.
    {
      list[i] = i * 5;
    }
    list[2= 22;
    for(int i = 0; i < SIZE; i++)
    {
      System.out.print(list[i] + "\t");
      System.out.println();
          
    }
    
    System.out.println("크기 " + list.length);
  }

-> 실행결과는 배열 0 ~ 9 까지 5에 배수가 들어가는데 list[2]에 22를 넣으므로 값이 바뀐다.

3. 배열의 크기
자바에서는 배열의 크기는 인스턴스 변수 length가 public으로 정의 그러므로
list.length로 배열의 크기를 알 수 있다.

-위의 소스에서 배열에 크기를 알고 싶을 경우
System.out.println("크기 " + list.length);
로 알 수 있다.

4.배열의 참조변수

intList1 = new int[5];

-> intList2 = intList1 : 참조복사. 그러므로 생성된 객체를 intList2도 가리키게 된다.


예제  int A[2] = { 1,2};
        int B[2];
        B = A;    -> 상수에 상수대입은 불가능 하므로 에러이다.

5.문자열 배열
 


- 위의 소스 String[] names = {"Kim","Lee" ,"Park","Song","Kwack"};
소스는 3개의 소스로 분리해 보자.

1. String [ ] names; -> names만을 생성.
2. names = new string[5]; -> 배열 참조변수를 생성한뒤 names가 가리킨다.
3. name[0] = "kim"; -> 생성된 객체를 배열 참조변수가 가리킨다.

-> names는 절대 객체를 가리킬 수 없다. names는 String 배열만 가리키고 String참조변수만이 객체를 가리킨다.


class PrintName
{
  public static void main (String[] args)
  {
    String[] names = {"Kim","Lee","Park","Song","Kwack"};
    for(int i = 0; i< names.length; i++)
    {
      System.out.println (names[i]);
    }
  }
}

728x90