JAVA

[JAVA] 반복문 / while / do~while문 / 무한루프 / charAt / for문 마지막 "," 제거

sian han 2022. 2. 15. 20:43

 

※반복문

▶while 문

 - 반복횟수가 가변적인 처리에 적함

 - 특정 조건을 주고 그 조건이 만족될 때까지 계속해서 반복시키는 것

 while(반복 조건){
		 	반복명령;
		 }

 => 조건이 참인동안 계속 반복처리

 

while (조건식){
		 	명령문;
		 	증감식;
		 	}
		 	
		 	for(초기값;조건식;증감식) {
		 	명령문;
		 	}

 

 

▷while 무한루프

무한루프
		 
		 while(true){
		 	반복명령;
		 	
		 	if(조건) break;
		 }

=> while 은 조건이 참일동안 계속 반복하는 반복문인데

     while (조건식 =true) 로 입력해놓았으니 따로 지정하지않는 한 무한루프한다 

     while 문 안에 if 문으로 중지하는 조건을 따로 만들어두었기 때문에 이를통해 빠져나올 수 있다

 

 

 

▶do~while문

 - 선 실행 후 조건 처리
 - 조건보다 명령이 먼저 온다
 - 조건이 거짓이더라도 실행구문을 최소한 한번은 수행

 do{
		  	명령문;
		  	
		  }while(조건식);

 

 

 

 

▣ for문 마지막 "," 제거

if (i<idx-1) {
		itemList+=",";
                }

 

 

◈ 이름 붙은 반복문
  

- 여러 반복문이 중첩되어 있을 때 반복문 앞에 이름(Label)을 붙이고, break 문과 continue 문에 이름       (Label) 을 지정해 줌으로써 하나 이상의 반복문을 벗어나거나 반복을 건너 뛸 수 있다

//바깥 for 문에 Loop1 이라는 이름을 붙였다
		Loop1: for(int i=2;i<=9;i++) {
			for(int j=1;j<=9;j++) {
				if (j==5) {
					//break Loop1;
					//continue Loop1; //=>바깥부호에 대해서
					//break;
					//continue;
				}
				System.out.println(i+"*"+j+"="+i*j);
			}//안쪽 for
			System.out.println();
		}//바깥 for
	}

 

◈반복문에서 쓰이는 . . . 

break - 반복문이나 switch 문의 case 를 벗어날 때 사용
continue  - 반복문의 나머지 뒷 부분을 무시하고, 반복문의 선두로 점프하여 다음 루프를 실행
              - 다음 반복 위치로 이동
              - 반복문의 반복을 한 번 건너 뛰고 다음 반복을 실행할 때 사용
              - 반복문 안에서만 사용 가능

 return - 메서드의 실행을 종료하고 호출원으로 복귀함

 

 

 

 

 

▣hasNext()

 - 읽어올 요소가 남아있는지 확인하는 메서드, 요소가 있으면 true, 없으면 false

 - boolean 자료형 타입으로 반환되는 점 주의

Scanner sc2 = new Scanner("\n\n가나다 하나 둘\n\n라\n\n");
		str="";
		while(sc2.hasNext()) {
			str=sc2.next();
			System.out.println("출력:" + str);
		}

 

▣next()

 - 다음 데이터를 반환

 - 아무타입으로든 반환가능

 

 

 

▣charAt()

 - Scanner 로 입력된 것은 String 타입으로 받을 수 있다 (*char 타입으로 받을 수 없음)

 - 그래서 ! 등장한것이 ! charAt !!

 -  String으로 저장된 문자열 중에서 한 글자만 선택해서 char타입으로 변환해줌

 - String타입을 char타입으로 변환할 때 사용한다고 생각하면 됨

System.out.println("\n값을 입력하세요");
		sc.nextLine();
		String value =  sc.nextLine();
		
		//통째로 암기
		//String value = "12o34";
		char ch = ' ';
		boolean isNumber = true;
		// 반복문과 charAt(int i)를 이용해서 문자열의 문자를 하나씩 읽어서 검사한다.

		for(int i=0; i < value.length() ;i++) {
			ch = value.charAt(i);   
			if(!(ch>='0' && ch<='9')) {
				isNumber = false;
				break;
			}
		}
		// isNumber
		if (isNumber) {
			System.out.println(value+"는 숫자입니다.");
		} else {
			System.out.println(value+"는 숫자가 아닙니다.");
		}


	}
Scanner sc = new Scanner(System.in);

char c1 = ' ';
char c2 = ' ';

c1 = sc.next().charAt(0);
c2 = sc.nextLine().charAt(3);

System.out.println(c1);
System.out.println(c2);

sc.close();

 

▣isNumber

 - 문자열이 숫자로만 이루어져있는지 아닌지 확인하는 코드

 - 모두 숫자로만 이루어져 있으면 true를 반환하고, 그렇지 않으면 false를 반환한다.

  -  boolean 자료형 타입으로 반환되는 점 주의

boolean isNumber = true;
if (isNumber) {
			System.out.println(value+"는 숫자입니다.");}

 

 

▣.length

- length()는문자열의 길이를 알고자 할때 사용된다

	for(int i=0; i < value.length() ;i++) {
			ch = value.charAt(i);   
			if(!(ch>='0' && ch<='9')) {
				isNumber = false;
				break;
			}
		}