[JAVA] 변수와 타입

Updated:

Categories:

Tags: ,

📌 개인적인 공간으로 공부를 기록하고 복습하기 위해 사용하는 블로그입니다.
정확하지 않은 정보가 있을 수 있으니 참고바랍니다 :)
[틀린 내용은 댓글로 남겨주시면 복받으실거에요]

✨Orientation

  • 코드 많이 쳐보기
  • 남이 아닌 나랑 비교하기, 하루전의 나와 일주일 전의 나
  • 배운 것 기록하기 → 배운 것 중 어려웠던 것들 오류 발생 했던 것들 어떻게 해결했는지

변수와 타입

1. 변수(Variable)

1) 정의 : 변할 수 있는 값.

2) 변수 선언 : 변수를 선언하면 메모리 공간이 확보됨.

  • int a;

3) 변수 할당 : 선언한 변수에 변수의 값을 저장하는 것

  • a = 4;

4) 변수의 명명규칙

  • 다른 사람이 알아볼 수 있게 직관적으로 사용
  • 공백사용 불가함.
  • 첫문자는 대문자를 사용 할 수 없음.
  • 특수문자는 _,$ 만 사용 가능
  • 예약어는 사용 못함.
    Java Keywords (w3schools.com)

  • 첫문자가 숫자로 시작 할 수 없음. ex) int 10age;
  • 변수 타입은 한번 지정하면 다른 타입으로는 변경할 수 없다. ex) int leftNumber=0;
    leftNumber=”71” - 오류발생

2. 상수

  1) 정의 : 변하지 말아야 할 데이터 ex) 일주일, 파이, 절대값

  2) final 키워드를 사용하여 선언 할 수 있고

  3) 상수는 대문자를 사용한다.

  4) 상수의 사용이유는

     (1) 프로그래머가 실수할 수 있기 때문 = 값이 변하지 말아야함!

     (2) 가독성을 위해서

     (3) 유지관리를 위해서

  5) 상수는 선언과 할당을 동시에 진행하여야함 , 변수는 따로 할 수 있음.

  ex) final double PI=3.14;

3. 타입

값이 차지하는 메모리 공간의 크기와 값이 저장되는 방식을 결정.

 1) 기본타입

  • 정수, 실수, 불리언, 문자
  • 실제값이 저장됨

 2) 참조타입

  • 기본형 8개를 제외한 나머지 타입,
  • 객체의 주소값 저장

3) 리터럴

4) 정수타입

byte, short, int, long

  • byte와 short는 현재 많이 사용하지 않음.
  • byte와 short는 int로 자동 형변환 되는데
  • long은 접미사 l을 붙여줘야 함.

타입별 메모리 크기와 표현 범위.

  • byte (메모리 : 1byte = 8bit) : 2^-7 ~ 2^7 -1 =-128~ 127(총 256개)
  • short(메모리 : 2byte = 16bit) : 2^-15 ~ 2^15 -1 (
  • int (메모리: 4byte = 32bit) : 2^-31 ~ 2^31 -1 = -21억~21억( 대략 45억 개)
  • long (메모리: 8byte = 64bit) : 2^63~2^63 -1

정수형의 오버플로우와 언더플로우

 (1) 오버플로우는 표현할 수 있는 최대 값 이상을 표현할 경우

  • byte형에서 127에 1을 더하면 128이 아닌 -128이 된다.

 (2) 언더플로우는 표현할 수 있는 최소 값 이하를 표현할 경우

  • -128 에 1을 빼면 -129가 아닌 127이 됨.

5) 실수타입

  float와 double

🍒타입별 메모리 크기와 표현 범위.

  (1) float 소수점 7자리까지 표현, f접미사 사용

    (메모리 : 4byte = 32bit) : 2^-7 ~ 2^7 -1 =-128~ 127(총 256개)

  (2) double 소수점 15자리까지 표현, float 형보다 정밀도가 높음.

    (메모리 : 8byte = 64bit) : 2^-15 ~ 2^15 -1 (

🍒실수형의 오버플로우와 언더플로우

  • 오버플로우시 무한대가 발생
  • 언더플로우는 만날일이 거의 없음. 발생시 값은 0

6) 논리 타입

  • boolean , 1byte =8bit
  • 참또는 거짓을 저장할 수 있는 데이터 타
  • 참 또는 거짓으로 반환 됨.


7) 문자 타입

  • char,
  • 작은따옴표 사용
  • 2byte = 16bit, 유니코드로 저장되어짐.

4. 형변환

1) 자동 형변환

메모리 용량이 작은 타입에서 큰 타입으로는 자동으로 변환 됨.

byte(1) -> short(2)/char(2) -> int(4) -> long(8) -> float(4) -> double(8)

char는 int 타입으로 변경되면 숫자로 보임.

(1) long(8byte)에서 float(4byte)로 넘어갈 때 조심해야함.

float가 long보다 작은 4byte 지만 모든 정수형보다 더 정밀하다.

(2) float가 표현하지 못하는 숫자가 float로 넘어갈 경우 오류


2) 명시적 형변환 = 수동 타입 변환

변환하고자 하는 타입을 ()사용하여 연산자 앞에 적어주면 됨.


5. String

참조타입, “ “로 감싸진 문자열


String 관련 Method

1) .equals

문자열이 일치하는 지 확인하는 Method

1
2
3
String name1 = "Kim Coding";

String name2 = new String("Kim Coding"); 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
String name1 = "Kim Coding";

String name2 = "Kim Coding";

String name3 = new String("Kim Coding");

String name4 = new String("Kim Coding");

boolean comparison1 = name1 == "Kim Coding";      // true

boolean comparison2 = name1 == name2;             // true

boolean comparison3 = name1 == name3;             // false

boolean comparison4 = name3 == name4;             // false

boolean comparison5 = name1.equals("Kim Coding"); // true

boolean comparison6 = name1.equals(name3);        // true

boolean comparison7 = name3.equals(name4);        // true

✔️✨문자열 비교시에는 .equals 사용



그밖에 자주 사용되는 String Method

1) length() 메서드

문자열의 길이, 철자 개수를 반환하는 메서드

결과 3

2) charAt() 메서드

해당 문자열의 특정 인덱스에 해당하는 문자를 반환

index의 시작은 0 , length-1 이 마지막 index

결과: 1 / 오류발생(index 3에 해당하는 문자 없음)/ 2

3) compareTo() 메서드

문자열 비교 (대,소문자 구분)

문서파일을 가져와서 문자열 비교시 자주 사용 , equals와 비슷함. equals를 더 많이 사용

같으면 0을 반환, 문자열보다 작으면 음수, 크면 양수 반환

결과⬇️


4) concat() 메서드

해당 문자열 뒤에 인수로 전달된 문자열을 추가한 새로운 문자열 반환 - 연결한다고 생각하

결과: ABCD/ ABCDEFG



5) indexOf() 메서드

특정 문자나 문자열이 처음으로 등장하는 위치를 반환

해당 문자열에 포함되어 있지 않으면 -1반환

문자열, int 사용 등등 다양하게 사용 함.

문자열에서는 indexOf()는 포함하고 있고 특정한 문자를 변경해야 할 경우 사용하고

contains()는 문자열이 포함하는지 확인할때 = true/false로 반환 됨.

결과: 3

결과: true


6) trim() 메서드

  • 공백제거기능

결과:⬇️


7) replace() 메서드

해당 문자를 다른 문자로 전체 변경 시 사용

결과:⬇️


8) replaceAll() 메서드


9) toLowerCase()와 toUpperCase() 메서드

Lower - 소문자로 변경

Upper - 대문자로 변경

결과:⬇️



String Method 연습문제 중 힘들었던 것.

연습문제에서 모르는 Method 와 요상한 public int / public static..

나름 열심히 한다고 했는데도 생소한 부분에서는 기가 팍 꺾여서

문제를 풀 엄두도 나지 않았다.

그러나 다시 시도하고 차분하게 마음을 먹었더니 조금씩 풀렸다…


한번 더 짚어보기

int type에서 character로 바꾸는 문제

Character.forDigit(int, 형태(2진수,8진수,10진수…))

  1. 연습문제에서 숫자 int를 받았을때 char로 바꿔서 출력

  2. char type을 int type으로 바꾸는 문제

    Charcter.getNumbericValue(char) 사용


  1. 문자열을 더할때 띄어쓰기하기.

    띄어쓰기시 ““만 추가하면 될 거라 생각했는데 공백을 추가해야함.

JAVA-Learn 카테고리 내 다른 글 보러가기

Leave a comment