728x90
1.ex01)
package days05;
import java.util.Scanner;
public class Ex01 {
public static void main(String[] args) {
// Scanner 클래스 API doucument
//Ctrl A전체선택 ctrl i 들여쓰기
String input = "1 fish 2 fish red fish blue fish";
//Resource leak: 's' is never closed->사용하고 나면 닫아라, 그래서 밑에 s.close();
Scanner s = new Scanner(input).useDelimiter("\\s*fish\\s*");
//구분자로 "\\s*fish\\s*" regex(정규표현식)을 사용하겠다.
/*
\\s 스페이스
* 0~여러번
fish 문자열
\\s 스페이스
*/
System.out.println(s.nextInt());
System.out.println(s.nextInt());
System.out.println(s.next());
System.out.println(s.next());
s.close();
}
}
2.ex02)
package days05;
import java.util.Scanner;
/**
* @author kim
* @date 2023. 2. 1.-오전 11:13:33
* @subject
* @content
*
*/
public class Ex02 {
public static void main(String[] args) {
String name;
byte age;
double height;
boolean gender;
//String gender;
Scanner scanner = new Scanner(System.in);
System.out.print("> 이름, 나이, 키, 성별 입력 ? ");
name = scanner.next(); // String
age = scanner.nextByte();
height = scanner.nextDouble();
gender = scanner.nextBoolean();
//gender = scanner.next();
// 홍길동 20 178.89 true
System.out.printf(
"> 이름:%s, 나이:%d살, 키:%.2f, 성별:%s \n"
, name, age, height
,gender?"남자":"여자"
);
}//main
}//class
3.ex03)
package days05;
/**
* @author kim
* @date 2023. 2. 1.-오전 11:29:42
* @subject
* @content
*
*/
public class Ex03 {
public static void main(String[] args) {
// 취업: 알고리즘
/*
1.제어문의 정의:프로그램의 실행 순서를 제어(건너띄기, 반복해서 처리 등등)하는 문
2.제어문 종류
1)조건문 : if문 Ex03_02.java
if ~ else문 Ex03_03.java
if ~ elseif ~ elseif ~...else 문 Ex04_02.java
2)분기문 : switch문 Ex05.java
3)반복문:for문, foreach문(확장 for문)
4)조건반복문:while, do~while문
5)기타:break문, continue문
*/
}//main
}//class
4.ex03_02)
package days05;
import java.util.Scanner;
/**
* @author kim
* @date 2023. 2. 1.-오전 11:42:00
* @subject if문
* @content /* {}블럭 안의 명령 라인이 "한 줄"인 경우에는 {}가 생략가능하다.
if(n%2==0) System.out.println("짝수");
if문 2개:짝수냐? 홀수냐? 답이 2개 밖에 없는데 2번 묻는거는 바보같음
*
*/
public class Ex03_02 {
public static void main(String[] args) {
//정수를 입력받아서 "홀수"/"짝수"입니다라고 출력.
int n;
Scanner scanner = new Scanner(System.in);
System.out.print(">정수입력?");
n=scanner.nextInt();
if(n%2==0) {
System.out.println("짝수(even number)");
} else { //홀수
System.out.println("홀수(odd number)");
}
System.out.println("END");
}//main
}//class
5.ex03_03)
package days05;
import java.util.Scanner;
/**
* @author kim
* @date 2023. 2. 1.-오전 11:42:00
* @subject if문
* @content
*
*/
public class Ex03_3 {
public static void main(String[] args) {
//정수를 입력받아서 "홀수"/"짝수"입니다라고 출력.
int n;
Scanner scanner = new Scanner(System.in);
System.out.print(">정수입력?");
n=scanner.nextInt(); //10a -> int변환 InputMismatchException
//System.out.println(n);
/*
if (condition 조건식 이 참이면) { 참과 거짓 수식
//{]블럭안의 코딩수행
}
if (condition) {
} else {
}
if (scanner != null) {
}
if (scanner == null) {
}
*/
//짝수 조건식? 2로 나누어서 떨어지는 정수 2n n%2==0
//홀수 조건식? 2로 나누어 떨어지지 않는 정수 2n+1 n%2==1 || n%2!=0
if(n%2==0) {
System.out.println("짝수(even number)");
}
if(n%2==1) {
System.out.println("홀수(odd number)");
}
/* {}블럭 안의 명령 라인이 "한 줄"인 경우에는 {}가 생략가능하다.
if(n%2==0) System.out.println("짝수");
*/
//if문 2개:짝수냐? 홀수냐? 답이 2개 밖에 없는데 2번 묻는거는 바보같음
}//main
}//class
6.ex04)
package days05;
import java.util.Scanner;
/**
* @author kim
* @date 2023. 2. 1.-오후 12:22:20
* @subject
* @content
*
*/
public class Ex04 {
public static void main(String[] args) {
//[문제]국어 점수를 입력받아서
// 등급(수, 우, 미, 양, 가)를 출력
//수:90~100, 우:80~89, 미70~79, 양:60~69, 가:0~59
int kor;
Scanner scanner = new Scanner(System.in);
System.out.print(">국어점수는?");
kor = scanner.nextInt();
//0~100 입력값에 대한 유효성 검사, (전공자)
if ( 90 <=kor && kor<=100 ) {
System.out.println("수");
}
if ( 80 <=kor && kor<=89 ) {
System.out.println("우");
}
if ( 70 <=kor && kor<=79 ) {
System.out.println("미");
}
if ( 60 <=kor && kor<=69 ) {
System.out.println("양");
}
if ( 0 <=kor && kor<=59) {
System.out.println("가");
}
}//main
}//class
7.ex04_02)
package days05;
import java.util.Scanner;
/**
* @author kim
* @date 2023. 2. 1.-오후 12:22:20
* @subject
* @content
*
*/
public class Ex04_02 {
public static void main(String[] args) {
//[문제]국어 점수를 입력받아서
// 등급(수, 우, 미, 양, 가)를 출력
//수:90~100, 우:80~89, 미70~79, 양:60~69, 가:0~59
int kor;
Scanner scanner = new Scanner(System.in);
System.out.print(">국어점수는?");
kor = scanner.nextInt();
//0~100 입력값에 대한 유효성 검사, (전공자)
if ( 90 <=kor && kor<=100 ) {
System.out.println("수");
}else if ( 80 <=kor && kor<=89 ) {
System.out.println("우");
}else if ( 70 <=kor && kor<=79 ) {
System.out.println("미");
}else if ( 60 <=kor && kor<=69 ) {
System.out.println("양");
}else if ( 0 <=kor && kor<=59) {
System.out.println("가");
}
//else {} 필수사항 X
}//main
}//class
8.ex04_03
package days05;
import java.util.Scanner;
/**
* @author kim
* @date 2023. 2. 1.-오후 12:22:20
* @subject
* @content
*
*/
public class Ex04_03 {
public static void main(String[] args) {
//[문제]국어 점수를 입력받아서
// 등급(수, 우, 미, 양, 가)를 출력
//수:90~100, 우:80~89, 미70~79, 양:60~69, 가:0~59
int kor;
Scanner scanner = new Scanner(System.in);
System.out.print(">국어점수는?");
kor = scanner.nextInt();
//0~100 입력값에 대한 유효성 검사, (전공자)
if(kor>=90) {
System.out.println("수");
}else if(kor>=80) {
System.out.println("우");
}else if(kor>=70) {
System.out.println("미");
}else if(kor>=60) {
System.out.println("양");
}else { //조건식X 그 외의 모든 경우
System.out.println("가");
}
//else {} 필수사항 X
}//main
}//class
9.ex05)
package days05;
import java.util.Scanner;
/**
* @author kim
* @date 2023. 2. 1.-오후 2:34:09
* @subject switch문(분기문)
* @content
*
*/
public class Ex05 {
public static void main(String[] args) {
/*
key:변수, 수식
value:value에는 변수를 사용할 수 없다. 리터럴만 사용가능
switch (key) {
case value:
break;
default:
break;
}
*/
//예)정수를 입력받아서 홀수/짝수 라고 출력...
int n;
Scanner scanner = new Scanner(System.in);
System.out.print(">n을 입력하세요");
n=scanner.nextInt();
String result="";
//key:변수, 수식
switch (n%2) {
case 0:
System.out.println("짝수");
result="짝수";
break;
default: //==case 1:
System.out.println("홀수");
result="홀수";
break;
}//switch
System.out.printf("n=%d 는 %s이다.\n", n, result);
}//main
}//class
10.ex05_2)
package days05;
import java.util.Scanner;
public class Ex05_02 {
public static void main(String[] args) {
//[문제]국어 점수를 입력받아서
// 등급(수, 우, 미, 양, 가)를 출력
//수:90~100, 우:80~89, 미70~79, 양:60~69, 가:0~59
int kor;
Scanner scanner = new Scanner(System.in);
System.out.print(">국어점수는?");
kor = scanner.nextInt();
//switch문을 사용해서 수~가 출력
//key:변수, 수식
//value:변수x, 리터럴
//switch문에 [break]문 필수사항X
//그러나, 구문이 끝날때까지 계속 반복 되서 모든 문장을 수행할 수 있기 때문에
//break를 추가해서 넣기
char grade=0;
if(0<=kor && kor<=100) {
switch (kor/10) {
case 10: //101~109 수
//System.out.println("수");
//break;
case 9: //case에는 변수값을 사용 못한다.오직, 리터럴만 가능100
System.out.println("수");
grade='수';
break;
case 8:
System.out.println("우");
grade='우';
break;
case 7:
System.out.println("미");
grade='미';
break;
case 6:
System.out.println("양");
grade='양';
break;
default: //0~109범위 이외의 범위에서 문제
System.out.println("가");
grade='가';
break;
}//switch
//The local variable grade may not have been initialized
//grade 지역변수 초기화 X
System.out.println(grade);
}else {
System.out.println("잘못 입력!");
}//if
}//main
}//class
11.ex06)
package days05;
import java.util.Scanner;
/**
* @author kim
* @date 2023. 2. 1.-오후 3:47:14
* @subject if/switch/break
* @content 가위(1), 바위(2), 보(3) 게임
* 컴퓨터: 임의의 수(보) = 1)랜덤하게 선정. Ex06_02.java
* 사용자:바위 = 직접입력
*
* [2.승부 체크 로직]
* 사용자 졌다.
* 사용자 이겼다.
* 무승부
*
*/
public class Ex06 {
public static void main(String[] args) {
//만약에 사용자가 4를 잘못입력하고 컴퓨터가 2를 내면 2가 되어서 승리 하는거 아닌가여?
//사용자의 입력값에 대한 유효성 검사를 실행하면 됨
int com = (int)((Math.random())*3+1);
System.out.print(">user 가위(1), 바위(2), 보(3) 선택하시오");
Scanner scanner = new Scanner(System.in);
int user=scanner.nextInt();
System.out.printf("com=%d, user=%d\n",com, user);
/* user-com
com/user 가위(1) 바위(2) 보(3)
가위(1) 0 사1 컴2
바위(2) 컴-1 0 사1
보(3) 사-2 -1컴 0
user-com==0무승부
사용자 승리:1,-2
컴퓨터 승리:-1,2
*/
switch (user-com) {
case 0:
System.out.println("무승부");
break;
case 1: case -2:
System.out.println("사용자 승리");
break;
case -1: case 2:
System.out.println("컴퓨터 승리");
break;
}
}//main
}//class
12.ex06_2)
package days05;
import java.math.MathContext;
/**
* @author kim
* @date 2023. 2. 1.-오후 3:50:35
* @subject
* @content
*
*/
public class Ex06_02 {
public static void main(String[] args) {
// 랜덤한(임의의) 값을 발생해 주는 메서드
//0.0 <=doubleMath.random() <1.0
//로또번호 1~45 임의의 수가 발생하는 코딩을 하세요.
//국어점수 0~100
System.out.println((int)(Math.random()*3)+1);
System.out.println((int)(Math.random()*3)+1);
System.out.println((int)(Math.random()*3)+1);
System.out.println((int)(Math.random()*3)+1);
System.out.println((int)(Math.random()*3)+1);
//1, 2, 3 임의의 값이 발생하도록...
//0.0 <=doubleMath.random() <1.0
//0.0*3<=doubleMath.random()*3 <1.0*3
//0.0*3+1<=doubleMath.random()*3+1<1.0*3+1
//1<=(int)(Math.random()*3)+1<4
}//main
}//class
13.ex07)
package days05;
import java.util.Iterator;
/**
* @author kim
* @date 2023. 2. 1.-오후 4:29:22
* @subject if/if~else / if~else if~else if~else 문
* @content switch/break
* 반복문:[for], foreach(확장for문)
*
*/
public class Ex07 {
public static void main(String[] args) {
// 임의의 숫자(1~3)을 10번 출력하세요.
//System.out.println((int)((Math.random()*3)+1));
for (int i = 0; i < 10; i++) {
System.out.printf("%d) %d\n", i, (int)((Math.random()*3)+1));
}
/*
* for (Iterator iterator = collection.iterator(); iterator.hasNext();) { type
* type = (type) iterator.next();
*
* }
*/
/*
* for (int i = 0; i < args.length; i++) {
*
* }
*/
/*1.[for 선언형식]
* for(초기식; 조건식; 증감식;){
* 반복적으로 처리할 코딩
* }
*2.for 처리 과정 설명하세요
*for문을 만나면 젤 처음으로
*초기식->조건식
* ㄴ참 ->{반복처리코딩}->증감식 ->조건식 ->참->{반복처리코딩}->증감식 ->조건식->거짓->중단
* ㄴ거짓->for문 빠져나온다.
*/
/*
* for (int i = 0; i < args.length; i++) { String string = args[i];
*
* }
*/
/*
for (String string : args) {
}
*/
/*
* System.out.println((int)((Math.random()*3)+1));
* System.out.println((int)((Math.random()*3)+1));
* System.out.println((int)((Math.random()*3)+1));
* System.out.println((int)((Math.random()*3)+1));
* System.out.println((int)((Math.random()*3)+1));
* System.out.println((int)((Math.random()*3)+1));
* System.out.println((int)((Math.random()*3)+1));
* System.out.println((int)((Math.random()*3)+1));
* System.out.println((int)((Math.random()*3)+1));
* System.out.println((int)((Math.random()*3)+1));
* System.out.println((int)((Math.random()*3)+1));
*/
}
}
14.ex07_02)
package days05;
/**
* @author kim
* @date 2023. 2. 1.-오후 5:13:25
* @subject 1~10까지의 합=55출력(for문)
* @content
*
*/
public class Ex07_02 {
public static void main(String[] args) {
int sum=0;
for (int i = 1; i <= 10; i++) {
System.out.printf("%d+", i);
sum +=i; //sum=sum+i
}//for
System.out.printf("=%d\n", sum);
}
}
15.ex08)
package days05;
/**
* @author kim
* @date 2023. 2. 1.-오후 5:05:18
* @subject while 조건 반복문
* @content 1~10까지의 합을 출력while
*
*/
public class Ex08 {
public static void main(String[] args) {
// TODO Auto-generated method stub
/*
while (en.hasMoreElements()) {
type type = (type) en.nextElement();
}
while (it.hasNext()) {
type type = (type) it.next();
}
while (condition) {
}
*/
//조건이 참일 동안 반복
//임의의 숫자(1~3)번을 10번 반복하세요.
int i=1; //초기화
while (i<=10) { //1<=10 참 조건식
System.out.println((int)((Math.random()*3)+1));
i++;
}//while //증감식
}//main
}//class
16.ex08_02)
package days05;
/**
* @author kim
* @date 2023. 2. 1.-오후 5:13:30
* @subject
* @content
*
*/
public class Ex08_02 {
public static void main(String[] args) {
int i=1, sum=0;
while (i<=10) {//i<=10 참
System.out.printf("%d+", i);
sum +=i;
i++;
}//while문은 condition(조건)이 참이 동안 반복하겠다.
System.out.printf("=%d", sum);
}
}
728x90
'교육 > java' 카테고리의 다른 글
day06 : java수업내용정리(2월 2일) (0) | 2023.02.09 |
---|---|
days11 : java수업내용정리(2월 9일) (0) | 2023.02.09 |
day04 : java수업내용정리(1월 31일) (0) | 2023.01.31 |
day01 : java수업내용정리(1월 26일) (0) | 2023.01.31 |
day03 : java수업내용정리(1월 30일) (0) | 2023.01.30 |