java

2022.08.30 Java 변수 타입 문자열

Han_5ung 2022. 9. 4. 00:17

변수

값이 변할 수 있는 데이터를 임시적으로 저장

 

변수 선언 & 값 할당

public static void main(String[] args){
	int num; //변수선언
        num = 1; // 값 할당(초기화)
        
        num = 2; // 값 할당(재할당)
        
       	int number = 1; //선언과 동시에 초기화
}

 

 

 

변수 선언 : [데이터 타입] [변수이름];

  • 변수 이름은 주로 두 번째 단어부터 대문자로 시작함 (카멜 케이스) ex) camelCase, helloWorld
  • 영문자, 숫자, _ , $ 사용가능
  • 영문자는 대소문자를 구별하며 숫자로 시작 할 수 없다.

값 할당 : [변수이름] = [값];

  • 좌항 = 우항 형식에서 우항의 값이 좌항의 변수에 할당이 됨.
  • 처음으로 값을 할당하는 것 = 초기화

재할당 : [변수이름] = [값];

  • 같은 변수에 값을 다시 할당
  • 기존에 할당되어 있던 값은 사라지고 가장 최근에 할당된 값이 저장됨

타입

값의 유형 및 종류를 의미하며, 메모리 공간의 크기와 저장되는 방식을 결정한다.

 

정수형 타입 : byte, short, int, long

byte a = 127;  // 메모리 크기 : 1byte  표현범위 : -128 ~ 127

short b = 32767;  // 메모리 크기 : 2byte  표현범위 : -32,768 ~ 32,767

int c = 2147483647;  // 메모리 크기 : 4byte  표현범위 : -2,147,483,648 ~ 2,147,483,647

long d = 9223372036854775807L;
// 메모리 크기 : 8byte  표현범위 : -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
  • long 타입의 경우 값 뒤에 L을 사용

 

실수형 타입 : float, double

float num1 = 3.14f //메모리 크기 : 4byte

double num2 = 3.141592d; //메모리 크기 : 8byte
double num2 = 3.141592;
  • double의 표현범위가 더 넓음
  • float 타입 : 값 뒤에 f를 사용
  • double타입 : 값 뒤의 d는 선택

문자형 타입 :char

char letter = 'a';    //메모리 크기 : 2byte

char letter2 = 65; //출력 값 :  A

 

  • 변수에 문자 단 하나만 저장 가능
  • 값을 반드시 작은 따옴표( ' ')로 주어야 함
  • char타입에 숫자를 할당할 경우 유니코드에 해당하는 문자가 출력됨

 

논리형 타입 :boolean

boolean hello = true; // 메모리 크기 : 1byte

boolean bye = false;
  • 참 또는 거짓을 저장

문자열 : String

String name = "han5ung";

String name2 = "h";
  • 값을 반드시 큰 따옴표(" ")로 주어야 함
  • 문자 하나만 들어가도 큰 따옴표(" ")을 사용하면 문자열

 

String 클래스의 메서드

charAt() - 해당 문자 리턴

String str = "han5ung";
        
System.out.println("문자열 : " + str); //문자열 : han5ung
        
System.out.println(str.charAt(0)); //h
System.out.println(str.charAt(1)); //a
System.out.println(str.charAt(2)); //n
  • [변수 이름].charAt(인덱스);
  • 해당 문자열의 특정 인덱스의 문자를 반환

compareTo() - 문자열 비교

String str = "abcd";  //기준값

System.out.println(str.compareTo("abcd")); // 0
System.out.println(str.compareTo("abcdef")); // -2
System.out.println(str.compareTo("ab")); // 2
System.out.println(str.compareTo("han5ung")); //-7
System.out.println(str.compareToIgnoreCase("ABCD")); //0
  • [변수이름].compareTo("비교대상");
  • 문자열과 인수로 전달된 문자열을 아스키 코드값을 기준으로 비교한다.
  • 대소문자를 구분함
  • 기준값 = 비교대상 : 0반환            기준값 > 비교대상 : 양수 반환              기준값 < 비교대상 : 음수 반환
  • 기준값에 비교대상이 포함되어있을 경우 : 문자열 길이의 차를 반환 ex) "abcd" = 4 "ab" =2 "abcdef" = 6
  • 첫 문자가 다르다면 첫 문자의 아스키코드 값을 비교하여 반환 ex) a = 97  h = 104
  • compareToIgnoreCase() : 대소문자를 구분하지 않음

concat() - 문자열 연결

String str = "han5ung";

System.out.println(str.concat("블로그")); //han5ung블로그
  • [변수이름].concat("문자열")
  • 인수의 문자열을 기준값 뒤에 추가

indexOf() - 문자 인덱스 반환

String str = "han5ung";

System.out.println(str.indexOf('h')); //0
System.out.println(str.indexOf('5')); //3
System.out.println(str.indexOf('g')); //6
  • [변수이름].indexOf('문자')
  • 인수에 해당하는 문자의 인덱스 반환

trim() - 문자열의 맨 앞, 맨 뒤 공백 제거

String str = "    han5ung         ";

System.out.println(str.trim()); //han5ung
  • [변수이름].tirm();;
  • 문자열의 맨 앞 맨 뒤 공백 제거

toLowerCase(), toUpperCase() - 모든 문자를 소문자, 대문자로 변환

String str = "han5ung";

System.out.println(str.toLowerCase()); //han5ung
System.out.println(str.toUpperCase()); //HAN5UNG
  • [변수이름].toLowerCase()      [변수이름].toUpperCase()