
※반복문
▶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;
}
}'JAVA' 카테고리의 다른 글
| [JAVA] 오버로딩 / 재귀호출 메서드 생성 / Math.random (0) | 2022.02.18 |
|---|---|
| [JAVA] 메서드 (0) | 2022.02.16 |
| [JAVA] for 무한루프 / scope / (0) | 2022.02.14 |
| [JAVA] 중첩if / switch 문 / 반복문_for (0) | 2022.02.14 |
| [JAVA] 연산자 / 제어문 (0) | 2022.02.10 |