본문 바로가기
자바(Java)

자바 입문하기1 - 변수와 계산

by codeyaki 2022. 1. 6.
반응형

프로그래머스 자바입문 강의를 보며 정리한 내용입니다.

https://programmers.co.kr/learn/courses/5

 

자바 입문

자바 입문 가장 널리 쓰이는 프로그래밍 언어 Java로 프로그래밍의 기초를 다져보세요. 이 강의의 내용을 책으로 만나고 싶으시면 여기를 눌러 책 정보를 확인하세요. 강의를 다 들었는데, 지금

programmers.co.kr


자바의 실행 과정

1. 소스코드 작성

2. 소스코드 컴파일

3. 컴파일된 파일을 JVM으로 실행

 

JVM으로 실행하기 때문에 운영체제와 독립된 실행환경!!

 


주석

  • 프로그램 코드와 실행에는 영향을 주지 않는 문장

주석의 종류

  • 구현 주석
    - 행 단위 주석( // ) : 해당 행만 주석 처리 ( 이클립스에선 Ctrl + / 명령어로 처리 가능)
    - 블록단위 주석( /* 주석 내용 */ )

문서화 주석
-/** 문서에 포함할 내용을 작성함 */
-문서화 주석은 클래스, 인터페이스 그리고 멤버당 하나씩 가질 수 있고, 선언 바로 전에 작성해야 함.
예시)

import java.io.*;

/**
* <h1>Add Two Numbers!</h1>
* The AddNum program implements an application that
* simply adds two given integer numbers and Prints
* the output on the screen.
* <p>
* <b>Note:</b> Giving proper comments in your program makes it more
* user friendly and it is assumed as a high quality code.
*
* @author  Zara Ali
* @version 1.0
* @since   2014-03-31
*/
public class AddNum {
   /**
   * This method is used to add two integers. This is
   * a the simplest form of a class method, just to
   * show the usage of various javadoc Tags.
   * @param numA This is the first paramter to addNum method
   * @param numB  This is the second parameter to addNum method
   * @return int This returns sum of numA and numB.
   */
   public int addNum(int numA, int numB) {
      return numA + numB;
   }

   /**
   * This is the main method which makes use of addNum method.
   * @param args Unused.
   * @return Nothing.
   * @exception IOException On input error.
   * @see IOException
   */
   public static void main(String args[]) throws IOException
   {

      AddNum obj = new AddNum();
      int sum = obj.addNum(10, 20);

      System.out.println("Sum of 10 and 20 is :" + sum);
   }
}​

 


변수

: 값을 저장할 수 있는 메모리의 공간

변수 선언하기

  • 타입 변수 이름;
    int count; //정수 값을 담을수 있는 count라는 이름의 변수를 선언
    double average; //실수 값을 담을 수 있는 average라는 벼수를 선언​
     
  • 식별자 (identifier)는 클래스, 메서드, 변수 등 다양한 대상에 대해 이름이 붙여지는 경우, 그 이름을 뜻 함

Java 식별자 명명 규칙 (반드시 지켜야 함. 지키지 않으면 컴파일 시 에러 발생)

  • 하나 이상의 글자로 이루어져야 함
  • 첫 번째 글자는 문자 이거나 '$', '_' 이어야 함
  • 두 번째 이후의 글자는 숫자, 문자, '$', '_'이어야 함
  • '$', '_'이외의 특수문자 사용 불가능
  • 길이 제한 없음
  • 키워드는 식별자로 사용할 수 없음(int , float 등)
  • 상수 값을 표현하는 단어 true, false, null은 식별자로 사용할 수 없음

변수 명명 관례 (지키지 않아도 에러 발생은 없으나, 지켜주는 것이 좋음)

  • 첫 번째 문자가 소문자인 명사로 정함
  • 여러 단어로 구성된 이름의 경우 두 번째 단어부터 첫 글자를 대문자로 함
  • '_'을 쓰지 않음

변수의 사용

  • 변수명 = 값 ;
int count = 10; // count라는 int형 변수에 정수값 10 저장
count = 20; // count라는 int형 변수에 정수값 10 삭제 후 정수값 20 저장
double average = 11.1 // average라는 double형 변수에 실수 값 11.1 저장​

상수 

: 수식에서 변하지 않는 값

 

상수의 선언

  • final 상수 타입 상수명;
final int J;​

상수의 사용

  • 상수명 = 값;
J = 10 // J에는 값을 담을 수 있는 기회가 단 한 번만 허락됨)​

 

상수의 명명 관례

  • 대문자로만 구성된 명사로 정함
  • 여러 단어로 구성된 이름인 경우 단어 사이에 '_'을 써서 구분

상수 사용 이유

  • 값이 변하면 위험한 경우
  • 값만 봤을 때 무엇을 의미하는지 쉽게 파악할 수 없는 값에도 값 자체를 사용하기보다는 상수 사용
  • 여러 개의 값을 한 번에 관리하고자 할 때

예시) 원 크기 구하기

public class ConstantExam {
    public static void main(String[] args) {
		final double PI = 3.14159; // 상수 PI
        
        int radius = 5;
        double result = radius * 2 * PI;
        System.out.println(result);
    }
}

 

>>
31.4159


기본형 데이터 타입

  • 기본형  : 가장 기본이 되는 데이터 타입으로써 정수형, 실수형, 문자형, 불린형
  • 문자형 : 2byte 크기, 문자는 작은따옴표를 이용하여 한 글자 표현
  • 정수형 : 정수를 표현하는 데이터 타입, 정수의 범위에 따라서 다양하게 제공
    - int : 4바이트, 가장 자주 사용
    - long : 8바이트, int보다 더 큰 범위의 정수를 표현하고 싶을 때 사용
  • 실수형 : 실수를 표현하는 데이터 타입
    - float : 4바이트
    - double : 8바이트
  • 리터럴 : 소스코드의 고정된 값을 대표, 일종의 값 ( ex - ture, false, 10, 11.1, a 등)

사용방법 예시

boolean isFun = true;
char c = 'f';
int x = 59;
long big = 3456789L; // long 값을 적을때 뒤에 소문자 l 혹은 대문자L을 적어야 함
float f = 32.5f // float 값을 대입할 때는 실수 뒤에 소문자 f나 대문자F를 적어야 함
double d = 23.34

 


기본형 타입 변환(형 변환)

: 변수, 또는 리터럴의 타입을 다른 타입으로 변환하는 것

 

묵시적 형 변환(묵시적 형 변환)

  • 크기가 작은 타입을 크기가 더 큰 타입으로 바꿀 때에는 묵시적으로 형을 바꾸어 준다.
    int x = 50000;
    long y = x;​
     

명시적 형 변환(강제 형 변환)

  • 크기가 더 큰 타입을 작은 타입으로 바꿀 때에는 명시적으로 변환해주어야 한다.
    long x = 50000;
    int y = x; // 에러
    int y = (int) x; // 반드시 (타입) 을 적어 명시적으로 형을 바꾸어 주어야 한다.​

연산자

  • 연산 : 데이터를 처리하여 결과를 산출
  • 연산자 (Operations) : 연산에 사용되는 표시나 기호
  • 피연산자 (Operand) : 연산 대상이 되는 데이터 ( 리터럴, 변수 )
  • 연산식 (Expressions) : 연산자와 피연산자를 이용하여 연산의 과정을 기술한 것

 

단항 연산자 

  • 부호 연산자 : +, -
    int i1 = -5;
    int i2 = +i1; // -5
    int i3 = -i1; // -(-5) = 5
  • 증감 연산자 : ++, --
    변수++( 변수-- ) : 해당 항을 수행 후에 변수 증감
    ++변수( --변수 ) : 해당 항을 수행하기 전에 변수 증감
    int k = 10;
    System.out.println(k++);
    System.out.println(k);
    System.out.println(--k);
    >>
    10
    11
    10

이항 연산자

  • 대입 연산자 : =
    오른쪽에 있는 피연산자의 값을 왼쪽 피연산자의 변수에 저장
    - 복합 대입 연산자 : 정해진 연산을 수행한 후에 결과를 대입
  • 산술 연산자 : +, -, *, /, % 등
    //대입 연산자
    int i = 5;
    int j = 2;
    //산술 연산자
    System.out.println(i + j);
    System.out.println(i - j);
    System.out.println(i * j);
    System.out.println(i / j);
    System.out.println(i % j);
    >>
    7
    3
    10
    2
    1
  • 비교 연산자 : ==, !=, <, >, <=, >= 
    비교 연산자의 결과는 boolean 타입

연산자 우선순위 (위에서부터 아래 순, 같은 줄일 경우 왼쪽부터)

  • 최우선 연산자 : . , [], ()
  • 단항 연산자 : ++, --, !, ~, +/-, : ( 부정, bit변환 > 부호 > 증감 )
  • 산술 연산자 : *, /, %, >, +, -, > (shift/시프트 연산자 >> << >>>)
  • 비교 연산자 : >, <, >=, <=, ==, !=
  • 비트 연산자 : &, | , ~
  • 논리 연산자 : &&, ||, !
  • 삼항 연산자 : 조건식
  • 대입 연산자 : =, *=, /=, %=, +=, -=

예시

int a = 5;
int b = 10;
int c = 5;
System.out.println(  a - b * c );
//결과는 -45가 나오게 됩니다
int a = 5; 
System.out.println(a++ - 5); 
//결과는 0
System.out.println(a); 
//결과는 6
반응형