TOP
class="layout-aside-left paging-number">
본문 바로가기
프로그래밍 및 기타/Java

[Java] 25년 1월 3일 - 자바 기초 (반복문)

by 기록자_Recordian 2025. 1. 3.
728x90
반응형
이전 내용
 

[JAVA] 25년 1월 2일 - 자바 기초

◆ 새 프로젝트 만들기 New - java project - 프로젝트명: java_ex02 ◆ 클래스 만들기 java_ex02 - src - New - Class - Ex01 * 이클립스 다크모드 설정Window - Preferences - General - Appearance - Theme - Dark ◆ 웹, 앱: 보이

puppy-foot-it.tistory.com


자바 언어의 자료형

 

  • 정수형: int, 실수형(4byte): float, 실수형(8byte): double
  • 논리형: boolean, 문자형: char
  • 문자열형은 일반적인 자료형이 아니라, 클래스 객체임.
  • 반드시 String(첫글자 대문자) 으로 선언해야 함. (String은 특수한 형태의 자료형이기 때문에)

변수 처리를 통한 계산

 

변수에는 무조건 값이 하나만 들어갈 수 있으며, 여러 값이 들어가기 위해서는 배열을 사용한다.

package ex;

public class Sample01 {

	public static void main(String[] args) {
		// 문자열 변수 생성하고 상수에 문자열 저장
		String str = "사과";
		// 정수형 변수 생성하고 상수에 100 저장
		int num1 = 100;
		// 실수형 변수 생성하고 상수에 1250.5 저장
		float num2 = 1250.5f;
		// 출력: 소비자 A씨가 사과를 100개 구입하려고 하는데,
		// 사과 1개당 25.5원씩 판매한다고 했을 때 총 구입 가격
		float num3 = (float)num1 * (float)num2;
		// 출력 형식: 소비자 A씨가 25.5원 짜리 사과를 100개 구입했고,
		// 총 구입 금액은 000원이다.
		System.out.println("소비자 A씨가 "+num2+"짜리 "+str+"를 "+num1+"개 구매했고, 총 구입 금액은"+num1*num2+"원이다." );
		System.out.println("소비자 A씨가 "+num2+"짜리 "+str+"를 "+num1+"개 구매했고, 총 구입 금액은"+num3+"원이다." );
    }

}

▶ 총 구입가격을 나타내는 변수 num3의 경우, 정수와 실수를 곱한 값을 출력하므로, 강제 형 변환이 필요하다.

  • num3 변수를 int로 설정할 경우, 'Type mismatch: cannot convert from flaot to int' (실수형을 정수형으로 전환할 수 없음) 라는 오류 메시지가 뜬다.
  • num2 변수의 경우, 이미 float으로 자료형이 설정되었으므로 (float)을 적을 필요는 없다. ▶ float num3 = (float)num1 * num2

현재 코드에는 주석이 있어, 변수명을 num1, num2... 로 설정해도 무방하나, 이왕이면 변수명을 통해 어떤 값인지 유추할 수 있도록 해주는 것이 좋다.

		// 문자열 변수 생성하고 상수에 문자열 저장
		String fruit = "사과";
		// 정수형 변수 생성하고 상수에 100 저장
		int ea = 100;
		// 실수형 변수 생성하고 상수에 1250.5 저장
		float price = 1250.5f;
		// 출력: 소비자 A씨가 사과를 100개 구입하려고 하는데,
		// 사과 1개당 25.5원씩 판매한다고 했을 때 총 구입 가격
		float total = (float)ea * price;
		
		// 출력 형식: 소비자 A씨가 25.5원 짜리 사과를 100개 구입했고,
		// 총 구입 금액은 000원이다.
		System.out.println("소비자 A씨가 " +price+ "원짜리 "+ fruit +"를 "
				+ ea +"개 구매했고, 총 구입 금액은 " + ea * price + "원이다." );
		System.out.println("소비자 A씨가 " +price+ "원짜리 "+ fruit +"를 "
				+ ea +"개 구매했고, 총 구입 금액은 " + total + "원이다." );
		// \n: 개행문자 > 출력형식에 사용하는 특수문자
		System.out.println("소비자 A씨가 " +price+ "원짜리 "+ fruit +"를 "
				+ ea +"개 구매했고, \n총 구입 금액은 " + total + "원이다." );

▶ \n 개행문자를 넣어서 줄바꿈을 할 수도 있다.


반복문
while 문, for 문

 

[while문]

조건문이 참인 동안 while 문이 수행할 문장들을 반복하여 수행한다.

package ex;

public class Sample02 {

	public static void main(String[] args) {
		// 변수 선언 및 초기화
		int a = 0;
		//while 문(반복문)		
		while(a<10) { //1
			a++;	//2
			System.out.println(a); //3
		}
	}
}

 

 

 

 

 

 

 

 

 

반복문은 계산이 돼야 하므로, 정수형이나 실수형의 숫자만 된다.

  • 비교연산자: <, > (작다, 크다), == (같다), != (같지 않다), >= (크거나 같다), <=(작거나 같다)
  • 1: a가 10보다 작지 않을 때까지, 2: a 변수를 1씩 증가시켜서 3: 출력하시오
  • a가 10보다 작지 않을 때까지 1 2 3 의 과정을 반복하여 생성된 값을 출력하고, a가 11이 되면(괄호 안의 결과가 false가 되면) 반복문을 빠져 나온다.

반복문으로 변하는 변수 앞에 변하지 않는 값을 추가하여 반복문을 실행할 수도 있다.

System.out.println("어린이"+a);

 

반대로 값을 작게하려면 감소 연산자(--)를 사용할 수 있다.

// 10에서 0까지 거꾸로 출력하게 하기
		// 변수 선언 및 초기화
		int a = 10;
		System.out.println(a); // 10 출력
		// while 반복문
		while(a>0) { // a가 0보다 클 때까지
			a--; // 1씩 감소
			System.out.println(a);

  • 감소할 때는 조건문에 '크게'를 사용해야 한다.

또한, 10이 반복문 안에서 나오게 하려면 아래와 같이 코드를 수정할 수 있다.

int a = 10;
	// while 반복문
	while(a>=0) {		
		System.out.println(a);
		a--;
	}

※ 줄바꿈을 하지 않으려면 다음과 같이 할 수 있다.

System.out.print(a + ",");
a--;


[for문]

// for문(반복문)
for(int i=1; i<=10; i++) {
System.out.println(i);
}

 

- for문 형식

for(변수 선언 및 초기화; 조건문; 증감값;) { 실행문 }

 

★ while문과 for문을 사용하여 1부터 100까지의 숫자 중 짝수만 나타내기

public static void main(String[] args) {
	// 1부터 100까지의 정수 중에서 짝수만 출력
	int a = 0;
	while(a<100) {
		a = a + 2;
		System.out.println(a);
	}
	
	System.out.println(); // 빈줄
	
	for(int b=2; b<=100; b = b +2) {
		System.out.println(b);
	}
}

 

★ Do-While: 조건식을 검사하기 전에 한번 이상은 무조건 실행

변수 선언 및 초기화;
do
	명령문
while (조건);
int i = 0;
do {
	System.out.println("안녕!");
	i++;
} while (i < 5);

 

★ 이중 반복문: 반복문의 중첩

// 이중 반복문
// i가 2보다 작다는 조건을 만족하는 동안 총 2회 명령문 반복 실행
for (int i = 0; i < 2; i++) { 
// j가 3보다 작다는 조건을 만족하는 동안 총 3회의 명령문 반복 실행
	for (int j = 0; j < 3; j++) {
		System.out.println("안녕!");
	} //  명령문 3회를 2번 실행 (3*2) 총 6번 실행
}


break, continue

 

 

[break: 반복문의 탈출]

for (int i=0; i<5; i++) {
	if (i==3)
		break;
	System.out.println("안녕!");
}

▶ i가 5보다 작은 동안 "안녕!" 출력 (총 5회 출력).

그러나 i가 3이 될 경우 break(반복문 탈출) 조건을 집어넣어 총 3회의 "안녕!" 출력

 

[continue: 반복문 건너 뛰기]

// continue: 반복문 건너 뛰기
for (int i=0; i<5; i++) {
	if (i==2)
		continue; // i가 2일 때는 명령문 실행하지 않고 다음 회차로 넘어감
	System.out.println("안녕!");
}


다음 내용

 

[JAVA] 25년 1월 7일 - 자바 기초

이전 내용 [JAVA] 25년 1월 3일 - 자바 기초이전 내용 [JAVA] 25년 1월 2일 - 자바 기초◆ 새 프로젝트 만들기 New - java project - 프로젝트명: java_ex02 ◆ 클래스 만들기 java_ex02 - src - New - Class - Ex01 * 이클

puppy-foot-it.tistory.com

728x90
반응형