일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- react
- spring
- 정보처리기사정리
- CSS
- 리액트네이티브
- 평일코딩
- 정보처리기사
- 오라클
- 정보처리기사실기
- VUE
- 정보처리기사요약
- javascript
- 자바스크립트 코딩테스트
- 리액트
- 타입스크립트
- 코딩테스트
- 정보처리기사실기요약
- 자바의정석
- 국비코딩
- 스프링
- Oracle
- Java의정석
- 자바스크립트
- php
- 이안의평일코딩
- 국비IT
- 정보처리기사실기정리
- ReactNative
- 자스코테
- typescript
- Today
- Total
이안의 평일코딩
JAVA의 정석 6일차 - 조건문 본문
2020.06.22(월)
1. 제어문
=>종류
1) 조건문
= 단일 조건문
if(조건문)
{
실행문장 => 조건이 true일 경우에 처리하는 문장
=> 조건이 false가 되면 실행문장을
수행하지 않는다
}
*** 모든 제어문은 {}을 사용하지 않으면
한개의 문장만 수행한다
예)
===============
if(조건문)
실행문장 1
=============== if가 제어하는 문장
실행문장 2 => 무조건 실행하는 문장
===============
if(조건문)
{
실행문장 1
실행문장 2
}
=============== if가 제어하는 문장
= 선택 조건문
true일 경우 => 처리문장
false일 경우 => 처리문장
예) 로그인 처리가 될 경우
로그인 처리가 안된 경우
형식) =====> 사용빈도가 많다
if(조건문)
조건이 true일 경우에 처리 문장
else
조건이 false일 경우에 처리 문장
= 다중 조건문 : 조건에 해당하는 문장만 수행 => 한번만 수행
형식)
if(조건문)
실행문장 1 => 조건이 true일 때 수행하고 종료
else if(조건문)
실행문장 2 => 조건이 true일 때 수행하고 종료
else if(조건문)
실행문장 3 => 조건이 true일 때 수행하고 종료
else if(조건문)
실행문장 4 => 조건이 true일 때 수행하고 종료
else
실행문장 5 => 조건에 해당하는 사항이 없는 경우
15 (다중이면 3의 배수만하고 바로 종료됨)
정수 입력 ==> 3의 배수, 5의 배수, 7의 배수
==> if(조건문)
실행문장
=========
if(조건문)
실행문장
========= 별도의 문장
if(조건문)
실행문장
다중 조건문이 아닌 단일 조건문이 3개가 있는 것
2) 선택문
3) 반복문
4) 반복제어문
=> 형식
=> 흐름 이해
=> 구현
2. 단일조건문
1) 단일 조건문은 여러개를 사용해도 처음부터 마지막까지 수행된다
(여러개 쓰게되면 속도가 느려짐(여러개 다 실행해야하기 떄문에)
2) {}을 생략할때는 수행문장이 1개일 경우
3) 조건문 제작하는 방법
if(조건문) : 조건문은 무조건 결과값 ==> true/false
==> 필요한 경우(조건 : true)에만 문장을 수행
false일 경우에는 건너뛴다 (문장을 수행하지 못한다)
3. 선택조건문 : if~else
4. Scanner scan = new Scanner(System.in);
Scanner를 저장 => 키보드의 입력값이 있는 경우에 처리
자바의 모든 클래스, 사용자 정의 클래스 ==> 저장을 할 때
반드시 new 이용해서 저장
System.in ==> 사용자 키보드 입력값을 받는다
System.out ==> 모니터에 출력할 때 사용
System.out.println("입력 : ");
int a = scan.nextInt();
입력된 값을 받아서 a라는 메모리 공간에 저장
5. 연습문제
1) 윤년
사용자가 ==> 년도를 입력 ==> 윤년여부 확인
import java.util.Scanner;
public class 윤년 {
public static void main(String[] args) {
int year = 0;
Scanner scan = new Scanner(System.in);
System.out.println("년도 입력");
year = scan.nextInt();
// 윤년 여부를 확인 ==> 공식(암기)
// 범위, 기간 포함 ==> &&
// 범위, 기간 포함이 안될 경우 ==> ||
// 제외 => &&
if((year%4==0 && year&100!=0 || (year%400==0))) // 윤년이라면
{
System.out.println(year+"는(은) 윤년입니다");
}
else // 윤년이 아니라면
{
System.out.println(year+"는(은) 윤년이 아니다");
}
}
}
2) 짝수, 홀수
import java.util.*;
public class 짝수홀수 {
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
System.out.print("정수 입력 : ");
//키보드로 입력된 정수 받기
int a = scan.nextInt();
//짝수, 홀수
if (a%2 == 0) // true면 수행
System.out.println(a+"는(은) 짝수입니다");
else // false일때 수행
System.out.println(a+"는(은) 홀수입니다");
}
}
3) 총점, 평균, 학점
import java.util.*; //Scanner클래스를 가지고 온다
public class 총점평균학점 {
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
// scan ==> 여러번을 받을 수 있다
System.out.print("국어점수 영어점수 수학점수 입력:");
// 키보드로 입력된 정수를 받기
int kor = scan.nextInt();
int eng = scan.nextInt();
int math = scan.nextInt();
int total = kor+eng+math;
double avg = total/3.0;
char score = 'A';
if (avg >= 90 && avg <= 100) {
score = 'A';
}
if (avg >= 80 && avg < 90) {
score = 'B';
}
if (avg >= 70 && avg < 80) {
score = 'C';
}
if (avg >= 60 && avg < 70) {
score = 'D';
}
if (avg < 60) {
score = 'F';
}
// 85점인데 만약 범위지정 && 없었으면 B -> C -> D 까지 수행되서 결과가 D로 나옴.
System.out.print("총점 : "+total);
System.out.print("평균 : "+avg);
System.out.print("학점 : "+score);
}
}
4) 가위, 바위, 보
import java.util.Scanner;
/*
* 사용자 입력 ==> 0,1,2
*
* => 0이면 => 가위
* => 1이면 => 바위
* => 2면 => 보
*/
public class 가위바위보 {
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
System.out.print("가위(0),바위(1),보(2) 입력:");
// 입력값
int user = scan.nextInt();
if(user == 0) {
System.out.println("Player:가위");
}
if(user == 1) {
System.out.println("Player:바위");
}
if(user == 2) {
System.out.println("Player:보");
}
int com = (int)(Math.random()*3);
// 0.0~0.99 * 3 => 0.0~2.9... => 0~2
if(com == 0) {
System.out.println("Computer:가위");
}
if(com == 1) {
System.out.println("Computer:바위");
}
if(com == 2) {
System.out.println("Computer:보");
}
//중복 조건문
if(com == 0) {
if(user == 0) {
System.out.println("비겼다!!");
}
if(user == 1) {
System.out.println("Player Win!!");
}
if(user == 2) {
System.out.println("Computer Win!!");
}
}
if(com == 1) {
if(user == 0) {
System.out.println("Computer Win!!");
}
if(user == 1) {
System.out.println("비겼다!!");
}
if(user == 2) {
System.out.println("Player Win!!");
}
}
if(com == 2) {
if(user == 0) {
System.out.println("Player Win!!");
}
if(user == 1) {
System.out.println("Computer Win!!");
}
if(user == 2) {
System.out.println("비겼다!!");
}
}
}
}
5) 최대값, 최소값
import java.util.*;
public class 최대값최소값 {
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
System.out.print("두개의 정수 입력:(100 80)");
int a = scan.nextInt();
int b = scan.nextInt();
// System.out.println("Max="+Math.max(a, b));
// System.out.println("Min="+Math.min(a, b));
int max, min;
if (a>b) {
max = a;
min = b;
}
else {
max = b;
min = a;
}
System.out.println("Max="+max);
System.out.println("Min="+min);
}
}
6) 절대값 출력
// 1, -1 ==> 1
import java.util.*;
public class 절대값 {
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
System.out.print("정수 입력:");
int a = scan.nextInt();
// System.out.println("절대값:"+Math.abs(a));
if (a > 0) {
System.out.println(a);
}
else {
System.out.println(-1*a);
}
}
}
7) 알파벳 대 소문자
// 알파벳 개수 26개, 대문자 소문자 char 차이 32
char변수 선언 ==> 값을 대입
=> char alpha='A';
=> alpha가 대문자면 ==> 소문자 출력
=> alpha가 소문자면 ==> 대문자 출력
import java.util.*;
public class 알파벳대소문자 {
public static void main(String[] args) {
char alpha = 'A';
alpha = scan.next().charAt(0);
if ((int)alpha >= 65 && (int)alpha <=90) {
System.out.println((char)(alpha+32));
}
else {
System.out.println((char)(alpha-32));
}
}
}
6. 제어문 연산자 (비교연산자, 논리연산자, 부정연산자)
1) 비교연산자
같다 : ==
같지않다 : !=
작다 : <
크다 : >
작거나 같다 : <=
크거나 같다 : >= =====> 최종 결과값 : true/false
주로 조건문(if)에서 사용한다
2) 논리연산자
조건 && 조건 ==> 조건이들다 true일때 true
&& : 포함 (기간,범위)
조건 || 조건 ==> 조건중에 한개이상이 true일때 true
|| : 미포함
3) 부정연산자 : 반대 ==> !
7. 단독처리 => 산술연산자, 증감연산자, 대입연산자
응용 => 제어문
연산처리 => 형변환 (강제 형변환)
double => int =====> (int)double
int => char ====> (char)int
'Back-end > Java' 카테고리의 다른 글
JAVA의 정석 8일차 - 다중조건문 & 선택문 (0) | 2020.06.24 |
---|---|
JAVA의 정석 7일차 - 연산자정리 & 조건문2 (0) | 2020.06.23 |
JAVA의 정석 5일차 - 연산자2 (0) | 2020.06.22 |
JAVA의 정석 4일차 - 연산자 (0) | 2020.06.18 |
JAVA의 정석 3일차 - 자바입출력메소드 (0) | 2020.06.17 |