변수
변수(variable)
- 값을 저장할 수 있는 메모리상의 공간
- 변수의 값은 변경될 수 있으며, 단 하나의 값 만을 저장
- 객체의 상태를 나타내는 속성
package kr.ac.sesac.exam03;
public class Ex01 {
public static void main(String[] args) {
int age = 10;
int age2;
age2 = 20;
System.out.println(age2);
int today = 20221011;
System.out.println(today);
System.out.println("오늘 날짜는? "+today);
int num = 1;
int num2 = 2;
num = num2;
System.out.println("num : "+num);
}
}
변수 기본 자료형
public class Ex02 {
public static void main(String[] args) {
boolean isTrue = true;
isTrue = false;
char ch = 'A';
byte bt = 10;
short shrt = 100;
int i = 1000;
long lng = 10000;
float flt = 1.1f;
double dble = 123.123;
String str = "문자열 표현 가능";
boolean a = false;
char b = 'a';
short c = 20;
long d = 100L;
float e = 1.2f;
double f = 1.3;
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);
System.out.println(e);
System.out.println(f);
System.out.println(str.getClass().getName());
byte small = 10;
int big;
big = small;
byte small2;
short big2 = 1000;
small2 = (byte) big2;
System.out.println(big);
System.out.println(small2);
}
}
형변환(Casting)
- 값의 타입을 다른 타입으로 변환 ex) int -> str
자동 형변환
강제 형변환
- 큰 타입을 작은 타입으로 강제 변환
- 값 손상 가능해서 권장하지 않음
연산자(Operations)
연산자 종류
연산자 우선순위
- 산술>비교>논리>대입
단항연산자, 이항연산자, 삼항연산자
package kr.ac.sesac.exam03;
import java.util.Scanner;
public class Ex03 {
public static void main(String[] args) {
int a = 10;
a = -a;
System.out.println(a);
boolean b = true;
b = !b;
System.out.println(b);
int c = 10;
int c2 = ++c;
int c3 = c++;
System.out.println("전위 연산"+c2);
System.out.println(c);
System.out.println("후위 연산"+c3);
System.out.println(c);
int i = 1;
int i2 = 2;
int i3 = i + i2;
System.out.println(i3);
int i4 = 30/3;
int i5 = 30%4;
System.out.println(i4);
System.out.println(i5);
int z1 = 0;
z1 = z1 + 1;
z1 += 1;
int y1 = 3;
int y2 = 3;
boolean result = y1 > y2;
System.out.println(result);
result = y1 == y2;
System.out.println(result);
int x1 = 3;
boolean x2 = x1 == 3 ? true : false;
String x3 = x1>0 ? "0보다 크다" : "0보다 작다";
System.out.println(x2);
System.out.println(x3);
if(x1 > 1) {
System.out.println("1보다 크다");
} else {
System.out.println("1보다 크다");
}
boolean b1 = true;
boolean b2 = false;
boolean b3 = b1 || b2;
System.out.println("논리연산자 || 결과값은 : "+b3);
if(0>1 || 2>1) {
System.out.println("결과는 true");
}
int math = 50;
int eng = 90;
int kor = 87;
int sum = math + eng + kor;
float avg = (float)sum / 3;
System.out.println("성적 합계 : "+sum+" 성적 평균 : "+avg);
int score = 0;
System.out.print("성적 입력 : "+score);
Scanner scan = new Scanner(System.in);
score = scan.nextInt();
System.out.println("성적은 : "+score);
char grade = score>=90 ? 'A' : (score >=80 ? 'B':'C');
System.out.println("성적 등급은 : "+grade);
int num = 10;
System.out.println(num % 2 == 0 ? "짝수" : "홀수");
}
}
조건문과 반복문
조건문
if문
package kr.ac.sesac.exam03;
public class Ex04 {
public static void main(String[] args) {
int a = 21;
if(a > 10) {
System.out.println("a는 10보다 클 때 수행");
if(a > 20) {
System.out.println("a는 20보다 클 때 수행");
} else {
System.out.println("a는 10보다 크지만, 20보다 작다.");
}
} else {
}
System.out.println("수행완료");
}
}
switch문
package kr.ac.sesac.exam03;
public class Ex05 {
public static void main(String[] args) {
int a = 5;
switch(a) {
case 1 :
System.out.println("[1]a는 1입니다.");
break;
case 5 :
System.out.println("[2]a는 5입니다.");
break;
case '5' :
System.out.println("[3]a는 '5'입니다.");
break;
default :
System.out.println("[4]a에 해당하는 case가 없습니다.");
}
String str = "cde";
switch (str) {
case "abc" :
System.out.println("abc입니다.");
break;
case "cde" :
System.out.println("cde입니다.");
break;
default :
System.out.println("해당하는 케이스가 없습니다.");
}
}
}