본문 바로가기
IT & AI/AI 지식

JAVA 초보자를 위한 변수, 연산자, 데이터 입출력 이해

by 빛나는해커 2024. 11. 20.

1. JAVA (자바)

 

프로그래밍 언어와 자바

  • 자바(Java)는 객체 지향적이고 플랫폼 독립적인 프로그래밍 언어이다.
  • 썬 마이크로시스템즈에서 1995년에 처음 발표한 자바는 현재 오라클에 의해 관리되고 있으며, '한 번 작성하여 어디서나 실행할 수 있다'는 철학을 가지고 있다.
  • 이러한 특징 덕분에 자바는 웹 애플리케이션, 안드로이드 애플리케이션, 서버 측 애플리케이션 등 다양한 분야에서 널리 사용된다.

자바 프로그램 개발 과정

  • 자바 프로그램은 컴파일러에 의해 바이트 코드(. class 파일)로 변환된 후, 자바 가상 기계(JVM)가 이 바이트 코드를 해석하여 실행한다.
  • 이 바이트 코드는 운영체제에 독립적이므로, JVM이 있는 어디에서나 동일하게 실행될 수 있다.
  • 자바 프로젝트를 생성하고 실행하기 위해서는 IDE(통합 개발 환경) 또는 명령 줄을 사용할 수 있다.
  • Eclipse나 IntelliJ 같은 IDE를 사용하면 개발 속도를 높일 수 있으며, 명령 줄에서는 다음과 같은 단계를 통해 컴파일하고 실행할 수 있다.
// 컴파일하기
javac HelloWorld.java

// 실행하기
java HelloWorld
  • 명령 줄에서 javac 명령어를 사용하여 소스 파일(.java)을 컴파일하면 바이트 코드 파일(. class)이 생성된다.
  • 그런 다음 java 명령어로 바이트 코드 파일을 실행할 수 있다.
  • 자바 소스 파일은 보통 클래스 선언과 main 메서드로 구성되어 있다.
  • public static void main(String[] args) 메서드는 자바 프로그램의 진입점이며, JVM은 이 메서드부터 실행을 시작한다.
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}
  • 주석은 코드에 설명을 추가하여 가독성을 높이는 데 사용된다.
  • 자바에서는 //를 사용하여 한 줄 주석을, /* */을 사용하여 여러 줄 주석을 작성할 수 있다.
// 한 줄 주석 예제
/*
여러 줄 주석 예제
코드의 설명을 위해 사용됨
*/
  • 자바에서 실행문은 반드시 세미콜론(;)으로 끝나야 한다. 이는 컴파일러가 실행문의 끝을 인식하도록 돕는 역할을 한다.

2.  변수와 타입

 

변수

  • 변수는 데이터를 저장하는 메모리 공간의 이름이다.
  • 자바에서 변수를 사용하려면 먼저 데이터 타입과 함께 선언해야 한다.
int age;
  • 변수에 값을 저장할 때는 = 연산자를 사용한다.
  • 변수 선언과 값을 동시에 초기화할 수도 있다.
age = 25;
int height = 180;
  • 선언된 변수는 그 값을 참조하여 연산에 사용하거나 출력할 수 있다.
System.out.println("나이: " + age);
  • 변수는 선언된 블록 내에서만 사용 가능하다.
  • 이를 변수의 유효 범위 또는 스코프(scope)라고 한다.
public void example() {
    int localVar = 10;  // localVar은 이 블록 내에서만 유효함
}

 

기본 타입

  • 자바에는 여러 정수 타입이 있으며, 대표적으로 byte, short, int, long이 있다.
  • 각 타입은 저장할 수 있는 정수의 범위가 다르다.
int num = 100;
long bigNum = 10000000000L;
  • 실수를 저장하기 위한 타입으로 float와 double이 있다.
  • float은 단정밀도, double은 배정밀도를 지원하며, 더 많은 소수점 이하 자릿수를 처리할 수 있다.
float height = 180.5f;
double weight = 75.8;
  • 논리 타입은 boolean으로, 참(true)과 거짓(false)의 두 가지 값만을 가질 수 있다.
boolean isStudent = true;

 

타입 변환

  • 자동 타입 변환은 작은 크기의 타입이 큰 크기의 타입으로 변환되는 경우 자동으로 이루어진다.
  • 이를 '묵시적 형변환'이라고도 한다.
int num = 10;
double result = num;  // int가 double로 자동 변환됨
  • 큰 크기의 타입을 작은 크기의 타입으로 변환하려면 명시적으로 형변환을 해야 한다.
  • 이를 '캐스팅'이라고 한다.
double d = 9.7;
int i = (int) d;  // 실수를 정수로 강제 변환, 소수점 이하 부분이 제거됨
  • 정수 타입끼리의 연산에서 크기가 작은 타입은 자동으로 큰 타입으로 변환된다.
byte a = 10;
short b = 20;
int sum = a + b;  // byte와 short가 int로 자동 변환됨
  • 실수 연산에서도 작은 크기의 타입이 큰 크기의 타입으로 자동 변환된다.
float f = 5.5f;
double d = 3.3;
double total = f + d;  // float가 double로 변환됨
  • 문자열과 다른 타입의 데이터를 + 연산자로 결합하면 다른 타입이 문자열로 자동 변환된다.
int num = 100;
String str = "결과: " + num;  // 정수 num이 문자열로 변환되어 결합됨
  • 문자열을 정수나 실수와 같은 기본 타입으로 변환하려면 래퍼 클래스의 변환 메서드를 사용한다.
String str = "123";
int value = Integer.parseInt(str);  // 문자열을 정수로 변환

 

변수와 시스템 입출력

  • System.out.println() 메서드를 사용하여 변수의 값을 출력할 수 있다.
int score = 95;
System.out.println("점수: " + score);
  • Scanner 클래스를 사용하여 사용자로부터 입력을 받아 변수를 초기화할 수 있다.
import java.util.Scanner;

public class InputExample {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("나이를 입력하세요: ");
        int age = scanner.nextInt();
        System.out.println("입력한 나이: " + age);
    }
}

3. 변수와 데이터 입력

 

연산자와 연산식

  • 연산자는 데이터를 처리하여 결과를 얻기 위한 기호이다. 자바에는 산술, 비교, 논리, 비트 연산자 등 다양한 종류의 연산자가 있다.
  • 연산자는 특정 방향으로 수행되며, 우선순위에 따라 계산 순서가 결정된다.
  • 산술 연산자가 비교 연산자보다 우선하고, 비교 연산자는 논리 연산자보다 우선한다.
  • 우선순위를 명확히 하기 위해 괄호를 사용할 수 있다.
int result = 5 + 3 * 2;  // 곱셈이 덧셈보다 우선, 결과는 11
int correctedResult = (5 + 3) * 2;  // 괄호로 우선순위 변경, 결과는 16

 

연산자의 종류

  • 단항 연산자는 하나의 피연산자에 대해 연산을 수행한다. 대표적인 단항 연산자로는 +, -, ++, --,! 등이 있다.
    • +, -: 수의 부호를 지정한다.
    • ++, --: 변수를 1씩 증가시키거나 감소시킨다.
    • !: 논리 값을 반전시킨다.
int a = 10;
a++;  // a의 값이 11로 증가
boolean flag = false;
flag = !flag;  // flag의 값이 true로 변경
  • 이항 연산자는 두 개의 피연산자에 대해 연산을 수행한다.
  • 이항 연산자는 산술 연산자(+, -, *, /, %), 비교 연산자(>, <, >=, <=, ==, !=), 논리 연산자(&&, ||) 등이 있다.
int x = 5;
int y = 3;
int sum = x + y;  // 이항 연산자 '+' 사용
boolean result = (x > y);  // 비교 연산자 '>' 사용, 결과는 true
  • 삼항 연산자는 세 개의 피연산자를 필요로 하며, 조건문을 간단하게 표현할 때 사용된다.
  • 형식은 (조건식) ? 참일 때 값 : 거짓일 때 값이다.
int a = 10;
int b = 20;
int max = (a > b) ? a : b;  // a가 b보다 크면 a, 그렇지 않으면 b를 선택
System.out.println("더 큰 값: " + max);  // 출력: 더 큰 값: 20

JAVA 기초 변수, 연산자, 데이터 입출력 이해 소개 이미지