5일차 if,switch조건문과 for반복문 그리고 조별과제
2. 조건문 (if문, switch문)
---------------------점수에 대해서----------------------
public static void main(String[] args) {
int from = 0 ;
int to = 100;
int score = (int)(Math.random()*to) + from;
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("점수: " + grade);
} //main
스위치문
-스위치문 변수로 올 수 있는 타입
(1). 정수타입 (2). 문자타입 (3). 문자열타입
(4). 열거형 // 실수타입은 오지못해요.
---------------스위치문 완전 기본 문법--------------------
public static void main(String[] args) {
int length = 6;
int from = 1;
int to = length-from+1;
int num = (int)(Math.random()*to) + from;
switch(num) {
case 1:
System.out.println("1번입니다.");
break;
case 2:
System.out.println("2번입니다.");
break;
case 3:
System.out.println("3번입니다.");
break;
case 4:
System.out.println("4번입니다.");
break;
case 5:
System.out.println("5번입니다.");
break;
default: // default 문은 가운데로 갈 수도 있고 break 를 안넣을수도 있는데 그러면 안된다.
System.out.println("6번입니다.");
break;
} // Switch
} // main
-----------------string 과 char문의 Switch문 ------------------
public static void main(String[] args) {
String position = "과장" ;
switch(position) {
case "부장" :
System.out.println("700만원");
break;
case "과장" :
System.out.println("500만원");
break;
case "사원" :
System.out.println("300만원");
break;
}
char grade = 'b';
switch(grade) {
case 'a' :
case 'A' :
System.out.println("우수회원");
break;
case 'b' :
case 'B' :
System.out.println("일반회원");
break;
default:
System.out.println("비회원");
break;
}
--------------------------------break 없는 switch문 : 여러 중복해야 하는 ----------------------------
public static void main(String[] args) {
int time = (int)(Math.random()*4) +8;
System.out.println("[현재시간:" + time + " 시]");
switch(time) {
case 8:
System.out.println("출근합니다.");
case 9:
System.out.println("회의를 합니다.");
case 10:
System.out.println("업무를 합니다.");
default:
System.out.println("외근을 나갑니다.");
} //switch
} // main
3. 반복문 (for문, while문, do-while문)
중괄호 블록내용을 반복적으로 실행할 때 사용
종류: for문 , while 문, do - while 문
(1) for문 : 반복횟수를 알고 있을때 쓰는 문장
------------------------for문 기본 예제--------------------
// 반복할 횟수가 정해져 있을 때, 정해진 반복횟수만큼
// for block을 반복 수행하는 문장
public static void main(String[] args) {
for(int i =1; i <=10; i++) {
// 초기식의 i 변수의 이름= 카운터 변수 /loop라는 영어이름은 잘안씀.
System.out.println(i);
}//for
//----------------------------------------------------------------
int sum= 0;
int i =0 ;
for(i=1; i<=100; i++) {
sum+=i; // 복합대입 연산자 +=
// sum = sum + i;
} // for
System.out.println(i);
//-----------------------------------------------------------
// for ( ; ; ) {} << 무한루프 -- 컴퓨터 CPU 고장남
// 반드시, 탈출 조건을 넣어야한다. if(10<=i){break;}
//----------------------------------------------------------
// int i=1;
//for (;i<=10;){i++} << 가능
//
}// main
-----------------------중첩 for문에 대한 구구단 예제 -----------------------------
public static void main(String[] args) {
for (int y=1; y<=9 ; y++) {
for(int i =1; i <=9; i++) {
System.out.println(y+" x "+ i + "=" + i*y );
}//inner - for
}//outer- for
}// main
------------------------for문 float 카운트변수 예제-----------------------
public static void main(String[] args) {
// 실수타입으로 카운터 변수를 사용하면 안된다 !!(부작용 발생.)
for(float i =0.1F; i <=0.1f; i+=0.1f) {
System.out.println(i);
}//for
}// main
알고리즘을 짜라고 하셔서 계속 어떻게 해야 간결하게 할 수 있다가 다들 if문 사용하는데 나만 다르게 if 문 없이 해보았다. 기존의 기준이랑 생각을 뒤집으려고 머리가 너무 아프다.. 1시간 30분동안 골머리 싸맨 코드다.
public static void main(String[] args) {
int day=1; //날짜
int cave =300; // 동굴
int drop=17; // 하루 떨어지는 높이
int gap = 23; // 하루 떨어지고 올라갔을때
int high =40; //하루 올라가는 높이;
int sum = high; // 매일매일 올라가고 떨어지는 높이들의 합
for( ;sum<cave; day++) {
sum= (gap*(day-1))+ high;
System.out.println(day+ "일차");
System.out.println(sum);
}// for
// 올라가 /내려가 올라가/ 내려가 올라가/
// 1 2 일 사이 3 일
// 간결화 //밤에 내려가고// 도착은 무조건 그 날 낮에
//
}//main
현재 시간 23시 30분쯤 수업 끝날 때 추가 조별 과제를 내주셨다 . 팀별로 브레인스토밍 하라구 하셨는데 다들 자러가서 혼자 한 번 알고리즘 짜보고 코드짜봤다 두근 두근 설렜다.
나도 이제 자야겠다..
//
//
// step.1 종료시점까지 열심히 곱해야한다. (팩토리의 현재 상황)
// step.2 멈추기 위해서는 원하는 값이 무엇인지 물어본다. (요구사항 확인)
// 2-1. n!의 값을 물어보는지?
// 2-1-1 n의 값이 정수이면 step3 수행
// 2-1-2 n의 값이 실수이면 사과문 출력하고 종료.
// 2-2. 임의의수를 정하고 값을 비교값 요구
// 2-3. 임의의수보다 작거나 큰값을 요구
// step.3 원하는 값과 현재의 값이 충족하는지 비교한다. (비교)
// 3-1. 임의의수보다 작거나 큰값을 요구 안내문 보내고 종료 (2-3)
// 3-2. 임의의수를 정하고 값의 비교를 원했을때 안내문 보내고 종료 (2-2)
// 3-3. if 현재 값 == 요구값이면 n팩 값을 반환하고 종료 ()
//
int user=4;
int n=1;
int fac = 1;
int choose =1; //요구사항 확인
System.out.println("팩토리를 이용해서 어떤 값을 얻고 싶으신 건가요");
System.out.println("n(user가 입력한 임의의수)!의 값을 얻고 싶으시면 1번을 누르세요. ");
System.out.println("n!의 값과 user값의 비교를 원하시면 2번을 누르세요. ");
System.out.println("n!의 값과 user값이 더 크거나 작기를 원하시면 3번을 누르세요. ");
if(choose==1) {
if(user%1==0) {
for (;n<=user;n++) {
fac = fac*n ;
System.out.println(n);
} //for문
System.out.println((n-1)+ "! = " + fac);
} else {
System.out.println("송구합니다. 정수를 입력해주세요.");
} //inner if문
} else {
System.out.println("과제 내용에 없던 내용입니다.");
} //if 문 ```
Author And Source
이 문제에 관하여(5일차 if,switch조건문과 for반복문 그리고 조별과제), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@koo9b9h/5일차-ifswitch조건문과-for반복문-그리고-조별과제저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)