출처: http://november11tech.tistory.com/88 [Mr.november11] '개발/JAVA' 카테고리의 글 목록 (6 Page) :: 사월은 봄이다.

String str = "a/b/c/d";
String regex = "/";
int limit = 0;
  
String[] list= str.split(regex, limit);
  
for(int i=0; i < list.length; i++)
   System.out.print(list[i] + "!");

 

[ 결과 ]
a !b !c !d !

// list는 {"a", "b", "c", "d"} 이다
// 길이가 0인 str은 무시된다......

 

 

 

* 자바 스크립트 용 split

function stringSplit(strData, strIndex){ 
 var stringList = new Array(); 
 while(strData.indexOf(strIndex) != -1){
  stringList[stringList.length] = strData.substring(0, strData.indexOf(strIndex)); 
  strData = strData.substring(strData.indexOf(strIndex)+(strIndex.length), strData.length); 
 } 
 stringList[stringList.length] = strData; 
 return stringList; 
}

 

* 자바스크립트도 split이 있는데

str.split(\\/);

이런 식으로 \\ 이 있어야 한다고 한다.

 

http://blog.naver.com/stone08?Redirect=Log&logNo=130134316625

 

<추가>


 

 

구분자는  =  | 

 

str.split("|");

 

 

 

| 구분자 사용시 \\| 

 

str.split("\\|")

 

ㅇㅋ

 

 

 

역슬래시의 경우

str.split("\\\\") ;

 

 

"(", ")' 를 처리할 경우 앞에 역슬래시 \\ 을 붙여줘야 한다.

name.split("\\(") ; 


'개발 > JAVA' 카테고리의 다른 글

java 인스턴스를 만드는 다양한 방법  (0) 2018.02.10
calendar  (0) 2018.02.10
replaceall 특정문자를 제거해 준다.  (0) 2018.02.10
배열을 리스트로 넣기  (0) 2018.02.10
입출력(I/O)  (0) 2018.02.10

"%" 라는 특정 문자 제거

String str = "aaa%";

str = str.replaceAll("%", "");

'개발 > JAVA' 카테고리의 다른 글

calendar  (0) 2018.02.10
Split 의 사용  (0) 2018.02.10
배열을 리스트로 넣기  (0) 2018.02.10
입출력(I/O)  (0) 2018.02.10
StringBuffer 클래스  (0) 2018.02.10
String[] strs = {"1", "2", "3"};
java.util.List<String> list = new ArrayList<String>(Arrays.asList(strs));
if(list != null){
for(int i = 0; i < list.size(); i++){
System.out.println(list.get(i));
}
}


'개발 > JAVA' 카테고리의 다른 글

Split 의 사용  (0) 2018.02.10
replaceall 특정문자를 제거해 준다.  (0) 2018.02.10
입출력(I/O)  (0) 2018.02.10
StringBuffer 클래스  (0) 2018.02.10
String 클래스  (0) 2018.02.10

입출력(I/O) 

 

바이트 기반 스트림 

 

어느 한쪽에서 다른 한쪽으로 데이터를 전달하려면, 두 대상을 연결하고 데이터를 전송할 수 있는 무언가가 필요한데

이것을 스트림이라고 한다.

스트림은 "단방향 통신"만 가능하기 때문에 하나의 스트림으로 입출력을 동시해 처리할 수 없다. 스트림은 "큐"와 같은 FIFO 구조로 되어 있다고 생각 하면 쉽다.

 

 

스트림은 바이트단위로 데이터를 전송하며 입출력 대상에 따라 입출력 스트림이 있다.

 입력스트림

 출력 스트림 

 입출력 대상

 FileInputStream 

 FileOutputStream 

  파일

 ByteArrayInputStream

 ByteArrayOutputStream

  메모리(byte 배열)

 PipedInputStream

 PipedOutputStream

  프로세스(프로세스 간 통신)

 AudioInputStream

 AudioOutputStream

  오디오장치

 

보조 스트림

스트림의 기능을 보완하기 위한 보조스트림이다. 실제 데이터를 주고받는 스트림이 아니기 때문에 데이터를 입출력 할 수 있는 기능은 없으나, 스트림의 기능을 향상시키거나 새로운 기능을 추가할 수 있다.






코드로 보면 보조스트림이 입력기능을 수행하는 것처럼 보이지만 실제 입력은 보조스트림과 연결된 FileInputStream 이 입력을 수행하고 보조 스트림은 버퍼만 제공한다.

 

 

보조스트림의 종류

 입력

출력 

 설명

 FilterInputStream

 FilterOutputStream

 필터를 이용한 입출력

 BufferedInputStream

 BufferedOutputStream

 버퍼를 이용한 입출력 성능 향상

 DataInputStream

 DataOutputStream

 int, float 와 같은 기능형 단위로 데이터를 처리

 SequenceInputStream

 SequenceOutputStream

 두 개의 스트림을 하나로 연결

 LineNumberInputStream

 -

 읽어 온 데이터 라인 번호를 카운트

 ObjectInputStream

 ObjectOutputStream

 데이터를 객체 단위로 읽고 쓰는데 사용.

주로 파일을 이용해 객체 직렬화와 관계 있음

 -

 PrintStream

 버퍼를 이용하며, 추가적인 print 기능

 PushbackInputStream

 -

 버퍼를 이용해 읽어 온 데이터를 다시 되돌림

 

 

문자기반 스트림

 

바이트 기반은 입출력의 단위가 1바이트다. java 에서는 char 형이 2 바이트이기 때문에 바이트 기반 스트림으로 2바이트인 문자를 처리하는데 어려움이 있다.

이 점을 보완하기 위해  문자기반 스트림이 제공된다. 문자데이터를 입출력 할 때는 바이트기반 대신 문자 기반 스트림을 사용하면 된다.

 








 바이트기반 스트림

 문자기반 스트림

 FileInputStream

 FileOutputStream

 FileReader

 FileWriter

 ByteArrayInputStream

  ByteArrayOutputStream

 CharArrayReader

  CahrArrayWriter

 PipedInputStream

PipedOutputStream

 PipedReader

PipedWriter

 StringBufferInputStream

StringBufferOutputStream

 StringReader

StringWriter

 

 

 

'개발 > JAVA' 카테고리의 다른 글

replaceall 특정문자를 제거해 준다.  (0) 2018.02.10
배열을 리스트로 넣기  (0) 2018.02.10
StringBuffer 클래스  (0) 2018.02.10
String 클래스  (0) 2018.02.10
객체지향 프로그래밍  (0) 2018.02.10

String 클래스는 인스턴스를 생성할 때 지정된 문자열을 변경하지 않는다. 

StringBuffer 클래스는 변경이 가능하다. StringBuffer 클래스 의 인스턴스를 생성할때 적절한 크기의 char 배열이 생성되고 이 배열은 문자열을 저장하고 편집하기 위한 버퍼로 사용된다.

인스턴스 생성시 버퍼크기를 지정해 주지 않으면 16개의 문자를 저장할 크기의 버퍼가 생성된다.

 

StringBuffer 클래스의 인스턴스에 담긴 문자열을 비교하기 위해서는 인스턴스에 toString()을 호출해 인스턴스를 얻은 후, equal() 을 이용해 비교해야 한다.

 

[StringBuffer 클래스의 생성자와 메서드]

 

StringBuffer ()

문자를 가지지 않고초기 용량이 16 문자인 캐릭터 라인 버퍼를 구축합니다.

 

StringBuffer (int capacity)

문자를 가지지 않고지정되었다 초기 용량을 가지는 캐릭터 라인 버퍼를 구축합니다.

 

StringBuffer (String str)

지정된 캐릭터 라인의 내용에 초기화된 캐릭터 라인 버퍼를 구축합니다 

 

StringBuffer append (boolean b)

boolean 인수의 캐릭터 라인 표현을 이 순서에 추가합니다. 

 

StringBuffer append (char c)

char 인수의 캐릭터 라인 표현을 이 순서에 추가합니다. 

 

StringBuffer append (char[] str)

char 배열 인수의 캐릭터 라인 표현을 이 순서에 추가합니다.

 

StringBuffer append (char[] str, int offset, int len)

char 배열 인수의 부분 배열의 캐릭터 라인 표현을 이 순서에 추가합니다. 

 

StringBuffer append (CharSequence s)

지정된 CharSequence 를 이 순서에 추가합니다.

 

StringBuffer append (CharSequence s, int start, int end)

지정된 CharSequence 서브 순서를 이 순서에 추가합니다.

 

StringBuffer append (double d)

double 인수의 캐릭터 라인 표현을 이 순서에 추가합니다.

 

StringBuffer append (float f)

float 인수의 캐릭터 라인 표현을 이 순서에 추가합니다.

 

StringBuffer append (int i)

int 인수의 캐릭터 라인 표현을 이 순서에 추가합니다.

 

StringBuffer append (long lng)

long 인수의 캐릭터 라인 표현을 이 순서에 추가합니다. 

 

StringBuffer append (Object obj)

Object 인수의 캐릭터 라인 표현을 이 순서에 추가합니다. 

 

StringBuffer append (String str)

지정된 캐릭터 라인을 이 문자 순서에 추가합니다.

 

StringBuffer append (StringBuffer sb)

지정된 StringBuffer 를 이 순서에 추가합니다. 

 

StringBuffer appendCodePoint (int codePoint)

codePoint 인수의 캐릭터 라인 표현을 이 순서에 추가합니다. 

 

int capacity ()

현재의 용량을 돌려줍니다.

 

char charAt (int index)

지정된 인덱스 위치에 있다 char 치를 돌려줍니다. 

 

int codePointAt (int index)

지정된 인덱스 위치의 문자 (Unicode 코드 포인트)를 돌려줍니다. 

 

int codePointBefore (int index)

지정된 인덱스의 전의 문자 (Unicode 코드 포인트)를 돌려줍니다.

 

int codePointCount (int beginIndex, int endIndex)

이 순서의 지정된 텍스트 범위의 Unicode 코드 포인트의 수를 돌려줍니다.

 

StringBuffer delete (int start, int end)

이 순서의 부분 문자 렬내의 문자를 모두 삭제합니다. 

 

StringBuffer deleteCharAt (int index)

이 순서내의 지정함 위치에 있는 문자를 삭제합니다. 

 

void ensureCapacity (int minimumCapacity)

용량이 지정된 최소치 이상이 되는 것을 보증합니다. 

 

void getChars (int srcBegin, int srcEnd, char[] dst, int dstBegin)

이 순서로부터카피처의 문자 배열 dst 에 문자를 카피합니다. 

 

int indexOf (String str)

이 캐릭터 라인내에서지정된 부분 캐릭터 라인이 최초로 출현하는 위치의 인덱스를 돌려줍니다.

 

int indexOf (String str, int fromIndex)

지정된 인덱스 이후로 지정된 부분 캐릭터 라인이 이 캐릭터 라인내에서 최초로 출현하는 위치의 인덱스를 돌려줍니다. 

 

StringBuffer insert (int offset, boolean b)

boolean 인수의 캐릭터 라인 표현을 이 순서에 삽입합니다.

 

StringBuffer insert (int offset, char c)

char 인수의 캐릭터 라인 표현을 이 순서에 삽입합니다. 

 

StringBuffer insert (int offset, char[] str)

char 배열 인수의 캐릭터 라인 표현을 이 순서에 삽입합니다. 

 

StringBuffer insert (int index, char[] str, int offset, int len)

str 배열 인수의 부분 배열의 캐릭터 라인 표현을 이 순서에 삽입합니다.

 

StringBuffer insert (int dstOffset, CharSequence s)

지정된 CharSequence를 이 순서에 삽입합니다.

 

StringBuffer insert (int dstOffset, CharSequence s, int start, int end)

지정된 CharSequence 서브 순서를 이 순서에 삽입합니다. 

 

StringBuffer insert (int offset, double d)

double 인수의 캐릭터 라인 표현을 이 순서에 삽입합니다. 

 

StringBuffer insert (int offset, float f)

float 인수의 캐릭터 라인 표현을 이 순서에 삽입합니다.

 

StringBuffer insert (int offset, int i)

번째의 int 인수의 캐릭터 라인 표현을 이 순서에 삽입합니다. 

 

StringBuffer insert (int offset, long l)

long 인수의 캐릭터 라인 표현을 이 순서에 삽입합니다. 

 

StringBuffer insert (int offset, Object obj)

Object 인수의 캐릭터 라인 표현을 이 문자 순서에 삽입합니다.

 

StringBuffer insert (int offset, String str)

캐릭터 라인을 이 문자 순서에 삽입합니다. 

 

int lastIndexOf (String str)

이 캐릭터 라인내에서지정된 부분 캐릭터 라인이 제일 오른쪽으로 출현하는 위치의 인덱스를 돌려줍니다. 

 

int lastIndexOf (String str, int fromIndex)

이 캐릭터 라인내에서지정된 부분 캐릭터 라인이 마지막에 출현하는 위치의 인덱스를 돌려줍니다 (검색은 지정된 인덱스로부터 개시되어 선두 방향에 행해진다).

 

int length ()

이 캐릭터 라인의 길이를 돌려줍니다. 

 

int offsetByCodePoints (int index, int codePointOffset)

codePointOffset 코드 포인트에 해 지정된 index 로부터의 오프셋(offset)인 이 순서내의 인덱스를 돌려줍니다. 

 

StringBuffer replace (int start, int end, String str)

이 순서의 부분 문자 열의 문자를지정된 String 문자에 치환합니다. 

 

StringBuffer reverse ()

이 문자 순서가역 의 줄 순서의 순서에 치환됩니다.

 

void setCharAt (int index, char ch)

지정된 인덱스정도 치의 문자가 ch 가 되도록 설정합니다. 

 

void setLength (int newLength)

이 문자 순서의 길이 를 설정합니다. 

 

CharSequence subSequence (int start, int end)

이 순서의 사브시 켄스인 새로운 문자 순서를 돌려줍니다. 

 

String substring (int start)

이 문자 순서에 현재 포함되고 있는 캐릭터 라인의 일부가 들어간 새로운 String를 돌려줍니다.

 

String substring (int start, int end)

이 순서에 현재 포함 되고 있는 캐릭터 라인의 일부가 들어간 새로운 String를 돌려줍니다. 

 

String toString ()

이 순서의 데이터를 표현하는 캐릭터 라인을 돌려줍니다. 

 

void trimToSize ()

문자 순서에 사용되고 기억 영역을 줄이려고 합니다

'개발 > JAVA' 카테고리의 다른 글

배열을 리스트로 넣기  (0) 2018.02.10
입출력(I/O)  (0) 2018.02.10
String 클래스  (0) 2018.02.10
객체지향 프로그래밍  (0) 2018.02.10
클래스와 객체  (0) 2018.02.10

특징

한번 생성된 String 인스턴스가 가지고 있는 문자열은 읽어 올 수만 있고, 변경할 수는 없다.

 

String a = "a" ;

String b = "b" ;

a = a + b ;




"+" 연산자를 이용해 문자열을 결합하는 경우 인스턴스 내의 문자열이 바뀌는 것이 아니라 새로운 문자열이 담긴 String 인스턴스가 생성되는 것이다.

이렇게 결합하면 계속 메모리 공간을 차지하게 되므로 가능한 결합횟수를 줄이는 것이 좋다. (이때 쓰면 좋은 것이 StringBuffer 클래스다. )

 

문자열을 만드는 두가지 방법

1. 문자열 리터럴 지정

2. String  클래스의 생성자를 사용해 만드는 방법

 

리터럴로 문자열을 생성할 경우, 같은 내용의 문자열들은 모두 하나의 String 인스턴스를 참조하도록 되어 있다.




str1 == str2

0x100 == 0x100

true

 

String 클래스의 생성자를 이용한 String 인스턴스인 경우에는 new로 메모리할당이 이뤄지기 때문에 항상 새로운 String 인스턴스가 생성된다.






 

    

String (char[] value)

새로운 String를 할당해이것이 문자 배열 인수에 현재 포함되어 있는 문자 순서를 나타내도록(듯이합니다. 

 

String (String original)

새롭게 생성된 String 오브젝트를 초기화해인수와 같은 문자 순서를 나타내도록(듯이합니다. 

 

String (StringBuffer buffer)

캐릭터 라인 버퍼 인수에 현재 포함되어 있는 캐릭터 라인을 가지는 새로운 캐릭터 라인을 구축합니다.

 

char charAt (int index)

지정된 인덱스 위치에 있는 char 치를 돌려줍니다.

 

int codePointAt (int index)

지정된 인덱스 위치의 문자 (Unicode 코드 포인트)를 돌려줍니다.

 

int codePointBefore (int index)

지정된 인덱스의 전의 문자 (Unicode 코드 포인트)를 돌려줍니다. 

 

int codePointCount (int beginIndex, int endIndex)

이 String 지정된 텍스트 범위의 Unicode 코드 포인트의 수를 돌려줍니다. 

 

int compareTo (String anotherString)

개의 캐릭터 라인을 사전적으로 비교합니다.

 

int compareToIgnoreCase (String str)

대문자와 소문자의 구별없이, 2 개의 캐릭터 라인을 사전적으로 비교합니다. 

 

String concat (String str)

지정된 캐릭터 라인을 이 캐릭터 라인의 마지막에 연결합니다. 

 

boolean contains (CharSequence s)

이 캐릭터 라인이 지정된 char 치의 순서를 포함한 경우에 한정해 true를 돌려줍니다. 

 

boolean contentEquals (CharSequence cs)

이 String 지정된 순서와 같은 char 치의 순서를 나타내는 경우에만,true 가 돌려주고집니다.

 

boolean contentEquals (StringBuffer sb)

이 String 지정된 StringBuffer 와 같은 문자 순서를 나타내는 경우에만,true 가 돌려주고집니다. 

 

static String copyValueOf (char[] data)

지정된 배열내의 문자 순서를 나타내는 String를 돌려줍니다. 

 

static String copyValueOf (char[] data, int offset, int count)

지정된 배열내의 문자 순서를 나타내는 String를 돌려줍니다. 

 

boolean endsWith (String suffix)

이 캐릭터 라인이지정된 접미말로 끝날지 어떨지를 판정합니다. 

 

boolean equals (Object anObject)

이 캐릭터 라인과 지정된 오브젝트를 비교합니다. 

 

boolean equalsIgnoreCase (String anotherString)

이 String 와 다른 String를 비교합니다.

 

static String format (Locale l, String format, Object ... args)

지정된 로케일서식 캐릭터 라인 및 인수를 사용해포맷 된 캐릭터 라인을 돌려줍니다. 

 

static String format (String format, Object ... args)

지정된 서식의 캐릭터 라인과 인수를 사용해서식 첨부 캐릭터 라인을 돌려줍니다. 

 

byte[] getBytes ()

플랫폼의 디폴트 캐릭터셋를 사용해 이 String를 바이트 순서에 encode 결과를 새로운 바이트 배열에 포함합니다. 

 

void getBytes (int srcBegin, int srcEnd, byte[] dst, int dstBegin)

추천하지 않습니다 이 메서드에서는 문자로부터 바이트에의 변환이 올바르게 행해지지 않습니다. JDK 1. 1 에서는 문자로부터 바이트에의 변환에는 플랫폼의 디폴트 캐릭터셋를 사용하는 getBytes() 메서드의 사용이 추천 됩니다. 

 

byte[] getBytes (String charsetName)

지정된 캐릭터셋를 사용해 이 String를 바이트 순서에 encode 결과를 새로운 바이트 배열에 포함합니다. 

 

void getChars (int srcBegin, int srcEnd, char[] dst, int dstBegin)

이 캐릭터 라인으로부터카피처의 문자 배열에 문자를 카피합니다.

 

int hashCode ()

이 캐릭터 라인의 해시 코드를 돌려줍니다.

 

int indexOf (int ch)

이 캐릭터 라인내에서지정된 문자가 최초로 출현하는 위치의 인덱스를 돌려줍니다. 

 

int indexOf (int ch, int fromIndex)

이 캐릭터 라인내에서지정된 인덱스로부터 검색을 개시해지정된 문자가 최초로 출현하는 위치의 인덱스를 돌려줍니다. 

 

int indexOf (String str)

이 캐릭터 라인내에서지정된 부분 캐릭터 라인이 최초로 출현하는 위치의 인덱스를 돌려줍니다. 

 

int indexOf (String str, int fromIndex)

지정된 인덱스 이후로 지정된 부분 캐릭터 라인이 이 캐릭터 라인내에서 최초로 출현하는 위치의 인덱스를 돌려줍니다. 

 

String intern ()

캐릭터 라인 오브젝트의 정 준표현을 돌려줍니다. 

 

int lastIndexOf (int ch)

이 캐릭터 라인내에서지정된 문자가 마지막에 출현하는 위치의 인덱스를 돌려줍니다.

 

int lastIndexOf (int ch, int fromIndex)

이 캐릭터 라인내에서지정된 문자가 마지막에 출현하는 위치의 인덱스를 돌려줍니다 (검색은 지정된 인덱스로부터 개시되어 선두 방향에 행해진다). 

 

int lastIndexOf (String str)

이 캐릭터 라인내에서지정된 부분 캐릭터 라인이 제일 오른쪽으로 출현하는 위치의 인덱스를 돌려줍니다.

 

int lastIndexOf (String str, int fromIndex)

이 캐릭터 라인내에서지정된 부분 캐릭터 라인이 마지막에 출현하는 위치의 인덱스를 돌려줍니다 (검색은 지정된 인덱스로부터 개시되어 선두 방향에 행해진다). 

 

int length ()

이 캐릭터 라인의 길이를 돌려줍니다.

 

boolean matches (String regex)

이 캐릭터 라인이지정된 정규 표현과 일치할지 어떨지를 판정합니다. 

 

int offsetByCodePoints (int index, int codePointOffset)

codePointOffset 코드 포인트에 해 지정된 index 로부터 오프셋(offset)가 설정된이 String 내의 인덱스를 돌려줍니다.

 

boolean regionMatches (boolean ignoreCase, int toffset, String other, int ooffset, int len)

개의 캐릭터 라인 영역이 동일한지 어떤지를 판정합니다. 

 

boolean regionMatches (int toffset, String other, int ooffset, int len)

개의 캐릭터 라인 영역이 동일한지 어떤지를 판정합니다.

 

String replace (char oldChar, char newChar)

이 캐릭터 라인내에 있는 모든 oldChar를 newChar 에 치환한 결과 생성되는 새로운 캐릭터 라인을 돌려줍니다.

 

String replace (CharSequence target, CharSequence replacement)

리터럴 타겟 순서에 일치하는 이 캐릭터 라인의 부분 캐릭터 라인을지정된 리터럴 치환 순서에 옮겨놓습니다. 

 

String replaceAll (String regex, String replacement)

지정된 정규 표현에 일치하는 이 캐릭터 라인의 각 부분 캐릭터 라인에 대해지정된 치환을 실행합니다.

 

String replaceFirst (String regex, String replacement)

지정된 정규 표현에 일치하는 이 캐릭터 라인의 최초의 부분 캐릭터 라인에 대해지정된 치환을 실행합니다. 

 

String [] split (String regex)

이 캐릭터 라인을지정된 regular expression 에 일치하는 위치에서 분할합니다. 

 

String [] split (String regex, int limit)

이 캐릭터 라인을지정된 정규 표현에 일치하는 위치에서 분할합니다. 

 

boolean startsWith (String prefix)

이 캐릭터 라인이지정된 접두사로 시작될지 어떨지를 판정합니다. 

 

boolean startsWith (String prefix, int toffset)

이 캐릭터 라인의 지정된 인덱스 이후의 부분 캐릭터 라인이지정된 접두사로 시작될지 어떨지를 판정합니다.

 

CharSequence subSequence (int beginIndex, int endIndex)

이 순서의 서브 순서인 새로운 문자 순서를 돌려줍니다. 

 

String substring (int beginIndex)

이 캐릭터 라인의 부분 캐릭터 라인인 새로운 캐릭터 라인을 돌려줍니다. 

 

String substring (int beginIndex, int endIndex)

이 캐릭터 라인의 부분 캐릭터 라인인 새로운 캐릭터 라인을 돌려줍니다. 

 

char[] toCharArray ()

이 캐릭터 라인을 새로운 문자 배열로 변환합니다. 

 

String toLowerCase ()

디폴트 로케일의 규칙을 사용해이 String 내의 모든 문자를 소문자로 변환합니다. 

 

String toLowerCase (Locale locale)

지정된 Locale 규칙을 사용해이 String 내의 모든 캐릭터 라인을 소문자로 변환합니다. 

 

String toString ()

이 오브젝트 (벌써 캐릭터 라인이다자신이 돌려주고집니다.

 

String toUpperCase () 

디폴트 로케일의 규칙을 사용해이 String 내의 모든 문자를 대문자로 변환합니다.

 

String toUpperCase (Locale locale)

지정된 Locale 규칙을 사용해이 String 내의 모든 캐릭터 라인을 대문자로 변환합니다. 

 

String trim ()

문자열의 왼쪽 끝과 오른쪽 끝에 있는 공백을 없앤 결과를 반환한다. 이때 문자열 중간에 있는 공백은 제거 안됨.

 

static String valueOf (boolean b)  

boolean 인수의 캐릭터 라인 표현을 돌려줍니다.

 

static String valueOf (char c)

char 인수의 캐릭터 라인 표현을 돌려줍니다.

 

static String valueOf (char[] data)

char 배열 인수의 캐릭터 라인 표현을 돌려줍니다.

 

static String valueOf (char[] data, int offset, int count)

char 배열 인수의 특정의 부분 배열의 캐릭터 라인 표현을 돌려줍니다. 

 

static String valueOf (double d)

double 인수의 캐릭터 라인 표현을 돌려줍니다. 

 

static String valueOf (float f)

float 인수의 캐릭터 라인 표현을 돌려줍니다.

 

static String valueOf (int i)

int 인수의 캐릭터 라인 표현을 돌려줍니다.

 

static String valueOf (long l)

long 인수의 캐릭터 라인 표현을 돌려줍니다. 

 

static String valueOf (Object obj)

Object 인수의 캐릭터 라인 표현을 돌려줍니다.

 

[기본형과 문자열 간의 형변환 방법]

 

 기본형->문자열

 문자열->기본형 

 String vlaueOf(boolean b)

String vlaueOf(char c)

String vlaueOf(int i)

String vlaueOf(long l)

String vlaueOf(float f)

String vlaueOf(double d)

boolean Boolean.getBoolean(String str) 

byte Byte.ParseByte(String str)

short short.parseShort(String str)

int Integer.parseInt(String str)

long Long.parseLong(String str)

float Float.parseFloat(String str)

double Double.parseDouble(String str)

 

 

 

 


'개발 > JAVA' 카테고리의 다른 글

입출력(I/O)  (0) 2018.02.10
StringBuffer 클래스  (0) 2018.02.10
객체지향 프로그래밍  (0) 2018.02.10
클래스와 객체  (0) 2018.02.10
클래스의 정의와 인스턴스의 생성  (0) 2018.02.10

상속

상속이란 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것이다.

키워드 : extends )

자손 클래스는 조상 클래스의 모든 멤버를 상속한다.

조상 클래스만 변경해도 모든 자손 클래스와 자손의 자손 클래스까지 영향을 미치기 때문에 클래스간 상속 관계를 맺어 주면 자손 클래스의 공통적인 부분은 조상 클래스에서 관리하고 자손은 자신에 정의된 멤버만 관리하면 된다.

 

 

단일 상속

자바는 하나 이상의 클래스를 상속 받을 수 없다.

 

- 모든 상속 계층도의 최상위에는 Object 클래스가 위치한다. 

(Object 에는 모든 인스턴스가 가져야할 기본적인 11개의 메서드가 정의되어 있다.)

 

 

오버라이딩

조상 클래스로부터 상속 받은 메서드의 내용을 변경하는 것

" 자손 클래스에서 오버라이딩하는 메서드는 조상 클래스의 메서드와 "

- 이름이 같아야 한다

- 매개 변수가 같아야 한다

- 리턴 타입이 같아야 한다

 

super

자손 클래스에서 조상 클래스로부터 상속 받은 멤버를 참조하는데 사용되는 변수

super.x => 조상 클래스로부터 상속 받은 멤버변수 x

this.x => 자손 클래스에서 선언된 멤버변수 x

 

* 생성자의 첫 줄에서 조상 클래스의 생성자를 호출해야 하는 이유는 자손 클래스의 멤버가 조상 클래스의 멤버를 사용할 수 있으므로 조상의 멤버들이 먼저 초기화되어 있어야 하기 때문이다.

 

 

 

 

제어자

클래스, 변수, 메서드의 선언부에 함께 사용되어 부가적인 의미를 부여한다.

 

1. static - 클래스의, 공통적인

인스턴스변수는 하나의 클래스로부터 생성되었더라도 각기 다른 값을 유지하지만, 클래스변수(static 멤버 변수)는 인스턴스에 관계없이 같은 값을 가진다. 그 이유는 하나의 변수를 모든 인스턴스가 공유하기 때문이다.

static이 붙은 멤버변수와 메서드, 그리고 초기화 블럭은 인스턴스가 아닌 클래스에 관계된 것이기 때문에 인스턴스를 생성하지 않아도 사용할 수 있따.

 

[사용될 수 있는 곳]

멤버변수, 메서드, 초기화 블럭

   

 

제어자

대상

의미

static

멤버변수

모든 인스턴스에 공통적으로 사용되는 클래스 변수가 된다.

클래스 변수는 인스턴스를 생성하지 않고도 사용 가능하다.

클래스가 메모리에 로드될 때 생성된다.

메서드

인스턴스를 생성하지 않고도 호출이 가능한 static메서드가 된다.

static메서드 내에서는 인스턴스멤버들을 직접 사용할 수 없다.

 

 

2. final - 마지막의,  변경될 수 없는

변수에 사용되면 값을 변경할 수 없는 상수가 되며, 메서드에 사용하면 오버라이딩을 할 수 없게 되고 클래스에 사용하면 자신을 확장하는 자손 클래스를 정의할 수 없다. 

 

[사용될 수 있는 곳] 

클래스, 메서드 , 멤버변수, 지역변수 

 

제어자

대상

의미

final

클래스

변경될 수 없는 클래스확장될 수 없는 클래스가 된다.

그래서 final로 지정된 클래스는 다른 클래스의 조상이 될 수 없다.

메서드

변경될 수 없는 메서드, final로 지정된 메서드는 오버라이딩을 통해 재정의 될 수 없다.

멤버변수

변수 앞에 final이 붙으면값을 변경할 수 없는 상수가 된다.

지역변수

 

 

 

 

" 생성자를 이용한 final 멤버변수 초기화  "

final이 붙은 변수는 상수이므로 일반적으로 선언과 초기화를 동시에 하지만 인스턴스변수의 경우 생성자에서 초기화 되도록 할 수 있다.

클래스 내에 매개변수를 가지는 생성자를 선언하여, 인스턴스를 생성할 때 final이 붙은 멤버변수를 초기화 하는데 필요한 값을 생성자의 매개변수로부터 제공받는 것이다.

 

 

3. abstract - 추상의, 미완성의

메서드의 선언부에만 작성하고 실제 수행내용은 구현하지 않은 추상메서드를 선언하는데 사용된다.

그리고 클래스에 사용되어 클래스 내에 추상메서드가 존재하는 것을 알려준다.

 

[사용할 수 있는 곳]

클래스, 매서드

 

제어자

대상

의미

abstract

클래스

클래스 내에 추상메서드가 선언되어 있음을 의미

메서드

선언부만 작성하고 구현부는 작성하지 않은 추상메서드임을 알림

 

 

 

'개발 > JAVA' 카테고리의 다른 글

StringBuffer 클래스  (0) 2018.02.10
String 클래스  (0) 2018.02.10
클래스와 객체  (0) 2018.02.10
클래스의 정의와 인스턴스의 생성  (0) 2018.02.10
continue & break  (0) 2018.02.10

클래스의 정의 - 객체를 정의해 놓은 것

클래스의 용도 - 객체를 생성하는데 사용

 

객체의 정의 - 실제로 존재하는 것. 사물 또는 개념

객체의 용도 - 객체의 속성과 기능에 따라 다르다.

 

 클래스

객체 

 제품설계도

 제품

 TV 설계도

 TV

 붕어빵기계

 붕어빵 

 

 

객체와 인스턴스

객체는 인스턴스를 포함한다.

인스턴스는 특정 클래스의 객체를 강조할 때 사용된다.

우리가 궁극적으로 사용하고자 하는 것은 클래스가 아니라 객체이고 객체를 사용하려면 먼저 클래스로부터 객체를 생성해야 한다.






객체의 구성

객체는 속성과 기능으로 이루어져 있다. 속성과 기능을 객체의 멤버라고 한다.

이때 속성은 변수, 기능은 메서드라고 한다.




'개발 > JAVA' 카테고리의 다른 글

String 클래스  (0) 2018.02.10
객체지향 프로그래밍  (0) 2018.02.10
클래스의 정의와 인스턴스의 생성  (0) 2018.02.10
continue & break  (0) 2018.02.10
int와 Integer의 비교  (0) 2018.02.10

클래스의 정의와 인스턴스의 생성1

 

객체지향 프로그래밍과 객체

∙ 객체(object)

사전적 의미 물건 또는 대상

객체지향 프로그래밍 객체 중심의 프로그래밍

 

는 과일장수에게 두 개의 사과를 구매했다.>

-> 객체지향 프로그래밍에서는 나과일장수사과 라는 객체를 등장 시켜서 두 개의 사과 구매라는 행위를 실체화 한다.

 

∎ 객체를 이루는 것은 데이터와 기능이다.

∎ 클래스라는 틀 기반의 객체를 생성한다.

객체 생성에 앞서 선행되어야 하는 클래스의 정의

변수 선언

메소드 정의

⋇ final : 변수에 final 키워드를 붙여주면 변수는 상수화 된다.

 

 

 

클래스는 메모리 공간에 할당되지 않는다.(실체화 되지 않는다.)

[클래스를 실체화 시키는 방법]





참조변수 객체를 참조할 때 사용하는 변수

객체의 주소 값을 담고 있다.

 

객체생성과 참조의 관계를 정확히 해야 한다.





'개발 > JAVA' 카테고리의 다른 글

String 클래스  (0) 2018.02.10
객체지향 프로그래밍  (0) 2018.02.10
클래스와 객체  (0) 2018.02.10
continue & break  (0) 2018.02.10
int와 Integer의 비교  (0) 2018.02.10

continue & break

반복문 안에서 쓰인다.

break

실행을 하다가 멈추고 완전히무조건 실행문을 빠져 나가라.

continue

나머지 부분 생략하고 조건검사부터 다시 해라.(빠져나가는 것이 아니다.)



'개발 > JAVA' 카테고리의 다른 글

String 클래스  (0) 2018.02.10
객체지향 프로그래밍  (0) 2018.02.10
클래스와 객체  (0) 2018.02.10
클래스의 정의와 인스턴스의 생성  (0) 2018.02.10
int와 Integer의 비교  (0) 2018.02.10

+ Recent posts