1. 제어문

제어문을 사용하면 코드의 흐름을 개발자가 원하는 방향으로 바꿀 수 있다. 제어문은 if문, switch문을 사용하는 조건문이 있다.

 

1.1 If 문

   기본형태

if문 형태

  • 수식을 이용하여 조건을 나누는 경우에 그 효용성이 높다.
  • else if 조건에서 실행된다는 것은 그 앞의 조건들을 만족하지 않는다는 것을 반드시 기억해야 한다. (Why? 코딩의 가독성, 간결성에 영향을 많이 준다.  예시 추가 예정)
  •  else if, else문은 필요하지 않다면 작성하지 않아도된다.
  •  자바는 파이썬과 다르게 들여쓰기를 맞추어주지 않아도 된다.

1.2 switch문

   기본형태

Switch문 형태

  •  기본적으로  조건을 만족하는 경우에 사용하는 if문과는 다르게 확인할 대상의 값에 따라 경우를 나눠야할 때 더 적합하다.
  • 각 case들은 실행후 break를 걸어주었는데, 이는 switch문이 가지는 특성 때문이다. switch문은 1번 케이스에서 조건을 만족하여 실행된다고 하더라도 case2번을 확인하기 때문이다.  (오히려 이런특성을 이용하기도 한다)
  • 확인할 대상 이라고 표현한 부분의 변수의 타입으로는 int, char, string등이 가능하다.

1]  변수

변수란 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 또는 그 메모리 공간을 식별하기 위해 붙인 이름을 말한다. 즉 값의 위치를 가리키는 상징적인 이름이다.

    1) 사용하는 이유

  • 메모리에 직접적으로 접근하는 경우 임의로 바꾸다가 중요한 데이터가 변경될 수 있다.
  • 저장해야할 변수가 늘어날수록, 각각의 메모리 주소를 기억하는것은 점점 더 어려워진다.

    2)변수 선언과 할당

  • 변수를 선언한다는 것은 프로그래밍을 하는동안 사용해야할 메모리들의 공간을 미리 확보하는 것 이다.
  • 할당이라는 것은 선언된 변수에 값을 주는것이다. (=값을 초기화한다)
  • ex) int a = 10

 

2] 상수

변수와 비슷하게 메모리 공간을 확보하고 값을 할당할 수 있지만, 한번 할당한 뒤엔 재할당이 불가능한 변수를 말한다.

 

   1) 사용하는 이유

  • 프로그램이 실행되면서 값이 변하면 안되는 경우
    • 프로그래머가 실수로 상수에 값을 재할당하고자 하면 에러가 발생하여 실수를 방지할 수 있다.
  • 코드 가독성을 높이고 싶은 경우
    • 상수를 사용하면 값을 저장하고 있는 상수명으로 값을 사용할 수 있기 때문에 코드 가독성이 향상된다.
  • 코드 유지관리를 손쉽게 하고자 하는 경우

 

3] 타입

타입은 어떤 값의 유형 및 종류를 의미하며, 타입에 따라 값이 차지하는 메모리 공간의 크기와, 값이 저장되는 방식이 결정된다.

   1) 종류

  • 기본 타입(primitive type)
    • 실제 값이 저장되는 타입들로 아래에서 좀더 자세하게 알아보자
    • 정수 
    • 실수
    • 문자
    • 논리형
  • 참조 타입(reference type)
    • 값이 저장된 메모리의 주소가 저장된 타입
    • 기본 타입외 타입들로 객체 같은 것들을 뜻한다.

4] 리터럴

그 자체로 값이 되는 것들을 뜻하는데, 사람들과 흔히 약속된 아라비아 숫자로 표현되는 값  또는 문자와 문자열 그 자체를 가리킨다.

 

5] 정수타입

정수 타입은 숫자를 나타내는 타입으로, byte, short, int, long 의 총 4개의 타입으로 분류 된다.

  •  byte는 1byte 2^(8) 값까지 표현 할 수 있다.
  • short는 2byte 2^(16) 값까지 표현 할 수 있다.
  • int는 4byte 2^(32) 값까지 표현 할 수 있다.
  • long는 8byte 2^(128) 값까지 표현 할 수 있다.

    1)특징

  •  오버플로우 또는 언더플로우가 발생 할 수 있다.
    • 먼저 여기서 말하는 오버플로우나 언더플로우는 어떤 정수타입에서 가지는 값이 표현할 수 있는 범위를 넘어 섰을 때를 가리킨다.
    • 예를들어 1바이트는 2^(8)까지 표현이 가능해 -128 ~ 127 까지의 값을 가질 수 있는데, 내가 표현하고자 하는 값이 128인 경우엔 127 다음을 넘어서 -128이 된다.
    • 이와 반대로 언더 플로우는 -129를 할당하고자 하면 바이트 변수에서는 그 값이 127로 언더플로우가 발생하게 된다.
  • 타입종류가 메모리가 커지는 방향으로 자동 타입변환이 가능하다

6] 실수타입

실수는 소수점을 가지는 값을 의미하며, float형과 double형으로 분류된다.

  • float형은 4byte를 가지는 데이터 타입으로 리터럴에는 반드시 접미사 f를 붙여주어야 한다.
  • double형은 8byte를 가지는 데이터 타입으로 리터럴은 그냥 사용해도 된다. 그리고 double은 float보다 두배의 메모리를 사용하여 값을 표현하기 떄문에 실수를 표현함에있어 그 정밀도가 훨씬 높다.

7] 논리타입

참과 거짓을 표현하는 데이터 타입으로 첫글자도 소문자를 쓰는 true과 false를 쓴다.

 

8] 문자형 타입

문자열이 아닌 문자형으로 2byte 크기의 char형 오직 하나만 있다.

  • 문자형 리터럴을 작성할 땐 큰 따옴표(””)가 아닌 작은 따옴표(’’)를 사용해야 한다. 큰 따옴표를 사용한 리터럴은 문자형 리터럴이 아니라 문자열 리터럴로 인식된다.
  • 자바는 유니코드 문자를 저장한다. 유니코드는 전 세계의 모든 문자를 컴퓨터에서 일관되게 다루기 위한 국제 표준으로, 각 문자에 숫자 코드 번호를 부여한 것을 말한다.
    • 추후 내용 추가 예정

 

 

   

   

 

+ Recent posts