조건을 확인하고 true면 {}중괄호 안의 내용을 실행하고, 아니면 빠져나간다.
if(n1 < n2) { // if(boolean 타입을 받는게 와야한다.)
System.out.println("n1 > n2 is true");
//true면 실행, false면 실행안하고 빠져나감.
}
if문의 조건이 false일 경우 else로 가서 {}중괄호 안의 내용을 실행한다.
반드시 if나 else 둘중하나는 실행하게 되어있다.
if(n1 == n2) {
System.out.println("n1 == n2 is true");
//true면 실행 후 조건문을 빠져나감
} else {
System.out.println("n1 == n2 is false");
//false면 실행 후 조건문을 빠져나감
}
if문이 false이고, 검사하고 싶은 조건이 많은 경우에는 else if를 추가로 여러번 사용하여 조건을 검사할 수 있다. 모든게 false인 경우 if - else문과 마찬가지로 else로 넘어간다.
public class Hello {
public static void main(String[] args) {
int num = 120;
if (num <0) {
System.out.println("0미만");
} else if(num <100) {
System.out.println("0이상 100미만");
} else
System.out.println("100이상");
//모든 if와 else if 문이 false면 else를 실행
}
}
국어:80 수학:80 영어:60
평균을 출력하고, 평균에 따른 수우미양가를 출력하시오.
public class else_if {
public static void main (String[] args) {
int kor = 63;
int eng = 88;
int math = 70;
int sum = kor + eng + math;
double avg = sum / 3;
if (avg >= 90) {
System.out.println("수");
}
else if (avg >= 80) {
System.out.println("우");
}
else if (avg >= 70) {
System.out.println("미");
}
else if (avg >= 60) {
System.out.println("양");
}
else {
System.out.println("가");
}
}
}
80, 33 ,55 = 최대값을 출력하시오.
public class Hello {
public static void main(String[] args) {
int a= 80, b=33, c=55;
int max;
max = (a > b) ? (a > c ? a : c) : (b > c ? b : c);
System.out.println("max is "+ max);
}
}
int num = -10 을 할당후 해당 정수에 대한 절대값을 출력
public class Hello {
public static void main(String[] args) {
int num = -10;
if(num < 0) {
num = -num;
}
System.out.println("절댓값은 " +num);
}
}
먼저 조건 검사하고 결과가 true이면 중괄호 영역 실행
초기값
while(반복조건) {
반복영역
증감
}
예시
public class Hello {
public static void main(String[] args) {
int num = 0;
while(num <5) {
System.out.println("I like Java " + num);
num++;
}
}
}
먼저 중괄호 영역 실행, 조건 검사 후 결과가 true이면 반복 결정. 무조건 1번은 실행한다.
초기값
do{
반복영역
증감
} while(반복조건);
예시
public class Hello {
public static void main(String[] args) {
int num = 0;
do {
System.out.println("I like Java " + num);
num++;
} while(num<5);
}
}
while문은 조건이 안 맞으면 한번도 실행 안할 수 있지만
do while문은 조건이 맞지 않더라도 무조건 한 번은 실행한다.
for(초기값; 반복 조건; 증감);
for(int i = 0; i<3; i++){
System.out.println("조건에 맞으면 출력");
}
변수의 범위는 중괄호 안 for문에서 초기화 구문은 딱 한번만 실행됨
구구단 출력하기
public class Hello {
public static void main(String[] args) {
int i=1; //첫 번째 반복문의 변수 초기화
while(i<10) {
System.out.println("\n"+i+"단");
int j=1;
while(j<10) {
System.out.println(i+"x"+j+"="+i * j);
j++; //중첩 반복문의 변수 증감
}
i++; //첫 번째 반복문의 변수 증감
}
}
}
1부터 100까지의 합을 출력
public class Hello {
public static void main(String[] args) {
int num;
int sum=0;
for(num=1; num<=100; num++) {
sum = sum + num;
}
System.out.println("1부터 100까지의 합은: " + sum +"입니다.");
}
}
1부터 100까지의 홀수들의 합을 출력
public class Hello {
public static void main(String[] args) {
int num;
int sum=0;
for(num=1; num<=100; num++) {
if(num % 2 == 0) {
sum = sum + num;
}
}
System.out.println("1부터 100까지 중 홀수의 합은: " + sum +"입니다.");
}
}
중간에 break를 걸리면 true면 조건문을 탈출한다.
중간에 continue걸리면 true면 다시 조건 검사로 돌아간다.
예시
public class Hello {
public static void main(String[] args) {
int num = 1;
boolean search = false;
while(num <100) {
if((num % 5 == 0) && (num % 7 ==0)) {
search = true;
break; //while문을 탈출
}
num++;
}
if(search) {
System.out.println("찾는 정수: " + num);
} else {
System.out.println("5의 배수이자 7의 배수인 수를 찾지 못했습니다.");
}
}
}
1과 1000 사이의 숫자중 3의 배수 이자 5의 배수인 첫번재 수는?
public class Hello {
public static void main(String[] args) {
int num = 1;
boolean search = false;
while(num<1000) {
if((num%3==0)&&(num%5==0)) {
search = true;
break; //if문 탈출
}
num++;
}
if(search) {
System.out.println("찾는 정수: " + num);
}else {
System.out.println("3의 배수이자 5의 배수인 수를 찾지 못했습니다.");
}
}
1과 1000 사이의 숫자중 2의 배수 이자 3의 배수인 수는 모두 몇개인가?
public class Hello {
public static void main(String[] args) {
int i =1;
int count=0;
while((i++)<1000){
if((i%2!=0) || (i%3!=0)) { //2배수이거나 3의 배수가 아니면
continue; //조건문으로 돌아감
}
count++;
//System.out.println(i);
}
System.out.println("count:" + count);
}
126500 의 금액을 한국화폐으로 바꾸었을 때 각각 몇 개의 화폐가 필요한지 계산해서 출력
90, 70 100 세 수중 max 삼항연산자를 활용하여 값을 구하시오.
int num1 = 80;
int num2 =1000;
int num3=100;
int max;
if( (num1 > num2) && (num1 >num3) ) {
max = num1;
}else if( (num2 > num3) && (num2 >num1) ) {
max = num2;
}else {
max = num3;
}
or
int max = num1;
if( num2 > max) {
max = num2;
}
if( num3 > max) {
max = num3;
}
System.out.println(max);
for( ; ; ){...}
while(true){...}
do{
}while(ture)
public class Hello {
public static void main(String[] args) {
while(true) {
System.out.println("Hello World");
}
}
}
public class Hello {
public static void main(String[] args) {
for(;;) {
System.out.println("Hello World");
}
}
}
무한루프에서 탈출하려면 조건문+break밖에 방법이 없다.
구구단 출력하기 02
public class Hello {
public static void main(String[] args) {
for(int i=2; i<10; i++) {
for(int j =1; j<10; j++) {
System.out.println(i+"x"+j+"="+i*j);
}
System.out.println();
}
}
}
구구단 짝수단만
public class Hello {
public static void main(String[] args) {
for(int i=2; i<10; i++) {
if(i%2!=0)
continue;
for(int j =1; j<10; j++) {
System.out.println(i+"x"+j+"="+i*j);
}
System.out.println();
}
}
}
구구단 3의 배수인 단만
public class Hello {
public static void main(String[] args) {
for(int i=2; i<10; i++) {
**if(i%3!=0)
continue;**
for(int j =1; j<10; j++) {
System.out.println(i+"x"+j+"="+i*j);
}
System.out.println();
}
}
}
*****
*****
*****
*****
*****
public class Hello {
public static void main(String[] args) {
for(int i=1; i<=5; i++) {
for(int j =1; j<=5; j++) {
System.out.print("*");
}
System.out.println();
}
}
}
*
**
***
****
*****
public class Hello {
public static void main(String[] args) {
for(int i=1; i<=5; i++) {
for(int j =1; j<=i; j++) {
System.out.print("*");
}
System.out.println();
}
}
}