목차
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 |