본문 바로가기

국비교육/국비교육

Day2 - 0726

Java 프로그래밍의 기초 

기본형

package 패키지명;

import java.lang.*;

public class 클래스명 {

	public static void main(String[] args) {
    
    
	}
}
package 패키지 이름 유사한 클래스들을 묶어줄 패키지 선언 (패키지는 폴더와 비슷한 개념)
import java.lang.* Java의 모든(*) 클래스를 사용
public class 클래스명;  
public static void main(String[] args) {} {} 사이에 코드를 작성한다

 

출력

- System.out.print(); // () 내부의 값을 출력한다

- System.out.println(); // () 내부의 값을 출력하고 한 칸 띄운다(enter)

 System.out.println("2022-12-23"); 	//() 안의 값을 문자 취급하여 2022-12-23 출력

 System.out.println(2022-12-23); 	//() 안의 값을 숫자 취급하여 2022-12-23의 계산 결과인 1987 출력

 System.out.println(사람); 		//() 안의 값을 취급할 수 없으므로 error 발생

 

주석

- 코드에 영향이 없는 어떠한 표시를 할 수 있다

- 의사 코드

// 	1. 한 줄 주석

/*
	2. 여러 줄 주석
^/

 

day02 - data - Test1 : 따옴표의 의미

day02 - data - Test2 : 중국집 금액 계산기

 

변수의 선언

변수

- 데이터를 저장하는 메모리 공간

- 대입 연산자 (=) : 오른쪽의 값을 왼쪽 변수 공간에 대입하는 대입 연산자

int a = 100;	//정수(integer) 형태의 메모리 공간에 100이라는 데이터를 저장

 

day02 - data - Test03 : 변수의 사용법

day02 - data - Test04 : 영화관 요금 문제

day02 - data - Test05 : 커피숍 판매 금액 문제

 

정수와 정수의 특징 

정수 : 소수점이 없는 숫자

- byte : 1byte (2^8)

- short : 2byte (2^16)

- int : 4byte (2^32), 기본값

- long : 8byte (2^64), 입력시 숫자 뒤에 대문자 'L'을 붙인다 (소문자 'l'은 1과 혼동 우러)

 

정수 변수의 특징

1. 정해진 크기를 벗어나면 저장이 불가능하다.

  int a = 100.5; 	//변수 종류 오류
  byte b = 1000 	//변수에 값을 저장할 수 있는 범위 초과

2. 계산 과정에서 범위를 초과하면 순환한다. (순환형 구조)

int d = 2000000000 + 1000000000;	//출력 : -1294967296

3. 정수의 계산 결과는 항상 정수가 된다

 System.out.println(10 / 3) 	// 출력 : 3	//10을 3으로 나누었을 때의 몫
 System.out.println(10 % 3) 	// 출력 : 1	//10을 3으로 나누었을 때의 나머지

 

day02 - data - Test06 : 정수와 정수의 특징

 

★ 정수형의 나눗셈 연산 응용

/ 나눗셈의 몫을 계산하는 연산  
% 나눗셈의 나머지를 계산하는 연산  

- 1의 자리 이하 버림

int a = 4133;			//a를 10으로 나누면 413.3이지만 정수의 특징에 따라
int aNew = a / 10 * 10;		//정수 연산의 결과는 정수이므로 413이 된다
				//여기에 10을 곱하면 aNew = 4130

** 10의 자리 이하 버림은 100으로 나눈 후 다시 100을 곱하면 된다.

 

- Test07 - 시간 계산 예제 (1)

- Test08 - 시간 계산 예제 (2)

- Test09 - PC방 요금 계산

 

실수와 실수의 특징

실수 : 소수점이 있는 숫자

- float : 4byte (2^32), 입력시 숫자 뒤에 소문자 'f'를 붙인다 ↔ long은 대문자 'L'

- double : 8byte (2^64), 기본값


실수 변수의 특징

1. 정해진 크기를 벗어나면 값이 부정확해진다.

float a = 1.23491239012830812093812032985703f;	//출력 : 1.2349124 (값의 일부가 유실)

2. 실수가 하나라도 포함되면 결과값은 항상 실수가 된다.

System.out.println(10 / 3); 	//정수 나누기 정수
System.out.println(10 / 3.0); 	//정수 나누기 실수
System.out.println(10 / 3d); 	//double을 나타낼 때 d를 붙일 수도 있다 (보통 사용하지 않음)
System.out.println(10 / 3f); 	//정수 나누기 실수

 

- Test10 - 실수의 특징 예제

- Test11 - 평균 계산 예제

 

정수와 실수의 비교 및 변환

정수 공간와 실수 공간의 크기 비교

- 정수 공간 : byte(1), short(2), int(4), long(8)

- 실수 공간 : float(4), double(8)

 

정수 공간과 실수 공간간의 변환 규칙

1. 작은 형태의 데이터는 큰 형태로 저장할 수 있다. (자동 변환)

2. 큰 형태의 데이터는 작은 형태로 저장할 수 없다. (자동 변환 불가능, 형변환(변환연산) 시 가능)

3. 실수는 무조건 정수보다 크다 (정수 공간 long보다 실수 공간 float이 더 크다)

 

★ 형변환(Casting, 변환 연산)

- 어떤 형태로 정의된 변수를 강제로 다른 형태로 변환하는 방법

- 변환 과정 중 데이터가 유실될 수 있다

long c = 10L;			//long(8byte)는 int(4byte)보다 크기가 크다
int cInt = (int)c;		//long으로 정의된 변수 c를 형변환 할 경우 숫자의 일부가 유실될 수 있다

 

day02 - data - Test12 : 정수 실수간의 변환 예제

day02 - data - Test13 : 주유소 리터 구하기

day02 - data - Test14 : BMI 계산기

 

추가> Test14 - BMI 계산기 문제에서 소수점을 두 자리까지만 표시하는 방법

1) 직접 구현

- 실수 24.691358024691358에서 소수점 2자리까지만 남기기 위해서 100을 곱한 후 100.0으로 나눈다

 

2) 라이브러리 사용

- DecimalFormat fm = new DecimalFormat("0.00"); 

- 아직 라이브러리에 대해서 정확히 배우지 않았기 때문에 무슨 의미인지 모르겠음.

 

 

'국비교육 > 국비교육' 카테고리의 다른 글

Day6 - 0730  (0) 2022.08.01
day5 - 0729  (0) 2022.07.29
day4 - 0728  (0) 2022.07.28
Day3 - 0727  (0) 2022.07.27
Day1 - 0725  (0) 2022.07.25