<목차>
1) 변수
1-1) 변수의 교환
2) 진수
3) 데이터 타입(자료형)
3-1) 문자형(char), 탈출 문자, 텍스트 블록
4) 연산자
4-1) 산술 연산자
4-2) 대입 연산자
4-3) 관계 연산자
4-4) 복합 관계 연산자
4-5) 증감 연산자
4-6) 논리 연산자
4-7) 삼항 연산자
5) eclipse 실습 코드
1) 변수
1-1) 변수의 교환
package chapter01.basic;
public class Basic_Example02 {
public static void main(String[] args) {
/*
변수의 교환
출력 결과 :
교환 전
x = 200;
y = 100;
교환 후
x = 100;
y = 200;
*/
int x = 200;
int y = 100;
System.out.println("교환 전");
System.out.println("x = " + x);
System.out.println("y = " + y);
System.out.println("교환 후");
int t;
t = x;
x = y;
y = t;
System.out.println("x = " + x);
System.out.println("y = " + y);
}
}
2) 진수
package chapter02.data;
public class Radix {
public static void main(String[] args) {
// radix(기수, 진수)
int a = 10;
int b = 015; // 0으로 시작하면 8진수
int c = 0x10; // 0x, 0X로 시작하면 16진수
int d = 0b1001; // 0b, 0B로 시작하면 2진수
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);
}
}
3) 데이터 타입(자료형)
3-1) 문자형(char), 탈출 문자, 텍스트 블록
package chapter02.data;
public class CharType {
public static void main(String[] args) {
// 문자형(char)
char ch1 = '한';
char ch2 = '\uD55C'; // "\"를 사용하면 "유니코드"를 사용하겠다는 의미이다!!
System.out.println(ch1);
System.out.println(ch2);
int i = ch1;
System.out.println(i);
// 탈출문자(escape sequence)
// " 문자열 안 "에서 특수한 기능을 수행하는 명령어
System.out.println(" 안 녕 하 \n 세 요 ");
System.out.println(" 안 녕 하 \t 세 요 ");
System.out.println(" 안 녕 하 \' 세 요 ");
System.out.println(" 안 녕 하 \" 세 요 ");
System.out.println(" 안 녕 하 \\ 세 요 ");
System.out.println("그가 말했다. \"안녕?\" ");
// 텍스트 블록(text block)
// java 15 때 도입됨!
String str = """
아름다운 이 땅에 금수강산에
단군 할아버지가 "터" 잡으시고
'홍익인간' 뜻으로 나라 세우니
대대손손 훌륭한 인물도 많아.
""";
System.out.println(str);
}
}
4) 연산자
4-1) 산술 연산자 : 사칙 연산에 사용
- + (덧셈)
- - (뺄셈)
- * (곱셈)
- / (몫)
- % (나머지)
4-2) 대입 연산자 : 변수에 값을 대입하는 연산자
int num = 100;
4-3) 관계 연산자 : 두 항을 비교하여 결과를 true or false로 변환(논리형 데이터 타입)
>, <, >=, <=, ==, !=
num > 3;
num < 3;
num >= 3;
num <= 3;
num == 3;
num != 3;
4-4) 복합 관계 연산자 : 대입 연산자와 다른 연산자를 조합해 하나의 연산자처럼 사용
+=, -=, *=, /=, %=
num += 3 --> num = num + 3
num -= 3 --> num = num – 3
num *= 3 --> num = num * 3
num /=3 --> num = num / 3
num %= 3 --> num = num % 3
4-5) 증감 연산자 : 변수에 값을 1만큼 증가시키거나 감소시키는 연산자
// num++; or ++num;
// num--; or --num;
int num = 100;
int result = 0;
result = num++;
// result 출력 결과 : 100
4-6) 논리 연산자 : 두 명제의 결과를 연산하여 ture or false로 반환(논리형 데이터 타입)
// and 연산자
true && true --> true
true && false --> false
false && true --> false
false && false --> false
// or 연산자
true || true --> true
true || false --> true
false || true --> true
false || false --> false
// not 연산자
! (true) --> false
! (false) --> true
4-7) 삼항 연산자(조건식 ? 결과1 : 결과2) = 조건 연산자 : 조건식이 true인지 false인지의 여부에 따라 결과를 다르게 출력
int num = 100;
char result;
result = (num > 50) ? ‘T’ : ‘F’;
+) eclipse 연습 코드
package chapter03.operator;
public class Arithmetic {
public static void main(String[] args) {
// 산술 연산자
int a = 6, b = 4;
System.out.println(a + " + " + b + " = " + (a+b));
System.out.println(a + " - " + b + " = " + (a-b));
System.out.println(a + " * " + b + " = " + (a*b));
System.out.println(a + " / " + b + " = " + (a/b));
System.out.println(a + " / " + b + " = " + ((float) a/b));
// (float) a / b
// 6.0 / 4
// 6.0 / 4.0
// 1.5
// 연산이 가능한 두 타입 중 큰 타입에 자동 형 변환이 일어난다!!
System.out.println(a + " % " + b + " = " + (a%b));
}
}
package chapter03.operator;
public class Operator1 {
public static void main(String[] args) {
// 대입 연산자
int a = 3, b = 4, c = 5, sum;
sum = a + b + c;
System.out.println(sum);
// 관계 연산자
int num = 10;
System.out.println(num > 3);
System.out.println(num < 3);
System.out.println(num >= 3);
System.out.println(num <= 3);
System.out.println(num == 3);
System.out.println(num != 3);
// 복합 관계 연산자
int num2 = 3;
System.out.println(num2 += 3); // num2 = num2 + 3
System.out.println(num2 -= 3); // num2 = num2 - 3
System.out.println(num2 *= 3); // num2 = num2 * 3
System.out.println(num2 /= 3); // num2 = num2 / 3
System.out.println(num2 %= 3); // num2 = num2 % 3
}
}
package chapter03.operator;
public class Operator2 {
public static void main(String[] args) {
// 증감 연산자
int value = 2;
int a = ++value;
System.out.println("value = " + value + ", a = " + a);
value = 2;
a = value++;
System.out.println("value = " + value + ", a = " + a);
// 부호 연산자
int value2 = 8;
System.out.println(value2);
value2 = -value2;
System.out.println(value2);
// 문자열 연결
System.out.println(4 + 5);
System.out.println("영구와 " + "땡칠이");
System.out.println("응답하라 " + 1999);
System.out.println(19 + 99 + "응답하라");
System.out.println("" + 19 + 99 + "응답하라");
String str = "안녕" + "하세요" + 13313;
System.out.println(str);
}
}
package chapter03.operator;
public class Operator3 {
public static void main(String[] args) {
// 논리 연산자
int num1 = 10;
int num2 = 20;
// and 연산자( && )
boolean flag = (num1 > 0) && (num2 > 0);
System.out.println(flag);
// or 연산자( || ) <-- shift + 백슬러시
flag = (num1 < 0) || (num2 > 0);
System.out.println(flag);
// not 연산자( ! )
System.out.println( !flag );
System.out.println("=========");
// 논리 연산자의 함정
int num = 10;
int i = 2;
boolean value = ((num = num + 10) < 10) && ((i = i + 2) < 10);
System.out.println(value);
System.out.println(num);
System.out.println(i); // && 논리 연산자의 경우, 앞의 조건이 "false"이면 뒤의 조건 결과에 상관없이 어차피 "false"라 뒤의 조건은 수행하지 않기 때문에 i=2가 출력된다!
num = 10;
i = 2;
value = ((num = num + 10) > 10) || ((i = i + 2) < 10);
System.out.println(value);
System.out.println(num);
System.out.println(i); // || 논리 연산자의 경우, 앞의 조건이 "true"이면 뒤의 조건 결과에 상관없이 어차피 "true"라 뒤의 조건은 수행하지 않기 때문에 i=2가 출력된다!
}
}
package chapter03.operator;
public class Operator4 {
public static void main(String[] args) {
// 삼항 연산자, 조건 연산자
// 조건식 ? true일 경우 결과값 : false일 경우 결과값
int fatherAge = 45;
int motherAge = 47;
String result = fatherAge > motherAge ? "아빠가 연상" : "엄마가 연상";
System.out.println(result);
}
}
5) eclipse 실습 코드
패키지 chapter03.operator
1. Oper_Example01.class
package chapter03.operator;
import java.util.Scanner;
public class Oper_Example01 {
public static void main(String[] args) {
/*
상품가격과 받은 금액을 입력받아서 거스름돈을 출력
출력결과 :
받은 금액 : 10000
상품 가격 : 1500
거스름돈 : 8500
*/
Scanner scan = new Scanner(System.in);
System.out.print("받은 금액 : ");
int cash = scan.nextInt();
System.out.print("상품 가격 : ");
int price = scan.nextInt();
int change = cash - price;
System.out.println("거스름돈 : " + change);
}
}
2. Oper_Example02.class
package chapter03.operator;
import java.util.Scanner;
public class Oper_Example02 {
public static void main(String[] args) {
/*
과목 3개를 입력받아 점수에 따른 합격여부를 출력한다.
합격조건 :
1) 세 과목의 평균점수가 60점 미만일 것
2) 한 과목이라도 40점 미만일 경우 과락으로 불합격
출력 결과 :
국어: 80
영어: 80
수학: 35
합격여부: false
*/
Scanner scan = new Scanner(System.in);
System.out.print("국어: ");
int korean = scan.nextInt();
System.out.print("영어: ");
int english = scan.nextInt();
System.out.print("수학: ");
int math = scan.nextInt();
double avg = (korean + english + math) / 3.0;
System.out.println(avg);
boolean result = avg >= 60 && korean >= 40 && english >= 40 && math >= 40;
System.out.println("합격여부: " + result);
/*
// 합격여부 String 타입으로 출력하는 코드
String result2 = (korean + english + math) / 3 >= 60 && korean >= 40 && english >= 40 && math >= 40
? "true"
: "false";
System.out.println("합격여부: " + result2);
*/
}
}
3. Oper_Example03.class
package chapter03.operator;
import java.util.Scanner;
public class Oper_Example03 {
public static void main(String[] args) {
/*
각 자릿수의 합 구하기
출력결과:
0 ~ 999 사이의 정수를 입력하세요
315
각 자릿수의 합: 9
*/
Scanner scan = new Scanner(System.in);
System.out.println("0 ~ 999 사이의 정수를 입력하세요");
int input = scan.nextInt();
int num100 = input / 100;
int num10 = (input % 100) / 10;
int num1 = (input % 100) % 10;
int sum = num100 + num10 + num1;
System.out.println("각 자릿수의 합: " + sum);
}
}
4. Oper_Example04.class
package chapter03.operator;
import java.util.Scanner;
public class Oper_Example04 {
public static void main(String[] args) {
/*
정수 3개를 입력받아 각 변수(kor, eng, math)에 값을 넣고,
총합(sum)과 평균(avg)을 출력하세요.
평균값은 소수점을 포함한 점수로 출력하세요.
hint) 평균에 소수점 구하기 --> 연산 중에 자동 형 변환 참고
출력결과 :
kor 점수: 80
eng 점수: 75
math 점수: 35
총합: 190 평균: 63.333333333333336
*/
Scanner scan = new Scanner(System.in);
System.out.print("kor 점수: ");
int kor = scan.nextInt();
System.out.print("eng 점수: ");
int eng = scan.nextInt();
System.out.print("math 점수: ");
int math = scan.nextInt();
int sum = kor + eng + math;
double avg = sum / 3.0;
System.out.print("총합: " + sum + " 평균: " + avg);
}
}
5. Oper_Example05.class
package chapter03.operator;
import java.util.Scanner;
public class Oper_Example05 {
public static void main(String[] args) {
/*
정수 3개를 입력받아 각 변수(a, b, c)에 값을 넣고,
입력받은 값 중 최대값(max)을 출력하세요.
hint) 삼항 연산자(중복 사용)
출력결과 :
첫번째 정수: 2
두번째 정수: 4
세번째 정수: 1
최대값: 4
*/
Scanner scan = new Scanner(System.in);
System.out.print("첫번째 정수: ");
int firstNum = scan.nextInt();
System.out.print("두번째 정수: ");
int secondNum = scan.nextInt();
System.out.print("세번째 정수: ");
int thirdNum = scan.nextInt();
int maxNum1 = firstNum > secondNum ? firstNum : secondNum;
int maxNum2 = maxNum1 > thirdNum ? maxNum1 : thirdNum;
System.out.println("최대값: " + maxNum2);
}
}
'Java' 카테고리의 다른 글
Java(6) - 반복문(for 문) 예제 풀이 (0) | 2024.04.17 |
---|---|
Java(5) - 반복문(while 문, do-while 문, for 문) (0) | 2024.04.16 |
Java(4) - 조건문(switch-case 문), 반복문(for 문) (0) | 2024.04.15 |
Java(3) - 제어문(if 조건문), eclipse 실습 코드 (0) | 2024.04.12 |
Java(1) - 개발 환경 설정(JDK 및 IDE 설치), 변수, 자료형, 형 변환 (0) | 2024.04.09 |