청야에몽
청야의 개발 일기
청야에몽
전체 방문자
오늘
어제
  • 분류 전체보기 (156)
    • os (4)
      • Linux (4)
    • Language (32)
      • Python (15)
      • C# (6)
      • Java (11)
    • BaekJoon (92)
      • 단계별로 풀어보기 (81)
      • 누적합 (11)
    • Test (6)
      • 코딩테스트 (6)
      • 42 SEOUL (0)
    • Project (9)
      • 충돌, 피하기 게임 (8)
      • Unreal engine5 CICD 구축 (1)
    • Git & GitHUB (9)
    • Cloud (3)
      • AWS (0)
      • Azure (0)
      • Docker (3)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 파이썬
  • git
  • 누적합
  • 연산자
  • 리눅스
  • java
  • for문
  • 재귀 함수
  • c#
  • Linux
  • Python
  • docker
  • 백준
  • Reset
  • 자료형
  • 누적 합
  • 중첩for문
  • Revert
  • pygame
  • Rebase

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
청야에몽

청야의 개발 일기

Language/Java

[Java] 변수에 대한 이해_2 (논리, 문자열 타입)

2022. 9. 21. 19:55
728x90

1. 논리 타입

논리 리터럴은 참과 거짓을 의미하며 true와 false로 이루어져 있다. 논리 리터럴은 boolean 타입 변수에 아래와 같이 대입이 가능하다.

boolean t = true;
boolean f = false;

boolean 타입 변수는 주로두 가지 상태값을 저장할 필요가 있을 경우에 사용되며, 상태값에 따라 조건문과 제어문의 실행 흐름을 변경하는 데 사용할 수 있다.

또한 연산식 중에서 비교 및 논리 연산의 산출값은 true 또는 false이므로 boolean 타입 변수에 대입이 가능하다. 아래를 참고하자.

int x = 10;
boolena result = (x == 20);				//변수 x의 값이 20인가? / False
boolena result = (x != 20);				//변수 x의 값이 20이 아닌가? / True
boolena result = (x > 20);				//변수 x의 값이 20보다 큰가? / False
boolena result = (0 < x && x < 20);		//변수 x의 값이 0보다 크고, 20보다 작은가? / True
boolena result = (x < 0 || x > 200);	//변수 x의 값이 0보다 작거나 200보나 큰가? / False

아래는 stop 변수값에 따라 if 블록과 else 블록 중 하나를 실행하고, 연산식의 결과를 boolean 변수에 저장해서 출력한다.

package ch02.sec05;

public class BooleanExample {
    public static void main(String[] args) {
        boolean stop = true;
        if(stop) {
            System.out.println("중지합니다.");
        } else {
            System.out.println("시작합니다.");
        }

        int x = 10;
        boolean result1 = (x == 20);
        boolean result2 = (x != 20);
        System.out.println("result1: " + result1);
        System.out.println("result2: " + result2);
    }
}

변수 stop이 true로 지정되어 있으므로 if가 참이 되어 '중지합니다'가 출력된다. 변수 x는 10이라는 값을 가졌으며 x == 20이 거짓이므로 false, x != 20은 참이므로 true가 출력된다.

 

2. 문자열 타입

작은따옴표(')로 감싼 한 개의 문자는 char 타입의 문자 타입이지만, 큰따옴표(")로 감싼 여러 개의 문자들은 유니코드로 변환되지 않는다.

char var1 = "A";	  //컴파일 에러 발생
char var2 = "청야";	//컴파일 에러 발생

큰따옴표(")로 감싼 문자들은 문자열이라고 부르는데, 위와 같이 오류가 나지 않기 위해서는 문자열을 String 타입을 사용하여 변수에 저장해야한다.

String var1 = "A";
String var2 = "청야";

문자열 내부에는 이스케이프 문자를 사용할 수 있다. 역슬래쉬(\)를 붙여서 사용하며 이스케이프 문자를 사용하면 특정 문자를 포함할 수 있고, 출력에 영향을 미치게 할 수 있다.

참고로 역슬래쉬는 기호가 \가 아닌, ₩(짝대기 하나인건 찾지 안보여서 대체)처럼 표시될 수 있는데, 이것은 폰트 차이이니 신경쓰지 않아도 괜찮다.

이스케이프 문자  
\" "문자 포함
\' '문자 포함
\\ \문자 포함
\u16진수 16진수 유니코드에 해당하는 문자 포함
\t 출력 시 탭만큼 띄움
\n 출력 시 줄바꿈(라인피드)
\r 출력 시 캐리지 리턴
package ch02.sec06;

public class StringExample {
    public static void main(String[] args) {
        String name = "청야";
        String job = "프로그래머";
        System.out.println(name);
        System.out.println(job);

        String str = "나는 \"자바\"를 배웁니다.";    //\"를 사용시 문자열에 큰따옴표를 넣을 수 있다.
        System.out.println(str);

        str = "번호\t이름\t직업";     //\t를 사용시 문자열 간격을 탭만큼 띄워 출력한다.
        System.out.println(str);

        System.out.print("나는\n자바를\n");     //\n를 사용시 출력 후 다음 행으로 이동이 된다.
        System.out.print("배웁니다.");
    }
}

참고로 Java13부터는 아래와 같은 텍스트 블록 문법을 제공한다. 큰따옴표 3개로 감싸면 이스케이프하거나 라인 피드를 할 필요가 없이 작성된 그대로 문자열로 저장된다.

//문자열 타입
package ch02.sec06;

public class TextBlockExample {
    public static void main(String[] args) {
        //Java 13부터 사용 가능한 텍스트 블록 문법이다.
        String str1 = "" +
                "{\n" +                         //\n은 줄바꿈이다.
                "\t\"id\":\"winter\",\n" +      //\t는 탭만큼 띄우기, \"는 큰따옴표(") 출력이다.
                "\t\"name\":\"눈송이\"\n" +
                "}";

        String str2 = """
                {
                    "id":"winter",
                    "name":"눈송이"
                }
                """;

        System.out.println(str1);
        System.out.println("---------------------------------------------------");
        System.out.println(str2);
        System.out.println("---------------------------------------------------");
        //줄바꿈을 하고 싶지 않은데 편의상 줄을 바꿔서 코드를 짜야한다면 끝에 \를 붙여주면 된다.
        //이 기능은 Java 14부터 제공한다.
        String str = """
                나는 자바를 \
                학습합니다.
                나는 자바 고수가 될 겁니다.
                """;
        System.out.println(str);
    }
}

 

728x90
저작자표시 비영리 변경금지 (새창열림)

'Language > Java' 카테고리의 다른 글

[Java] 키보드 입력 데이터를 변수에 저장  (0) 2022.10.04
[Java] 변수 사용 범위와 콘솔로 변수값 출력  (0) 2022.09.28
[Java] 타입 변환  (0) 2022.09.27
[Java] 변수에 대한 이해_1 (정수, 문자, 실수 타입)  (2) 2022.09.20
[Java] 자바 시작하기  (0) 2022.09.14
    'Language/Java' 카테고리의 다른 글
    • [Java] 변수 사용 범위와 콘솔로 변수값 출력
    • [Java] 타입 변환
    • [Java] 변수에 대한 이해_1 (정수, 문자, 실수 타입)
    • [Java] 자바 시작하기
    청야에몽
    청야에몽
    개인적으로 학습을 하여 까먹지 않기 위해 올리는 블로그입니다.

    티스토리툴바