1 분 소요

관계 연산자

  • 연산결과는 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("다르다");
 }

image

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("다르다");
 }

image

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

.length()

 Scanner sc = new Scanner(System.in);
 
System.out.println("문자열을 입력하세요 : ");
 String str = sc.nextLine();
 
System.out.println("입력한 문자열의 크기 : " + str.length());

image

.trim()

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

image

toUpperCase() / toLowerCase()

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

image

  • toUpperCase() : 문자열을 대문자로 변환
  • toLowerCase() : 문자열을 소문자로 변환

charAt(index)

Scanner sc = new Scanner(System.in);
 
System.out.println("문자열을 입력하세요 : ");
String str = sc.nextLine();

System.out.println("3번째 문자:" + str.charAt(2));

image

댓글남기기