▶ 조건문
// 3가지 형태
1. 조건에 맞으면 실행O 없으면 x if() {실행할 문장}
2. 조건에 맞으면 실행O 없으면 else문 if() {실행할 문장} else {거짓일 때 실행할 문장}
3. 조건에 맞으면 실행O 아니면 또다른 조건 if() {} if else{참일 때 실행 할 문장} else{거짓일 때 실행할 문장}
◈ if문
System.out.println("----------예제 1-----------------");
System.out.println("▶n을 10 초기화, n이 5 이상이면 변수 i에 +1 해라");
int n = 10;
int i = 0;
if(n >= 5) {
i++;
}
System.out.println("n이 5이상인 경우 i값 :"+i);
System.out.println("\n");
System.out.println("----------예제 2-----------------");
System.out.println("▶아니면 -1해라");
n=4;
i=0;
if(n >= 5) {
i++;
}else {
i--;
}
System.out.println("n이 5이하인 경우 i값 :"+i);
System.out.println("\n");
◈ if else문
System.out.println("----------예제 3-----------------");
System.out.println("▶변수 score가 grade 변수에 90정 이상'A', 80점 이상'B', 70점 이상'C', 그 외에는 'F'");
int score= 50;
char grade;
if(score >= 90) {
grade = 'A';
}else if (score >= 80){
grade = 'B';
}else if (score >= 70) {
grade = 'C';
}else {
grade = 'F';
}
System.out.println("당신의 점수는?"+grade);
System.out.println("\n");
System.out.println("----------예제 4-----------------");
System.out.println("▶dust 변수에 임의의 숫자를 저장해놓고, 매우나쁨 : 151~ 마이크로그램, 나쁨 : 81 ~ 150, 보통 : 31 ~ 80, 좋음 : 0~30");
double dust = 151.5;
String msg = "";
if(dust > 151) {
msg = "매우나쁨";
}else if (dust > 80) {
msg = "나쁨";
}else if (dust > 30) {
msg = "보통";
}else if (dust > 0 ) {
msg = "좋음";
}else {
msg = "측정불가";
}
System.out.println("오늘의 날씨는 "+ msg);
System.out.println("\n");
◈ 연산자 + 조건문
System.out.println("----------예제 5-----------------");
System.out.println("조건이 2개 이상일 때, and 조건");
System.out.println("▶국어 점수, 수학점수가 모두 60점 이상이면 합격, 아니면 불합격");
double kor = 55.5, math = 76.5;
String res = "";
if(kor >=60 && math >= 60) {
res = "합격";
}else {
res="불합격";
}
System.out.println("당신의 합격여부 : "+res);
System.out.println("\n");
System.out.println("----------예제 6-----------------");
System.out.println("조건 2개 or 조건");
System.out.println("▶영업팀 1,2,3월의 영업실적을 판정하는데");
System.out.println("1,2,3월 중 하나라도 실적이 60미만이었다면 면담을 출력하시오");
double score1 = 60.5, score2 = 90, score3 = 80;
if(score1 < 60 || score2 < 60 || score3 < 60) {
System.out.println("면담");
}else {
System.out.println("면담 없음");
}
System.out.println("\n");
}
▶ 반복문
// 3가지
1. while문
while (조건) {반복할 문장}
- 선조건 , 한번도 실행 안될 수 도 있다.
- 몇번 반복할지는 모르지만, 특정한 조건이 만족하면 종료
2. do ~ while 문 : while 문장 끝 세미클론이 찍힘
do {반복할 문장} while(조건);
- 후 조건 , 반드시 최소 한번 실행됨
ex) 값을 입력받는데 0이 들어오기 전까지 반복 ...
3. for 문
for (초기화; 조건문; 증감) {}
- 몇 번 반복할지 횟수를 알 수 있는 경우
▶ Scanner
◈ 키보드로 부터 입력 받을 때 사용하는 구문을 쓰기 위해 사용
import java.util.Scanner;
Scanner 변수명 = new Scanner(System.in);
- 정수, 실수, 문자 형태로 변환 시켜줘야함
◈변수에 입력받은 타입 형태 변환 해주는 문장
in.next(); String 타입 형태로 변환 (문자열)
in.nextInt(); Int 형태로 변환 (정수)
in.nextDouble(); double 형태로 변환 (실수)
◈ 반복문 while + Scanner
System.out.println("---------------- 예제 1 ----------------");
System.out.println("▶반복문 while, 조건이 참이면 반복하기");
int num = -1;
while (num != 0) {
System.out.printf("숫자 입력 (0이면 중지) : ");
Scanner in = new Scanner(System.in);
num = in.nextInt();
}
System.out.println("종료");
System.out.println("\n");
System.out.println("---------------- 예제 2 ----------------");
System.out.println("▶입력받은 숫자의 합계를 구해서 마지막 출력");
double sum=0, avg ;
double count = 0;
double num2 = -1;
while (num2 != 0) {
System.out.printf("숫자 입력 (0이면 중지) : ");
Scanner in2 = new Scanner(System.in);
num2 = in2.nextDouble();
sum += num2; // sum = sum + num2;
count++;
}
count --; // ☆마지막에 0입력한 횟수에서 빼기
avg = sum / count; // ★정수/정수 인경우 한개의 자료형을 실수로 강제형변환 시켜줘야함
System.out.println("종료");
System.out.println("입력받은 숫자의 합계 : " + sum);
// 합계 / 개수 =
// ☆몇번 입력했는지 개수 카운트 하는 변수가 필요함
// 정수 나누기는, 몫만 나온다.
System.out.println("입력받은 숫자의 횟수 : " + count);
System.out.println("입력받은 숫자의 평균 : " + avg);
System.out.println("\n");
◈ 반복문 for + Scanner
int num= -1, sum = 0, cnt = 0;
double avg = 0;
System.out.println("--------------예제 1---------------------");
System.out.println("▶반복 횟수가 정해진 반복문 작성하기");
while 문으로 작성하면 초기화, 종료조건, 증감조건 문이 따로 떨어져있음
while (cnt > 5) {
System.out.println("숫자 입력" + cnt + " : ");
Scanner in = new Scanner(System.in);
num = in.nextInt();
sum += num;
cnt++;
}
avg = (double)sum / cnt;
System.out.println("종료");
System.out.println("합계 : "+sum);
System.out.println("\n");
//그래서 횟수가 정해졌을때 for 문으로 작성하게됨 (for문에서 cnt 변수 부분은 i로 많이 씀)
for (int i=0; i < 5; i++) {
System.out.printf(i + "번쨰 숫자 입력 " + " : ");
Scanner in = new Scanner(System.in);
num = in.nextInt();
sum += num;
cnt++;
}
avg = (double)sum / cnt;
System.out.println("종료");
System.out.println("합계 : "+sum);
System.out.println("평균 : "+avg);
변수 유효범위 : {} 중괄호 안에서 유효하다. 메모리에 존재한다.
내가 속한 중괄호를 벗어나면 사라진다. 메모리에 존재하지 않는다.
ex) for 문 안에 있는 i는 해당 조건문이 끝나면 메모리 상에서 사라지기 때문에
for 문 밖에서 i를 불러올 수 없음
◈ 반복문 for + 배열 (Array)
▶배열 // 변수 - 단독주택, 배열(리스트) - 아파트
int arr[] = new int[5];
5개 짜리 크기 배열 생성 해라
ㄴ 같은 문장 int[] arr = new int[5];
★배열.length; = 배열의 길이(몇개인지) 구해줌
System.out.println("--------------예제 2---------------------");
System.out.println("▶arr 배열에 숫자를 입력하고 출력해라");
int arr[] = new int[5];
// 입력 반복문
System.out.println("5개 숫자 저장이 가능한 배열에 숫자 입력하기");
for (int i =0; i < arr.length; i++) {
Scanner in = new Scanner(System.in);
arr[i] = in.nextInt();
}
// 출력 반복문
// System.out.println("입력받은 배열 출력하는 문장");
// for (int i =0; i < arr.length; i++) {
// System.out.println(arr[i]);
// }
// for문의 축약문 : 배열과 함께 많이 쓰임
// 배열 + 반복문 줄이기
// for (변수명 : 배열명) {}
for (int a : arr) {
System.out.println(a);
}
◈ 중첩 for문
// i = 단수, j = 곱하는 수
for (int i=1; i<=9; i++) {
for (int j = 1; j<=9; j++) {
System.out.println(i+ "*" + j + " = " + i*j);
}
System.out.println("--------------------");
}
// i = 2 찍고 j 1~9 찍고
// i = 3 찍고 j 1~9 찍고 반복
}
'국비지원 JAVA 풀스택 과정 > JAVA' 카테고리의 다른 글
[JAVA] 접근 제한자 (0) | 2022.09.23 |
---|---|
[JAVA] 자바 프로그램 작성 순서 (0) | 2022.09.23 |
[JAVA] 개발자 환경 구축 (1) | 2022.09.23 |
22.09.08 사전수업_2_연산자,제어문 (0) | 2022.09.08 |
22.09.07_사전 수업_1_변수,상수 (0) | 2022.09.06 |