[Java] - 연산, 변수 (operation, variable)

서현이의 개발 기록장·2022년 10월 17일
0

Java Programming

목록 보기
3/4
post-thumbnail
post-custom-banner

변수 (variable)

변수

값을 저장할 수 있는 저장소,
메모리에 값이 저장된 위치(셀)를 참조하기 위해 정한 이름

선언

변수명 만드는 규칙

  1. 영문자, 숫자, 언더바, $ 으로 구성
  2. 숫자로 시작 금지
  3. Java 키워드 사용 금지 (Public, Class 등)
  • 변수를 사용하기 전 취해야하는 절차 (사용 예고)
int variable_name;

초기화 (initializatoin)

  • 변수를 사용할 때 임의의 값 지정
  • Assignment와 형태는 같으나, 맨 처음에 따로 변수 값을 저장하는 것을 초기화라고 한다.
variable_name = 'velog';

저장 or 대입 (Assignment)

  • 초기화 부분이 아닌, 알고리즘 부분에서 변수를 사용하고자 할 때 사용
  • 변수 저장소 셀에 있는 값은 바꿀 수 있다.
variable_name = 'velog';

데이터 타입 (Data Types)

데이터 타입 종류

1. 기본 타입 (Primitive type)

- int : 정수

  • 문자열 20을 정수로 바꾸는 법
int c = new Integer(20).intValue();

- Double : 실수, 유리수

  • 문자열 20을 실수로 바꾸는 법
double c = new Double(3.14159).doubleValue();

- Characters : 문자

  • 글자 하나.
  • 문자는 정수로 변환 가능하다. (Unicode)
(char) ('a' + 1)

- Boolean Value

  • 참, 거짓을 나타내는 값
boolean b = false;

2. 참조 or 객체 타입 (Reference or Object type)

- String : 문자열;

  • 정수, 실수, 논리값과는 달리 "객체"이다.
String name = "Gildong Hong";

타입 변환 (Type Cast)

1. 묵시적 타입 변환 (implicit type casting)

int i = 1;
double d = i;

2. 명시적 타입변환(explicit type casting)

double d = 1.5;

int i = d;         (X)
int i = (int) d;   (o)

DecimalFormat

  • DecimalFormat 객체 만들기

new DecimalFormat(<패턴>)

DecimalFormat f = new DecimalFormat(0.00); //오른쪽 두자리 픽스, 왼쪽 최소 한자리
String s = f.format(100.0/3.0);

//결과 값 33.33

타입 오류

boolean b = true; 
System.out.println(b * 5);	// data type error 

int i = 3 * 2.1;	// data type error

int x;
x = "abc";	// data type error

GregorianCalendar c = new GregorianCalendar();
System.out.println(c.getTime()); 
c.println("oops"); // data type error

타입 검사

실행시간 오류 (Run-Time Error)

Syntax 적으로는 문제가 없지만, 논리적으로 문제가 있어 실행 도중 생기는 에러

일부 오류는 실행해 보지 않고는 찾기 어려워 실행시간에 발생한다.

// 0으로 나눌 때
int x=0;
i/x

// 변환오류
new Integer(x).intValue() // x=”abc”
  • Java는 실행시간 오류가 발생하면 예외(exception)을 발생시키면서 발생 경 input, e.g.,

연산

비교 연산자

> < <= >= == !=

논리 연산자

&& (and), || (or), ! (not)

연산자 우선 순위 (Operator Precedence)

  • 괄호가 최강.

< 높음 >
단항 연산자 : -, !
곱하기*나누기/나머지%
더하기+빼기-
비교 < <= > >=
비교 == !=
논리 && ||
< 낮음 >

연산자 결합 순서 (Associativity)

단항 연산자

  • 단항 연산자는 우결합 원칙
ex) ---4 = -(-(-(-4))) 

이항 연산자

  • 이항 연산자는 좌결합 원칙
ex) 1-2-3 = (1 - 2) - 3

예제) 동전 계산 프로그램

CelsiusToFahrenheit1 는 프로그램 인수로 섭씨온도를 받아 화씨온도로 바꾸 어 출력해 준다.

import java.text.*

public class CelsiusToFahrenheit1 {
	public static void main(String[] args)
    {
	int c = new Integer(args[0]).intValue();
	// args[0]가 프로그램 인수
	double f = ((9.0/5.0)*c) + 32; 
	System.out.println("For Celsius degrees " + c + ","); 
	DecimalFormat formatter = new DecimalFormat(0.0); 
	System.out.println("Degrees Fahrenheit = " + formatter.format(f));
    } 
}

profile
HanYang ERICA Univ. Department of Artificial Intelligence
post-custom-banner

0개의 댓글