카테고리 없음

String 실습 첫번째

달덩이>< 2022. 9. 22. 21:02

1. String 예제 1번

package p01.basic;

// String data type
// 1. 메모리에서 사용하는 데이터 크기가 가변적인 것이 특징임
//  -> 실제 데이터를 힙메모리에 저장하고, String Type으로 선언된 변수에는 힙메모리의 주소값을 갖고 있음
//    예를 들면, String message = "안녕하세요, 자바씨~~"; 인 경우,
//      변수 message에는 힙메모리에 저장된 "안녕하세요, 자바씨~~" 데이터의 시작 주소값을 갖고 있다는 의미임
// 2. 실제 사용 예 : 고객이름, 주소, 직업, 회사명, 상품명,....
// 3. 산술연산 기호 중에서 +만 사용 가능 => 문자열 합치기
//  - 문자열 + 문자열 (ok), 숫자 + 문자열 (ok), 문자열 + 숫자 (ok)

public class StringBasic {

	public static void main(String[] args) {
		String message = "안녕하세요, 자바씨~~";
		String message1 = "정말 좋은 아침입니다.";
		String message2;
		
		System.out.println(message);
		System.out.println(message1);
		
		message2 = message1 + "!!!" + message1;
		System.out.println(message2);
		
		// 2 + 3 + message => 5 +"안녕하세요, 자바씨~~"
		message2 = 2 + 3 + message;
		System.out.println(message2);
		
		message2 = message + 2 + 3;
		System.out.println(message2);
		}
	

}

 

  • String은 문자열을 사용할 때 많이 사용되는 코드입니다.
  • 먼저 message 변수에 "안녕하세요, 자바씨~~"라는 문장를 넣어줍니다.
  • message1에는 "정말 좋은 아침입니다."라는 문를 넣어줍니다.
  • String은 숫자처럼 + 를 할 수 있어서, message2에 message + message1을 하면 두 문장이 합쳐집니다. 
  • 그리고 문자뿐만 아니라 특수문자나 숫자도 같이 계산할 수 있습니다.
  • 위에 본 것 처럼 message2에 message + !!! + message1이라고 해주면 "정말 좋은 아침입니다.!!!정말 좋은 아침입니다."라는 문장이 출력됩니다.

위 사진은 위 코딩의 결과를 Console 창에 나타낸 것이다.



2. String 문자 데이터 길이 구하기

package p01.basic;

// String 문자데이터의 길이 구하기 : length() 메소드 사용
// 1. 한글과 영어글자 1문자를 length에서는 1개로 인식
//  - 한글, 영어글자는 unicode로 구성되어 있음

public class StringBasic2 {

	public static void main(String[] args) {
		String message = "Welcome to Java";
		String message2 = "안녕하세요, 자바씨!!";

		
		System.out.println(message + "변수의 문자 길이 = " + message.length());
		System.out.println(message2 + "변수의 문자 길이 = " + message2.length());

	}

}

 

  • lenght()라는 메소드는 데이터의 길이를 구하는 메소드입니다.
  • 한글과 영어 1문자를 1개로 인식합니다.
  • message 변수에 "Welcome to Java"라는 문장이 있는데 이것을 length() 메소드를 써보면
  • 공백까지 포함하여 15개라는 결과가 나옵니다.

위 사진은 위 코딩의 결과를 Console 창에 나타낸 것이다.



3. 문자열에서 특정 문자를 가져오는 charAt(index) 메소드

package p01.basic;

// 문자열에서 특정 문자를 가져오는 방법 - charAt(index) 메소드 사용
// index가 0일 때 첫번째 문자를 가리킴, index가 length(문자열 전체 길이)-1 일때 마지막 문자를 가리킴

public class StringBasic3 {
	public static void main(String[] args) {

	String message = "Welcome to Java";
	int length = message.length();
	
	char firstChar = message.charAt(0);
	char thirdChar = message.charAt(2);
	char lastChar = message.charAt(length-1);
	
	System.out.println(message + "의 첫번째 글자는  " + firstChar);
	System.out.println(message + "의 두번째 글자는  " + thirdChar);
	System.out.println(message + "의 세번째 글자는 " + lastChar);
	
	System.out.println();
	
	
	for (int i=0; i<message.length(); i++) {
		System.out.println(message + "의" + (i+1) + "번째 글자는 " + message.charAt(i));
		
	}

}

}

 

  • 먼저 message라는 String 타입의 변수에 "Welcome to Java"를 넣어줍니다.
  • 그리고 length라는 변수에 message의 데이터 길이의 값(message.length())을 넣어줍니다.
  • 그 다음 charAt()를 사용하여 charAt(0)은 첫번째 글자, charAt(1)은 두번째 글자가 나오게 됩니다.
  • 마지막에는 for 문을 이용하여 i는 0부터 massage의 길이인 15까지 반복하는 반복문을 만들어주면, 아래 사진과 같은 결과가 나오게 된다.

위 사진은 위 코딩의 결과를 Console 창에 나타낸 것이다.



4.  문자열 합치기

package p01.basic;

// 문자열 합치기 : s1.concat(s2) => s1 + s2;
//  -concat => concatenate
public class StringBasic4 {

	public static void main(String[] args) {
		String s1 = "Welcome to ";
		String s2 = "Java";
		String s3;
		
		s3 = s1.concat(s2);
		System.out.println("s3 = " + s3);
		System.out.println("s1.length = " +s1.length());
		System.out.println("s2.length = " +s2.length());
		System.out.println("s3.length = " +s3.length());
		
		s3 = s2.concat(s1);
		System.out.println("s3 = " + s3);
		
		s3 = s1 + s2;
		System.out.println("s3 = " + s3);
		
		s3 = s2 + s1;
		System.out.println("s3 = " + s3);
	}

}

 

  • 먼저 문자열을 합치는경우도 간단하다.
  • s1에 Welcome to라는 문자열을 넣어주고 s2에 Java라는 문자열을 넣어준다.
  • 그 다음 s3라는 변수에  s1 + s2를 입력해주면 문자열이 합쳐진다.
  • 다른 방법으로는 concat을 쓰는 방법인데 s3 = s1.concat(s2)라고 해주면 s3 = s1 + s2와 같은 뜻이 된다.

위 사진은 위 코딩의 결과를 Console 창에 나타낸 것이다.



5. 문자를 console에 입력하고 대소문자로 나타내

package p01.basic;

// 문자열을 console에서 읽기
// 1. next() : space로 구분된 문자열(String)를 읽어올 때 사용
// 2. nextLine() : 1줄 전체를 문자열로 읽어올 때 사용
// 문자열을 대소문자 변환
// 1. 문자열의 모든 문자를 대문자로 변환: toUpperCase()
// 2. 문자열의 모든 문자를 소문자로 변환: toLowerCase()

// 1. next() : space로 구분된 문자열(String)를 읽어올 때 사용
//2. nextLine() : 1줄 전체를 문자열로 읽어올 때 사용
//문자열을 대소문자 변환
//1. 문자열의 모든 문자를 대문자로 변환: toUpperCase()
//2. 문자열의 모든 문자를 소문자로 변환: toLowerCase()

import java.util.Scanner;

public class StringBasic5 {

	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		
//		System.out.println("space로 구분된 3개의 단어를 입력하세요.");
//		String s1 = input.next();
//		String s2 = input.next();
//		String s3 = input.next();
//		
//		
//		
//		System.out.println("s1 = " + s1);
//		System.out.println("s2 = " + s2);
//		System.out.println("s3 = " + s3);
//		
//		s3 = input.next(); // dummy 용

		
		System.out.println("다음에 한 줄을 입력하고 enter key를 누르세요");
		String s4 = input.nextLine();  // 1 line 전체 문자를 읽어올 때 사용(s4에는 enter key 문자는 제외됨)
		System.out.println("s4 = " + s4);
		
		System.out.println("s4 대문자 = " + s4.toUpperCase());
		System.out.println("s4 소문자 = " + s4.toLowerCase());
		}

	}

 

  • 먼저 직접 입력을 위해 scanner를 써준다.
  • 문자열에서 모든 문자를 대문자로 바꾸기 위해서는 toUpperCase()를 사용해주고,
  • 문자열에서 모든 문자를 소문자로 바꾸기 위해서는 toLowerCase()를 사용해준다.
  • 예) s4라는 변수에 내가 입력할 값을 넣고 대문자로 바꾸기 위해서는 s4.toUpperCase()라고 써주면 된다.

위 사진은 위 코딩의 결과를 Console 창에 나타낸 것이다.



오늘은 String 실습을 해보았습니다. 생각보다 양이 많아서 2편으로 나눠서 글을 쓰려고 합니다. String도 코딩을 하면서 많이 쓰이기 때문에 잘 공부해야될 것 같습니다.감사합니다.^^

반응형