Monday, January 15, 2007

Java for Bioinformatics, chap. 2 through 5

다중 break

break를 통해 break 될 블록을 지정할 수 있다.

Exam)

test: for( .. ){
for( ..) {
if( ..)
break test;

}
}


String 클래스 메소드들

1. CharAt()

String 클래스의 메소드로 문자열의 특정 위치 문자 반환.

Exam)

String DNA="ATGATGA";
char A=DNA.charAt(1);

A에는 DNA 문자열의 2번째 character인 T가 저장.

2. 문자열 상수

문자열 상수는 String 클래스의 객체로 구현.
따라서

int a="atgatcta".length();

도 가능하다.

3. toUpperCase()

dna.toUpperCase() // 대문자로 변환

4. substring(int beginIndex, int endIndex)

beginIndex부터 endIndex의 앞에서 끝나는 부분의 문자열 반환
or substring(int beginIndex)로 특정 부분부터 끝까지의 문자열 반환

5. 문자열 결합

dna=dna+seq;
식의 + 연산자 이용한 결합 가능


StringBuffer 클래스

String 객체는 문자를 추가하거나 지워서 길이를 변화시킬 수 없고,
이런 기능이 필요할 때 StringBuffer 객체를 쓴다.

Exam)

StringBuffer dna=new StringBuffer();
dna.append('T');
dna.append('A');

dna.reverse(); // 스트링 순서를 뒤집는다.

dna.insert(0,'A'); 0번째 위치에 A를 집어 넣는다.

dna.toString(); // String 객체로 type 변환. (type casting)

입력 (명령어 라인, 실행 중 입력)

String dna=args[0]; //명령어 라인 입력

String dna;
byte[] b=new byte[10000];
try{
System.in.read(b);
dna=new String(b);
dna=dna.trim();
}
catch(Exception e){
//
}

패키지 사용

파일의 상위에 package pakagename;
을 명시하여 같은 package파일 임을 표시해 준다.

자바에서 패키지 이름은 폴더 이름과 대응하고
-d 옵션을 통해 .class 파일들이 생성될 폴더 위치를
정해주면 패키지 이름과 같은 폴더가 만들어진다.

javac -d . *.java
java packagename.mainclassname //실행 클래스의 폴더 위치를 . 앞에 써준다. .는 \를 의미.

생성된 package는 다른 프로그램에서 import 문으로 불러 사용할 수 있다.

Hashtable

Hashtable h=new Hashtable();
h.put('AAA','K');

String codon=(String)h.get('AAA');

Hashtable에 저장되거나 키값으로 사용되는 것은 모두 객체.
따라서 기본 자료형을 사용할 때는 wrapper를 사용해야 한다.

h.put(new Integer(123),new Integer(355));
h.put(new Character('a'),new Character('b');


instanceOf 연산자

boolean=dna instanceOf DNA; //dna 객체가 DNA class의 객체인지를 확인하여 ture or false값을 반환.