*문자열 비교

// 문자열 비교
>(문자열변수이름.equals(비교 하고싶은 변수이름이나 “문자열“)) : 문자열 내용이 같으면 true, 다르면 false
𖤐(문자열변수이름.equalsIgnoreCase(변수이름 or “문자열”)) : 대소문자 구분 없이 문자열 내용이 같은지 여부 체크
>(문자열변수이름 == 비교하고 싶은 변수 이름)
// 문자열 선언 방식에 따른 문자열 비교의 차이점 (참조)
String 변수이름(ex) a = “(ex)abcd”
String 변수이름(ex) b = “(ex)efgh”
a = “1234”;
b = “1234”;
System.out.println(a.equals(b)); // true
System.out.println(a == b); // true
-이렇게 선언된 문자열이 같다면 그 문자열은 같은 한 곳에 존재하는 데이터이고 참조하는 것
a = new String (“1234”);
b = new String (“1234”);
System.out.println(a.equals(b)); // true
System.out.println(a == b); // false
-이렇게도 문자열을 선언할 수 있으나 이렇게 선언하게 되면 서로 다른 곳에 존재하는 데이터들이 되어버림. 그래서 ( a == b )는 일치하지 않게 되어 false의 결과가 도출됨.
𖤐예를 들면 a = “ ~ “ 이렇게 선언한 문자열은 식당이 벽 한편에 비밀번호 적힌 메모지를 붙여주면 손님들이 그 메모지의 비밀번호를 참고하게 되지만, a = new String (“ ~ “)로 선언한 문자는 식당의 각 테이블마다 비밀번호가 적힌 메모지가 나눠져 있는 것과 같음.)
★자바에서 일반적으로 문자열의 내용을 비교할 때는 등호를 쓰지 않고 equals를 씀!
*특수문자 (Escape Sequence)


// 특수(이스케이프) 문자란? 문자열을 사용할 때 어떤 약속이 되어있는 특별한 기능을 하는 문자 ( = Escape Sequence, Escape Character, Special Character)
> 줄 바꿈(엔터역할) : \n
System.out.println(“자바가“);
System.out.println(“너무”);
System.out.println(“재밌어요.);
= System.out.println(“자바가\n너무\n재밌어요.)
> 탭 효과 : \t 𖤐글자 수가 맞지 않아 칸이 맞지 않을 때 글자 위치를 어느 정도 맞춰주는 효과
예시는 스크린샷 참조
> 역슬래시 : \\ 𖤐역슬래시를 표현하고 싶을 때 \\ 두 번 써주면 하나의 역슬래시 문자로 인식
!! 윈도우 파일이나 폴더 위치는 역슬래시 사용
System.out.println(“C:\\Program Files\\Java”); // C:\Program Files\Java
> 큰따옴표 : \” 𖤐문자열을 출력할 때 이미 큰따옴표“를 사용하기 때문에 그 안에 문자 자체로 큰따옴표를 출력하고 싶을 때 \”를 사용
System.out.println(“단비가 \“냐옹\”이라고 했어요.“); // 단비가 ”냐옹“이라고 했어요.
> 작은따옴표 : \’ 𖤐하나의 문자열을 저장하는 char자료형에서 주로 사용
System.out.println(“단비가 ‘뭘봐?’ 라는 표정을 지었어요.”); = (“단비가 \‘뭘봐\’ 라는 표정을 지었어요.”) // 단비가 ‘뭘봐’ 라는 표정을 지었어요.
->문자열에서는 작은따옴표는 굳이 특수문자를 사용하지 않아도 상관없음.
char c = ‘A’;
System.out.println(c); // A
c = ‘\’’;
System.out.println(c); // ‘
*퀴즈#3


//퀴즈#3
> 기준점이 있을 때 (하이픈처럼) 기준점의 위치를 찾고 제외해야 하는 문자열의 위치를 찾아서 기준점에서부터의 위치를 + 위치값으로 입력해도 좋음
*If문 (조건문)

//프로그램의 흐름을 제어하는 내용
> If문(조건문) : 조건이 참이라면 문장이 수행되고, 그렇지 않다면 수행되지 않음.
if ( 조건) {
…수행할 명령…;
}
ex) 오후 2시 이후에는 커피를 마시지 않는 경우
int hour = 15; (오후 3시) ->스크린샷에는 오전이라고 잘못 표기
if (hour < 14) {
System.out.println(“아이스 아메리카노 +1“);
System.out.println(“샷추가”);
}
System.out.println(“커피 주문 완료 #1“); // 커피 주문 완료 #1 // 위 if문이 false이기때문에 안에있는 수행해야 할 문장들이 나타나지 않음.
ex2) 오후 2시 이전, 모닝커피를 마시지 않은 경우 (두 조건이 모두 참일 때)
hour = 10;
boolean monrningCoffee = false // 모닝 커피 마시지 않음
if (hour <= 14 && !morningCoffee) { // = if (hour <= 14 && morningCoffee == false) {
System.out.println(“아이스 아메리카노 +1“;
}
System.out.println(”커피 주문 완료 #2“); // 아이스 아메리카노 +1\n커피 주문 완료 #2
ex3) 오후 2시 이후이거나, 모닝커피를 마신 경우 (둘 중 하나라도 참일 때)
hour = 15;
morningCoffee = true;
if (hour >= 14 || morningCoffee) { = if (hour >= 14 || morningCoffee == true) {
System.out.println(“아이스 아메리카노 (디카페인) +1”);
}
System.out.println(“커피 주문 완료 #3“); // 아이스 아메리카노 (디카페인) +1\n커피 주문 완료 #3
'Study > Back' 카테고리의 다른 글
Jul.27.Thu.2023 나도코딩 Java While ~ 퀴즈#4 (1) | 2023.07.27 |
---|---|
Jul.26.Wed.2023 나도코딩 Java Else문 ~ For문 (0) | 2023.07.26 |
Jul.24.Mon.2023 나도코딩 Java 문자열 (0) | 2023.07.24 |
Jul.21.Fri.2023 나도코딩 Java 퀴즈#2 (0) | 2023.07.21 |
Jul.20.Thu.2023 나도코딩 Java 대입연산자 ~ 삼항연산자 (0) | 2023.07.20 |