[[ 변수 ]]
변수란?
변수란 컴퓨터에 데이터를 저장하기 위한 공간을 뜻한다.
변수 문법
자료형 변수명;
변수 이름
자료형에 들어가기에 앞서, 변수명은 프로그램의 가독성과 유지보수에 큰 영향을 주므로 규칙을 잘 지켜주는 것이 중요하다.
- 카멜케이스 사용 권장 (myCar, totalPrice 등)
- 명사 형태로 작성
- 특수문자는 ( _, $ ) 사용가능
- 숫자로 시작할 수 없음 (X 1st Car)
- 공백 사용 불가 (X my car)
- 예약어 사용 불가 (X int, X class, X ture)
자료형
자료형은 저장되는 데이터의 종류와 형태를 뜻한다.
| 자료형 | 종류 | 범 | 바이트 |
| boolean | 논리형 | true/false | 1 |
| char | 문자형 | 0 ~ 65535 유니코드 값 | 2 |
| byte | 정수형 | -128 ~ 127 | 1 |
| short | 정수형 | -32,768 ~ 32,767 | 2 |
| int | 정수형 | -2,147,483,648 ~ 2,147,483,647 | 4 |
| long | 정수형 | -9,233,372,036,854,775,808 ~ 9,233,372,036,854,775,807 | 8 |
| float | 실수형 | 약 소수점 6~7자리까지 | 4 |
| double | 실수형 | 약 소수점 15~17자리까지 | 8 |
※ 자바에서 실수형 변수는 기본적으로 double 형으로 취급되어, 그 결과 메모리 크기와 정밀도가 다르게 처리된다.
따라서, 실수형(float)으로 저장하기 위해서는 소수점 뒤에 f를 꼭 붙여줘야 한다. 그렇지 않으면 double 형으로 인식한다.
// 실수형(float) *꼭 뒤에 f를 붙여줘야 한다.
float floatBox = 0.12345678f;
// 실수형(double)
double doubleBox = 0.12345678901234567;
※ 문자 vs 문자열
char a = 'a'; // ''사용
String str = "abc"; // ""사용 + 문자열 자료형의 첫글자는 대문자이다.
형변환 (Casting)
형 변환은 변수의 자료형을 다른 자료형으로 변경하는 것을 의미한다.
1) 업캐스팅(UpCasting)
int smallBox = 10;
double bigBox = smallBox; // int -> double
System.out.println(bigBox); // 출력: 10.0
2) 다운 캐스팅(DownCasting)
double bigBox = 10.111;
int smallBox = (int) bigBox; // double -> int
System.out.println(smallBox); // 출력: 10 !데이터손실발생!
[[ 입출력 ]]
출력
출력은 컴퓨터가 결과를 콘솔(화면)에 보여주는 것을 의미한다. 자바에서는 System 객체를 사용하여 출력 작업을 처리한다.
System.out.print("Hello World!"); // print : 출력 후 자동 줄바꿈 X
System.out.println("Hello Java!"); // println : 출력 후 자동 줄바꿈 O
입력
입력은 사용자로부터 데이터를 받아오는 과정이다. 자바에서는 Scanner라는 객체를 사용하여 입력 작업을 처리한다.
// Scanner 사용을 위해 import java.util.Scanner; 할것
Scanner scanner = new Scanner(System.in);
// 문자형 입력받기
System.out.print("문장을 입력하세요: ");
String StringBox = scanner.nextLine();
System.out.println("StringBox = " + StringBox);
// 정수형(int) 입력받기
System.out.print("정수(int)를 입력하세요: ");
int intBox = scanner.nextInt(); // next+[자료형]()을 이용하여 자료형에 맞는 값을 입력 받을 수 있다.
System.out.println("intBox = " + intBox);
실습 1
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("이름을 입력하세요: ");
String name = scanner.nextLine();
System.out.print("나이를 입력하세요: ");
int age = scanner.nextInt();
System.out.println("출력 결과 : ");
System.out.println("이름: " + name);
System.out.println("나이: " + age);
}
}
[[ 연산자 ]]
산술연산자
| 종류 | 의미 |
| + | 더하기 |
| - | 빼기 |
| * | 곱하기 |
| / | 나누기 |
| % | 나머지 |
대입연산
1) 대입연산자
대입연산자(=)는 변수에 값을 할당하는 데 사용된다.
int num = 5;
2) 복합 대입연산자
복합 대입연산자는 누적 값을 구할 때 자주 사용한다.
int num = 5;
num += 3; // num = num + 5
증감연산자
증감 연산자는 변수를 1 증가 (++) 또는 1 감소 (--) 시킬 때 사용된다.
1) 전위 연산
int num = 5;
System.out.println("++num: " + (++num)); // 출력: 6 (먼저 증가 후 출력)
System.out.println("num: " + num); // 출력: 6
2) 후위 연산
int num = 5;
System.out.println("num++: " + (num++)); // 출력: 5 (출력 후 증가)
System.out.println("num: " + num); // 출력: 6
비교연산자
| 기호 | 의미 | |
| 같음 연산자 | == | 두 값이 같으면 true |
| 다름 연산자 | != | 두 값은 다르면 true |
| 크기 비교 연산자 | >, <, >=, <= | 양쪽의 값을 비교하여 논리에 맞으면 ture |
논리연산자
| 기호 | 의미 | |
| AND 연산자 | && | 두 조건이 모두 참일 때 true |
| OR 연산자 | || | 두 조건 중 하나라도 참일 때 true |
| NOT 연산자 | ! | false 일 때 true |
문자열비교
문자열을 비교할 때에는 ==이 아닌, .equals()을 사용해야 한다. ( ==는 문자열 값을 비교하는 것이 아니라 메모리 주소를 비교하는 것이다.)
String text1 = "Hello";
String text2 = "Hello";
boolean isEqual = text1.equals(text2);
System.out.println(isEqual); // 출력: true
실습 2
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// Q1.산술 연산자 문제
int a = 15;
int b = 4;
int sum = a + b;
System.out.println("덧셈 결과: " + sum);
int sub = a - b;
System.out.println("뺄셈 결과: " + sub);
int mul = a * b;
System.out.println("곱셈 결과: " + mul);
int div = a / b;
System.out.println("나눗셈 결과: " + div);
int mod = a % b;
System.out.println("나머지 결과: " + mod);
// Q2.비교 연산자 문제
int x = 10;
int y = 20;
boolean isBigger = x > y;
System.out.println("x가 y보다 큰가? " + isBigger);
boolean isSmaller = x < y;
System.out.println("x가 y보다 작은가? " + isSmaller);
boolean isEqual = x == y;
System.out.println("x와 y가 같은가? " + isEqual);
boolean isNotEqual = x != y;
System.out.println("x와 y가 다른가? " + isNotEqual);
// Q3.두 문자열이 같은지 비교할 수 있는 프로그램
Scanner scanner = new Scanner(System.in);
System.out.print("첫 번째 문자열을 입력하세요: ");
String str1 = scanner.nextLine();
System.out.print("두 번째 문자열을 입력하세요: ");
String str2 = scanner.nextLine();
boolean strisEqual = str1.equals(str2);
System.out.println("두 문자열이 같은가요? " + strisEqual);
}
}
'Java' 카테고리의 다른 글
| [Java] 객체지향 - 캡슐화 / 상속 / 추상화 / 다형성 (0) | 2025.04.17 |
|---|---|
| [Java] 인터페이스 (0) | 2025.04.16 |
| [Java] 클래스 / 래퍼클래스 / staic / final (0) | 2025.04.15 |
| [Java] 조건문 / 반복문 / 배열 / 메서드 (0) | 2025.04.15 |
| [Java] Java에 대하여 (0) | 2025.04.14 |