변수와 연산자
변수 (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 [ 따르지 않으면 에러 발생 ] -
- 변수의 이름은 알파벳 , _ , $ 로만 시작할 수 있다.
- 변수의 이름은 대/소문자를 구분한다.
- Java에서 사용되는 키워드 사용 불가
- 특수문자는 _와 $만 사용 가능
- Convention [ 권장되는 요소 ] -
- 변수의 이름은 최대한 의미 있는 이름으로 지어서 가독성을 높인다.
- 변수의 이름은 알파벳 소문자로 시작한다.
- 여러 단어 연결 시 각 단어의 첫 글자를 대문자로 한다 ( camleCase )
- fixedPrice , colorOfSky , maxHeight
자료형
기본 자료형과 참조 자료형
기본 자료형 ( Primitive type )
- 실제 데이터가 변수가 할당된 공간적 위치에 들어가 있는 것
int number = 10;
참조 자료형 ( Reference Type )
- 변수 공간에 실제 데이터로 갈 수 있는 위치에 대한 정보가 들어가 있는 것
char[] operator = new char[5];
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 : 검색 객체의 메소드들을 리스트로 볼 수 있다.
Java의 연산자
- 연산자란 특정 작업을 수행하는 기호를 의미한다.
- 연산자는 피연산자가 필요하고 연산에 의해 결과가 도출된다.
Java 연산자의 종류
대입 연산자 : 값은 변수에 저장하기 위한 연산자 " 변수명 = 값 or 식 "
산술 연산자 : 수학적 연산을 위한 연산자 " +, -, *, /, %, a++, a--, ++a, --a "
비교 연산자 : 두 피연산자의 동등 or 크기 비교를 위한 연산자 "==, !=, >, >= , <, <="
논리 연산자 : 다양한 조건들의 논리식을 판단하기 위한 연산자 "&&, ||, !"
비트 연산자 : 비트 단위의 연산을 위한 연산자 "&, |, ^, ~"
자료형의 형 변환 ( Type Conversion/Casting )
형변환 - 특정 자료형의 값을 다른 자료형으로 변환하는 것
[1] 확장 형 변환 (Widening type conversion) : 작은 자료형 => 큰 자료형
- 자동으로 형 변환이 수행이 가능하다 ( 자동/확장 형 변환 )
- 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 웹 개발 체험단 활동 중
'EXTERNAL ACTIVITY > Code Presso -웹개발 트랙 체험단-' 카테고리의 다른 글
<코드 프레소 웹 개발 트랙> 처음 시작하는 자바 프로그래밍[4] (0) | 2022.01.13 |
---|---|
<코드 프레소 웹 개발 트랙 > Git 입문 (0) | 2022.01.13 |
<코드프레소 웹 개발 트랙> 처음 시작하는 Java 프로그래밍[3] (0) | 2022.01.13 |
<코드 프레소 웹 개발 트랙 > 처음 시작하는 Java 프로그래밍[1] (0) | 2022.01.10 |
<코드 프레소 웹 개발 트랙> Git 기본 플로우 이해 (0) | 2022.01.09 |