Study for Backend/Programming language - Java
[Java기초] 조건문과 반복문 및 배열
지미니박
2024. 2. 3. 18:02
//20240203
// 1. 조건문 - if
System.out.println("== if ==");
int waterTempeerature = 99;
if(waterTempeerature >= 100){
System.out.println( "물이 끓습니다.");
}else{
System.out.println( "물을 끓이는 중입니다.");
}
System.out.println();
int score = 90;
char grade = 0;
if(score >= 90){
grade = 'A';
}else if(score >= 80){
grade = 'B';
}else if(score >= 70){
grade = 'C';
}else {
grade = 'F';
}
System.out.println( "grade" + grade);
System.out.println();
// 2. 조건문 - switch
System.out.println("== switch ==");
String fruit = "apple";
switch (fruit){
case "apple":
System.out.println(fruit + "는 5000원 입니다.");
break;
case "blueberry":
System.out.println(fruit + "는 15000원 입니다.");
break;
default:
System.out.println("해당 과일이 없습니다.");
break;
}
System.out.println();
// Q1. number의 값이 홀수인지 짝수인지 판단하는 코드를 작성하세요.
int number = 5;
if (number % 2 == 0){
System.out.println("짝수입니다.");
}else {
System.out.println("홀수입니다.");
}
System.out.println();
// Q2. 아래 주석은 위의 실습에서 진행한 score에 따라 grade를 출력하는 코드이다.
// 이를 switch 조건문 기반으로 바꿔보세요.
// int score = 90;
// char grade = 0;
// if (score >= 90) {
// grade = 'A';
// } else if (score >= 80) {
// grade = 'B';
// } else if (score >= 70) {
// grade = 'C';
// } else {
// grade = 'F';
// }
// System.out.println("grade = " + grade);
score = 100;
switch (score/10){
case 10:
case 9:
grade = 'A';
break;
case 8:
grade = 'B';
break;
case 7:
grade = 'C';
break;
default:
grade = 'F';
break;
}
System.out.println("등급은" + grade + "입니다.");
System.out.println();
// 1. 반복문 - for
System.out.println("== for ==");
// 1-1. 기본 사용 방법
for (int i = 0 ; i < 5 ; i++){
System.out.println(i);
}
//------------------test1
System.out.println();
for (int i = 0 ; i < 5 ; i++){
for (int j = 0 ; j < i + 1 ; j++){
System.out.print("*");
}
System.out.println();
}
//------------------test2
System.out.println();
for (int i = 0 ; i < 5 ; i ++ ){
if(i == 2){
continue;
}
for (int j = 0 ; j < i + 1 ; j++){
System.out.print("*");
}
System.out.println();
}
//------------------test3
System.out.println();
for (int i = 0 ; i < 5 ; i ++ ){
if(i == 2){
break;
}
for (int j = 0 ; j < i + 1 ; j++){
System.out.print("*");
}
System.out.println();
}
System.out.println();
// 1-2. for each
int[] nums = {1,2,3,4,5};
for (int i = 0; i < nums.length; i++) {
System.out.println(i);
}
System.out.println();
for(int numb : nums){ //반복할 대상을 오른쪽에 쓰면 됨
System.out.println(numb);
}
System.out.println();
// 2. 반복문 - while
System.out.println("== while ==");
// 2-1. while
int i = 0;
while (i < 5){
System.out.println(i++);
}
System.out.println();
i = 0;
while (i < 5){
if(i == 2){
i++;
continue;
}
System.out.println(i++);
}
System.out.println();
i = 0;
while (i < 5){
if(i == 2){
i++;
break;
}
System.out.println(i++);
}
System.out.println();
// 2-2. do-while
boolean knok = false;
do {
System.out.println("knok");
}while (knok);
// Q1. 아래와 같은 출력 결과를 반복문과 조건문을 이용하여 출력해보세요.
// *
// ***
// *****
// *******
System.out.println();
for (int x = 0 ; x < 8 ; x ++ ){
if(x % 2 ==0){
continue;
}
for (int y = 0 ; y < x ; y++){
System.out.print("*");
}
System.out.println();
}
System.out.println();
// Q2. 반복문을 실행할 때마다 물 온도를 1도씩 올리고 100도가 되면 종료한다.
// 추가로, 10도, 20도, ... 10도 간격으로 물 온도를 출력하시오.
int waterTemperature = 0;
while(waterTemperature < 100){
waterTemperature++;
if(waterTemperature % 10 == 0) {
System.out.println("현재 물온도는 " + waterTemperature + "도 입니다.");
}
}
System.out.println();
// 1. 일차원 배열
System.out.println("== 일차원 배열 ==");
int[] myArray = {1,2,3};
System.out.println("myArray[1] = " + myArray[1]);
System.out.println();
for (int j = 0; j < myArray.length; j++) {
System.out.println("myArray = " + myArray[j]);
}
System.out.println();
for (int k : myArray){
System.out.println("myArray = " + k);
}
System.out.println();
// 2. 이차원 배열
System.out.println("== 이차원 배열 ==");
int[][] myArray2 = {{1, 2, 3},{4, 5, 6}};
System.out.println("myArray2[1][2] = " + myArray2[1][2]);
System.out.println();
for (int j = 0; j < myArray2.length; j++) {
for (int k = 0; k < myArray2[j].length; k++) {
System.out.println("myArray2["+j+"]["+k+"] = " + myArray2[j][k]);
}
}
System.out.println();
for (int[] ints : myArray2) {
for (int anInt : ints){
System.out.println("anInt = " + anInt);
}
}
System.out.println();
// Q1. 아래와 같이 3x3 행렬이 2차원 배열로 초기화 되어있다.
// 모든 원소를 1로 변경하고, 대각 원소는 10으로 변경하시오.
int [][] testArray1 = {{0, 0, 0}, {0, 0, 0}, {0, 0, 0}};
for (int j = 0; j < testArray1.length; j++) {
for (int k = 0; k < testArray1[j].length; k++) {
testArray1[j][k] = 1;
if(j == k) {
testArray1[j][k] = 10;
}
}
}
for (int[] itemRow : testArray1){
for (int itemColumn : itemRow){
System.out.print(itemColumn + " ");
}
System.out.println();
}