5일차 java 연산(2022-12-29)

권단비·2022년 12월 29일
0

IT

목록 보기
6/139

하기 3가지는 필수 암기

  1. 데이터 타입⇒ 형 변환
  2. 함수
  3. 객체

[평균을 구하시오]

[계산]
//평균을 구하시오.
public class Total {
	public static void main(String[] args) {
		int kor, eng, math, total;
		double avg;
		kor = 60;
		eng = 75;
		math = 100;
		total = kor + eng + math;
		avg = total / 3.0;
		System.out.println("총점= " + total + " 평균= " + avg);
	}
}
[결과값]
총점= 235 평균= 78.33333333333333
*float : 소수점 7자리
*double : 소수점 15자리

[Boolean]

[계산]
public class Boolean {
	public static void main(String[] args) {
		boolean b1 = true;
		boolean b2 = false;
		System.out.println(b1); // b1이 지닌 값 출력
		System.out.println(b2);
		int num1 = 10;
		int num2 = 20;
		System.out.println(num1 < num2);
		System.out.println(num1 > num2);
	}
}
[결과값]
true
false
true
false
[설명]
CPU가 연산결과를 응답할 때,
*반드시* 9개의 데이터 타입 중 하나를 정해서 응답한다.
상기는 데이터 타입 중 Boolean으로 정해서 응답.

[실수의 표현 방식]

・정수와 달리 실수는 오차 없이 표현이 불가능
・따라서 정밀도를 낮추고 표현할 수 있는 값의 범위 넓힘

[문자 표현 방식]

・자바는 문자를 2byte 유니코드로 표현한다.
・문자의 저장은 유니코드 값의 저장으로 이어진다.

문자와 문자열은 데이터 타입이 다르다!
문자:''
문자열:""

[아스키코드(ASCII (American Standard Code for Information Interchange)]

: 0 ~ 127까지 각각의 숫자에 대응되는 값들이 표현되어 있다.
*ex) A = 65 / B = 66 / SPACE = 32 / 0 = 48 / ^ = 94


[유니코드]

[계산]
public class CharTypeUnicode {
	public static void main(String[] args) {
		char ch1 = '헐';
		char ch2 = '확';
		char ch3 = 54736; // 문자 '헐'의 유니코드 값
		char ch4 = 54869; // 문자 '확'의 유니코드 값
		char ch5 = 0xD5D0;
		char ch6 = 0xD655;
		char ch = 'A';
		char ch7 = 65;
		System.out.println(ch);
		System.out.println(ch7);
		System.out.println(ch1 + " " + ch2);
		System.out.println(ch3 + " " + ch4);
		System.out.println(ch5 + " " + ch6);
	}
}
[결과값]
A
A
헐 확
헐 확
헐 확
[설명]
ch3 : 문자
ch5 : 16진수
[TIP]
int num = 1;
char ch = '1';
*둘 다 결과값은 1이 나오지만,
⇒메모리에 int는 1로 입력됨
⇒메모리에 char는 49로 입력됨
char는 폰트로 나온다

[문자가 깨지는 원리]

⇒코드가 통일되지 않아 글자가 깨지게 된다.
현재는 UTF-8로 통일됨.

[상수와 형 변환]

상수⇔변수 | 상수는 변수의 반대말
초기화 : 처음으로 값을 할당하는 것

▸변수에 값을 딱 한 번만 할당할 수 있으면 그것은 상수!
▸한 번 할당된 값은 변경이 불가능하다.
▸키워드 final 선언이 붙어있는 변수

▸final 기반의 상수 선언의 예
-상수의 이름은 모두 대문자로 짓는 것이 관례
-이름이 둘 이상의 단어로 이뤄질 경우 단어를 언더바로 연결하는 것이 관례

final int MAX_SIZE = 100;

[상수 선언의 예]

[계산]
public class Constants {
	public static void main(String[] args) {
		final int MAX_SIZE = 100;
		final char CONST_CHAR = '상';
		final int CONST_ASSIGNED;
		CONST_ASSIGNED = 12; // 할당하지 않았던 상수의 값 할당
		System.out.println("상수1 : " + MAX_SIZE);
		System.out.println("상수2 : " + CONST_CHAR);
		System.out.println("상수3 : " + CONST_ASSIGNED);
	}
}
[결과값]
상수1 : 100
상수2 : 상
상수3 : 12
[설명]
변하지 않는 값은 상수 final로 지정 후 무조건 대문자로 작성한다.

[상수 활용]

//초기화⇒처음으로 값을 할당하는 것
//활용
public class Constants {
	public static void main(String[] args) {
//원의 반지름이 10인 원의 넓이를 구하는 프로그램을 작성하시오.
		final double PI = 3.14; // PI는 변하지 않기에 final로 작성한다.
		double radius = 10; // 반지름은 값이 변할 수 있기에 final을 사용하지 않는다.
		double area = radius * radius * PI;
		System.out.println("원의 넓이" + area);
	}
}
[결과값]
원의 넓이314.0
[설명]
PIE 값은 3.14 고정이므로 final로 지정
반지름은 값이 변할 수 있기에 final을 사용하지 않는다.

0개의 댓글