🔗 복습하기
반복문(loop)이란, 특정 명령어 집합을 반복 수행할 때 사용하는 제어문.
while문
do-while문
for문
while ( boolean ){ A; }
boolean
이 true
인 동안에 A명령어 반복수행
do { A; } while (조건식)
조건식
이 true
인 동안 A를 반복 실행
for (초기값; 조건식; 증감연산) {A}
for문 실행
--> 초기값 실행
--> 조건식 실행
--> A실행
--> 증감연산
--> A실행
--> ...조건식 끝날 때까지 반복 후, 프로그램 종료.중첩 반복문이란, 반복문이 다른 반복문을 내포함.
참조 타입(reference type)
배열타입
열거타입
클래스
인터페이스
기본 타입(primtive type)은 값을 stack메모리에 있는 변수에 저장함.
참조 타입(reference type)은 값을 heap메모리에 저장한 후 stack메모리에 있는 변수에 heap메모리 주소를 넣어 참조함.
stack메모리에 있는 변수
➡️ heap메모리 저장
➡️ stack메모리에 있는 변수
에 heap메모리에 저장된 위치 주소
를 저장🔍클래스(Class)이란?
데이터에서 사용하는 데이터의 크기가 가변적
실제 데이터를 힙메모리에 저장
String타입으로 선언된 변수에는 힙메모리의 주소값을 갖음
➡️ 참조타입
ex) String message = "안녕하세요";
--> 변수 message에는 "안녕하세요"힙메모리 주소값을 갖고 있다는 의미.
한글과 영어는 유니코드로 구성되어 저장함.
산술 연산 기호 중에서 +
만 사용 가능
문자열 + 문자열
숫자 + 문자열
문자열 + 숫자
<문자열 합치기 예시>
// 2+3+message; --> "5" + "안녕하세요. "
message2 = 2+3+message;
System.out.println(message2);
// 2+3+message; --> "안녕하세요. " + "2" + "3"
message2 = message+2+3;
System.out.println(message2);
✍️ 문자열에서 특정 문자를 가져오기(실습)
charAt(index)
사용index
에 몇 번째 문자열인지 가리킴.index
가 0이면, 첫번째 문자를 가리킴. index - 1
이면, 마지막 문자를 가리킴.⌨️ coding ⤵️
String message = "wellcome 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);
for (int i = 0; i < message.length(); i++) {
System.out.println(message + "의" +(i+1)+" 첫번쩨 글자는 "+message.charAt(i));
🖥 print ⤵️
🔍메소드(method)란?
1️⃣
length() 메소드
concat()
문자열 합치기.
s3 = s2.concat(s1);
✍️ 문자열 붙이기(실습)
⌨️ coding ⤵️
String s1 = "wellcome to java";
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);
🖥 print ⤵️
toUpperCase() toLowerCase()
toUpperCase()
: 문자열의 모든 문자를 대문자toLowerCase()
: 문자열의 모든 문자를 소문자✍️ 모든 문자열 대문자, 소문자 출력(실습)
⌨️ coding ⤵️
System.out.println("다음에 한 줄 입력하고 enter key를 입력하세요");
String s4 = in.nextLine();
// 하나의 Line 전체 문자를 읽어 올 때 사용(s4에서는 enter key문자는 제외됨.)
System.out.println("s4 = " + s4);
System.out.println("s4 대문자 " + s4.toUpperCase());
System.out.println("s4 소문자 " + s4.toLowerCase());
🖥 print ⤵️
next() nextLine()
next()
: 스페이스로 구분된 문자열을 읽어올 때 사용nextLine()
: 하나의 Line 전체 문자를 읽어 올 때 사용\n
: 1줄 띄우기. --> (CR)아스키코드 0A\r
: 문서 첫번째 위치로 이동 --> (LF)아스키코드 0D✍️ next() nextLine()(실습)
⌨️ coding ⤵️
System.out.println("spase로 구분된 3개의 단어를 입력하세요.");
String s1 = in.next();
String s2 = in.next();
String s3 = in.next(); // 문자열 string을 읽을 때
System.out.println("s1 = " + s1);
System.out.println("s2 = " + s2);
System.out.println("s3 = " + s3);
s3 =in.next(); // dummy
System.out.println("다음에 한 줄 입력하고 enter key를 입력하세요");
String s4 = in.nextLine();
// 하나의 Line 전체 문자를 읽어 올 때 사용(s4에서는 enter key문자는 제외됨.)
System.out.println("s4 = " + s4);
equals
equals
: 문자열 내용 비교하기.
return값이 참이면 문자열 내용이 동일하다는 의미,
거짓이면 동일하지 않음을 의미함.
equals
는 대소문자를 구별하지 못함.
toUpperCase()
나 toLowerCase()
로 변환하여 equals
사용하면 유용하게 사용할 수 있음.