카테고리

분류 전체보기 (68)
JAVA-기본 (7)
JAVA-AWT (24)
JAVA-클래스의 중요메소드 (23)
JAVA-람다식 (0)
Android Studio (7)
Python (1)
OpenCV (1)
AWS (0)
webrtc (0)
javascript (4)
처리방침 (1)
rss 아이콘 이미지
반응형

이번 시간에는 Vector() 클래스에 대해서 알아보도록 하겠습니다.


Vector()


Vector() 는 동적인 배열을 정적인 크기를 가지고 있는 특징이 있습니다. 보통 배열을 선언할 때 배열의 개수를 제한하지만, Vector 클래스는 가변한다는 장점이 있습니다. 벡터는 배열을 저장하는 공간입니다.


아래는 Vector() 클래스의 생성자 입니다.


1.Vector()

:크기가 10인 벡터를 생성합니다. 크기를 넘어서면 10 증가합니다.

예를들어, 크기가 10인 벡터가 생성된다면 아래와 같습니다.

1번객체
2번객체
3번객체
4번객체
5번객체
6번객체
7번객체
8번객체
9번객체
10번객체

위의 10개의 크기를 가진 벡터는 10을 초과하면 20이 됩니다.


2.Vector(int 초기값)

:크기가 int 개수인 벡터를 생성합니다. 크기를 넘어서면 10 증가합니다.


3.Vector(int 초기값, int 증가값)

:초기의 크기가 int개수인 벡터를 생성하며 그 개수가 가득차면 int 증가값만큼 벡터가 증가합니다.



아래는 Vector() 클래스의 주요 메소드입니다.

addElement(객체)

:객체를 Vector에 저장합니다.


elementAt(int)

:몇번째 벡터값 요소를 확인합니다.


Capacity()

:벡터의 크기를 확인합니다.


아래의 예제를 통하여 더 Vector()에 대해서 살펴보도록 하겠습니다.

보통 Vector() 클래스는 <객체>를 사용하여 어떤 type의 객체를 생성할지 나타냅니다.

 package 기본01;

 

import java.util.Vector;

 

public class a13 {

 

        public static void main(String[] args) {

 

               Vector<String> a1 = new Vector<String>(5,5);

               // 초기값이 5이며 증가값이 5 벡터 생성

 

               a1.addElement("1");

               // 1번이라는 String 객체값은 벡터의 첫번째 요소에 저장

               a1.addElement("2");

               a1.addElement("3");

               a1.addElement("4");

               a1.addElement("5");

               System.out.println(a1.capacity());

               //벡터의 크기 확인

               a1.addElement("6");

               System.out.println(a1.capacity());

               //늘어난 벡터의 크기 확인

              

               System.out.println("--------------");

               System.out.println(a1.elementAt(0));

               System.out.println(a1.elementAt(1));

               System.out.println(a1.elementAt(2));

               System.out.println(a1.elementAt(3));

               System.out.println(a1.elementAt(4));

               System.out.println("--------------");

               System.out.println(a1.elementAt(5));

 

        }

 

}


<결과물>

자료가 마음에 드셨다면 자주 찾아주세요^^ 글 올리는데 힘이됩니다.

반응형
반응형

이번 시간에는 StringTokenizer() 클래스에 대해서 알아보도록 하겠습니다.


StringTokenizer()


StringTokenizer() 는 String의 문자열을 원하는 문자열을 기준으로 나눌 수 있는 클래스입니다.

예를들어 String="123,456,789"; 가 존재한다면 ","(쉼표)을 기준으로 String을 123/456/789 으로 3등분할 수 있습니다.


아래는 StringTokenizer()의 생성자 입니다.


아래는 StringTokenizer()의 특징입니다.


1. StringTokenizer()는 객체를 생성해서 사용해야합니다.

2. StringTokenizer()는 객체를 생성 후 import 해야합니다.

3. 위의 StringTokenizer() 중 string str은 문자열을 나눌 대상입니다.

4. string delim은 str 문자를 나눌때 기준이 되는 문자열입니다.

5. boolean은 나누는 기준이되는 문자열의 출력 여부를 묻습니다.

6. 여러개의 구획 문자가 적용가능하다. (아래 예제 참고)


아래는 StringTokenizer() 클래스와 함께 사용되는 메소드입니다.

(나누는 문자의 각 대상들을 token이라고 합니다.)


countTokens(); 

토큰의 개수 확인
hasMoreTokens(); 토큰이 더 남아있는지 확인
nextToken(); 다음 토큰을 불러옴


아래의 예제를 통하여 더 StringTokenizer()에 대해서 살펴보도록 하겠습니다.

 package 기본01;

 

import java.util.StringTokenizer;

 

public class a01 {

 

        public static void main(String[] args) {

 

               String a = "123,456,789";

               StringTokenizer a1 = new StringTokenizer(a, ",");

               // 객체 생성 import

 

               String b = "1,2,3,4,5,6,7,8,9";

               StringTokenizer b1 = new StringTokenizer(b, ",");

               // 객체 생성 import

 

               System.out.println(a1.countTokens());

               System.out.println(b1.countTokens());

 

        }

 

}


<결과물>


 package 기본01;

 

import java.util.StringTokenizer;

 

public class a02 {

 

        public static void main(String[] args) {

 

               String a = "123,456,789";

               StringTokenizer a1 = new StringTokenizer(a, ",");

               // 객체 생성 import

 

               String b = "1,2,3,4,5,6,7,8,9";

               StringTokenizer b1 = new StringTokenizer(b, ",");

               // 객체 생성 import

 

               while (a1.hasMoreTokens()) {

                       // hasMoreTokens while문을 사용합니다.

                       System.out.println(a1.nextToken());

                       System.out.println("hasMoreTokens 토큰개수 만큼 진행됩니다."+a1.countTokens()+"처음 3토큰이 -1 감소하네요");

                      

 

               }

               while (b1.hasMoreTokens()) {

                       System.out.println(b1.nextToken());

 

               }

        }

}


<결과물>


<tokenizer생성자 boolean true 적용 예제>

 package 기본01;

 

import java.util.StringTokenizer;

 

public class a02 {

 

        public static void main(String[] args) {

 

               String a = "123,456,789";

               StringTokenizer a1 = new StringTokenizer(a, ",", true);

               // 객체 생성 import

 

              // true , 분리하는 쉼표도 같이 출력됩니다

 

               while (a1.hasMoreTokens()) {

                       // hasMoreTokens while문을 사용합니다.

                       System.out.println(a1.nextToken());

                       System.out.println("hasMoreTokens 토큰개수 만큼 진행됩니다." + a1.countTokens() + "처음 토큰이 -1 감소하네요");

 

               }

        }

}

<결과물>


*중요 <tokenizer생성자 여러개의 delim>

이 기능을 사용하여 간단한 계산기 구현 가능합니다.

 package 기본01;

 

import java.util.StringTokenizer;

 

public class a02 {

 

        public static void main(String[] args) {

 

               String a = "1-2+-*/3+4+-*/56";

               StringTokenizer a1 = new StringTokenizer(a, "+-*/");

               // 객체 생성 import

 

               // true , 분리하는 쉼표도 같이 출력됩니다.

 

               while (a1.hasMoreTokens()) {

                       // hasMoreTokens while문을 사용합니다.

                       System.out.println(a1.nextToken());

               }

        }

}


<결과물>



자료가 마음에 드셨다면 자주 찾아주세요^^ 글 올리는데 힘이됩니다.

반응형
반응형

이번 시간에는 StringBuffer 클래스의 insert() 메소드를 확인해보도록 하겠습니다. 우선. StringBuffer 클래스는 String 클래스와는 다르게 정적 문자열이라는 특징을 가지고 있습니다. 

예를들어, String 클래스의 변수 a가 ="123"; 이면, 이 a는 변함이 없지만, StringBuffer 클래스의 a는 변할 수 있다는 특징이 있습니다. 다만, 이 StringBuffer는 new를 이용하여 새로운 객체를 생성하여야 합니다.


다음으로 insert()메소드에 대해서 확인하도록 하겠습니다.

insert(int 시작점, boolean)

insert(int 시작점, int)

insert(int 시작점, long)

insert(int 시작점, float)

insert(int 시작점, double)

insert(int 시작점, char)

insert(int 시작점, string)


insert() 메소드는 StringBuffer 클래스에 속한 메소드이며, 문자열에서 어떤 임의 지점에 문자를 삽입할 수 있는 기능이 있습니다.

예를들어, a="1256"; 이 있다면 insert()메소드를 이용하면 3번 index자리로 부터 "34"를 삽입하여 a="123456" 으로 만들 수 있습니다.


아래 예제를 통하여 더 살펴보도록 하겠습니다.

 package 기본기04;

 

public class a04 {

 

        public static void main(String[] args) {

 

               StringBuffer a = new StringBuffer("12삽입56");

               // "12삽입56" StringBuffer 객체를 생성합니다.

 

               // 먼저 삽입이라는 문구를 제거하고 45 삽입하도록 하겠습니다.

               a.delete(2, 4);

               System.out.println(a);

               // delete 이용하여 "삽입" 문구를 지웠습니다.

 

               System.out.println("---------");

 

               System.out.println(a.indexOf("34"));

               // 현재는 "34" String 존재하지 않으므로 -1 값을 반환합니다.

 

               System.out.println("---------");

               a.insert(3, "34");

               /// 3 index자리에 String "34" 삽입하겠습니다.

               System.out.println(a);

 

               System.out.println(a.charAt(0));

               System.out.println(a.charAt(1));

               System.out.println(a.charAt(2));

               System.out.println(a.charAt(3));

               System.out.println(a.charAt(4));

               System.out.println(a.charAt(5));

 

               System.out.println("---------");

               StringBuffer b=new StringBuffer("");

               b.append("나라마");

               System.out.println(b);

               b.insert(0, 1);

               //int 1 삽입

               System.out.println(b);

               b.insert(3, 1.1);

               //double 1.1 삽입

               System.out.println(b);

               b.insert(5,'');

               //char형태 삽입

               System.out.println(b);

        }

 

}


<결과물>

자료가 마음에 드셨다면 자주 찾아주세요^^ 글 올리는데 힘이됩니다.


반응형
반응형

이번 시간에는 StringBuffer 클래스의 delete(int start, int end) 메소드를 확인해보도록 하겠습니다. 우선, StringBuffer 클래스는 String 클래스와는 다르게 정적 문자열이라는 특징을 가지고 있습니다. 

예를들어, String 클래스의 변수 a가 ="123"; 이면, 이 a는 변함이 없지만, StringBuffer 클래스의 a는 변할 수 있다는 특징이 있습니다. 다만, 이 StringBuffer는 new를 이용하여 새로운 객체를 생성하여야 합니다.


다음으로 delete(int start, int end)메소드에 대해서 확인하도록 하겠습니다.

delete(int start, int end)


delete(int start, int end) 메소드는 StringBuffer 클래스에 속한 메소드이며, 문자열을 삭제할 수 있습니다. 예를들어, a="123456"; 이 있다면 delete(int start, int end)메소드를 이용하면 "34"를 지우고 a="1256" 으로 됩니다.


아래 예제를 통하여 더 살펴보도록 하겠습니다.

 package 기본기04;

 

public class a03 {

 

        public static void main(String[] args) {

 

               StringBuffer a=new StringBuffer("1234567");

               //새로운 StringBuffer 객체를 생성합니다.

               System.out.println(a.charAt(0));

               System.out.println(a.charAt(1));

               System.out.println(a.charAt(2));

               System.out.println(a.charAt(3));

               System.out.println(a.charAt(4));

               System.out.println(a.charAt(5));

               System.out.println(a.charAt(6));

       

               System.out.println("---------");

 

               a=a.delete(0,1);

               System.out.println(a);

              

               System.out.println("---------");


               for(int i=0;i<a.length()-1;)

               //i 증감요소는 없습니다. 그러면 무한루프를 돌겠지만 Sys.out a.length요소가 delete 하면 점점 없어져서 출력할 요소가 없습니다.

               {

                       a=a.delete(0,1);

                       //만약 위의 delete요소가 없다면 a.length 6으로 한정되서 계속 출력이 되겠지만 하나씩 없어지면 언젠가 0 되어 출력이 없겠지요.

                       System.out.println("String a 길이는 변해서: " +a.length()+ " 입니다");

                      

               }

                      

       

        }

 

}


<결과물>


자료가 마음에 드셨다면 자주 찾아주세요^^ 글 올리는데 힘이됩니다.


반응형

'JAVA-클래스의 중요메소드 > StringBuffer클래스' 카테고리의 다른 글

JAVA-중요04-insert()  (0) 2018.07.02
JAVA-중요02-reverse()  (0) 2018.07.02
JAVA-중요01-append()  (0) 2018.07.01
반응형

이번 시간에는 StringBuffer 클래스의 reverse() 메소드를 확인해보도록 하겠습니다.

우선, StringBuffer 클래스는 String 클래스와는 다르게 정적 문자열이라는 특징을 가지고 있습니다. 

예를들어, String 클래스의 변수 a가 ="123"; 이면, 이 a는 변함이 없지만, StringBuffer 클래스의 a는 변할 수 있다는 특징이 있습니다. 다만, 이 StringBuffer는 new를 이용하여 새로운 객체를 생성하여야 합니다.


다음으로 reverse()메소드에 대해서 확인하도록 하겠습니다.

reverse()


reverse()메소드는 StringBuffer 클래스에 속한 메소드이며, 문자열을 역순으로 나타내줍니다.

예를들어, a="123"; 이 있다면 reverse()메소드를 이용하면 a="321"로 됩니다.


아래 예제를 통하여 더 살펴보도록 하겠습니다.

 package 기본기04;

 

public class a02 {

 

        public static void main(String[] args) {

 

               StringBuffer a=new StringBuffer("123");

               //우선 StringBuffer 객체를 생성합니다.

               a=a.reverse();

              

               System.out.println(a);

              

              

               a=a.append("456");

               //reverse a "123" String 추가한 것입니다.

               //정적 StringBuffer 이므로 계속적으로 a변수의 값은 변하게 됩니다.

               System.out.println(a);

              

               a=a.reverse();

               //새롭게 append 321456 reverse해줍니다. 그결과는 321456 아닌 654123 되겠습니다.

               System.out.println(a);

               System.out.println("-----------");

              

              

              

              

               String c="123";

               String d="456";

               //String 클래스에는 StringBuffer 메소드가 적용되지 않습니다.

       

               String e=c+d;

               System.out.println(e);

               //String에서는 append 기능을 + 연산자가 수행하고 있습니다.

               //+연산자로 StringBuffer StringBuilder 이용하여 다시 새로운 형태의 변수를 만듭니다.

              

        }

 

}


<결과물>


자료가 마음에 드셨다면 자주 찾아주세요^^ 글 올리는데 힘이됩니다.


반응형
반응형

이번 시간에는 StringBuffer 클래스의 append() 메소드를 확인해보도록 하겠습니다.

우선, StringBuffer 클래스는 String 클래스와는 다르게 정적 문자열이라는 특징을 가지고 있습니다. 

예를들어, String 클래스의 변수 a가 ="123"; 이면, 이 a는 변함이 없지만, StringBuffer 클래스의 a는 변할 수 있다는 특징이 있습니다. 다만, 이 StringBuffer는 new를 이용하여 새로운 객체를 생성하여야 합니다.


다음으로 append()메소드에 대해서 확인하도록 하겠습니다.

append()

append(boolean)

append(int)

append(long)

append(float)

append(double)

append(char)

append(string)


append는 기존 문자열의 뒤쪽에 문자열을 추가하는 기능을 가지고 있습니다. 

예를들어, StringBuffer a="123"; 이 있다면 append("4"); 기능으로 a="1234"라는 값을 가지게 됩니다.


아래 예제를 통하여 더 살펴보도록 하겠습니다.

 package 기본기04;

 

public class a01 {

 

        public static void main(String[] args) {

 

               String a = "안녕하세요";

               StringBuffer ab = new StringBuffer("123");

               // StringBuffer 객체를 생성합니다.

               ab.append(a);

               System.out.println(ab);

               // StringBuffer StringBuilder 비해 느린 성능을 가지고 있지만 멀티쓰레드를 지원합니다.

 

               ab.append(a);

               System.out.println(ab);

               // abc라는 변수는 현재 "123안녕하세요" 동적 문자열임을 있습니다.

               // 이것은 String 클래스의 정적 문자열과는 차이점이 있습니다.

 

               StringBuilder abc = new StringBuilder("123");

               // StringBuilder 객체를 생성합니다.

               abc.append(a);

               System.out.println(abc);

               // StringBuilder StringBuffer 비해 빠른 성능을 가지고 있지만 멀티쓰레드를 지원하지 않습니다.

 

               abc.append(a);

               // abc라는 변수는 현재 "123안녕하세요" 동적 문자열임을 있습니다.

               // 이것은 String 클래스의 정적 문자열과는 차이점이 있습니다.

               System.out.println(abc);

              

              

               System.out.println("--------------");

              

               StringBuffer abcd=new StringBuffer("1");

               abcd.append('1');

               System.out.println(abcd);

               abcd.append(1);

               System.out.println(abcd);

               abcd.append("1");

               System.out.println(abcd);

               abcd.append(0.1);

               System.out.println(abcd);

              

               System.out.println("--------------");

              

               String c="123";

               String d="456";

               //String 클래스에는 StringBuffer 메소드가 적용되지 않습니다.

       

               String e=c+d;

               System.out.println(e);

               //String에서는 append 기능을 + 연산자가 수행하고 있습니다.

               //+연산자로 StringBuffer StringBuilder 이용하여 다시 새로운 형태의 변수를 만듭니다.

        }

 

}



<결과물>



자료가 마음에 드셨다면 자주 찾아주세요^^ 글 올리는데 힘이됩니다.


반응형
반응형

이번 시간에는 String 클래스의 valueOf() 메소드를 확인해보도록 하겠습니다.


valueOf(boolean)

valueOf(double)

valueOf(float)

valueOf(int)

valueOf(long)

valueOf(String)


위의 valueOf() 메소드는 ()괄호 안의 해당 객체를 String 객체로 변환시키는 역활을 합니다. 말그대로 String의 객체로 형변환입니다. 


예를들어 정수인 int a=5; 라면 이것을 String의 객체로 표현하고 싶으면 valueOf(5); 를 이용하면 5라는 정수는 String이라는 "5" 로 인식하게 됩니다. 이렇듯 어떤 객체를 String으로 형변환하는 valueOf() 메소드입니다.


아래 예제를 통하여 더 살펴보도록 하겠습니다.

 package 기본기03;

 

public class T17 {

 

        public static void main(String[] args) {

 

               String a = "1234";

               String b = String.valueOf(10);

               String c = String.valueOf(a);

               String d = String.valueOf(true);

               String e = String.valueOf(false);

               //String.valueOf int형이든 double형이든 boolean형이든 String객체로 만든다.

              

               System.out.println(a);

               System.out.println(b);

               System.out.println(c);

               System.out.println(d);

               System.out.println(e);

 

              

               System.out.println(a + b);

               System.out.println(a + b + c);

               System.out.println(c + d);

               System.out.println(c + d + e);

               //a,b,c,d,e 모두 String 객체이므로 +연산자로 합치면 글자를 합친 결과와 같다.

        }

 

}


<결과물>


자료가 마음에 드셨다면 자주 찾아주세요^^ 글 올리는데 힘이됩니다.


반응형

'JAVA-클래스의 중요메소드 > String클래스' 카테고리의 다른 글

JAVA-중요12-연습  (0) 2018.06.29
JAVA-중요11-contains()  (0) 2018.06.29
JAVA-중요10-split()  (0) 2018.06.29
JAVA-중요09-trim()  (0) 2018.06.29
JAVA-중요08-toUpperCase()/toLowerCase()  (0) 2018.06.29
반응형

이번 시간에는 앞에서 배웠던 내용을 바탕으로 연습을 해보도록 하겠습니다.

우선, 과일이 나열된 문자열에서 파인애플이라는 단어가 있는지 확인하고 출력하는 연습을 해보도록 하겠습니다.


그전에 앞장에서 했던 length에 대해 확인하고 넘어가겠습니다.

 package 기본기03;

 

public class T15 {

 

        public static void main(String[] args) {

 

               String a = "12345";

               System.out.println(a.length());

               //String 문자의 길이

              

               String[] b = { "aa", "bb", "cc", "dd", "ee", "ff" };

               System.out.println(b.length);

               //배열원소의 개수

        }

 

}

<결과값>

5

6


그렇다면 이제 연습 예제를 살펴보겠습니다.

 package 기본기03;

 

public class T14 {

 

        public static void main(String[] args) {

 

               String a = "파인애플, 사과, 바나나, 포도, 수박, 레몬, 파인애플, 키위, 토마토, 방울토마토, , , , 오렌지";

               String[] b = a.split(", ");

               // String b 현재 사과/바나나/포도/수박/레몬/파이앤플/키위/토마토/방울토마토////오렌지로 나누어져있다.

 

               int j = 0;

               for (int i = 0; i < b.length; i++)

 

                       if (b[i].equals("파인애플")) {

                              j++;

                       } else {

 

                       }

               System.out.println("파인애플을 찾았습니다. 개수는: " + j);

        }

 

}


<결과물>


자료가 마음에 드셨다면 자주 찾아주세요^^ 글 올리는데 힘이됩니다.





반응형

'JAVA-클래스의 중요메소드 > String클래스' 카테고리의 다른 글

JAVA-중요13-valueOf()  (0) 2018.07.01
JAVA-중요11-contains()  (0) 2018.06.29
JAVA-중요10-split()  (0) 2018.06.29
JAVA-중요09-trim()  (0) 2018.06.29
JAVA-중요08-toUpperCase()/toLowerCase()  (0) 2018.06.29
반응형

이번 시간에는 String 클래스의 contains() 메소드를 확인해보도록 하겠습니다.


contains(String)

위의 contains() 메소드는 String 문자열이 해당 문자열을 포함하는지 여부를 묻는 메소드로 그 결과값으로 boolean값을 반환합니다. 


예를들어 String="abcde "; 존재한다면 contains() 메소드를 이용하여 "a"라는 문자가 있으면 true를 반환하고 없으면 false를 반환하는 메소드입니다. 이렇듯 String문자열이 어떤 문자를 포함하고 있는지 확인하는 contains() 메소드입니다.


아래 예제를 통하여 더 살펴보도록 하겠습니다.

 package 기본기03;

 

public class T14 {

 

        public static void main(String[] args) {

 

               String a = "abcde";

 

               if (a.contains("b")) {

                       System.out.println("String a 문자 b 포함하고 있습니다.");

               } else {

                       System.out.println("String a 문자 b 포함하고 있지 않습니다.");

               }

 

               String b = "abcdefg";

               System.out.println(b.contains("b"));

               System.out.println(b.contains("h"));

               System.out.println(b.contains("ab"));

               System.out.println(b.contains("ac"));

 

              

        }

 

}


<결과값>

아래 예제는 equals()와 contains()메소드의 비교입니다.

 package 기본기03;

 

public class T14 {

 

        public static void main(String[] args) {

 

               String a = "abcde";

              

                       if (a.equals("a")) {

                              System.out.println("String a 문자 a 포함하고 있습니다.");

                       }

 

                       else if (a.equals("abcde")) {

                              System.out.println("String a 문자 abcde 포함하고 있습니다.");

                       }

 

                       else

 

                       {

                              System.out.println("이도저도아닙니다.");

                       }

                       // equals 메소드는 같은지 여부를 있지 contains 메소드처럼 포함을 확인할 없습니다.

        }

}


<결과물>

String a는 문자 abcde를 포함하고 있습니다.

 package 기본기03;

 

public class T14 {

 

        public static void main(String[] args) {

 

               String a = "abcde";

              

                       if (a.contains("a")) {

                              System.out.println("String a 문자 a 포함하고 있습니다.");

                       }

 

                       else if (a.contains("abcde")) {

                              System.out.println("String a 문자 abcde 포함하고 있습니다.");

                       }

 

                       else

 

                       {

                              System.out.println("이도저도아닙니다.");

                       }

                       // equals 메소드는 같은지 여부를 있지 contains 메소드처럼 포함을 확인할 없습니다.

        }

}

<결과물>

String a는 문자 a를 포함하고 있습니다.




자료가 마음에 드셨다면 자주 찾아주세요^^ 글 올리는데 힘이됩니다.

반응형

'JAVA-클래스의 중요메소드 > String클래스' 카테고리의 다른 글

JAVA-중요13-valueOf()  (0) 2018.07.01
JAVA-중요12-연습  (0) 2018.06.29
JAVA-중요10-split()  (0) 2018.06.29
JAVA-중요09-trim()  (0) 2018.06.29
JAVA-중요08-toUpperCase()/toLowerCase()  (0) 2018.06.29
반응형

이번 시간에는 String 클래스의 split() 메소드를 확인해보도록 하겠습니다.


split(String)

위의 split() 메소드는 String 문자열을 원하는 문자열을 기준으로 잘라서 배열의 형태로 추출가능합니다. 자르는 문자의 기준은 string이 가능한데 특수문자의 경우 \\을 붙여야 가능합니다.


예를들어 String="a1b1c1d1e "; 존재한다면 split() 메소드를 이용하면 1을 기준으로 배열[0]=a, [1]=b, [2]=c, [3]=d, [4]=e,로 추출가능합니다. 이렇듯 String문자를 어떤 기준으로 문자를 추출하는 split() 메소드입니다.




아래 예제를 통하여 더 살펴보도록 하겠습니다.

 package 기본기03;

 

public class T12 {

 

        public static void main(String[] args) {

        //trim() 메소드는 문자열의 양쪽 공백을 없애주는 기능을 합니다.

              

               String a="a b c d e";

               String [] b= a.split(" ");

               System.out.println(b[0]);

               System.out.println(b[1]);

               System.out.println(b[2]);

               System.out.println(b[3]);

               System.out.println(b[4]);

               //결과값의 반환을 하나씩 입력

               System.out.println("-----");

              

               for(int i=0; i<5; i++)

               {

                       System.out.println(b[i]);

               }

              

               System.out.println("-----");

               //결과값의 반환을 for문을 이용하여 split 결과 a/b/c/d/e 5개이므로 b[0]~b[4]

               //하지만, 위의 방법에는 단점이 있다. 문장이 아주 길어진다면 어떻게 될까요. 0~4까지인지 확인이 불가능하다.

              

               String c=a.replace(" ", "");

               for(int j=0; j<c.length(); j++)

               {

                       System.out.println(b[j]);

               }

               //따라서 c라는 String이라는 값을 두고 공백을 제거한 것이므로 글자씩 split 경우에는 c.length()

               // length -1 값과 같다. 하지만 글자 이상의 String split 한다면 생각해야한다.

        }

 

}


<결과물>



자르는 문자의 기준은 string이 가능한데 특수문자의 경우 \\을 붙여야 가능합한데, 그에대한 예제를 살펴보도록 하겠습니다.

 package 기본기03;

 

public class T13 {

 

        public static void main(String[] args) {

 

               String a = "a*b*c*d*e";

               String[] b = a.split("\\*");

               //특수문자의 경우 앞에 \\ 사용하지 않으면 split 되지 않는다.

              

               for (int i = 0; i < 5; i++) {

                       System.out.println(b[i]);

               }

 

        }

 

}


<결과물>

 package 기본기03;

 

public class T13 {

 

        public static void main(String[] args) {

 

               String a = "a1*b2*c3*d4*e5";

               String[] b = a.split("\\*");

               // 특수문자의 경우 앞에 \\ 사용하지 않으면 split 되지 않는다.

 

               for (int i = 0; i < 5; i++) {

                       System.out.println(b[i]);

               }

 

               String c = "a155b255c355d455e555";

               String[] d = c.split("55");

 

               for (int i = 0; i < 6; i++) {

                       System.out.println(d[i]);

               }

 

        }

 

}


<결과물>



자료가 마음에 드셨다면 자주 찾아주세요^^ 글 올리는데 힘이됩니다.



반응형

'JAVA-클래스의 중요메소드 > String클래스' 카테고리의 다른 글

JAVA-중요12-연습  (0) 2018.06.29
JAVA-중요11-contains()  (0) 2018.06.29
JAVA-중요09-trim()  (0) 2018.06.29
JAVA-중요08-toUpperCase()/toLowerCase()  (0) 2018.06.29
JAVA-중요07-substring()  (0) 2018.06.29
반응형

이번 시간에는 String 클래스의 trim() 메소드를 확인해보도록 하겠습니다.


trim()

위의 trim() 메소드는 String 문자열의 양쪽 공백을 제거해주는 기능을 합니다. 


예를들어 String=" abcde "; 존재한다면 trim() 메소드를 이용하면 "abcde"로 변경가능합니다.

이렇듯 해당 문자의 양쪽 공백을 제거하는 trim() 메소드입니다.


아래 예제를 통하여 더 살펴보도록 하겠습니다.

 package 기본기03;

 

public class T12 {

 

        public static void main(String[] args) {

        //trim() 메소드는 문자열의 양쪽 공백을 없애주는 기능을 합니다.

              

               String a=" a b c d e ";

               System.out.println(a);

               System.out.println(a.trim());

               //결과값을 보시면 사이의 공백은 존재하지만 양쪽 공백은 사라진 것을 확인할 있습니다.

              

               String b=" 가나다라               ";

               System.out.println(b);

               System.out.println(b.trim());

               //결과값을 보시면 사이의 공백은 존재하지만 양쪽 공백은 사라진 것을 확인할 있습니다.

              

        }

 

}


<결과물>

자료가 마음에 드셨다면 자주 찾아주세요^^ 글 올리는데 힘이됩니다.

반응형

'JAVA-클래스의 중요메소드 > String클래스' 카테고리의 다른 글

JAVA-중요11-contains()  (0) 2018.06.29
JAVA-중요10-split()  (0) 2018.06.29
JAVA-중요08-toUpperCase()/toLowerCase()  (0) 2018.06.29
JAVA-중요07-substring()  (0) 2018.06.29
JAVA-중요06-replace()  (0) 2018.06.29
반응형

이번 시간에는 String 클래스의 toUpperCase()/toLowerCase() 메소드를 확인해보도록 하겠습니다.


toUpperCase()

toLowerCase()

위의 toUpperCase()/toLowerCase() 메소드는 String 문자열의 대소문자로 변경을 해주는 기능을 합니다. 

예를들어 String="abcde"; 존재한다면 "ABCDE"인 대문자로 변경하는 것은 toUpperCase()에 해당하며 String="ABCDE"; 존재한다면 "abcde"인 소문자로 변경하는 것은 toLowerCase()에 해당합니다. 이렇듯 해당 문자의 대소문자 변경을 하는 toUpperCase()/toLowerCase() 메소드입니다.



아래 예제를 통하여 더 살펴보도록 하겠습니다.

 package 기본기03;

 

public class T11 {

 

        public static void main(String[] args) {

 

               String a = "abcdefg";

               String b = "ABCDEFG";

               //String 변수 a,b 생성 초기화

              

               System.out.println(a.toUpperCase());

               // toUpperCase() 메소드를 이용하여 소문자의 "abcdefg" 대문자 "ABCDEFG" 변환

               System.out.println(b.toLowerCase());

               // toUpperCase() 메소드를 이용하여 대문자의 "ABCDEFG" 소문자 "abcdefg" 변환

 

               System.out.println("--------");

               System.out.println(a.toUpperCase().toLowerCase().toUpperCase());

               // 변환을 계속해도 최종적으로 toUpperCase()이므로 대문자가 결과값으로 출력됨을 있습니다.

                System.out.println("--------");

              

               String c = "ewadsag";

               String d = "SDGWETWE";

              

               System.out.println(c.toUpperCase());

               System.out.println(d.toLowerCase());

 

              

              

              

        }

 

}


<결과물>

자료가 마음에 드셨다면 자주 찾아주세요^^ 글 올리는데 힘이됩니다.


반응형

'JAVA-클래스의 중요메소드 > String클래스' 카테고리의 다른 글

JAVA-중요10-split()  (0) 2018.06.29
JAVA-중요09-trim()  (0) 2018.06.29
JAVA-중요07-substring()  (0) 2018.06.29
JAVA-중요06-replace()  (0) 2018.06.29
JAVA-중요05-lastIndexOf()  (0) 2018.06.28
반응형

이번 시간에는 String 클래스의 substring() 메소드를 확인해보도록 하겠습니다.


substring(int 시작점)

substring(int 시작점, int 끝점 앞)

위의 substring() 메소드는 String 문자열 중 특정 index부터 문자열을 추출하는 역할을 합니다. 예를들어 String="abcde"; 존재한다면 a는 0의 index를 가지고 있고 b가 1의 index를 가지고 있습니다. 

"abcde".substring(2); 를 한다면 2의 index부터 문자를 추출합니다. "cde" 가 추출됩니다. 이렇듯 해당 문자를 추출할 수 있는 기능이 substring() 메소드 입니다. 



아래 예제를 통하여 더 살펴보도록 하겠습니다.

 package 기본기03;

 

public class T6 {

 

        public static void main(String[] args) {

 

               String a = "abcdef";

               String b = a.substring(2);

               System.out.println(b);

 

               System.out.println(a.substring(0));

               System.out.println(a.substring(1));

               System.out.println(a.substring(2));

               System.out.println(a.substring(3));

               System.out.println(a.substring(4));

               // 위는 substring(int 추출 시작점) 괄호안의 문자 추출입니다.

 

               System.out.println("------------------");

               System.out.println(a.substring(0, 1));

               System.out.println(a.substring(0, 2));

               System.out.println(a.substring(0, 3));

               System.out.println(a.substring(0, 4));

               System.out.println(a.substring(0, 5));

 

               System.out.println(a.substring(0, 6));

               System.out.println(a.substring(1, 5));

               // 위는 (int 추출 시작점, int 추출 끝점앞) 입니다.

 

        }

}


<결과물>

자료가 마음에 드셨다면 자주 찾아주세요^^ 글 올리는데 힘이됩니다.



반응형

'JAVA-클래스의 중요메소드 > String클래스' 카테고리의 다른 글

JAVA-중요09-trim()  (0) 2018.06.29
JAVA-중요08-toUpperCase()/toLowerCase()  (0) 2018.06.29
JAVA-중요06-replace()  (0) 2018.06.29
JAVA-중요05-lastIndexOf()  (0) 2018.06.28
JAVA-중요04-indexOf()  (0) 2018.06.28
반응형

이번 시간에는 String 클래스의 replace() 메소드를 확인해보도록 하겠습니다.


replace(char, char)

replace(String, String)

위의 replace() 메소드는 String 문자열 중 해당하는 char 문자를 새로운 char로 변경하는 것입니다.

예를들어 String="abcde"; 존재한다면 "a" 또는 'a'의 문자를 새로운 "b" 또는 'b' 로 변경하면 String a="bbcde"로 바뀌게 됩니다.이렇듯 해당 문자를 변경할 수 있는 기능이 replace() 메소드 입니다. 


아래 예제를 통하여 더 살펴보도록 하겠습니다.

 package 기본기03;

 

public class T6 {

 

        public static void main(String[] args) {

 

               String a = "abcd-abcd";

 

               System.out.println(a.replace("a", "b"));

               System.out.println(a.replace('a', 'b'));

               //작은따옴표나 큰따옴표로 char이든 string이든 가능함

               //replace String 클래스의 메소드로 앞의 문자를 뒤로 대체하는 것입니다.

              

               String b="a b c d e 공백";

               System.out.println(b.replace(" ", "1"));

               //공백 또한 string 문자열에 속한다는 것을 알아야 합니다. 그래서 replace 대체가능합니다.

              

               String c=b.replace(" ", "^");

               System.out.println(c);

              

        }

}


<결과물>


자료가 마음에 드셨다면 자주 찾아주세요^^ 글 올리는데 힘이됩니다.




반응형

'JAVA-클래스의 중요메소드 > String클래스' 카테고리의 다른 글

JAVA-중요08-toUpperCase()/toLowerCase()  (0) 2018.06.29
JAVA-중요07-substring()  (0) 2018.06.29
JAVA-중요05-lastIndexOf()  (0) 2018.06.28
JAVA-중요04-indexOf()  (0) 2018.06.28
JAVA-중요03-charAt()  (0) 2018.06.28
반응형

이번 시간에는 String 클래스의 lastIndexOf() 메소드를 확인해보도록 하겠습니다.


lastIndexOf(char, char)

lastIndexOf(String, String)

위의 lastIndexOf() 메소드는 String 문자열 중 뒤에서 부터 해당하는 char 문자를 지정하여 index를 반환합니다. 

예를들어 String="bcada"; 존재한다면 'a'의 char는 뒤에서부터 보면 (앞에서부터) 4번째 있는 것을 알 수 있습니다. 이렇듯 해당 문자를 뒤에서 부터 찾아서 index번호를 추출할 수 있는 기능이 lastIndexOf() 메소드 입니다. 또한, 해당 char나 string을 찾지 못하였다면 -1을 반환합니다.


아래 예제를 통하여 더 살펴보도록 하겠습니다.


 package 기본기03;

 

public class T6 {

 

        public static void main(String[] args) {

 

               String a = "abcd-abcd";

 

               System.out.println(a.lastIndexOf("a"));

               System.out.println(a.lastIndexOf("b"));

               // 앞의 0,1번째의 index ab 아닌 뒤에있는 5,6번째의 index 반환합니다.

 

               System.out.println(a.lastIndexOf("cd"));

               System.out.println(a.lastIndexOf("ab"));

               //String 문자열 또한 index 있습니다.

              

               System.out.println(a.lastIndexOf(a.charAt(a.length() - 1)));

               // 위는 마지막 d 문자의 index 있습니다.

 

        }

}


<결과물>



lastIndexOf(찾는 문자, int from);

위는 String 문자열 중 int from을 사용하여 from의 index 위치부터 문자열을 찾겠다는 것입니다.

아래 예제를 통하여 살펴보도록 하겠습니다.

 package 기본기03;

 

public class T6 {

 

        public static void main(String[] args) {

 

               String a = "abcd-abcd";

 

               System.out.println(a.lastIndexOf("a", 4));

               System.out.println(a.lastIndexOf("b", 4));

               // String a 4번째 index - 에서부터 a 0번째 b 1번째 index 있다.

 

        }

}


<결과물>


자료가 마음에 드셨다면 자주 찾아주세요^^ 글 올리는데 힘이됩니다.

반응형

'JAVA-클래스의 중요메소드 > String클래스' 카테고리의 다른 글

JAVA-중요07-substring()  (0) 2018.06.29
JAVA-중요06-replace()  (0) 2018.06.29
JAVA-중요04-indexOf()  (0) 2018.06.28
JAVA-중요03-charAt()  (0) 2018.06.28
JAVA-중요02-length()/length  (0) 2018.06.21
반응형

이번 시간에는 String 클래스의 indexOf 메소드를 확인해보도록 하겠습니다.


indexOf(char, char)

indexOf(String, String)

위의 indexOf 메소드는 String 문자열 중 해당하는 char 문자를 지정하여 index를 반환합니다.

예를들어 String="abcd"; 존재한다면 'a'의 char는 0번째 있는 것을 알 수 있습니다. 이렇듯 해당 문자의 index번호를 추출할 수 있는 기능이 indexOf 메소드 입니다. 또한, 해당 char나 string을 찾지 못하였다면 -1을 반환합니다.


아래 예제를 통하여 더 살펴보도록 하겠습니다.


 package 기본기03;

 

public class T6 {

 

        public static void main(String[] args) {

 

               String a = "abcde";

 

               System.out.println(a.charAt(0));

               System.out.println(a.charAt(1));

               System.out.println(a.charAt(2));

               System.out.println(a.charAt(3));

               System.out.println(a.charAt(4));

               // String 0 index 부터 시작합니다. 그래서 charAt(5) 없겠지요.

 

               System.out.println("----------");

 

               System.out.println(a.indexOf('a'));

               System.out.println(a.indexOf('b'));

               System.out.println(a.indexOf('c'));

               System.out.println(a.indexOf('d'));

               System.out.println(a.indexOf('e'));

               // indexOf('') 이용한 String 문자열의 index 번호 알아내기입니다.

 

               System.out.println("----------");

 

               System.out.println(a.indexOf(a.charAt(a.length() - 5)));

               System.out.println(a.indexOf(a.charAt(a.length() - 4)));

               System.out.println(a.indexOf(a.charAt(a.length() - 3)));

               System.out.println(a.indexOf(a.charAt(a.length() - 2)));

               System.out.println(a.indexOf(a.charAt(a.length() - 1)));

               

        }

 

}


<결과물>

indexOf는 해당 문자의 index번호를 반환해주는 메소드입니다.




그렇다면 indexOf() 에 대한 예제를 더 확인해보도록 하겠습니다.

 package 기본기03;

 

public class T8 {

 

        public static void main(String[] args) {

 

               System.out.println("12345".indexOf('1'));

               System.out.println("abcde".indexOf('b'));

               System.out.println("가나다라마".indexOf(''));

              

        }

 

}


<결과물>


package 기본기03;

 

public class T6 {

 

        public static void main(String[] args) {

 

               String a = "abcde";

 

               System.out.println(a.indexOf("bc"));

               System.out.println(a.indexOf("de"));

              

               System.out.println(a.indexOf("f"));

 

        }

 

}


<결과물>


char 형태뿐만아니라 String 문자열의 index도 찾을 수 있습니다.

만약 해당 char나 string을 찾지 못하였다면 -1을 반환합니다.


자료가 마음에 드셨다면 자주 찾아주세요^^ 글 올리는데 힘이됩니다.


반응형

'JAVA-클래스의 중요메소드 > String클래스' 카테고리의 다른 글

JAVA-중요06-replace()  (0) 2018.06.29
JAVA-중요05-lastIndexOf()  (0) 2018.06.28
JAVA-중요03-charAt()  (0) 2018.06.28
JAVA-중요02-length()/length  (0) 2018.06.21
JAVA-중요01-String클래스  (0) 2018.06.21
반응형

이번 시간에는 String 클래스의 charAt 메소드를 확인해보도록 하겠습니다.


charAt(int 해당지점)

위의 charAt 메소드는 String 문자열을 각 번호로 매겨 char 문자를 리턴합니다.

예를들어 String="abcd"; 존재한다면 a는 0번째 char d는 3번째 char에 해당합니다. 이렇듯 해당 문자를 추출할 수 있는 기능이 charAt() 메소드 입니다. 


아래 예제를 통하여 더 살펴보도록 하겠습니다.

 package 기본기03;

 

public class T6 {

 

        public static void main(String[] args) {

 

               String a = "abcde";

 

               System.out.println(a.charAt(0));

               System.out.println(a.charAt(1));

               System.out.println(a.charAt(2));

               System.out.println(a.charAt(3));

               System.out.println(a.charAt(4));

               // String 0 index 부터 시작합니다. 그래서 charAt(5) 없겠지요.

               System.out.println("----------------");

               System.out.println(a.charAt(a.length() - 1));

               System.out.println(a.charAt(a.length() - 2));

               System.out.println(a.charAt(a.length() - 3));

               System.out.println(a.charAt(a.length() - 4));

               System.out.println(a.charAt(a.length() - 5));

               // length()메소드느 5이므로 -1 해야 charAt(4) 해당합니다.

 

        }

 

}


<결과물>


1. charAt()은 String의 문자열을 번호로 매겨서 char형태로 반환한다.


2. 앞장에서 배웠던 length()을 이용하여 charAt을 사용할 수 있습니다. 아주 긴 문장이 있다면 마지막 문자를 추출하기 어려울 수 있는데 그것을 편히 사용할 수 있습니다.

(이 부분은 subString() 부분에서 더 자세히 확인하도록 하겠습니다.)



charAt() 에 대한 예제를 더 확인해보도록 하겠습니다.


 package 기본기03;

 

public class T8 {

 

        public static void main(String[] args) {

 

               System.out.println("12345".charAt(0));

               System.out.println("abcde".charAt(1));

               System.out.println("가나다라마".charAt(2));

 

        }

 

}


<결과물>



자료가 마음에 드셨다면 자주 찾아주세요^^ 글 올리는데 힘이됩니다.


 

반응형

'JAVA-클래스의 중요메소드 > String클래스' 카테고리의 다른 글

JAVA-중요06-replace()  (0) 2018.06.29
JAVA-중요05-lastIndexOf()  (0) 2018.06.28
JAVA-중요04-indexOf()  (0) 2018.06.28
JAVA-중요02-length()/length  (0) 2018.06.21
JAVA-중요01-String클래스  (0) 2018.06.21
반응형

length();

아래는 String 클래스의 length 메소드입니다.  결과값의 리턴값은 int형태로 정수 값을 반환합니다. length(); 메소드는 문자열의 길이크기를 결과값으로 반환하기때문에 1이상의 정수의 결과값을 반환합니다.


intlength()Returns the length of this string.


그렇다면 아래의 예제를 통해 length(); 메소드를 확인해보도록 하겠습니다.


package 기본기03;

 

public class T5 {

 

        public static void main(String[] args) {

 

               String a="abcdefg";

               String b="12345";

               String c="01234";

               char d='1';

               int e=1;

               String str="안녕하십니까, 이것은 아주 문장입니다. 이것 또한 string으로 length 존재합니다";

               String str1=" ";

              

              

               System.out.println(a.length());

               System.out.println(b.length());

               System.out.println(c.length());

               System.out.println(str.length());

               System.out.println(str1.length());

              

               String sum=str+str1;

               System.out.println(sum.length());

              

              

               // System.out.println(d.length()); 당연히 String 클래스이므로 char 오류가 뜹니다.

               // System.out.println(e.length()); 당연히 String 클래스이므로 int 오류가 뜹니다.

                             

        }

 

}

<결과물>


결과물을 살펴보도록 하겠습니다.


1. abcdefg는 7의 길이값을 가지고 있습니다. 단순히 새어봐도 7글자라는 것을 알 수 있습니다.


2. char와 int의 기본형태는 String의 클래스에 속하지 않으므로 당연히 length() 메소드를 사용할 수 없습니다.


3. string 변수 str의 "안녕하십니까이것은 아주  문장입니다이것 또한 string으로 length 존재합니다"; 는 아주 긴 문장인데도 불구하고 당연히 String으로 length가 존재합니다. 여기서 중요한 점은 빈칸인(띄어쓰기) 또한 length에 속해서 계산이 된다는 것입니다. 그래서 한 예로 "실 습"의 length 길이는 3이라는 것을 알 수 있습니다.



length() 에 대한 예제를 더 확인해보도록 하겠습니다.

 package 기본기03;

 

public class T7 {

 

        public static void main(String[] args) {

 

               System.out.println("abcde".length());

               System.out.println("12345".length());

               System.out.println("가나다라마".length());

        }

 

}


<결과물>


아래는 length()와 length의 차이를 나타내는 예제입니다.

 package 기본기03;

 

public class T15 {

 

        public static void main(String[] args) {

 

               String a = "12345";

               System.out.println(a.length());

               //String 문자의 길이

              

               String[] b = { "aa", "bb", "cc", "dd", "ee", "ff" };

               System.out.println(b.length);

               //배열원소의 개수

        }

 

}

<결과물>

자료가 마음에 드셨다면 자주 찾아주세요^^ 글 올리는데 힘이됩니다.


반응형

'JAVA-클래스의 중요메소드 > String클래스' 카테고리의 다른 글

JAVA-중요06-replace()  (0) 2018.06.29
JAVA-중요05-lastIndexOf()  (0) 2018.06.28
JAVA-중요04-indexOf()  (0) 2018.06.28
JAVA-중요03-charAt()  (0) 2018.06.28
JAVA-중요01-String클래스  (0) 2018.06.21
반응형

아래는 String 클래스의 메소드들입니다. 그 중에서 가장 많이 사용하는 메소들을 정리하였으며 주요 메소들을 설명 드리도록 하겠습니다. 

String 클래스는 문자열 데이터값을 저장하는 객체로 사용됩니다. 또한, 문자열은 변경될 수 없습니다.


boolean equals
(Object anObject)
Compares this string to the specified object.
     
int length() Returns the length of this string.
     
int indexOf
(int ch)
Returns the index within this string of the first occurrence of the specified character.
     
char charAt(int index) Returns the char value at the specified index.
     
string replace
(char oldChar, char newChar)
Replaces each substring of this string that matches the literal
target sequence with the specified literal replacement sequence.
     
string substring
(int beginIndex)
Returns a string that is a substring of this string.
     
string substring
(int beginIndex, int endIndex)
Returns a string that is a substring of this string.
     
string toString() This object (which is already a string!) is itself returned.
     
string toLowerCase() Converts all of the characters in this String to lower case using the rules of the default locale.
     
string toUpperCase() Converts all of the characters in this String to upper case using the rules of the default locale.
     
string trim() Returns a string whose value is this string, with any leading and trailing whitespace removed.
     
string concat(String str) Concatenates the specified string to the end of this string.
     
sring[] split(String regex) Splits this string around matches of the given regular expression.


다음 강의에서 위의 String클래스의 메소드들을 확인해보도록 하겠습니다.

아주 유용한 메소들로 많이 사용되니 상세히 파악해보도록 하겠습니다.

다음 강의를 참고해주세요.


자료가 마음에 드셨다면 자주 찾아주세요^^ 글 올리는데 힘이됩니다.


반응형

'JAVA-클래스의 중요메소드 > String클래스' 카테고리의 다른 글

JAVA-중요06-replace()  (0) 2018.06.29
JAVA-중요05-lastIndexOf()  (0) 2018.06.28
JAVA-중요04-indexOf()  (0) 2018.06.28
JAVA-중요03-charAt()  (0) 2018.06.28
JAVA-중요02-length()/length  (0) 2018.06.21
반응형

앞의 강의에서 toString에 대해서 확인하였습니다. 그렇다면 다음 예제를 통하여 toString에 대해서 알아보도록 하겠습니다.


toString을 통하여 내가 원하는 양식으로 출력이 가능합니다.

아주 좋은 메소드입니다.


1번 예제를 살펴보도록 하겠습니다.

 package 기본기03;

 

public class T4 {

 

        public static void main(String[] args) {

 

               Test t1 = new Test("홍길동", 1);

               Test t2 = new Test("고길동", 20);

               Test t3 = new Test("둘리", 30);

               Test t4 = new Test("마이콜", 41);

               System.out.println(t1);

               System.out.println(t2);

               System.out.println(t3);

               System.out.println(t4);

 

       

        }

}

 

class Test {

        String name;

        int age;

 

        public Test(String name, int age) {

               //위의 형태는 (괄호안의 양식이 클래스의 입력으로 들어간다는 말입니다.)

               //위쪽 부분의 Test t1 = new Test("홍길동", 1); 보시면 string 홍길동/ int 1 들어갑니다.

               this.name = name;

               this.age = age;

        }

 

        @Override

        public String toString() {

               return "내가 원하는 양식입니다                이름:" + name + "         나이는 :" + age + "";

               //내가 원하는 양식으로 만들 있습니다.

        }

}


<결과물>




2번 예제를 살펴보도록 하겠습니다.

 package 기본기03;

 

public class T4 {

 

        public static void main(String[] args) {

 

              

               Test t1 = new Test("홍길동",11,3,2);

               Test t2 = new Test("고길동",10,2,1);

               Test t3 = new Test("김길동",12,4,2);

               Test t4 = new Test("추길동",13,5,6);

               Test t5 = new Test("구길동",14,6,1);

              

               System.out.println(t1);

               System.out.println(t2);

               System.out.println(t3);

               System.out.println(t4);

               //학사관리 시스템에 이용

       

        }

}

 

class Test {

        String name;

        int age;

        int grade;

        int ban;

       

        public Test(String name, int age, int grade, int ban) {

               //위의 형태는 (괄호안의 양식이 클래스의 입력으로 들어간다는 말입니다.)

               

               this.name = name;

               this.age = age;

               this.grade=grade;

               this.ban=ban;

               }

 

        @Override

        public String toString() {

               return "이름:"+name+" 나이:"+age+" "+grade+"학년 "+ban+"";

               //내가 원하는 양식으로 만들 있습니다.

        }

}


<결과물>


자료가 마음에 드셨다면 자주 찾아주세요^^ 글 올리는데 힘이됩니다.


반응형

'JAVA-클래스의 중요메소드 > Object클래스' 카테고리의 다른 글

JAVA-중요02-toString  (0) 2018.06.21
JAVA-중요01-equals(예제)  (0) 2018.06.21
JAVA-중요01-equals  (0) 2018.06.21
반응형

아래는 Object클래스의 메소드들입니다. 그 중에서 가장 많이 사용하는 메소들을 골라서 설명 드리도록 하겠습니다.


toString();

toString은 현재 객체를 문자열 형태로 리턴하여 주는 메소드입니다. 아래는 toString의 특징입니다.

1. 객체를 출력하는 System.out.println/ System.out.print 메소드는 toString을 호출합니다.

(Object 클래스는 모든 클래스의 부모역할을 하므로 모든 객체는 이를 상속받는다.)


2. toString은 클래스이름@객체의코드를 16진수의 값으로 표현합니다.


 package 기본기03;

 

public class T4 {

 

        public static void main(String[] args) {

 

               Test t1 = new Test();

               System.out.println(t1);

               //클래스이름@객체의 코드를 나타내는 16진수의 표현

        }

}

 

class Test {

        String name;

        int age;

}


<결과물>

위의 결과물은 클래스이름@객체의 코드를 16진수의 값으로 나태내고 있습니다.



다음은 toString을 override한 예제입니다.

override 방법은 마우스오른쪽 보튼-source-Gemerate toString()을 클릭합니다.

 package 기본기03;

 

public class T4 {

 

        public static void main(String[] args) {

 

               Test t1 = new Test();

               System.out.println(t1);

               //클래스이름@객체의 코드를 나타내는 16진수의 표현

        }

}

 

class Test {

        String name;

        int age;

 

        @Override

        public String toString() {

               return "Test [name=" + name + ", age=" + age + "]";

 

        }

}


<결과물>

그렇다면 toString을 배웠으니 다음 강의에서 예제를 통해서 원하는 양식을 만들어 보도록하겠습니다.



자료가 마음에 드셨다면 자주 찾아주세요^^ 글 올리는데 힘이됩니다.



반응형

'JAVA-클래스의 중요메소드 > Object클래스' 카테고리의 다른 글

JAVA-중요02-toString(예제)  (0) 2018.06.21
JAVA-중요01-equals(예제)  (0) 2018.06.21
JAVA-중요01-equals  (0) 2018.06.21
반응형

앞의 강의에서 equals에 대해서 확인하였습니다. 그렇다면 다음 예제를 통하여 equals에 대해서 알아보도록 하겠습니다.


import java.awt.GridLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

 

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JTextField;

 

public class T3 extends JFrame implements ActionListener {

 

        JPanel p1 = new JPanel();

        JButton b1 = new JButton("123");

        JButton b2 = new JButton("1234");

        String str=new String("123");

        JLabel l1 = new JLabel(str);

        JTextField t1 = new JTextField();

 

        public T3() {

               p1.setLayout(new GridLayout(2, 2));

               add(p1);

               p1.add(l1);

               p1.add(t1);

 

               b1.addActionListener(this);

               b2.addActionListener(this);

 

               p1.add(b1);

               p1.add(b2);

 

               // ------------------------------------------------

               setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

               // 프레임의 x버튼을 활성화하여 닫기버튼이 실행가능해짐

               setSize(500, 500); // 프레임 사이즈 지정

               setVisible(true); // 프레임을 보이게

               setLocationRelativeTo(null); // 프레임 실행시 위치 중앙

        }

 

        @Override

        public void actionPerformed(ActionEvent e) {

               String a = e.getActionCommand();

              

               if (a.equals(l1.getText())) {

                       t1.setText("같음");

               } else

 

                       t1.setText("다름");

        }

 

        public static void main(String args[]) {

               T3 test = new T3();

        }

}


<결과물>


 123버튼과 l1 123의 비교


 1234버튼과 l1 1234의 비교


만약, addActionListener의 클래스안에 equals가 아니라 ==연산자를 사용하면 어떻게 될까요?

 import java.awt.GridLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

 

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JTextField;

 

public class T3 extends JFrame implements ActionListener {

 

        JPanel p1 = new JPanel();

        JButton b1 = new JButton("123");

        JButton b2 = new JButton("1234");

        String str=new String("123");

        JLabel l1 = new JLabel(str);

        JTextField t1 = new JTextField();

 

        public T3() {

               p1.setLayout(new GridLayout(2, 2));

               add(p1);

               p1.add(l1);

               p1.add(t1);

 

               b1.addActionListener(this);

               b2.addActionListener(this);

 

               p1.add(b1);

               p1.add(b2);

 

               // ------------------------------------------------

               setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

               // 프레임의 x버튼을 활성화하여 닫기버튼이 실행가능해짐

               setSize(500, 500); // 프레임 사이즈 지정

               setVisible(true); // 프레임을 보이게

               setLocationRelativeTo(null); // 프레임 실행시 위치 중앙

        }

 

        @Override

        public void actionPerformed(ActionEvent e) {

               String a = e.getActionCommand();

              

               if (a==l1.getText()) {

                       t1.setText("같음");

               } else

 

                       t1.setText("다름");

        }

 

        public static void main(String args[]) {

               T3 test = new T3();

        }

}


<결과물>

123버튼과 l1 123의 비교

 

 1234버튼과 l1 1234의 비교


자료가 마음에 드셨다면 자주 찾아주세요^^ 글 올리는데 힘이됩니다.

반응형

'JAVA-클래스의 중요메소드 > Object클래스' 카테고리의 다른 글

JAVA-중요02-toString(예제)  (0) 2018.06.21
JAVA-중요02-toString  (0) 2018.06.21
JAVA-중요01-equals  (0) 2018.06.21
반응형

아래는 Object클래스의 메소드들입니다. 그 중에서 가장 많이 사용하는 메소들을 골라서 설명 드리도록 하겠습니다.


equals();

equals() 메소드는 두개의 객체가 같은지를 비교하며 그 결과값을 boolean의 데이터 타입으로 반환합니다. 아래는 equals의 특징을 서술하였습니다.


1. equals는 그 객체의 내용을 비교할 수 있는 메소드 입니다. 연산자== 의 형태는 객체가 가지는 주소가 같은지 확인하는 것이지만 equals는 그 내용이 같은지 확인하는 것입니다.

2. equals의 반대는 앞쪽에 ! 을 표시하시면 됩니다. 그렇다면 같이않다는 것을 나타내는 것이겠지요.


예제를 하나씩 살펴보면서 equals에 대해서 파악해보도록 하겠습니다.


 public class T2 {

 

        public static void main(String[] args) {

              

               int a = 1;

               int b = 1;

               String c="1";

               String d="1";

              

               System.out.println(a==b);

               System.out.println(c==d);

               //----------------------------

               String e= new String("1");

               String f= new String("1");

              

               System.out.println(e==f);

               }

        }

 

 <결과물>


위의 예제를 살펴보도록 하겠습니다.

int a,b와 String c,d는 System.out의 출력결과 true라는 값을 반환하였습니다.

그러나 Stirng e와 f 는 false라는 값을 반환하였습니다. "1"이라는 값으로 true가 반환되어야 하지만, String 초기화 및 선언시 새로운 주소 객체에 "1"을 넣어라는 new를 사용하였습니다.

int a=1; int b=1; 은 서로 같은 주소값과 같은 결과값

String에서 new로 지정한 것은 서로 다른 주소값에 결과를 넣음


==는 메모리의 위치를 비교하며 equals는 값을 비교합니다. 

아래의 예제를 보면서 살펴보도록 하겠습니다.


 public class T2 {

 

        public static void main(String[] args) {

              

               String e= new String("1");

               String f= new String("1");

              

               if(e==f)

                       System.out.println("e f 같습니다.");

               else

                       System.out.println("e f 다릅니다.");

               }

        }

 <결과물>




 public class T2 {

 

        public static void main(String[] args) {

              

               String e= new String("1");

               String f= new String("1");

              

               if(e.equals(f))

                       System.out.println("e f 같습니다.");

               else

                       System.out.println("e f 다릅니다.");

               }

        }

 <결과물>


그래서 우리는 주소로 된 데이터를 비교할때 연산자 ==가 아닌 equals라는 메소드가 필요합니다. 



자료가 마음에 드셨다면 자주 찾아주세요^^ 글 올리는데 힘이됩니다.

반응형

'JAVA-클래스의 중요메소드 > Object클래스' 카테고리의 다른 글

JAVA-중요02-toString(예제)  (0) 2018.06.21
JAVA-중요02-toString  (0) 2018.06.21
JAVA-중요01-equals(예제)  (0) 2018.06.21