변수 : 값을 저장하는 메모리 공간
100과 200을 저장하려면 이 두값을 담을 그릇 → 변수가 두개 필요하다.
public class Code2_2 {
public static void main(String[] args) {
int a = 100 ;
int b = 200 ;
}
}
→ 화면에 값을 출력하는 메서드인 System.out.println() 을 사용하지 않으면 화면에 아무것도 나오지 않는다.
→ 또한 자바 코드는 문장의 끝에 반드시 세미콜론 ; 을 넣어줘야 한다.
그릇에 비유되는 변수
int : 정수형을 뜻하는 integer의 약자
double : 실수형 변수
char : 문자형 변수
String : 문자열형 변수
대입연산자 (=) : 오른쪽의 값을 왼쪽에 넣으라는 의미
변수의 값 더하기
public class Code2_3 {
public static void main(String[] args){
int a = 100 ;
int b = 200 ;
int c = a + b ;
}
}
변수의 값 출력
System.out.println() 은 괄호안의 내용을 화면에 출력하는 기능을 한다.
public class Code2_4 {
public static void main(String[] args) {
int a = 100 ;
int b = 200 ;
int c = a + b ;
System.out.println(c); // 300 출력
}
}
public class Code2_5 {
public static void main (String[] args) {
int a = 100;
int b = 200;
int c = a+b;
System.out.println(a + "+" + b + "=" + c) ;
// 100+200=300 출력
}
}
변수를 선언하고 값을 대입할 때 주의해야 할 점
올바른 값 대입 , 대입연산자에서는 =의 오른쪽인 부분이 모두 계산된 후 왼쪽에 대입된다는 것을 주의해야 함
모든 코드에서 = 의 왼쪽에는 변수가 있어야 함
하지만 = 의 오른쪽이 모두 변수일 필요는 없음
= 오른쪽에서는 값과 값의 연산이든 변수와 값의 연산이든 문제없이 처리됨
result = 100 + num1 ;
잘못된 값 대입
대입 연산자의 왼쪽에는 무조건 변수가 있어야 함
100 = num1 + num2 ;
(X)
num1 + num2 = 100 ;
(X) 왼쪽에는 변수 1개!
빼기 연산 코드
result = num1 - num2 ;
System.out.println(num1 + “-” + num2 + “=” + result);
// 100-50=50 출력
곱하기 연산 코드
result = num1 * num2 ;
System.out.println(num1 + "*" + num2 + "=" + result);
// 100*50=5000
나누기 연산 코드
result = num1 / num2;
System.out.println(num1 + "/" + num2 + "=" + result);
// 100/50=2
사칙연산 계산기 코드
public class Code2_7 {
public static void main(String[] args) {
int num1, num2, result ;
num1 = 100;
num2 = 50 ;
// add
result = num1 + num2 ;
System.out.println (num1 + "+" + num2 + "=" + result) ;
// minus
result = num1 - num2 ;
System.out.println (num1 + "-" + num2 + "=" + result) ;
// multiple
result = num1 * num2 ;
System.out.println (num1 + "*" + num2 + "=" + result) ;
// divide
result = num1 / num2 ;
System.out.println (num1 + "/" + num2 + "=" + result) ;
}
}
출력결과
100+50=150
100-50=50
100*50=5000
100/50=2
문자열(String)에는 큰 따옴표(” “) 를 사용
한글자로 이루어진 문자 (char)에는 작은 따옴표(’ ‘) 를 사용한다.
String str1 = "난생처음" ;
String str2 = "자바" ;
System.out.println(str1);
System.out.println(str2);
// 난생처음자바 출력
문자열의 더하기 빼기 연산
빼기 연산은 오류 발생
String result = str1 + str2 ;
System.out.println(result) ; // 문자열의 더하기 빼기 연산
public class Code2_8 {
public static void main(String[] args) {
String str1 = "난생처음" ;
String str2 = "자바" ;
System.out.println(str1);
System.out.println(str2);
String result = str1 + str2 ;
System.out.println(result) ;
}
}
public class Code2_9 {
public static void main (String[] args) {
int number1 = 10, number2 = 20;
int resAdd;
int resSub;
int resMul;
int resDiv;
resAdd = number1 + number2 ;
resSub = number1 - number2 ;
resMul = number1 * number2 ;
resDiv = number1 / number2 ;
System.out.println(number1 + "+" + number2 + "=" + resAdd);
System.out.println(number1 + "-" + number2 + "=" + resSub);
System.out.println(number1 + "*" + number2 + "=" + resMul);
System.out.println(number1 + "/" + number2 + "=" + resDiv);
}
}
10+20=30
10-20=-10
10*20=200
10/20=0
double resDiv ; resDiv = (double) number1 / number2 ;
int abc = 100 ; (0)
int its4you = 200 ; (0)
int 444 = 100 ; (X)
int 3away = 200 ; (X)
언더바 사용가능
input_num
, _*number
, __my__
, _1
, _1234
대/소문자 구분
예약어 사용 불가
클래스명을 변수로 사용하면 문법상 오류가 발생하진 않지만 클래스 본래의 기능을 잃어버려 프로그램이 엉망이 될 수 있다.
클래스명을 변수로 사용해 오류가 발생하는 경우
int a = 100 ;
(X)
int first_number_of_intput_value = 100 ;
(X)
4가지 꼭 지켜주자!
1. import java.utill.Scanner;
2. Scanner s = new Scanner(System.in);
3. score = s.nextInt() ; // next()는 문자열, nextDouble()은 실수
4. s.close()
: 변수의 값을 키보드로 입력받도록 도와주는 역할을 함
import java.utill.Scanner;
Scanner s = new Scanner(System.in); // System.in => 외부로 부터 입력받기 위해
변수명 = s.nextInt(); // 정수 입력받기
s.close()
nextInt( )
: 사용자로부터 정수를 입력받을 때 사용하는 메서드import java.util.Scanner ;
public class Code2_10 {
public static void main(String[] args) {
Scanner s = new Scanner(System.in) ;
int num ;
num = s.nextInt();
System.out.println("사용자가 입력한 값 ==> " + num);
s.close();
}
}
nextDouble( )
: 실수를 입력 받을 때next( )
: 문자열 입력받을 때 import java.util.Scanner;
public class Code2_11{
public static void main (String[] args) {
Scanner s = new Scanner(System.in);
double num ;
System.out.println("실수를 입력하시오 : ");
num = s.nextDouble();
System.out.println("사용자가 입력한 값 ==>" + num);
String str;
System.out.println("문자열을 입력하시오 : ");
str = s.next();
System.out.println("사용자가 입력한 값 ==>" + str);
s.close();
}
}
public class Code2_12 {
public static void main(String[] args) {
int num1;
double num2;
String str;
str = "1234";
num1 = Integer.parseInt(str);
System.out.println("문자열 ==> 정수 : " + num1);
str = "3.14";
num2 = Double.parseDouble(str);
System.out.println("문자열 ==> 실수 : " + num2);
}
}
출력 결과
문자열 ==> 정수 : 1234
문자열 ==> 실수 : 3.14
import java.util.Scanner;
public class Code2_Calculate{
public static void main (String[] args) {
// 변수 선언 , 나누기 결과는 실수형으로 준비
int num1, num2 ;
int resAdd;
int resSub;
int resMul;
double resDiv;
int resRem;
Scanner s = new Scanner(System.in); // Scanner 클래스 사용
// 두 정수를 입력 받는 부분
System.out.println("정수1 ===> " );
num1 = s.nextInt();
System.out.println("정수2 ===> " );
num2 = s.nextInt();
// 연산 수행 후 출력
resAdd = num1 + num2 ;
System.out.println(num1 + "+" + num2 + "=" + resAdd);
resSub = num1 - num2 ;
System.out.println(num1 + "-" + num2 + "=" + resSub);
resMul = num1 * num2 ;
System.out.println(num1 + "*" + num2 + "=" + resMul);
resDiv = (double) num1 / num2 ;
// result = Double.parseDouble(num1);
System.out.println(num1 + "/" + num2 + "=" + resDiv);
resRem = num1 % num2 ;
System.out.println(num1 + "%" + num2 + "=" + resRem);
s.close();
}
}