본문 바로가기
# Coding/Java

자바 특수 문자, 서식 문자, 연산자

by hxodoo.cookie 2023. 9. 11.

이 글에서는 자바 프로그래밍에서 중요한 세 가지 요소인 특수 문자, 서식 문자, 그리고 연산자에 대해 알아보겠습니다. 

 

 

특수 문자 (Special Characters)

자바에서 특수 문자는 코드 작성에 있어 중요한 역할을 합니다. 특수 문자는 다양한 기능을 수행하며 코드의 가독성을 높입니다.

 

 

1. 세미콜론 ;  - 문장의 끝을 표시하는 마침표

자바 코드에서 세미콜론은 문장의 끝을  나타내는데 사용됩니다. 각각의 자바 문장은 세미콜론으로 구분되며, 컴파일러에게 한 문장이 끝났음을 알려줍니다. 아래는 세미콜론의 예시입니다.

 

int x = 5; // 변수 x에 5를 할당
System.out.println("Hello, World!"); // 화면에 텍스트 출력

 

 

세미콜론을 잊어버리면 컴파일 오류가 발생할 수 있으므로 주의가 필요합니다.

 

 

 

2. 중괄호 { } - 코드 블록을 정의하는 데 사용

중괄호는 코드 블록을 정의하고 코드를 그룹화하는 데 사용됩니다. 클래스, 메서드, 조건문, 반복문 등에서 중괄호는 중요한 역할을 합니다. 아래는 중괄호의 예시입니다.

 

public class MyClass {
    public static void main(String[] args) {
        // 중괄호로 블록 시작
        int x = 5;
        if (x > 0) {
            System.out.println("양수입니다.");
        } else {
            System.out.println("음수 또는 0입니다.");
        }
        // 중괄호로 블록 종료
    }
}

 

 

 

3. 괄호 ( ) - 메서드 호출 및 그룹화

괄호는 메서드 호출 시 인수를 전달하거나 표현식을 그룹화할 때 사용됩니다. 메서드 호출 시 인수를 전달할 때 괄호 안에 인수를 넣어 전달합니다. 조건문과 반복문에서도 실행할 명령문에 대한 조건식을 정의할 때 사용됩니다.

 

int result = add(3, 4); // add 메서드 호출

 

 

또한 괄호를 사용하여 표현식의 우선 순위를 조절할 수 있습니다.

 

int sum = (x + y) * z; // x와 y를 더한 후 z와 곱하기

 

 

 

4. 점 . - 객체의 속성 및 메서드에 접근

점은 객체 지향 프로그래밍 언어인 자바에서 객체의 속성과 메서드에 접근할 때 사용됩니다. 객체의 멤버에 접근할 때 객체 이름 다음에 점을 붙여 사용합니다.

 

String message = "Hello, Java!";
int length = message.length(); // 문자열의 길이를 반환하는 메서드 호출

 

 

 

5. 기타 특수 문자

자바에는 다양한 특수 문자가 있습니다. 예를 들어, 작은따옴표 ('')와 큰따옴표 ("")는 문자와 문자열을 표시하는 데 사용되며, 백슬래시 (\)는 이스케이프 문자로 사용됩니다.

 

char ch = 'A'; // 문자
String text = "Java Programming"; // 문자열
String path = "C:\\myfolder\\myfile.txt"; // 이스케이프 문자 사용

 

 

 


 

서식 문자 (Format Specifiers)

자바 프로그래밍에서 데이터 형식을 제어하고 원하는 방식으로 출력하는 것은 매우 중요합니다. 이를 위해 자바에서는 서식 문자를 사용합니다. 서식 문자는 출력할 데이터의 형식을 지정하는데 도움을 주며, 코드의 가독성과 유지 보수성을 향상시키는데 중요한 역할을 합니다. printf 및 String.format 함수와 함께 자주 사용됩니다. 

 

 

 

1. %d - 정수 서식 문자

%d 서식 문자는 정수 값을 출력할 때 사용됩니다. 이를 통해 정수를 원하는 형식으로 포맷팅할 수 있습니다.

 

int age = 30;
System.out.printf("나이: %d세", age); // "나이: 30세"로 출력

 

 

2. %f - 부동 소수점 서식 문자

%f 서식 문자는 부동 소수점 값을 출력할 때 사용됩니다. 이를 통해 소수점 이하 자릿수를 조절하거나 고정 소수점 표현을 사용할 수 있습니다.

 

double price = 19.99;
System.out.printf("가격: %.2f달러", price); // "가격: 19.99달러"로 출력

 

 

3. %s - 문자열 서식 문자

%s 서식 문자는 문자열 값을 출력할 때 사용됩니다. 이를 통해 문자열을 포맷팅하거나 다른 데이터 유형을 문자열로 변환할 수 있습니다.

 

String name = "Alice";
System.out.printf("안녕, %s!", name); // "안녕, Alice!"로 출력

 

 

4. %c - 문자 서식 문자

%c 서식 문자는 문자를 출력할 때 사용됩니다. 이를 통해 문자 하나만 출력하거나 형식을 조절할 수 있습니다.

 

char grade = 'A';
System.out.printf("성적: %c", grade); // "성적: A"로 출력

 

 

5. 서식 문자 옵션

서식 문자 뒤에는 옵션을 추가하여 출력 형식을 더 세밀하게 제어할 수 있습니다. 예를 들어, %d 서식 문자에는 너비와 정렬을 설정하는 옵션을 사용할 수 있습니다.

 

int number = 42;
System.out.printf("숫자: %5d", number); // "숫자:    42"로 출력

 

 

6. 여러 개의 서식 문자 사용

하나의 출력 문자열에서 여러 개의 서식 문자를 조합하여 사용할  있습니다.

 

String product = "노트북";
double price = 999.99;
System.out.printf("%s의 가격은 %.2f달러입니다.", product, price);
// "노트북의 가격은 999.99달러입니다."로 출력

 

 

7. String.format 메서드

String.format 메서드를 사용하면 서식 문자열을 생성할 수 있습니다. 이를 활용하여 문자열을 생성하거나 로그 메시지를 포맷팅할 수 있습니다.

 

int score = 95;
String message = String.format("당신의 점수는 %d점 입니다.", score);
// "당신의 점수는 95점 입니다." 문자열 생성

 

 

 

자바의 서식 문자는 데이터를 원하는 형식으로 출력하기 위한 강력한 도구입니다. 데이터의 형식을 미리 정의하고 포맷팅하여 코드의 가독성을 향상시키고 사용자에게 더 적합한 출력을 제공할 수 있습니다. 서식 문자의 다양한 옵션과 활용법을 숙지하면 자바 프로그래밍에서 데이터 형식을 더 정밀하게 제어할 수 있을 것입니다.

 

 

 


 

연산자 (Operators)

자바는 다양한 연산자를 제공하여 프로그래머들이 데이터를 조작하고 제어하는 데 도움을 줍니다. 연산자는 수학적 및 논리적 연산을 수행하는 데 사용되며, 코드에서 계산 및 조작을 가능하게 합니다.

 

 

 

연산자의 종류

 

1. 산술 연산자

산술 연산자는 숫자 데이터를 다루는 데 사용됩니다. 자바는 다음과 같은 산술 연산자를 제공합니다.

  • + (더하기)
  • - (빼기)
  • * (곱하기)
  • / (나누기)
  • % (나머지)

 

int a = 10;
int b = 5;
int sum = a + b; // 15
int difference = a - b; // 5
int product = a * b; // 50
int quotient = a / b; // 2
int remainder = a % b; // 0

 

 

 

2. 비교 연산자

비교 연산자는 두 값을 비교하고 결과를 true 또는 false로 반환합니다. 자바는 다음과 같은 비교 연산자를 제공합니다.

  • == (동등)
  • != (부등)
  • < (작음)
  • > (큼)
  • <= (작거나 같음)
  • >= (크거나 같음)

 

int x = 10;
int y = 20;
boolean isEqual = x == y; // false
boolean isNotEqual = x != y; // true
boolean isLessThan = x < y; // true
boolean isGreaterThan = x > y; // false
boolean isLessOrEqual = x <= y; // true
boolean isGreaterOrEqual = x >= y; // false

 

 

 

3. 논리 연산자

논리 연산자는 조건문에서 논리적인 조건을 조합하고 검사하는 데 사용됩니다. 자바는 다음과 같은 논리 연산자를 제공합니다.

  • && (논리 AND)
  • || (논리 OR)
  • ! (논리 NOT)

 

boolean condition1 = true;
boolean condition2 = false;

boolean andResult = condition1 && condition2; // false
boolean orResult = condition1 || condition2; // true
boolean notResult = !condition1; // false

 

 

 

4. 할당 연산자

할당 연산자는 변수에 값을 할당하거나 수정하는 데 사용됩니다. 자바는 다양한 할당 연산자를 제공합니다.

  • = (할당)
  • += (더하고 할당)
  • -= (빼고 할당)
  • *= (곱하고 할당)
  • /= (나누고 할당)
  • %= (나머지를 구하고 할당)

 

int num = 10;
num += 5; // num은 이제 15
num -= 3; // num은 이제 12
num *= 2; // num은 이제 24
num /= 4; // num은 이제 6
num %= 2; // num은 이제 0

 

 

 

5. 비트 연산자

비트 연산자는 비트 단위 연산을 수행하는 데 사용됩니다. 이진수 표현을 다룰 때 유용합니다.

  • & (비트 AND)
  • | (비트 OR)
  • ^ (비트 XOR)
  • ~ (비트 NOT)
  • << (왼쪽 시프트)
  • >> (오른쪽 시프트)
  • >>> (부호 없는 오른쪽 시프트)

 

int a = 5; // 101 (2진수)
int b = 3; // 011 (2진수)

int andResult = a & b; // 001 (2진수, 1)
int orResult = a | b; // 111 (2진수, 7)
int xorResult = a ^ b; // 110 (2진수, 6)
int notResult = ~a; // 11111111111111111111111111111010 (2진수, -6)
int leftShiftResult = a << 1; // 1010 (2진수, 10)
int rightShiftResult = a >> 1; // 10 (2진수, 2)

 

 

6. 조건 연산자 (삼항 연산자)

조건 연산자는 조건에 따라 값을 선택하고 반환하는 데 사용됩니다.

(조건식) ? (조건식 == true일 때 실행할 코드) : (조건식 == true일 때 실행할 코드)

 

int x = 10;
int y = 20;
int max = (x > y) ? x : y; // y의 값이 max에 할당됨

 

 

 

7. instanceof 연산자

instanceof 연산자는 객체의 유형을 확인하는 데 사용됩니다.

 

String text = "Hello";
boolean isString = text instanceof String; // true

 

 

 

8. 증감 연산자 

증감 연산자는 변수의 값을 1씩 증가시키거나 감소시키는 데 사용됩니다. 이 연산자들은 변수 값을 변경하는 동시에 해당 값을 반환하기 때문에 다양한 상황에서 유용하게 활용됩니다. 자바에는 다음과 같은 두 가지 유형의 증감 연산자가 있습니다:

  • 전위 증감 연산자 (++var 또는 --var): 변수의 값을 먼저 증가시키거나 감소시킨 후, 변경된 값을 반환합니다.
int x = 5;
int result = ++x; // x를 1 증가시킨 후 result에 할당
// x는 이제 6, result는 6

 

  • 후위 증감 연산자 (var++ 또는 var--): 변수의 값을 현재 값으로 반환한 후에 증가시키거나 감소시킵니다.
int y = 10;
int result = y--; // y를 result에 할당한 후 y를 1 감소
// result는 10, y는 이제 9

 

 

 


연산자 우선순위와 결합성

자바 연산자는 연산의 우선순위를 가지며, 연산자의 우선순위는 연산식에서 어떤 연산자가 먼저 계산되는지 결정합니다. 또한 괄호를 사용하여 우선순위를 변경할 수 있습니다. 이러한 우선순위를 이해하면 코드를 작성하고 읽을 때 혼동을 줄일 수 있습니다.

 

다음은 자바 연산자의 일반적인 우선순위 목록입니다. 연산자의 우선순위는 상위에 있는 것이 하위에 있는 것보다 더 높습니다.

괄호  ( ) 가장 높은 우선순위를 가지며, 괄호 안의 연산이 가장 먼저 수행됩니다.
단항 연산자 +, -, ++, --, ! 단항 연산자는 피연산자에 대해 가장 먼저 계산됩니다.
산술 연산자 *, /, %, +, - 산술 연산자는 곱하기와 나누기가 덧셈과 뺄셈보다 먼저 계산됩니다. 그리고 곱하기, 나누기, 나머지 연산자 간에는 동일한 우선순위를 갖습니다.
시프트 연산자 <<, >>, >>> 시프트 연산자는 주어진 비트만큼 우측/좌측으로 밀어 이동하는 연산자입니다.
관계 연산자 <, >, <=, >=, instanceof 비교연산자(관계연산자, 등호 연산자)는 값을 비교하여 참과 거짓을 판단하는 연산자입니다.
등호 연산자 ==, !=
비트 연산자 &, ^, | 비트연산자는 비트 단위의 NOT, AND, OR, XOR 연산을 수행하는 연산자입니다.
논리 연산자 &&, || 논리 AND (&&)는 논리 OR (||)보다 먼저 계산됩니다.
조건 연산자 조건? A : B 조건 연산자는 삼항 연산자로, 조건식의 평가 결과에 따라 다른 피연산자 중 하나가 선택됩니다.
할당 연산자 =, +=, -= 등 할당 연산자는 가장 낮은 우선순위를 가지며, 대입 연산이 가장 마지막에 수행됩니다.

 

우선순위를 사용하여 연산자가 어떤 순서로 계산되는지를 제어할  있지만, 코드의 가독성을 높이고 혼동을 줄이기 위해 괄호를 사용하는 것이 좋습니다. 괄호를 사용하면 연산자의 우선순위에 상관없이 원하는 순서대로 연산을 수행할  있습니다.

 

 

 

 

자바의 특수 문자, 서식 문자, 그리고 연산자는 프로그래밍에서 핵심적인 역할을 합니다. 이러한 요소를 잘 이해하고 활용하면 코드를 더 효율적으로 작성하고 유지 관리할 수 있습니다. 

 

 

 

 

'# Coding > Java' 카테고리의 다른 글

자바 객체 지향 프로그래밍  (1) 2023.09.14
자바 조건문 반복문  (0) 2023.09.13
자바 배열, 배열과 메모리  (0) 2023.09.12
자바 변수 기본자료형  (0) 2023.09.11
Web Service & Web Application  (0) 2021.10.04