public class TestProgram {
public static void main(String[] args) {
int[][] a = new int[5][5];
for(int i = 0; i < 5;i++)
Arrays.fill(a[i],1);
for( int i = 0; i < 5;i++)
{
for(int j =0;j <5;j++)
System.out.print(a[i][j]);
System.out.println();
}
}
}
3. 배열 복사
Array(배열)은 객체이므로 기본자료형 처럼 대입을 통해 복사를 한다면 배열의 참조만 복사가된다.(복사 배열 변경시 원본 변경됨)
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
String s1 = " Hello New World ";
System.out.println(s1.trim());
}
}
2.public String replaceAll(String regax, String replacement): 특정 문자열을 다른 문자열로 치환해주는 메소드
ex) s1.replaceAll("Hello", "A");
HelloHelloHello -> AAA
이를 잘 활용하면 문자열사이의 공백 제거가 가능하다.
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
String s1 = " Hello New World ";
System.out.println(s1.replaceAll(" ",""));
}
}
StringTokenizer st = new StringTokenizer(문자열, 구분자, true/false);
구분자의 default값은 공백이고, 여러개의 구분자를 사용할 수 있다.
세 번째 인자에 true값이 들어간다면 구분자도 문자열 토큰에 포함된다.
public class TestProgram {
public static void main(String[] args) {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer("아아아 어어어어ㅓ 아너너아아!아오올아이"," !");
while(st.hasMoreTokens())
System.out.println(st.nextToken());
}
}
2. Split 메소드 이용
public string[] split(String regax,int limit)
구분자를 이용해 문자열을 문자열 배열에 담는다.
int limit은 반환되는 배열의 크기를 의미한다.(구분자를 통해 자르는 개수)
split()을 사용하면 문자열의 공간은 크기에 맞춰 새로 할당된다.
"+"문자는 "\\+"로 사용해야한다.
구분자를 여러개 사용할 시 "|"로 구분해줘야한다.
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
String s1 = "Hello New World";
String[] s2 =s1.split(" ",2);
for(int i = 0; i < s2.length; i++)
{
System.out.println(s2[i]);
}
}
}
*StringTokenizer 와 split차이
StringTokenizer는 java.util에 포함되어 있는 클래스이고, split은 String클래스에 속해 있는 메소드이다.
StringTokenizer는 빈 문자열을 토큰으로 인식하지 않지만 split은 빈 문자열을 토큰으로 인식한다.
StringTokenizer는 결과값이 문자열이고 split은 결과 값이 문자열 배열이어서 성능이 약간 뒤쳐진다.