Power JAVA 3장. 조건문, 반복문, 배열

2022. 10. 23. 15:10·컴퓨터과학/자바

 

목차

3-1. if - else문

3-2. switch문

3-3.for문

3-4. while문

3-5. 배열

3-6. 2차원 배열

3-7. ArrayList

 


1. if - else문

예제) 짝수와 홀수 구별하기

package book3;
import java.util.Scanner;
//정수가 홀수인지 짝수인지 구분해주는 프로그램
public class EvenOddd {

	public static void main(String[] args) {
		int num;
		Scanner sc = new Scanner(System.in);
		System.out.print("정수를 입력하세요: ");
		num = sc.nextInt();
		
		if(num%2 == 0)
			System.out.println("입력된 정수는 짝수");
		else
			System.out.println("입력된 정수는 홀수");
	}
}

 

예제: 학점결정

package book3;
import java.util.Scanner;
//예제: 학점 결정
public class Grading {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int score;
		System.out.print("성적을 입력하세요: ");
		score = sc.nextInt();
		
		if (score>=90)
			System.out.print("A");
		else if (score>=80)
			System.out.print("B");
		else if (score>=70)
			System.out.print("C");
		else if (score>=60)
			System.out.print("D");
		else
			System.out.print("F");
	}
}

 

예제: 가위바위보 게임

package book3;
//예제: 가위바위보 게임
import java.util.Scanner;
import java.util.*;
public class RPS {
	final int S = 0; //가위
	final int R = 1; //바위
	final int P = 2; //보
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.print("가위 0 바위 1 보 2");
		int user = sc.nextInt();
		
		int computer = (int)(Math.random()*3);
	}
}

 

2. switch

본문내용넣기

 

예제) 학점결정을 스위치문으로

package book3;
//예제 학점결정 스위치문으로
import java.util.*;
public class Score2Grade {
	public static void main(String[] args) {
	Scanner sc = new Scanner(System.in);
	System.out.print("성적을 입력하세요: ");
	int score = sc.nextInt();
	int number;
	char grade;
	
	number = score/10;
	switch(number) {
	case 10:
	case 9:
		grade ='A';
		break;		
	case 8:
		grade ='B';
		break;		
	case 7:
		grade ='C';
		break;		
	case 6:
		grade ='D';
		break;		
	default:
		grade ='F';
		break;
		
		}
	}
}

//스위치 문 제어식으로 String 사용 가능

String s = " yes ";

switch(s){

}

 

향상된 스위치문도 사용가능함

var day = "SAT";
var today ="";
switch (day){
	case "SAT","SUN" -> today = "주말";
    case "MON","THU" -> today = "주중";
    default -> "주중";
}

 

 

 

3. for문

 

 

 

 

 

 

본문내용넣기

 

예제 팩토리얼 계산하기

package book3;
//예제: 팩토리얼 계산하기
import java.util.*;
public class Factorial {
	public static void main(String[] args) {
		long fact = 1; //디폴트값
		int n;
		System.out.print("정수를 입력하세요: ");
		
		Scanner sc = new Scanner(System.in);
		n = sc.nextInt();
		
		for(int i=0; i<=n; i++) {
			fact = fact*i;
		}
	}
}

예졔) 약수 계산하기

package book3;
//예제 약수 계산하기
import java.util.*;
public class Divisor {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.print("양의 정수를 입력하세요: ");
		int x = sc.nextInt();
		for(int i=1; i<=x; i++) {
			if(x%i==0)
				System.out.print(i+" ");
		}
	}
}

예제) 삼각형 모양 출력하기

 

package book3;
//예제) 삼각형 모양 출력하기
import java.util.*;
public class NestedLoop {

	public static void main(String[] args) {
		//x와 y축이 있다고 생각하고 
		for(int y=0; y<8; y++) { //열
			for(int x=0; x<y+1; x++ ) {
				System.out.print("*");
			}
			System.out.println("");
		}
	}
}

 

 


 

4. while문

마무리

 

 

 

 

 

5. 배열

배열은 여러 개의 변수를 하나로 묶어 넣은 것이다. 같은 종류 같은 타입의 데이터만 넣을 수 있음!

 

 

 

 

6. 2차원 배열

마무리

 

 

 

 

 

7. ArrayList

마무리

 

 

 

미니프로젝트

마무리

 

 

 

 

프로그래밍

1번

package programming3;

import java.util.Scanner;

public class programming {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int num = sc.nextInt();
		
		switch(num) {
		case 1: System.out.println("one"); break;
		case 2: System.out.println("two"); break;
		case 3: System.out.println("three"); break;
		case 4: System.out.println("four"); break;
		case 5: System.out.println("five"); break;
		case 6: System.out.println("six"); break;
		case 7: System.out.println("seven"); break;
		case 8: System.out.println("nine"); break;
		default: System.out.println("잘못 입력");break;
		
		}
	}
}

2번

package programming3;

import java.util.Scanner;

public class programming {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.print("연산을 입력하세요: ");
		String z = sc.next();
		System.out.print("피연산을 입력하세요: ");
		int x = sc.nextInt();
		int y = sc.nextInt();
		double result = 0.0;
		switch(z) {
		case "*": result = (double)x*(double)y; break;
		case "+": result = (double)x+(double)y; break;
		case "-": result = (double)x-(double)y; break;
		case "/": result = (double)x/(double)y; break;
		case "%": result = (double)x%(double)y; break;
		}
		System.out.print(x+z+y+"="+result);
	}
}

3번

package programming3;

import java.util.Scanner;

public class programming {

	public static void main(String[] args) {
		int[] num = new int[50];
		for(int i=0; i<num.length; i++) {
			num[i] = i+1;
			if(num[i]/10==3 &&(num[i]%10==3 || num[i]%10==6 || num[i]%10==9)) 
				System.out.println("짝짝"); //가장 특이한 케이스 먼저 처리 33,36,39
			else if (num[i]/10==3)
				System.out.println("짝");//30번대인데 3 한번만 들어가는 경우
			else if(num[i]%3 == 0)
				System.out.println("짝"); //그 외 일반적인 3,6,9
			else
				System.out.println(num[i]);
		}
	}
}

4번

 

package programming3;

import java.util.Scanner;

public class programming {

	public static void main(String[] args) {
		int sum = 0;
		for (int i =1; i<=100; i++) {
			if(i%3==0 || i%4==0) {
				sum+=i;
			}
		}
		System.out.println(sum);
	}
}

5번

package programming3;

import java.util.Scanner;

public class programming {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		int[] dice1 = {1,2,3,4,5,6};
		int[] dice2 = {1,2,3,4,5,6};
		
		for(int i=0; i<dice1.length; i++)
			for(int j=0; j<dice2.length; j++) {
				if(dice1[i]+dice2[j]==6)
					System.out.print("("+dice1[i]+","+dice2[j]+") ");
			}
	}
}

6번

package programming3;

import java.util.Scanner;

public class programming {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		int[] x = {0,1,2,3,4,5,6,7,8,9,10};
		int[] y = {0,1,2,3,4,5,6,7,8,9,10};
		
		for(int i=0; i<x.length; i++)
			for(int j=0; j<y.length; j++) {
				if((3*x[i])+(10*y[j])==100)
					System.out.print("("+x[i]+","+y[j]+") ");
			}
	}
}

7번

package programming3;

import java.util.Scanner;

public class programming {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int count =0;
		for(int i=2; i<=100; i++) {
			for(int j=2; j<=i ; j++) {
				if(i%j==0) {
					count++;
				}
			}
			if(count==1)
				System.out.print(i+" ");
			count =0;
		
		}
	}
}

줄바꿈 주의

안쪽 for문 나오고 나서 count =0으로 고쳐줘야 함.

 

9번

피보나치 수열  직접 짰다는 데서 의미가 있다고 생각..

package programming3;

import java.util.Scanner;

public class programming {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("출력할 항의 개수: ");
		int num = sc.nextInt();
		
		int f0=0;
		int f1 =1;
		int f2;
		
		for(int i=1; i<=num; i++) {
			if(i==1) 
				System.out.print(f0+ " ");
			
			else if(i==2) 
				System.out.print(f1+ " ");
			
			else {
				f2 = f1+ f0;
				System.out.print(f2+ " ");
				f0 = f1;
				f1 = f2;
			}
		}
	}
}

 

13. (int)(Math.random()*5) 0~4사이의 난수 생성 

 

14.

 

15.

package programming3;

import java.util.Scanner;

public class programming {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int[][] s= new int[3][5];
		
		for(int i=0; i<3; i++) {
			for(int j=0; j<5; j++) {
				s[i][j] =0;
			}
		}
		
		
		for(int x=0; x<5; x++) {
			int r = (int)(Math.random()*3);
			int l = (int)(Math.random()*5);
			s[r][l]=1;
		}
		for(int i=0; i<3; i++) {
			for(int j=0; j<5; j++) {
				System.out.print(s[i][j]+" ");
			}
			System.out.println("");
		}
	}
}

'컴퓨터과학 > 자바' 카테고리의 다른 글

POWER JAVA 2장. 자바프로그래밍 기초  (0) 2022.10.22
자바 1~2주차 공부  (0) 2022.07.09
'컴퓨터과학/자바' 카테고리의 다른 글
  • POWER JAVA 2장. 자바프로그래밍 기초
  • 자바 1~2주차 공부
Yeni_aa
Yeni_aa
  • Yeni_aa
    Study with Yeni
    Yeni_aa
  • 전체
    오늘
    어제
    • 분류 전체보기 (21)
      • 금융자격증시험 (2)
        • 신용분석사 (1)
        • 투자자산운용사 (1)
      • 토익 (0)
      • 컴퓨터과학 (6)
        • C언어 C++스터디 (2)
        • 자구 알고리즘 스터디 (1)
        • 자바 (3)
        • 동영상 강의 (0)
        • 프로그래밍언어론 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
Yeni_aa
Power JAVA 3장. 조건문, 반복문, 배열
상단으로

티스토리툴바