본문 바로가기

IT & AI/AI 지식

JAVA 변수, 연산자, 데이터 입출력

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

안녕하세요! 문과 출신 방구석 데이터 전문가와 함께하는 JAVA 기초 글에 오신걸 환영합니다. 지난 글까지는 파이썬과 C언어를 다뤄보았는데 JAVA는 C언어와 비슷한 부분이 많아서 C언어를 잘 아시는 분이라면 굉장히 유리한 언어라고 보시면 될 것 같습니다.

그럼 JAVA의 시작이니만큼 JAVA의 전반적인 개념부터 변수, 타입, 연산자를 통한 데이터 입출력까지 정리해보았습니다.

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 기초 변수, 연산자, 데이터 입출력 이해 소개 이미지

반응형