JAVA
연산자
package ch01;
public class test0522 {
public static void main(String[] args) {
int num = 10;
double result1 = num / 3; // 나누기의 몫
double result2 = num % 3; // 나누기의 나머지
System.out.println("몫:" + result1);
System.out.println("나머지:" + result2);
}
}
몫 3과 나머지 1.0으로 출력값을 확인 가능하다.
/ 는 나누기 %는 나누어진 값의 나머지를 구하는 산술 연산자이다.
package ch01;
public class test0522 {
public static void main(String[] args) {
// double은 부동소수점 표기 (근사값을 표기)
int apple1 =1;
double pieceUnit1 = 0.1;
int number1 = 7;
double result1 = apple1 - number1*pieceUnit1;
System.out.print("사과 1개에서 남은 양: " + result1); // 0.29999999999999993
// int는 정수형 표기(정확한 값을 표기)
int apple2 =10;
int pieceUnit2 = 1;
int number2 = 7;
int result2 = apple2 - number2*pieceUnit2;
System.out.print("사과 1개에서 남은 양: " + result2/10.0); // 0.3
}
}
int x = 5;
int y = 0;
int result = x / y;
System.out.print(result); // Error
int x = 5;
double y = 0.0;
double result = x / y;
System.out.print(result); // infinity
int x = 5;
double y = 0.0;
double result = x % y;
System.out.print(result); // NaN
if (Double.isInfinite(result)) {
System.out.println("무한대 입니다!!");
}
int 형으로 0을 사용해 나누면 0의 값으로 나눌수 없다는 Error 발생
double 형으로 0을 사용해 몫과 나머지를 구하면 값이
무한대와 숫자가 아니라는 결과값을 표기한다.
double 결과값이 무한대일때 표기하는 출력문을 추가했다.
String str1 = "자 바";
String str2 = "자바";
if (str1.equals(str2)) {
System.out.println("두 문자열은 동일합니다.!!!");
}else {
System.out.println("두 문자열은 동일하지 않습니다.!!!");
}
문자열이 동일한지 비교하는 연산자는 = 으로 표기하고
if문을 추가해 equals를 사용하여 동일한 문자인지 확인한다.
// 대입연산자(오른쪽 > 왼쪽)
int s = 0;
int i = 1;
s += i ; // s = s + i;
System.out.println(s); // 1
대입연산자는 오른쪽의 값을 왼쪽의 값으로 대입한다.
// 삼항(조건) 연산자
int score = 85;
char grade = (score > 90) ? 'A' : ((score > 80) ? 'B' : 'C');
System.out.println("점은 " + grade + "등급입니다.");
// if 문 표기
int score2 = 75;
String grade2 = "";
if( score2 > 90) {
grade2 = "A";
}else if(score2 > 80) {
grade2 = "B";
}else {
grade2 = "C";
}
System.out.println("점은 " + grade2 + "등급입니다.");
조건을 표기한 후 ? 이후에 전:후 의 값으로 참이면 전의 값을 거짓이면 후의 값을 가져온다.
if문과 같은 조건문으로 동일한 출력을 if문으로 표기할 수 있다.
// 랜덤함수 (11 ~ 13사이 숫자)
for (int i= 1 ; i < 8; i++) {
int num = (int)(Math.random() * 3) + 11;
System.out.println(num+ " ");
}
(math.random() * 범위) + 초기값;
으로 초기값과 범위를 지정하여 출력할 수 있다.
// 2중 if문을 활용한 random 함수
int score = (int)(Math.random() * 20) + 81;
System.out.println(score+ " ");
String grade;
if(score >= 90) {
if (score>=95) {
grade = "A+";
}else {
grade = "A";
}
}else {
if (score>=85) {
grade = "B+";
}else {
grade = "B";
}
}
System.out.println("학점: "+score);
2중 if 문을 활용하여 random 숫자의 학점을 구할 수있다.
// 정수형 Switch문
int num = 2;
switch(num) {
case 1:
System.out.print("1 ");
break;
case 2:
System.out.print("2 ");
case 3:
System.out.print("3 ");
break;
case 4:
System.out.print("4 ");
default:
System.out.print("5");
}
// 문자형 Switch문
char grade = 'F';
switch(grade) {
case 'A':
System.out.print("매우 우수 ");
break;
case 'B':
System.out.print("우수 ");
case 'C':
System.out.print("보통 ");
break;
case 'D':
System.out.print("미달 ");
default:
System.out.print("매우 미달");
}
Switch문은 case의 순서대로 출력이 나오며, Switch문의 괄호에는 정수형 타입 byte, char, short, int, long과 문자열타입 String을 사용할 수 있다.
default는 else와 같은 케이스 이외의 값을 처리한다.
import java.util.Scanner;
// 숫자 값을 받아 해당 구구단을 실행하기
Scanner scanner = new Scanner(System.in);
System.out.print("시작 단 입력 : " );
String str = scanner.nextLine();
int m = Integer.parseInt(str);
System.out.print("끝 단 입력 : " );
String str2 = scanner.nextLine();
int i = Integer.parseInt(str2);
for (int a=m; a <= i; a++) {
System.out.println("*** " + a + "단 ***");
for (int n=1; n <= 9; n++) {
if (n ==9) {
System.out.print(a + " X " + n + "= " + (a*n) + "\n");
}else {
System.out.print(a + " X " + n + "= " + (a*n) + ", ");
}
}
}
scanner.close();
import java.util.Scanner; Scanner 사용을 선언하고 콘솔창의 입력값을 받아 해당 값의 구구단을 출력하는 구구단이다.
scanner 사용후 Close를 동작해 주어 종료하도록 만든다.
int i = 5;
do {
System.out.print(i + " ");
i += 1;
}while( i <= 10);
do 영역에 조건을 추가 한 뒤 while 반복문을 사용하여 반복된 출력 값을 볼 수 있는 코드이다.
System.out.println("시작 단 입력하세요 ");
Scanner scanner = new Scanner(System.in);
System.out.print(">");
String a = scanner.nextLine();
scanner.close();
int dan = Integer.parseInt(a);
int j = dan;
do {
System.out.println(j + "단");
for (int i = 1; i < 10; i++) {
System.out.println(j + " X " + i + " = " +(i*j) );
}
System.out.println();
j += 1;
} while(j <10);
System.out.println();
System.out.println("프로그램 종료");
단을 입력받아 do 조건문으로 반복을 돌린 구구단 코드이다 . 해당 형식처럼 다양한 방법으로도 구구단을 만들 수 있다.다양한 활용도를 가지고 있으니 알아두도록 하자.