본문 바로가기

콤퓨타/Programming) 왕초보 자바

06. (Strings) Control Characters

 

계속 문자열이다.

문자열 안에서 공간을 줄 수 있는 내용들을 연습했다. 

 

\t :  indent
\n : 줄바꿈
\\ : 만약에 \를 텍스트로 출력하고싶은경우 

출력할때 그 진가가 발휘됌. 

 

(선생님은 햄릿 팬인듯)

	String text = "\t To be or not to be. \n\t \\ That's the question! \n";
		System.out.println(text);

 

앞에 인덴테이션 들어가고 중간에 \도 들어가 있음

 

 

그리고 선생님이 주신 과제 

인덴테이션, 줄바꿈, 필요하면 int 도 써보라고 하는데.... 걍 프로그래머 안할건데 걍 쓰면 안될까여;;; 😇😇

이렇게 만들어보라고. 인덴테이션과 줄바꿈의 향연.

 


 

 

첫 번째 시도. int 없이 그냥 다 때려 박았음 

	String text1 = "\t Select an option: \n\t\t 1. Add an entry \n\t\t 2. View the database \n\t\t 3. Exit ";
		System.out.println(text1);

 

그 결과.

요즘 컴터는 성능이 좋아 메모리 남아 도는데 기냥 정공법 쓰면 안될까여 헤헿 ^^^^^^^^

갓-벽-구-현 😎😎😎

 


 

두 번째 시도. int 넣으라고 하셨으니... 막 때려넣어봅니다.

String selection = "\t Select an option: \n\t\t ";		
		
		int first = 1;
		int second = 2;
		int third = 3;
		
		String firstline = ". Add an entry \n\t\t";
		String secondline = ". View the database \n\t\t";
		String thirdline = ". Exit";

		System.out.println(selection);
		System.out.println(first + firstline);
		System.out.println(second + secondline);
		System.out.println(third + thirdline);

 

그 결과 

맨 첫줄만 인덴테이션 먹고

두번째부터는 아무것도 없이 냅다 줄바꿈만 함...

아니 줄바꿈을 왜이렇게 많이 한거임? ? 했는데 그게 아니라 

줄 바꿈 + indentation + indentation 이다. 저 오른쪽에 파란색 한줄이 인덴테이션 1칸임... 후... 🤦

 

 


 

세번째, 선생님꺼 보고 따라 쓰기

String prompt = "Select an option:"; 
		String option1 = "Add an entry"; 
		String option2 = "View the database"; 
		String option3 = "Exit";
		
		int value1 = 1;
		int value2 = 2; 
		int value3 = 3;
		
		String menu = "\t" + prompt+ "\n"; 
				menu += "\t\t" + value1 + ". " + option1 + "\n"; 
				menu += "\t\t" + value2 + ". " + option2+ "\n";
				menu += "\t\t" + value3 + ". " + option3+ "\n"; 
		// menu = menu  + prompt + value1 + option1; 
		
		System.out.println(menu);

 

그 결과. 

인덴테이션 예쁘게 나오고 줄바꿈도 예쁘게 나왔다. 

int 넣고 뭔가 쿵짝쿵짝 하는데 저 menu 변수부터 +=가 이해되지 않아 챗지피티와 심화 학습 ㄱ 

모범답안

 


 

여기서 문자열 += 어쩌구는 이어붙인다(concatenate) 는 의미 

 

그래서 +=를 잘 쓰면,, 뭐 결국 메모리 애끼자고 하는 짓이것지유? 

	String s = "Hola"; 
		
		s += " Bola!"; 
		System.out.println(s);

 

1) s에 "Hola"를 assign 해준 후

2) s 와 " Bola!" 를 연결해준 후

3) s 출력

흡사 헬로월드 재질

 

연습 1. 

	
	String a = "dogs "; 
	String b = "cats "; 
	String c = "birds";
	
	String result = a; 
	result += b; 
	result += c; 
	
	System.out.println(result);

 

애초에 a 를 넣고, b와 c를 덧붙여 준 셈이 됨.

 

 

연습 2

		String word1 = "Red";
		String word2 = "Green";
		String word3 = "Blue";

		String sentence = word1 + ", ";
		sentence += word2 + ", ";
		sentence += word3 + "!";

		System.out.println(sentence);

 

거기에다가 잘 섞으면 중간에 필요한 부호를 추가할 수 있음. --> 출력값의 가독성이 올라감? 

 

 

연습 3 부호 넣기 연습 22222

	
	String a = "dogs "; 
	String b = "cats "; 
	String c = "birds";
	
	String result1 = a + ", ";
		result1 += b + ", ";
		result1 += c;
		System.out.println(result1);

 

 

 

연습 4

		String first = "Apple";
		String second = "Banana";
		String third = "Cherry";

		String line = "";
		line += second;
		line += " & ";
		line += first;
		line = third + " - " + line;
		System.out.println(line);

 

처음 line 변수에 쌍따옴표 값을 넣은것

String line = " " 

얘는 빈 문자열로 시작한다는 걸 알린다고 하는데,굳이 넣을 필요도 없다고 한다. 

근데 일단 나는 왜 필요한지 필요없는지 구분이 안되는 상태이므로 일단 한번 물어보고 지나간다.🤷

마지막 line = third + " - " + line: 이게 i++ 와 다른거냐고 물었더니 그렇다고 한다. 

line = third +  " - " + line 의 경우, line에 새로운 문자열 값을 덮어씌우는것이라고 

i++는 숫자가 점점 올라가는것

근데 그러고 보면 사실 큰 줄기에서는 새로운 값으로 덮어 씌면서 값을 업데이트 한다는 측면에서는 동일하지 않나? 하고 그냥 지나가자... ㅎ.... ^^^^^^

뭔가 ✨돌체 앤 가바나✨가 연상되지만

 

 

쌤이 수업시간에 concatenate, concatenate 하시는거 매번 무슨의미일까 와닿지 않았는데. (검색하니 사슬, 연결 이라고 나와서 그렇게만 생각하고 실제로 이게 왜 그런 의미인지 몰랐음) 이번에 보니까 쵸큼 알겠다. 근데 그냥 add up 하면 안되나 아니면 다른거. 더 쉬운 단어도 있을 것 같은데 concatenate쓴거 너무 장벽 같다. 프로그래밍은 어쩜 이렇게 기초 텀들도 싸가지가 없냐능. 

 

여튼 진도 오지게 안나가지만 일단 오늘도 해피코딩.... 😊

 

'콤퓨타 > Programming) 왕초보 자바' 카테고리의 다른 글

08. (Strings) User Input  (0) 2025.06.18
07. (Strings) Format Specifiers  (1) 2025.06.10
05. (Strings) Joining Strings  (2) 2025.06.04
(번외) 프로세스  (5) 2025.05.29
04. (Variables) Converting Temperatures  (1) 2025.05.28