<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;