ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [ch2 자바 변수] 문자열 결합, 기본형 & 참조형
    프로그래밍 언어/JAVA 2022. 6. 6. 16:23
    문자열 결합

    숫자 뿐만 아니라 두 문자열을 합칠 때도 덧셈(+)을 사용할 수 있다.

     

    String name = "Ja" + "va"; 
    String str = name + 8.0;

     

    덧셈 연산자는 피연산자가 모두 숫자일 때는 두 수를 더하지만, 피 연산자 중 어느 한 쪽이 String이면 나머지 한 쪽을 먼저 String으로 변환한 다음 두 String을 결합한다. 어떤 타입의 변수도 문자열과 덧셈연산을 수행하면 그 결과가 문자열이 되는 것이다. 

     

    7 + " " = "7 "
    7 + "7+ = "77"
    7 + 7 + "" = "14"
    "" + 7 + 7 = "77"

     

    덧셈 연산자는 왼쪽에서 오른쪽 방향으로 연산을 수행하기 때문에 결합순서에 다라 결과가 달라진다는 것을 주의하자. 그리고 숫자 7을 문자열 "7"로 변환할 때는 아무런 내용도 없는 빈 문자열("")을 더해주면 된다는 것도 알아두면 좋겠다. 

     

     

    두 변수의 값 바꾸기

    두 변수 x와 y에 저장된 값을 바꾸려면 어떻게 해야할까?

     

    int x = 10;

    int y = 20;

     

    이 경우 단순히 x의 값을 y에 저장하고 y의 값을 x에 저장해서는 원하는 결과를 얻을 수 없다. 왜냐? 만약 x에 y에 값을 저장하면 x, y  둘다 y에 값이 저장되게 되는데 그렇게 되면 이미 바뀌었기 때문에 이전 x의 값을 y에 저장할 수 없다. 따라서 값을 임시로 저장할 변수가 하나 더 필요해다.

     

    여기선 int tmp; 를 사용하겠다.

     

    tmp = x;    // 1. x의 값을 tmp에 저장
    x = y;        // 2. y의 갑을 x에 저장
    y = tmp;    // 3. tmp에 저장된 값을 y에 저장

     

     

    ※ 예제 1번 ※

    package ch2;
    
    public class Ex2_8 {
    	public static void main(String[] args) {
    	int x=10;
    	int y=5;
    	
    	System.out.println("x=" + x);
    	System.out.println("y=" + y);
    	
    	int tmp;
    	
    	tmp = x; 
    	x=y;
    	y = tmp;
    	
    	System.out.println("==========");
    	System.out.println("x=" + x);
    	System.out.println("y=" + y);
    	
    	
    	}
    }

     

     

    기본형과 참조형

    우리가 주로 사용하는 값(data)의 종류(type)은 크게 '문자와 숫자'로 나눌 수 있으며, 숫자는 다시 '정수와 실수'로 나눌 수 있다. 이러한 값의 종류에 따라 값이 저장될 공간의 크기와 저장 형식을 정의한 것이 자료형(data type)이다. 자료형에는 문자형(char), 정수형(byte, short, int long), 실수형(float, double) 등이 있으며, 변수를 선언할 때는 저장하려는 값의 특성을 고려하여 가장 알맞는 자료형을 변수의 타입으로 선택하면 된다.

     

    자료형은 크게 '기본형'과 '참조형' 두 가지로 나눌 수 잇는데, 기본형 변수는 실제 값(data)을 저장하는 반면, 참조형 변수는 어떤 값이 저장되어 있는 주소(memory address)를 갑으로 갖는다. 자바는 C언어와 달리 참조형 변수 간의 연산을 할 수 없으므로 실제 연산에 적용되는 것은 모두 기본형 변수이다.

     

    더보기

    메모리에는 1byte 단위로 일련번호가 붙어있는데, 이 번호를 '메모리 주소' 도는 간단히 '주소'라고 한다. 객체의 주소는 객체가 저장된 메모리 주소를 뜻한다.

     

    기본형(primitive type)
    : 논리형(boolean), 문자형(cha), 정수형(byte, short, int, long), 실수형(float, double) 계산을 위한 실제 값을 저장한다. 모두 8개

    참조형(reference type)
    : 객체의 주소를 저장한다. 8개의 기본형을 제외한 나머지 타입

     

    1byte = 8bit

    각 자료형이 가질 수 있는 값의 범위는 -2의 n-1승 ~ 2의 n-1승의 -1(n은 bit수)이다.

    예를 들어 int 형의 경우 32bit(4byte)이므로 '-2의 31 ~ 2의 31승 -1'의 범위를 갖는다.

    반응형

    댓글

Designed by Tistory.