본문 바로가기
개발자로 가는 길(국비지원과정)/1. Java

[자바복습 Day03]printf 사용, Switch, equals, 반복문

by 레아Leah 2021. 12. 29.
반응형

<printf> 

System.out.printf("문자열 %n", 값을 가져올 변수);

 

f 실수

d 정수

s 문자열 

c 문자 2개 

n new line 줄바꿈 

 

double형일 경우, f를 사용, 소수점 6자리 이하는 찍지 않는다. 

%.17f

%와 f의 사이의 숫자는 소수점 아래 어디까지 표시할지를 정하는 숫자수를 의미한다. 

소수점 2자리까지 나타낸다면 %.2f라고 표현하면 된다. 

 

%10.3f

총 10칸 중 소수점 이하 3자리까지 표현하라는 표현

 

System.out.printf("%f, %d, %s, %c", 42.195, 48, "문자열", '#');

Ex) System.out.printf("당신의 키는 %.2f(cm), 몸무게는 %.2f(kg), bmi 결과는 %.2f, 결과는 %s입니다. %n",

height, weight, bmi, msg);

 

printf는 줄바꿈조차 명시하지 않으면 불가능!  

%n 

 

if문이 간단하다면 삼항 연산자를 쓰는 것이 좋다. 연산자는 jvm을 거치지 않고, CPU에서 직접 연산하기 때문에 성능이 더 좋다.

 

 

<Switch>

if문보다 성능이 좋다. 

Switch의 변수 : 정수, 문자열, char

 

Switch{

case 값1 : 문장들; break; 

case 값2 : 문장들; break; 

case 값3 : 문장들; break; 

default : 문장들;

}

 

: 순서는 중요하지 않고, 우리가 읽기 편하게 하는 거임 

 break문는 탈출문이다. 

 

더보기

public class SwitchTest1 {

public static void main(String[] args) {
int data = 5; 

switch(data){
case 1: System.out.println("1번");break;
case 2: System.out.println("2번");break;
case 3: System.out.println("3번");break;
case 4: System.out.println("4번");break;
default : System.out.println("1,2,3,4 모두 아닙니다.");
}
System.out.println("끝");
}

}

 

일부러 break문을 빼먹을 경우,

더보기

String answer = "Y";

switch(answer) {
case "y":
case "Y" :System.out.println("Yes 선택");break;
case "n" :
case "N" :System.out.println("No 선택");break;
default : System.out.println("선택 오류");
}

 

위에를 if문으로 작성한다면, 

더보기

if(answer.equals("y") || answer.equals("Y")){
System.out.println("Yes 선택");
}else if(answer.equals("n") || answer.equals("N")){
System.out.println("No 선택");
} else {
System.out.println("선택오류");
}

 

==로 비교할 수 있는 것은 기초자료형 

문자열일 경우 혹은 객체는 .equals를 사용! 

 

 

<반복문>

: 유사한 문장을 지정된 횟수에 반복하는 명령문 

1) 

while문 

for문 

do~while문 

 

2) 

횟수제어변수 준비 : i, j, k 

int i = 0; 

 

3) 

while(조건문){

    조건문이 참일 때 실행할 문장; 

}

 

같은 표현 

start += 1; //++start; 

 

 

무한루프1
while(i < 10) {
System.out.println(i);
}

 

무한루프2

while(true) {
System.out.println(i);
}

: i의 값이 변화가 없기때문에 while에서 벗어날 수 없어 무한루프라고 한다. 

 

더보기

while(true) {
System.out.println(i++);
if(i >10) break; // break문장은 {}
}

System.out.println("마지막 값: " + i);

}

의 경우 i는 1부터 출력됨 

 

1
2
3
4
5
6
7
8
9
10
마지막 값: 11

 

반복문에서는 초기, 비교, 증가를 제어하는 변수가 중요하다. 

 

<for문>

for(1. 초기값; 2.5.8비교; 4.7.10증감){

 3.6.9식

}

: while문 보다 초기, 비교, 증가가 한자리에 있기때문에 보기 편하다. 

: 숫자가 의미하는 것은 순서! 

: 초기값은 딱! 한번만 실행하고 비교, 증감만 반복된다.  

 

;은 마침표와 같아 nullstatement이다. 

 

for( ; ; ) => 무한루프를 의미한다, 오류가 나지 않음

 

곱해지는 값, 1은 숫자그대로 나오고, 0은 값을 초기화함

자바에서는 제곱을 구하는 연산자가 없다. power은 제곱을 구해주는 메소드 

 

예제 LoopTest4 복습하기 

 

<피보나치수열> 주말 과제! 

힌트) a=0; b=1로 주어짐, 10개항까지 출력할 것! 

 

a,b를 서로 바꾸기 위해서는 파이썬에선 a,b =b,a로 바꿀 수 있지만 

자바, 자바스크립트, c에서는 temp라는 비어있는 컵, 변수가 필요하다. 

 

더보기

int a, b, temp; 

a = 10; 
b = 20; 

 

(공식처럼 외우기)
temp = a;
a = b; 
b = a; 

반응형