My footsteps
반복문 복습 / for, while, switch문 본문
728x90
package ex3.control;
public class Program {
public static void main(String[] args) {
int x = 0;
while(x<20) {
//2는 한번뿐이니, 한번실행
if(x==2)
System.out.println("a");
///여기서부터 else까지 20번
if(x==3)
System.out.println("a");
else
System.out.println("a"); // 조건이 만족 못하면 여기서 스택이 계속 쌓임
//4와6은 각각 한번뿐이니, 2번실행
if(x==4)
System.out.println("a");
else if(x==6)
System.out.println("c");
///여기서부터 맨 아래까지 20번
if(x==5)
System.out.println("a");
else if(x==6)
System.out.println("c");
else
System.out.println("b");
}
System.out.println(x);
}
}
if 조합 1번
if + else if 조합은 2번
if + else 조합은 20번
if + else if + else 조합은 20번 반복된다. 해서 저 구문은 총 43번!
else가 들어가면 일단 x<20 이부분에서 0~19 즉, 20번은 기본적으로 반복된다
* if-else 조합은 if 만족을 못하면 else로 내려간다. *
* 다른거는 위에가 참이면 그냥 맨 밑으로 가서 출력하거나 하는데.. if는 위에 if가 참이어도, 아래 if문으로 내려간다.*
package ex3.control;
public class Program {
public static void main(String[] args) {
int x=1;
while(x< 19) {
if(x%6==0) //6의배수이면 별이 출력되고
System.out.print("*");
else //그외에는 모두 0으로 출력
System.out.print("0");
x++;
}
}
}
<for문>
- '특정수'만큼 반복 , while문에서 개선된 버전, 조건들을 한눈에 한줄에 볼수있어서 편함
- 0*문제 for문으로 바꾸면 이렇게..
package ex3.control;
public class Program {
public static void main(String[] args) {
for(int x=1; x<19; x++) {
if(x%6==0) {
System.out.print("*");
} else
System.out.print("0");
}
}
}
* 코드는 나 말고 남이 봐도 이해갈수있게 직관적이게 짜야한다 *
- 지역화 : 그 코드 내에서만 사용할수있게 다른 코드에는 안보이게(충돌나지않게) 가렸다..라는 말
package ex3.control;
public class Program {
public static void main(String[] args) {
{
for(int x=0; x<19; x++)
System.out.println("*");
} //for문이 이끄는 문장이 하나일때는 {} 괄호 쓰지 않아도 됨
{
int x = 0;
while(x<19) {
System.out.print("0");
if(x==5 || x==10 || x==15)
System.out.print("*");
x++;
}
}//지역화를 하면 변수명이 같아도 충돌이 나지 않는다.
for(int x=1; x<19; x++) {
if(x%6==0)
System.out.print("*");
else
System.out.print("0");
}
}
}
- { } 괄호는 생략할수 있으면 생략할수 있는게 좋다. 불필요하게 쓰면 코드의 복잡도가 너무 올라간다
package ex3.control;
public class Program {
public static void main(String[] args) {
int i;
for(i=0; i<=10; i++)
if(i==0 || i==9)
System.out.print("☆");
else
System.out.print(" ");
}
}
package ex3.control;
public class Program {
public static void main(String[] args) {
int i;
for(int j=0; j<5; j++) //문장 반복수
for(i=0; i<10; i++) //별문장..
if(i==0 || i==9) //별의 위치가 0이거나 9일때만 별을 찍고
System.out.print("☆");
else //그외는 다 공백문자로
System.out.print(" ");
}
}
- 이중 for문을 이용해 이 문장 자체를 또 다섯번 반복하게 만들수 있다
package ex3.control;
public class Program {
public static void main(String[] args) {
{
for(int j=0; j<5; j++) {
for(int i=0; i<10; i++) {
if(i==0 || i==9)
System.out.print("☆");
else if(i==8)
System.out.print("◇");
else
System.out.print(" ");
}
System.out.print("@");
System.out.println();
}
}
}
}
- 괄호없으면 원하는 값이 안나온다!! 괄호 잘찍고, 중간중간 else-if 끼워넣기도 잘 이해하기
728x90
'국비수업 > 수업정리' 카테고리의 다른 글
배열 (0) | 2023.02.23 |
---|---|
switch문 (0) | 2023.02.22 |
비트연산자 / 복합 대입 연산자 / 연산자 우선순위 / 제어구조 (0) | 2023.02.20 |
콘솔 입력 / 연산자 (0) | 2023.02.17 |
시맨틱 태그 / 형식 지정자 / 주석 keyword (0) | 2023.02.16 |