B and B (&&) = 두 개가 맞아야 참 (아이디, 패스워드)
B or B (||) = 하나라도 맞으면 참 ||
not (!) = Boolean의 값을 역전 시키는 역할
: i가 while 조건 안에 있는 범주 내 반복
int i = 1; // i의 값이 10보다 작다면 true, 크다면 false가 된다.
while (i<10) {
System.out.println("coding Everybody + i"); //i의 값에 1을 더한다.
i++; // i=i+1; (반복할 때 마다 1씩 증가)
: 자주 발생하는 로직을 문법으로 while 보다 간결하게 만든 것
for (int i = 0; i < 10; i ++) {
System.out.println("Hello" + i);
} // i=1. 0은 10보다 작기 때문에 true . 그럼 i에 1을 더하기
// 출력값이 hello 9까지만 나오는 이유는 10이 10보다 작지 않기 때문에 false가 됨
1) 변수 2개로도 가능
for (int i = 1, j = 10; i <= 10; i++, j--) {
System.out.println("i="+i+",j="+j);
2) for 안에서 선언된 변수는 {} 중괄호가 끝나면 사용 할 수 없음
그럴 때는 밖으로 빼주면 됨
int i ;
for (int i = 1; i <= 10; i++) {
System.out.println("i="+i);;
}
System.out.println(i);
3) 조건식을 생략하면 true로 간주되어 무한 반복
1) 구구단
public static void main(String[] args) {
for(int i=2;i<=9;i++) {
for(int j=1;j<=9;j++) {
System.out.println(i+"*"+j+"="+(i*j));
}
System.out.println();
}
}
2) 별찍기
for (int i=1;i<=5;i++) { // 다섯 줄 찍을까
for(int j=1;j<=10;j++) { // 같은 변수 사용하면 안되니까 j 변수사용
System.out.print("*"); // 이게 한줄 10개 *에대한 코드 "**********"
}
System.out.println(); // println공백이면 그냥 줄바꿈, 10개 찍고 줄바꾸게하기
}
} //i는 몇 줄을 찍을건지 , j는 한 번에 몇 개를 찍을건지
*
**
***
****
*****
3) 역별찍기
int num = sc.nextInt();
for (int i = num; i >= 1; i--) {
for (int j = 1; j <= i; j++) {
System.out.print("*");
}
System.out.println();
}
}
*****
****
***
**
*
첫 번째 for 루프는 행을 나타내며, 내부의 두 번째 for 루프는 각 행에서 출력될 별의 개수를 결정합니다. 이렇게 중첩된 for 루프를 통해 원하는 패턴을 출력할 수 있습니다.
for (int i = 0; i < 10; i ++) {
if ( i==5 )
break;
System.out.println("Hello" + i);
}
}
}
→ Hello 4 까지 나오는 이유는, 5=5가 같다는 사실이 참이기 때문에 break가 걸리기 때문이다.
: 반복문과 함께 쓰이며, 반복문 내부에 continue를 넣으면 이 후 반복되는 부분을 수행하지 않고 조건식이나 증감식을 수행함
for (int i = 0; i < 10; i ++) {
if ( i==5 )
continue;
System.out.println("Hello" + i);
}
public static void main(String[] args) {
for (int i = 0; i < 10; i ++) {
for (int j = 0; j < 10; j++) {
System.out.println(i + "" + j);
}
}
}
→ 00~99까지 출력
(int i = 0이 참이기 때문에, int j에서 루프되고 이 후 루프 끝나면 int i = 1로 반복하기 때문)