자바_기초특강 4일차 (총 4일)
package day04;
// Switch 조건문
// Switch 조건문의 경우, if 문과는 다르게
// 값이 명확하게 나뉘는 변수 혹은 결과값을 선택하여
// 원하는 값에 따른 코드처리를 하게 된다.
// switch의 기본 구조
// switch(값) {
// case 값1:
// 값1에 대한 코드
// ...
// break;
// case 값2:
// 값2에 대한 코드
// .....
// break;
// default:
// 그외 값들에 대한 코드
// break;
public class Ex01Switch {
public static void main(String[] args) {
//switch에서 선택할 int 변수 선언 및 초기화
int number = 2;
switch(number * 2) {
case 4:
System.out.println("4입니다.");
break;
case 1:
System.out.println("1입니다.");
break;
case 2:
System.out.println("2입니다.");
break;
case 3:
System.out.println("3입니다.");
break;
default:
System.out.println("그외입니다.");
break;
}
}
}
package day04;
// 사용자가 입력한 월의 마지막 날짜가
// 몇일인지 switch문을 통해 보여주는 프로그램
import java.util.Scanner;
public class Ex02Switch02 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("월을 입력해주세요.");
System.out.print("> ");
int month = scanner.nextInt();
switch(month) {
case 2:
System.out.println("28일까지입니다.");
break;
case 4:
case 6:
case 9:
case 11:
System.out.println("30일까지입니다.");
break;
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
System.out.println("31일까지입니다.");
break;
}
scanner.close();
}
}
package day04;
// for 반복문
// 총 반복횟수와는 무관한 while 반복묵놔는 다르게
// for 반복문은 비교적 명확하게 총 반복횟수가 드러나는
// 반복문이다.
// for문의 기본 구조
// for(제어변수의 선언과 초기화; 반복 조건식; 제어변수의 변화식) {
// 반복할 코드
// }
public class Ex03For {
public static void main(String[] args) {
for(int i = 1; i <= 3; i++) {
System.out.println("i의 현재 값: " + i);
}
// 전통적으로 i j k l 이런거 씀 for 문에
// 1. for 반복문의 제어변수는 우리가 원하는대로 이름을 지어줄 수는 있지만
// 전통적으로 i에서 시작하여 만약 중첩이 되면 j -> k -> l ... 순으로
// 들어가게 된다.
// 2. 제어변수의 초기화나 반복 조건식에는 다른 변수를 사용할 수도 있다.
int start = 3;
int end = 6;
for(int i = start; i <= end; i++) {
System.out.println("i의 현재 값: " + i);
}
// 3. 제어변수의 변화식의 경우, 해당 제어변수의 값을 변경하는 모든 할당연산자를
// 사용할 수 있다.
for(int i = 1; i <= 10000000; i *= 100) {
System.out.println("i의 현재 값: " + i);
}
}
}
package day04;
// 사용자로부터 1~100 사이의 정수를 하나 입력받아서
// 1부터 그수까지 합을 구하는 프로그램을 작성해보세요.
// 쉬는 시간 포함 30분간
import java.util.Scanner;
public class Ex04For2 {
public static void main(String[] args) {
//입력을 처리할 Scanner 클래스 변수
Scanner scanner = new Scanner(System.in);
// 사용자로부터 숫자를 입력받는다.
System.out.println("1~100 사이의 숫자를 입력해주세요.");
System.out.println("> ");
int number = scanner.nextInt();
while(number < 1 || number > 100) {
System.out.println("잘못 입력하셨습니다.");
System.out.println("1~100 사이의 숫자를 입력해주세요.");
System.out.print("> ");
number = scanner.nextInt();
}
// 1부터 사용자의 숫자까지의 합을 저장할 변수를 선언하고 초기화한다.
int sum = 0;
// for문을 사용해서 합을 구한다.
for(int i = 1; i <= number ; i++) {
sum += i;
}
// 출력한다.
System.out.printf("1부터 %d까지의 합: %d\n", number, sum);
scanner.close();
}
}
package day04;
// 중첩 for문
// 중첩 for문의 경우, 상위 for문이 1번 반복될 동안
// 하위 for문은 처음부터 끝까지 반복된다는 것이 특징이다.
// 일종의 표를 생각하면 좋다.
public class Ex05NestedFor {
public static void main(String[] args) {
for(int i = 1; i <= 5; i++) {
for(int j = 11; j<= 15; j++) {
System.out.printf("i: [%d], j: [%d]\n", i, j);
}
System.out.println("-----------------------");
}
}
}
package day04;
// 1부터 100까지의 수소를 구하는 프로그램
// 소수란?
// 약수가 1과 자기자신인 숫자
// = 약수가 2개인 숫자
// 약수란?
// A를 B로 나눴을때 나눠 떨어지면 B는 A의 약수이다.
// = A를 B로 나눴을 때 나머지가 0이면 B는 A의 약수이다.
// 어떤 수의 가장 큰 약수는?
// 자기자신
public class Ex06PrimeNumber {
public static void main(String[] args) {
// i for문을 만들것인데
// i for문의 제어변수 i는 소수인지 아닌지를 검사할 숫자가 된다.
// 그렇다면 i의 시작은 얼마인가? 1
int iStart = 1;
// i의 끝은 얼마인가? 100
int iEnd = 100;
for(int i = iStart; i <= iEnd; i++) {
// i의 약수의 갯수를 저장할 int 변수
int count = 0;
// j for문을 만들것인데
// j for문의 제어변수 j는 i의 약수인지 아닌지를 검사할 숫자가 된다.
// 그렇다면 j의 시작은 얼마인가? 1
int jStart = 1;
// 그렇다면 j의 끝은 얼마인가? i
int jEnd = i;
for(int j = jStart; j <= jEnd; j++) {
// 만약 j가 i의 약수이면 count의 값을 1 증가시킨다.
// = 만약 i를 j로 나눠서 나눠떨어지면 count의 값을 1 증가시킨다.
// = 만약 i를 j로 나눈 나머지가 0과 같으면 count의 값을 1 증가시킨다.
if (i % j == 0) {
count++;
}
}
if(count == 2) {
System.out.println(i+ "는 소수입니다.");
}
}
}
}
package day04;
// 별찍기 1번
import java.util.Scanner;
public class StarPrinter01 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("출력할 줄 수를 입력해주세요.");
System.out.print("> ");
int userInput = scanner.nextInt();
for(int i = 1; i <= userInput; i++) {
for(int j = 1; j <= i; j++) {
System.out.print("*");
}
System.out.println();
}
scanner.close();
}
}
package day04;
//별찍기 2번
import java.util.Scanner;
public class StarPrinter02 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("출력할 줄 수를 입력해주세요.");
System.out.print("> ");
int userInput = scanner.nextInt();
for(int i = 1; i <= userInput; i++) {
//i번째 줄에 출력할 내용을 저장할 String 변수
String stars = "";
for(int j = i; j <= userInput; j++) {
stars += "*";
}
System.out.println(stars);
}
scanner.close();
}
}
package day04;
//별찍기 3번
import java.util.Scanner;
public class StarPrinter03 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("출력할 줄 수를 입력해주세요.");
System.out.print("> ");
int userInput = scanner.nextInt();
for(int i = 1; i <= userInput; i++) {
//i번째 줄에 출력할 내용을 저장할 String 변수
String stars = "";
for(int j = i; j <= userInput; j++) {
stars += " ";
}
// 별을 담당하는 j for문
for(int j = 1; j <= i; j++) {
stars += "*";
}
System.out.println(stars);
}
scanner.close();
}
}
package day04;
//별찍기 4번
import java.util.Scanner;
public class StarPrinter04 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("출력할 줄 수를 입력해주세요.");
System.out.print("> ");
int userInput = scanner.nextInt();
for (int i = 1; i <= userInput; i++) {
// i번째 줄에 출력할 내용을 저장할 String 변수
String stars = "";
// 공백을 담당하는 j for문
for (int j = 1; j <= i - 1; j++) {
stars += " ";
}
// 별을 담당하는 j for문
for (int j = i; j <= userInput; j++) {
stars += "*";
}
System.out.println(stars);
}
scanner.close();
}
}
package day04;
//별찍기 5번
import java.util.Scanner;
public class StarPrinter05 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("출력할 줄 수를 입력해주세요.");
System.out.print("> ");
int userInput = scanner.nextInt();
for (int i = 1; i <= userInput; i++) {
// i번째 줄에 출력할 내용을 저장할 String 변수
String stars = "";
// 공백의 갯수를 저장할 int 변수
int spaceNum = userInput - i;
// 공백을 담당하는 j for문
for (int j = i; j <= userInput; j++) {
stars += " ";
}
// 별의 갯수를 저장할 int 볏누
int starNum =2 * i -1;
// 별을 담당하는 j for문
for (int j = 1; j <= starNum; j++) {
stars += "*";
}
System.out.println(stars);
}
scanner.close();
}
}
package day04;
//별찍기 6번
import java.util.Scanner;
public class StarPrinter06 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("별찍기 6번");
System.out.println("출력할 줄 수를 입력해주세요.");
System.out.print("> ");
int userInput = scanner.nextInt();
for (int i = userInput; i >= 1; i--) {
// i번째 줄에 출력할 내용을 저장할 String 변수
String stars = "";
// 공백의 갯수를 저장할 int 변수
int spaceNum = userInput - i;
// 공백을 담당하는 j for문
for (int j = i; j <= userInput; j++) {
stars += " ";
}
// 별의 갯수를 저장할 int 볏누
int starNum =2 * i -1;
// 별을 담당하는 j for문
for (int j = 1; j <= starNum; j++) {
stars += "*";
}
System.out.println(stars);
}
scanner.close();
}
}
'개발자, 그 여정 > 기초특강' 카테고리의 다른 글
자바_기초특강3 (0) | 2022.06.03 |
---|---|
자바_기초 특강2 (0) | 2022.06.03 |
자바_기초 특강1 (0) | 2022.06.03 |