반복문, 배열
반복문
for문
public class Main{
public static void main(String[] args) {
int sum1 = 0;
for(int x = 0; x <= 100;x++)
sum1 += x;
int y, sum2;
for(y = 0, sum2=0; y <= 100; y++)
sum2 += y;
int sum3 = 0;
for(int z = 100; z >= 0; z--)
sum3 += z;
System.out.println("합계는" + sum1);
System.out.println("합계는" + sum2);
System.out.println("합계는" + sum3);
}
}
if else, while문
import java.util.Scanner;
public class WhileEx01 {
public static void main(String[] args) {
int count=0; //입력받은 값 갯수
int sum=0; //전체 입력값의 합
//double sum = 0;
Scanner scanner = new Scanner(System.in);
System.out.println("정수를 입력하고 마지막에 -1을 입력하세요.");
//값을 입력받는 코드
int n = scanner.nextInt(); // 입력받을 변수 선언
while(n != -1) { // -1 입력시 while문 탈출, 0점도 있으니까
sum += n;
count++;
n = scanner.nextInt(); // 입력받은 값으로 다시 초기화
}
//입력된 값을 계산하는 코드
if(count == 0)
System.out.println("입력된 수가 없습니다.");
else {
System.out.print("정수의 개수는 " + count + "개이며");
System.out.println("평균은" + sum/count/1.0 + " 입니다."); //형변환
//(double) sum / count - 명시적 형변환
}
}
}
꼭 암기 해야하는 코드
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt(); // 정수입력
do-while문
public class DoWhileEx01 {
public static void main (String[] args) {
char c = 'a';
do {
System.out.print(c);
c = (char) (c + 1);
} while (c <= 'k');
}
}
중첩 for문
public class NestedLoop {
public static void main(String[] args) {
for (int i = 2; i < 10; i++) { // 단에 대한 반복. 1단에서 9단
for (int j = 1; j < 10; j++) { // 각 단의 곱셈
System.out.print(i + "*" + j + "=" + i * j); // 구구셈 출력
System.out.print('\t'); // 하나씩 탭으로 띄기
}
System.out.println(); // 한 단이 끝나면 다음 줄로 커서 이동
}
}
}
foreach문
public class forEach01 {
public static void main(String[] args) {
int[] array01 = { 32, 87, 3, 357, 12 };
//for(int i=0;i<array01.length;i++)
//System.out.print(array01 [i] + " ");
for(int i:array01)
System.out.print(i + " ");
}
}
활용
public class ForeachEx {
public static void main(String[] args) {
int [] n = { 1,2,3,4,5 };
int sum=0;
for(int k : n) { // k는 n[0], n[1], ..., n[4]로 반복
System.out.print(k + " "); // 반복되는 k 값 출력
sum += k;
}
System.out.println("합은 " + sum);
String f[] = { "사과", "배", "바나나", "체리", "딸기", "포도" } ;
for(String s : f) // s는 f[0], f[1], ..., f[5]로 반복
System.out.print(s + " ");
}
}
continue문
조건을 만족하지 않는 구간이 발생시 해당 값을 건너뛰고 다음 루프로 이동
import java.util.Scanner;
public class ContinueEx01{
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("정수를 5개 입력하세요.");
int sum=0;
for(int i=0; i<5; i++) {
int n = scanner.nextInt(); // 키보드에서 정수 입력
if(n<=0)
continue; // 양수가 아닌 경우 다음 반복으로 진행
else
sum += n; // 양수인 경우 덧셈
}
System.out.println("양수의 합은 " + sum);
}
}
break문
조건을 만족하지 않는 구간이 발생하면 바로 루프를 탈출
배열
배열 선언시 위치는 정해지지만 값이 할당되기 전까지 실질적인 메모리 공간을 차지하지는 않음
(아파트 청약후 입주 대기중인 상태)
int intArray [];
// 배열 타입,
//배열을 선언할 때에는 크기를 지정할 수 없음
intArray = new int [5];
다차원 배열을 출력하는 코드를 만들어보자
public class ArrayTest {
public static void main(String[] args) {
int twoArray[][] = { { 0, 1 }, { 10, 11, 12 } };
for (int i = 0; i < twoArray.length; i++) {
System.out.println();
for (int j = 0; j < twoArray[i].length; j++)
System.out.print(twoArray[i][j] + " ");
}
System.out.println();
}
}
public class ArrayEx01 {
public static void main(String[] args) {
int[ ] c; // 배열 선언시에는 크기 지정X
c=new int[] {1, 2, 3, 4};
for(int i=0; i<4; i++) {
// for(inti=0; i<c.length; i++)
{
System.out.print(c[i]+" ");
}
}
}
지역 변수는 초기화 필요
자바의 예외처리까지 시험범위
예외처리 - 스캐너, 파일입출력...
컴파일 중간에 에러가 발생해도 사용자가 지정한대로 수행후 정상종료
continue다시 반복문으로 돌아감
자바의 접근제어자
public
다음시간에는 배열의 정렬, 반전에 대해서 배워보겠습니당
'computing' 카테고리의 다른 글
나는 언제쯤 행복해질까? (0) | 2025.05.08 |
---|---|
20250417_java7 (0) | 2025.04.17 |
DB기말 정리 (2) | 2025.04.07 |
20250407DB_부속질의 (0) | 2025.04.07 |
20250403_java5 (0) | 2025.04.03 |