package 연산자.샘플;
import java.util.Scanner;
public class 연산자테스트샘플 {
public void 괄호연산자테스트(){
/*int num1 = 12;
int num2 = 33;*/
int num1 = 12, num2 = 33; //나열연산자
System.out.println("계산1 : " +
(num1 + 5 * num2));
System.out.println("계산2 : " +
((num1 + 5) * num2));
}
public void 부호연산자테스트(){
int num = -25;
System.out.println("num : " + +num);
System.out.println("-num : " + -num);
//-부호연산자는 -1 * 라는 뜻임
//-1 * -25 => 25가 됨
}
public void 증감연산자테스트(){
//++ : 1증가, -- : 1감소
int num = 10;
System.out.println("num : " + num);
num++; //num = num + 1;
System.out.println("num++ : " + num); //11
++num;
System.out.println("++num : " + num); //12
num--;
System.out.println("num-- : " + num); //11
--num;
System.out.println("--num : " + num); //10
//증감연산자가 변수와 함께 단독 사용시에는
//변수앞/뒤 구분 안 함 : 결과는 동일함
//증감연산자가 변수와 함께 다른 문장 또는 식의
//일부분으로 사용시에는 변수 앞/뒤 구분함
int result = num++; //처리후 증가를 의미함
System.out.println("result : " + result);
System.out.println("num : " + num);
int result2 = ++result; //증가후 처리
System.out.println("result2 : " + result2);
System.out.println("result : " + result);
System.out.println("result2++ : " + result2++);
System.out.println("result2 : " + result2);
System.out.println("++result2 : " + ++result2);
}
public void 형변환연산자테스트(){
byte b1 = Byte.MAX_VALUE; //127
short s1 = Short.MAX_VALUE; //32767
//int result = b1 + s1;
short result = (short)(b1 + s1); //overflow
//byte + short => short + short => int
System.out.println("result : " + result);
}
public void 비교연산자테스트(){
int first = 100, second = 123;
System.out.println("first > second : " +
(first > second)); //false
System.out.println("first < second : " +
(first < second)); //true
System.out.println("first > 0 : " +
(first > 0)); //양수냐 : true
System.out.println("first >= 100 : " +
(first >= 100)); //100이상이냐 : true
System.out.println("second <= 200 : " +
(second <= 200)); //200이하냐 : true
System.out.println("first 변수값이 100이냐 : " +
(first == 100)); //true
System.out.println("first 변수값이 100이 아니냐 : " +
(first != 100));
System.out.println("first 변수값이 100이 아니냐 : " +
!(first == 100));
}
public void 일반논리연산자연습1(){
//논리값(true/false)으로 계산하는 연산자
System.out.println(true && true); //true
System.out.println(true && false); //false
System.out.println(false && true); //false
System.out.println(false && false); //false
System.out.println(true || true); //true
System.out.println(true || false); //true
System.out.println(false || true); //true
System.out.println(false || false); //false
}
public void 일반논리연산자연습2(){
//&& : 제시한 모든 조건이 다 맞는지 확인할 때
//범위 확인
//예1 : 키보드로 정수를 하나 입력받아
// 1부터 100사이의 값인지 확인
// 1 <= 정수 <= 100
System.out.print("정수 하나 입력 : ");
int num = new Scanner(System.in).nextInt();
System.out.println(num +
"값이 1~100 사이의 값이냐 : " +
(num >= 1 && num <= 100));
}
//연습1 : 키보드로 정수를 하나 입력받아서
// 양수인지 확인하는 구문 작성 실행
public void 양수냐(){
System.out.print("정수 하나 입력 : ");
int num = new Scanner(System.in).nextInt();
System.out.println(num +
" 은 양수냐? " + (num > 0));
}
//연습2 : 문자하나를 입력받아, 영문대문자인지 확인
//'A' <= 문자 <= 'Z' 또는 65 <= 문자 <= 91
public void 대문자냐(){
System.out.print("문자하나 입력 : ");
/*String value = new Scanner(System.in).next();
char ch = value.charAt(0);*/
char ch = new Scanner(System.in).next().charAt(0);
/*System.out.println(ch + " 가 대문자냐? "
+ (ch >= 'A' && ch <= 'Z'));*/
System.out.println(ch + " 가 대문자냐? "
+ (ch >= 65 && ch <= 91));
}
//연습3 : 문자하나를 입력받아,
// 그 문자가 'Y' 또는 'y' 이냐
public void 예쓰이냐(){
System.out.print("문자 하나 입력 : ");
char answer = new Scanner(System.in).next().charAt(0);
System.out.println("예쓰입니까? " +
(answer == 'Y' || answer == 'y'));
}
//연습4 : 국어, 영어, 수학 점수를 입력받아
// 총점과 평균을 계산하고
// 3과목의 점수가 모두 40점이상이고,
//평균이 60점이상이냐
public void 합격이냐(){
Scanner 키보드 = new Scanner(System.in);
System.out.print("국어점수 : ");
int 국어 = 키보드.nextInt();
System.out.print("영어점수 : ");
int 영어 = 키보드.nextInt();
System.out.print("수학점수 : ");
int 수학 = 키보드.nextInt();
int 평균 = (국어 + 영어 + 수학) / 3;
System.out.println("합격이냐 ? " +
(국어 >= 40 && 영어 >= 40 &&
수학 >= 40 && 평균 >= 60));
}
//&&, || 연산자의 특징 확인
//&&는 앞이 거짓이면 뒤를 실행 안 함
//거짓 && 참, 거짓 && 거짓 => 결론은 거짓임
//거짓 & 참, 거짓 & 거짓 => 결론은 false임 (뒤를 실행함)
//|| 는 앞이 참이면 뒤를 실행 안 함
// true || true => true, true || false => true
// true | true => true, true | false => true
// (뒤까지 실행함)
public void 일반논리연산자특징확인(){
int num = 10;
System.out.println(false && ++num > 0);
System.out.println("num : " + num);
System.out.println(true || ++num > 0);
System.out.println("num : " + num);
System.out.println(false & ++num > 0);
System.out.println("num : " + num);
System.out.println(true | ++num > 0);
System.out.println("num : " + num);
}
public void 삼항연산자테스트(){
//첫번째 ? 두번째 : 세번째
//조건문의 형태를 가진 연산자임
//조건식? 참일때 사용할 값: 거짓일때 사용할값
//조건식은 반드시 결과가 참 또는 거짓이 나와야함
//예 : 정수를 하나 입력받아, 짝수이면 "짝수다."
// 짝수가 아니면 "홀수다." 출력 처리
System.out.print("정수 하나 입력 : ");
int num = new Scanner(System.in).nextInt();
/*String result =
(num % 2 == 0)? "짝수다." : "홀수다.";
System.out.println(num + " 은 " + result);*/
System.out.println(num + " 은 " +
((num % 2 == 0)? "짝수다." : "홀수다."));
}
//삼항연산자 중첩 사용
// 조건1? 값1: (조건2? 값2: (조건3? 값3: 값4) )
public void 삼항연산자중첩사용(){
//정수를 하나 입력받아,
//양수이면 "양수다.", 0이면 "0이다.",
//음수이면 "음수다."
System.out.print("정수 하나 입력 : ");
int num = new Scanner(System.in).nextInt();
String result = (num > 0)? "양수다." :
((num == 0)? "0이다." : "음수다.");
System.out.println(num + " : " + result);
}
//연습 : 문자를 하나 입력받아
//영어대문자이면 "upper", 소문자이면 "lower",
//숫자문자이면 "number", 그외 문자는 "etc" 로 출력
public void 삼항연산자중첩테스트2(){
System.out.print("문자 하나 입력 : ");
char ch = new Scanner(System.in).next().charAt(0);
String result = (ch >= 'A' && ch <= 'Z')? "upper":
((ch >= 'a' && ch <= 'z')? "lower":
((ch >= '0' && ch <= '9')? "number": "etc"));
System.out.println(ch + " : " + result);
}
//연습 : 점수(int)를 입력받아
// 90점이상이면 'A', 80점이상 90점미만이면 'B',
// 70점이상 80점미만이면 'C',
//60점이상 70점미만 'D', 60점미만은 'F' 를
// 변수에 기록하고 출력 처리함
public void 성적등급출력(){
System.out.print("점수 : ");
int score = new Scanner(System.in).nextInt();
char grade = (score >= 90)? 'A':
((score >= 80 /*&& score < 90*/)? 'B':
((score >= 70 /*&& score < 80*/)? 'C':
((score >= 60 /*&& score < 70*/)? 'D': 'F')));
System.out.println("점수 : " + score);
System.out.println("등급 : " + grade);
}
//연습 : 국어, 영어, 수학 점수를 입력받아
// 총점과 평균을 계산하고
// 3과목의 점수가 모두 40점이상이고,
//평균이 60점이상이면 "합격", 아니면 "불합격" 출력
public void 합격여부(){
Scanner 키보드 = new Scanner(System.in);
System.out.print("국어점수 : ");
int 국어 = 키보드.nextInt();
System.out.print("영어점수 : ");
int 영어 = 키보드.nextInt();
System.out.print("수학점수 : ");
int 수학 = 키보드.nextInt();
int 평균 = (국어 + 영어 + 수학) / 3;
String result = (국어 >= 40 && 영어 >= 40 &&
수학 >= 40 && 평균 >= 60)?
"합격": "불합격";
System.out.println("결과 : " + result);
}
//연습 : 키보드로 주민등록번호를 입력받아,
//8번째자리 문자를 추출해서
//'1' 또는 '3' 이면 "남자",
//'2' 또는 '4' 이면 "여자",
//'5'이면 "해외교포" 로 출력
//주민등록번호 : 771225-1234567
//당신은 남자입니다.
public void printInfo(){
System.out.print("주민등록번호 : ");
String personID = new Scanner(System.in).next();
char info = personID.charAt(7);
String result =
(info == '1' || info == '3')? "남자":
(info == '2' || info == '4')? "여자":
"해외교포";
System.out.println("당신은 " + result + "입니다.");
}
}
'Example 2018' 카테고리의 다른 글
제어문연습프로젝트 - if : 유니코드출력, 회원가입프로그램 (0) | 2018.04.09 |
---|---|
제어문연습프로젝트 - 조건문(if) main (0) | 2018.04.09 |
제어문연습프로젝트 - 연산자샘플(비트논리연산자: 비트반전, 쉬프트, 복합대입) (0) | 2018.04.09 |
제어문연습프로젝트 - 연산자샘플 main (0) | 2018.04.09 |
연산자 연습 프로젝트 - 연산자테스트샘플 main (0) | 2018.04.08 |
testOperatorProject - 국영수 총점, 평균 계산 프로그램 (0) | 2018.04.08 |
testOperatorProject - 학년, 반, 성별, 성적 입출력 프로그램/사칙연산 (0) | 2018.04.08 |
testOperatorProject - 변수실습 main 2개 (0) | 2018.04.08 |