728x90
[ 2022년 9월 26일 월요일 ]
- 반복문 "for" : 정확한 반복 횟수를 알고 있을 때 사용하면 유용
* 실행문장이 한줄이면 블록 { }을 생략 가능
[ for문의 구조 ]
for ( 초기값; boolean형 조건식; 반복 표현식 ) {
반복할 실행문; }
Example - (1) 정수 1부터 10까지의 합계 구하기
public class ForEx01 {
public static void main(String[] args) {
//1~10합계
int sum = 0;
for(int i=1; i<=10; i++) {
sum += i;
}
System.out.println(sum);
System.out.println("-----------------------------------------------");
for(int i =10; i>=1; i--) {
System.out.println(i);
}
}
}
int sum = 0; // sum변수 초기화
for ( int i=1; i <=10; i++ ) { // 데이터 타입이 정수인 i가 초기값 1부터 10까지 1씩 증가하는 반복문
sum += i;
}
System.out.println(sum);
Example - (2) 입력받은 정수의 약수의 개수 구하기
import java.util.Scanner;
public class ForEx02 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("정수>");
int num = sc.nextInt();
int count = 0;//카운트변수
for(int i = 1; i <= num; i++ ) {
if(num % i ==0) {//약수
count++;
}
}
System.out.println(count == 2? num + "은 소수" : num + "은 소수가 아님");
//반복을 다 돌고 나왔을 때 count == 2라면 소수
}
}
int count = 0; // count 변수 초기화
for ( int i = 1; i <= num; i++ ) { // 정수인 i가 초기값 1부터 (입력 받은) num까지 1씩 증가하는 반복문
if ( num % i == 0 ){ // 입력 받은 정수의 약수의 갯수 구하는 조건문
count++;
}
System.out.println(count);
Example - (3) 배열에 3의 배수만 저장해서 출력하기
import java.util.Arrays;
public class ForEx03 {
public static void main(String[] args) {
//for문으로 배열 사용
// int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
// for(int i = 0; i < arr.length; i++) {
// System.out.println(arr[i]);
//
// }
//100개의 크기를 갖는 int배열에 3의 배수만 순서대로 저장
int[] arr = new int[100];
int a= 0; //3의 배수를 나타낼 변수
for(int i = 0; i < arr.length; i++) {
a +=3;
arr[i] = a;
}
System.out.println(Arrays.toString(arr));
}
}
int[ ] arr = new int [100]; // 배열 생성
int a = 0; // 3의 배수를 나타낼 변수
for ( int i = 0; i < arr.length; i++) {
a +=3; // 변수 a가 3씩 증가하는 실행문이 배열의 크기만큼 반복
arr[i] = a; // 반복문으로 형성된 a가 배열에 저장
}
System.out.println(Arrays.toString(arr));
Example - (4) 배열의 swap
[ 변수의 swap ]
int x = 10;
int y = 5;
int temp = x; // temp가 임시로 값을 보관하고 있다가 전달하는 역할
x = y;
y = temp; // 변수 x와 y의 swap
System.out.println("x:" + x + " y:" + y);
mport java.util.Arrays;
public class ForEx04 {
public static void main(String[] args) {
//배열의 swap - 배열을 1번 섞음
int [] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int ran = (int)(Math.random() * 9) +1;
int temp = arr[0];
arr[0] = arr[ran];
arr[ran] = temp;
System.out.println(Arrays.toString(arr));
}
public static void main(String[ ] args) {
int [ ] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; // 배열의 크기 10인 정수 배열 생성
int ran = (int)(Math.random( ) * 9) +1; // Math.random: 0 이상 ~1 미만 >> 1이상~10 미만
int temp = arr[0]; // arr[0]을 temp에 임시로 저장해두고
arr[0] = arr[ran]; // ran(임으로 뽑은 값)이 인덱스인 배열을 arr[0]에 두고
arr[ran] = temp; // arr[ran]을 temp에 저장 >> arr[0]와 arr[ran] 값을 바꿈
}
System.out.println(Arrays.toString(arr));
'Java 기본 개념' 카테고리의 다른 글
자바를 잡아라 제 7장 - 버겁다고 느낄 때 잠시 쉬어도 좋아 (0) | 2022.10.10 |
---|---|
자바를 잡아라 제 6장 - 끝이 어딘지 모를 땐 현재에 집중해라 (2) | 2022.10.06 |
자바를 잡아라 제 4장 - 세상사 쉬운 건 없다 (0) | 2022.10.03 |
자바를 잡아라 제 3장 - 느릴 순 있어도 놓치는 말자 (0) | 2022.10.03 |
자바를 잡아라 제 2장 - 길고 짧은 것은 대봐야 알 수 있는 법 (0) | 2022.10.02 |