관계 연산자
- 연산결과는 true(참), false(거짓) 둘 중 하나 이다. (c++은 1이 참, 0이 거짓)
<=(작거나 같다, 이하), >=(크거나 같다, 이상), ==(같다), !=(같지 않다
논리 연산자
- && : 논리 곱, AND, 두 조건이 모두 참일 경우에만 참, ~이고 ~이면서 ~ 중에서
-
|
: 논리 합, OR, 두 조건 중에서 한 개 이상 참일 경우에 참, ~또는 ~이거나 |
- !: 논리 부정, NOT, 참은 거짓으로 , 거짓은 참으로
if(조건식)
{ 조건식이 참일 경우 실행할 문장
…;
} else {
조건식이 거짓일 경우 실행할 문장
…;
}
String str1 = "AAA";
//String str3 = new String("AAA");
String str2 = "AAA";
if (str1 == str2) {
System.out.println("같다");
}else {
System.out.println("다르다");
}

equals 메서드
String str1 = "AAA";
String str2 = "AAA";
if (str1 == str2) {
System.out.println("같다");
}else {
System.out.println("다르다");
}
String str3 = new String("AAA");
if (str1 == str3) {
System.out.println("같다");
}else {
System.out.println("다르다");
}

- 클래스로 만드는 모든 객체(변수)는 주소를 기억하는 참조형 변수이다.
- 문자열이 최초로 만들어지면 메모리 어딘가에 문자열이 생성되고,
문자열이 생성된 주소값이 변수에 저장된다
str1
에는 ‘AAA’가 생성된 메모리의 주소가 저장된다.
- 메모리에 같은 내용의 문자열이 있으면 다시 만들어지지 않고,
기존에 있는 문자열의 주소값이 변수에 저장된다.
str2
는 str1
에 저장된 ‘AAA’가 생성된 메모리의 주소가 저장된다.
==
를 사용해서 같은가를 비교할 수 있는 데이터는 기본 자료형과 NULL(아무것도 없는 상태)만 가능하다.
(String은 class임. 기본자료형은 int, boolean, chr 같은것들)
str1 == str2
는 변수에 저장된 문자열 자체를 비교한게 아니고, 변수에 저장된 주소를 비교하게 된다.
String str3
은 new라는 예약어를 사용해서 객체를 생성하게 되면, 메모리에 같은 내용이 있나 상관하지
않고, 무조건 다시 만든다.
- 따라서
str1
과 str3
이 가지고 있는 주소 값은 다르다.
- 문자열 끼리 비교할 때에는
비교대상1.equals(비교대상2)
을 이용한다.
.length()
Scanner sc = new Scanner(System.in);
System.out.println("문자열을 입력하세요 : ");
String str = sc.nextLine();
System.out.println("입력한 문자열의 크기 : " + str.length());

.trim()
- 변수에 저장된 문자열을 구성하는 문자의 개수를 얻어온다.
- 빈칸까지 데이터로 인식하는 에러가 있음
Scanner sc = new Scanner(System.in);
System.out.println("문자열을 입력하세요 : ");
String str = sc.nextLine();
System.out.println("입력한 문자열에서 불필요한 공백을 제거한 문
자열의 크기 : " + str.trim().length())

toUpperCase() / toLowerCase()
Scanner sc = new Scanner(System.in);
System.out.println("문자열을 입력하세요 : ");
String str = sc.nextLine();
System.out.println("무조건 대문자로 출력" + str.toUpperCase());

- toUpperCase() : 문자열을 대문자로 변환
- toLowerCase() : 문자열을 소문자로 변환
charAt(index)
Scanner sc = new Scanner(System.in);
System.out.println("문자열을 입력하세요 : ");
String str = sc.nextLine();
System.out.println("3번째 문자:" + str.charAt(2));

댓글남기기