본문 바로가기
EXTERNAL ACTIVITY/Code Presso -웹개발 트랙 체험단-

<코드프레소 웹 개발 트랙 > 처음 시작하는 Java 프로그래밍[2]

by jaeaemin 2022. 1. 11.

https://www.codepresso.kr/

 

변수와 연산자 

 

변수 (Variable)

컴퓨터 프로그램은 데이터와 데이터를 처리하는 알고리즘으로 구성된다.

변수는 데이터를 저장하기 위한 공간으로 이름으로 변수를 분간한다.

 

 

자바의 변수 선언 

public class Calcvlator {
	public static void main(String [] args)
    {
    	String name;
        int age = 25;
        int new_year = 1;
    }
}

자료형과 변수만 선언한다면 변수를 생성할 공간을 할당한다.

대입 연산자 '=' 통해서 변수에 값을 할당할 수 있다. 

선언된 변수는 변수의 이름을 통해서 호출하여 사용할 수 있다. 

  • (EX)  System.out.println(age);

선언된 변수는 이름을 통해서 변수 공간의 값들을 참조하여 서로 연산할 수 있다.

  • (EX) System.out.println(age + new_year);

변수는 공간의 선언만 할 수도 있고, 선언과 동시에 값을 할당할 수 도 있다. 


 

 

변수의 작명

 

- Rule  [ 따르지 않으면 에러 발생 ] -

  1. 변수의 이름은 알파벳 , _ , $ 로만 시작할 수 있다.
  2. 변수의 이름은 대/소문자를 구분한다.
  3. Java에서 사용되는 키워드 사용 불가
  4. 특수문자는 _와 $만 사용 가능 

 

- Convention [ 권장되는 요소 ] -

  1. 변수의 이름은 최대한 의미 있는 이름으로 지어서 가독성을 높인다.
  2. 변수의 이름은 알파벳 소문자로 시작한다.
  3. 여러 단어 연결 시 각 단어의 첫 글자를 대문자로 한다 ( camleCase )

          - fixedPrice , colorOfSky , maxHeight 

 

실제 실습 코드 예시&amp;amp;amp;amp;nbsp;

 

 

 


자료형

 

기본 자료형과 참조 자료형

기본 자료형 ( Primitive type )

 - 실제 데이터가 변수가 할당된 공간적 위치에 들어가 있는 것

int number = 10;

 

 

참조 자료형 ( Reference Type )

 - 변수 공간에 실제 데이터로 갈 수 있는 위치에 대한 정보가 들어가 있는 것 

char[] operator = new char[5];

 

기본 자료형과 참조 자료형의 예시&amp;amp;amp;amp;nbsp;

 

1. 기본 자료형 ( Primitive type )

-Java의 기본 자료형  종류

구분 자료형 크기
정수형 byte 8bits
short 16bits
int 32bits
long 64bits
실수형 float 32bits
double 64bits
문자형 char 16bits
논리형 boolean - ture/false

 

정수/실수형 

 

- 자료형의 크기를 넘어선 변수 값을 공간에 할당하면 오류가 발생한다. 

- 자바 컴파일러는 숫자 값 자체를 default형식으로 int형으로 판단하는 단게를 거지고 있어서 경고문이 뜨게된다.

- long값에는 값 뒤에 접미사로  'L'을 붙이고 float값에는 접미사로 'f'를 사용한다.

long longNumber = 10000000000;   //  detected warning 

long longNumber = 10000000000L;  // 뒤에 접미사 L을 붙여서 해결 가능

float floatNumber = 3.14159212345f;  // 뒤에 접미사 f를 붙여서 해결 가능

 

 

문자 자료형

- 문자 자료형은 " 1개의 문자를 저장 " 하는 자료형이다.

- 작은따옴표를 사용하여 값을 표현한다

- 큰따옴표는 문자열을 의미 한다.

 

char a = 'a';    // 저장성공
char ab = 'ab';  // 저장실패  ( 2개 이상의 연속 문자 저장 )

 

 

논리 자료형

- 참과 거짓 , true/false ,  N/0 으로 저장하는 자료형이다.

 

 

 

 

2. 참조자료형 (Reference Type)

- String

- Array

- Collection(List, Map, Set, ...)

- 사용자 지정 객체 

 

 

문자열 자료형 [ String ]

 

 - 하나 이상의 연속된 문자들의 집합을 저장

 - 큰 따옴표를 사용하여 표현한다

 - String은 객체로 속성과 행동을 가진다.

    (ex) lenghth() 메소드 -> 객체의 길이를 반환한다.

    (ex) toLowerCase(), toUpperCase() -> 대/소문자 변환한다.

 - 각 객체에 대한 스펙( 객체의 함수나 객체에 대한 정보 )을 search 할 수 있다.

    (ex) 

      > Filed Summary : 검색 객체의 필드값들을 리스트로 볼 수 있다.

      > Method Summary : 검색 객체의 메소드들을 리스트로 볼 수 있다.

 

 


Intellij를 사용해서 각 자료형에 대해서 테스트 해보자 !


Java의 연산자

  • 연산자란 특정 작업을 수행하는 기호를 의미한다.
  • 연산자는 피연산자가 필요하고 연산에 의해 결과가 도출된다.

 

Java 연산자의 종류

대입 연산자 : 값은 변수에 저장하기 위한 연산자      " 변수명 = 값 or 식 " 

산술 연산자 : 수학적 연산을 위한 연산자               " +, -, *,  /, %, a++, a--, ++a, --a " 

비교 연산자 : 두 피연산자의 동등 or 크기 비교를 위한 연산자  "==, !=, >, >= , <, <="

논리 연산자 : 다양한 조건들의 논리식을 판단하기 위한 연산자 "&&, ||, !"

비트 연산자 : 비트 단위의 연산을 위한 연산자 "&, |, ^, ~"

 

 


자료형의 형 변환 ( Type Conversion/Casting )

형변환  - 특정 자료형의 값을 다른 자료형으로 변환하는 것 

 

 

[1] 확장 형 변환 (Widening type conversion)   :  작은 자료형  => 큰  자료형 

- 자동으로 형 변환이 수행이 가능하다 ( 자동/확장 형 변환 )

int 형은 float으로 변화해도 형변환이 자동으로 수행되지만 반대로는 수행되지 않음

- long은 64 bit , float 은 32bits 일 때 long은 float을 품을 수 있지만 ( 자동/확장 형 변환 가능 )

- float자료형 (공간)  에서는 long의 64 bit 데이터를 품게 되면 넘치게 된다. 

 

 

 

[2] 축소 형 변환 ( Narrowing Type Conversion ) : 큰 자료형 => 작은 자료형

 

- 큰 자료형이 작은 공간의 자료형으로 들어가서 데이터가 흘러 넘치게 된다.

- 데이터가 손실 될 수 있음

- 개발자가 어떤 타입으로 변환 시킬지 명시 [ 명시적 형 변환 ]

double pi = 3.141592;
int n;

n = (int)pi;  // [축소형 형변환] pi가 정수형 데이터에 담기게끔 
System.out.print(n);   // 3출력

 

 

정수형의 Overflow, Underflow

 - Overflow : 특정 자료형이 표현할 수 있는 값의 범위를 넘어 설 때 

 - byte 형의 표현범위 ( -128 ~ 127 ) 일때 128과 129를  형 변수에 저장하면 ? 

byte b = (byte) 128;  // 127까지 표현 가능 
System.out.println(b);
// -128이 출력

byte b = (byte) -129; // -129까지 표현 가능 
System.out.println(b);
// 127이 출력

 

 


Char 자료형과 Unicode 
char 자료형은 문자형 데이터를 다루고 있지만 실재 내부 데이터는 숫자 데이터로 표현된다.
Unicode는 char 자료형에 대한 숫자 데이터를 매칭하고 있는 테이블이다.
(ex)  a => 97   ,    c => 99     ,    f => 102

 

 

연산자 우선순위

- 기본 연산자 우선순위는 위의 자료와 같다.

- 괄호를 활용하여 연산의 우선순의를 명시하는 것이 가능하다. 

- 괄호를 이용하면 우선순위 명시로 인해 가독성이 향상 된다.

 

 

 


- 코드 프레소 처음 시작하는 JAVA 프로그래밍

- 코드 프레소 Java 웹 개발 체험단 활동 중

반응형