- 반복문
* 특정 코드를 반복적으로 수행시켜줌
* 크게 두 종류로 나뉨 (for문 / while문(do-while문) )
1. for문
[표현법]
for(초기식; 조건식; 증감식) { //반복 횟수를 지정하기 위해 제시하는 것들
반복적으로 실행시키고자하는 코드
}
- 초기식 : 반복문이 수행될 때 "처음에 단 한번만" 실행되는 구문
(보통 반복문 안에서 사용될 변수를 선언과 동시에 초기화하는 구문)
- 조건식 : "반복문이 수행될 조건"을 작성하는 구문
조건식이 true일 경우 해당 구문을 실행
조건식이 false일 경우 반복을 멈추고 빠져나감
(보통 초기식에 제시된 변수를 가지고 조건식을 작성)
- 증감식 : 반복문을 제어하는 변수 값을 증가 또는 감소 시키는 구문
(보통 초기식에 제시된 변수를 가지고 증감연산자(++,--)와 함께 사용)
**for문 만나는 순간
초기식 --> 조건식 검사 --> true일 경우 실행구문 실행 --> 증감식
--> 조건식 검사 --> true일 경우 실행구문 실행 --> 증감식
...(반복)
조건식 검사 --> false인 경우 실행X --> 반복문을 빠져나옴
1) 안녕하세요"를 5번 반복해서 출력하기
public void method1() {
System.out.println("안녕하세요");
System.out.println("안녕하세요");
System.out.println("안녕하세요");
System.out.println("안녕하세요");
System.out.println("안녕하세요");
>> 반복문을 사용하지 않는 경우 출력문 5번 작성해야함
for문이용해서출력하기
for(int i=1; i<=5; i++) { //i값이 1에서부터 5가될때까지 매번 1씩 증가되는동안 반복 수행 (1,2,3,4,5)
System.out.println("안녕하세요.");
}
for(int i=11; i<16; i++) { //11에서부터 15까지 매번 1씩 증가되는동안 반복 수행 (11,12,13,14,15)
System.out.println("반갑습니다.");
}
for(int i=0; i<5; i++) { //0에서부터 4까지 매번 1씩 증가되는 동안 반복 수행 ( 0,1,2,3,4)
System.out.println("저리가세요.");
}
/* Tip. 내가 원하는 횟수만큼 반복문 돌리고자할 때
* for( int i=0; i < 횟수; i++ ) { }
*/
for(int i=1; i<=9; i+=2) {//i는 1에서부터 9까지 매번 2씩 증가되는동안 반복수행(1,3,5,7,9)
System.out.println("Hello");
}
}
2) 1부터 5까지 출력
public void method2() {
//1 2 3 4 5
for(int i = 1; i<=5; i++) { //i값이 1에서부터 5가 될때까지 매번 1씩 증가되는동안 반복 수행 (1,2,3,4,5)
System.out.print(i + " ");
}
//5 4 3 2 1 으로 출력하기
for(int i=5;i>=1;i--) { //5에서부터 1까지 매번 1씩 감소하는 동안 반복수행(5,4,3,2,1)
System.out.print(i + " ");
}
3) 1부터 10사이의 홀수만을 출력 1 3 5 7 9
public void method4() {
//방법1 . 딱 5회만 반복문 돌려서 출력
for(int i=1; i<10; i+=2) { //1에서부터 10일때까지 매번 2씩 증가하는 동안 반복 수행(1 3 5 7 9)
System.out.print(i+" ");
}
//방법2. 10회 반복문 돌리되 출력은 홀수만
//1에서 부터 10까지 매번 1씩 증가되는동안 반복수행(1 2 3 4 5 6 7 8 9 10)
for(int i=1; i<=10; i++) {
if( i%2 == 1) { // i값이 홀수일 경우
System.out.print(i+" ");
}
}
}
4) 1부터 10까지의 총 합계 구하기
public void method5() {
int sum = 0;
for(int i=10; i<101; i++) {
sum += i ;
}
System.out.println("10에서부터 100까지의 총 합계 : "+sum);
}
5) 1에서부터 사용자가 입력한 수까지의 총 합계
public void method6() {
Scanner sc = new Scanner(System.in);
System.out.print("양수 : ");
int num = sc.nextInt();
if(num>0) { // 양수일 경우 => 잘입력 -> 총합계 구해서 출력
int sum = 0;
for(int i=1; i<=num; i++) {
sum += i;
}
System.out.println("1에서부터 "+ num + "까지의 총 합계 : "+ sum);
}else { //양수가 아닐 경우 => 잘못입력 -> "잘못입력"출력
System.out.println("잘못 입력했습니다.");
}
}
6) 1에서부터 랜덤값(1~10사이) 까지의 총합계
* java.lang.Math 클래스에서 제공하는 random()메소드 호출해서
프로그램을 실행할 때마다 매번 다른 랜덤값을 얻어낼 수 있음.
* Math.random(); 호출시 => 0.0 ~ 0.9999999999사이의 랜덤값 발생
(0.0 <= <1.0)
* Tip. 랜덤값 발생범위 지정
(int)(Math.random() * 발생시킬 랜덤값 갯수 + 시작수);
ex) 11 ~ 20 랜덤값
(int)(Math.random() * 10 + 11);
int random = (int)(Math.random() * 10 + 1);
// 1 <= < 11 => 1~10
System.out.println("1~10사이의 랜덤값 : " + random);
int sum = 0;
for(int i=1; i<=random; i++) {
sum += i;
}
System.out.println("1에서부터 " + random +"까지의 총 합: " + sum);
}
7) 특정 문자열의 각 인데스별 문자 뽑아서 출력
public void method8() {
String str = "Hello";
// 01234
for(int i=0;i<5;i++) { // i는 0에서 부터 4까지 매범 1씩 증가되는동안 반복수행(0,1,2,3,4)
System.out.println(str.charAt(i));
}
}
8) 사용자에게 입력받은 문자열의 각 인덱스별 문자를 뽑아 출력
public void method9() {
Scanner sc = new Scanner(System.in);
System.out.print("문자열을 입력하세요 : ");
String str = sc.nextLine();
System.out.println("문자열의 길이 : "+ str.length());
System.out.println("문자열의 마지막 인덱스 수 : "+ (str.length() - 1));
//0번 인덱스 ~ 마지막 인덱스 (문자열의길이-1)까지 매번 1씩 증가하는 동안 반복
for(int i=0; i<str.length(); i++) {
System.out.println(str.charAt(i));
}
}
9) 구구단 2단 출력하기
public void method10() {
for(int i=1;i<=9;i++) {
//System.out.println("2 x "+ i + " = " + 2*i);
System.out.printf("%d X %d = %d\n",2,i,2*i);
}
}
10) 사용자가 입력한 구구단 출력하기
public void method11() {
Scanner sc = new Scanner(System.in);
System.out.print("단 수(2~9)를 입력 : ");
int dan = sc.nextInt();
if(dan >= 2 && dan <=9) {//잘입력했을경우 -> 해당 단 출력
for(int su=1; su<=9; su++) {
System.out.printf("%d x %d = %d\n",dan,su,dan*su);
}
}else {//잘못입력했을경우 => "잘못입력했음"출력
System.out.println("2~9사이의 숫자를 입력하세요.");
}
}
11) 2~9사이의 랜덤값 발생시켜 해당 단을 출력하기
public void method12() {
int random = (int)(Math.random()* 8 +2);// 2에서 부터 8개(9)까지의 수를 랜덤
for(int i = 1; i<=9; i++) {
System.out.printf("%d x %d = %d\n",random,i,random*i );
}
}
'JAVA' 카테고리의 다른 글
4_5. 제어문_ 분기문 break (0) | 2022.10.21 |
---|---|
4_4. 제어문 _ 반복문 while, do-while (0) | 2022.10.21 |
4_2. 제어문 _ 조건문 switch (0) | 2022.10.18 |
4_1. 제어문(Control) _ 조건문 if (0) | 2022.10.18 |
2_4 Cast(형변환)_ 자동형변환과 강제형변환 (0) | 2022.10.18 |