JAVA - 02

Lumi·2021년 5월 28일
0
post-thumbnail

2021-05-28

6강 : 정수는 프로그램에서 어떻게 표현하여 사용하나요.

객체가 데이터 타입으로 사용될떄에는 참조 자료형이 사용되고 그떄에는 NEW를 사용 하게 된다.

정수는 크게 byte, shory, int ,long 4가지가 있음(사용할수 있는 범위가 다름)
문자는 char을 사용
실수는 float, double을 사용
논리형은(참, 거짓) : boolean 을 사용

byte : 주로 음악, 동영상, 실행파일의 자료를 처라할떄 사용
short : C/C++ 언어와 호환시 사용
int : 가장 흔하게 사용되는 기본 자료형(4byte)
-> 프로그램에서 사용하는 모든 숫자은 int로 저장된다.
long : 너무 큰 숫자를 사용할떄 사용

  1. 숫자가 너무 크기 떄문에 int로는 오류가 난다.
  2. long를 사용했지만 숫자(리터럴)자체가 항상 int(4byte)를 잡히기 떄문에 오류가 난다.
  3. 즉 저렇게 큰 숫자를 선언할떄에는 맨끝에 L을 붙여줘서 long형으로 잡아줘야한다고 표시해줘야함(대문자, 소문자 둘다 가능하지만 주로 대문자 사용)

==> 정수형뿐만 아니라 실수형도 똑같이 적용된다.
실수는 double 형으로 잡힌다(8byte)
float 는 4byte

참고 링크
https://gitlab.com/easyspubjava/javacoursework/-/blob/master/Chapter1/01-06/README.md

7강 : 자료형 - 실수는 어떻게 표현하여 사용하나요

프로그램 자체 리터럴은 8byte(실수)이기 떄문에 float 에서는 끝에 f를 사용해야한다
==> float : 4byte, double : 8byte

큰 문제가 없는이상 그냥 double을 사용하면됨

8강 : 문자는 프로그램에서 어떻게 표현하여야 하나요

문자를 나타내기 위해서 전세계 표준인 UNICODE를 사용
-> utf-16을 사용 (2바이트 = 16bit)

'A' 와 "A"는 전혀 다른 의미다.
'A' : 2byte 문자
"A" : 문자열을 의미

문자로 프로그래밍 되어있지만 컴퓨터 안에서는 숫자로 존재한다.
EX :
char ch = 'A'; == char ch = 66;

다만 양수만 사용 가능.

--**--
System.out.println((int)ch1);
System.out.println((char)ch2);

int, char을 붙이는 이유 :
ch1 같은 경우는 문자로 출력을 하였기 떄문에 강제로 ch1을 숫자형으로 바꿔주는걸 의미
ch2 도 같은 의미

9강 : 논리형과 자료형 없이 변수 사용하기

참(true), 거짓(false) 두 가지만 나타냄

만약 str 이라는 변수가 string 값으로 지정이 되었는데
중간에 number 변수를 선언한다면 오류가 발생
--> 한번 string 값은 계속해서 string 값만 사용가능(number도 동일)

10강 : 변하지 않는 상수와 리터럴, 변수의 형변환

변하지 않는수 = 상수(constant)
--> 원주율, 12개월 등등
--> 변하지 않는 수가 반복적으로 사용될떄 사용

final 예약어를 사용하여 선언
--> final 이 붙은 변수는 중간에 바꿀수가 없다.

상수 같은 경우에는 대문자로 많이 사용함(구별하기 위해서)

다른 형 끼리는 계산이 불가능하기 떄문에 형 변환이 필요하다
--> 정수 + 실수도 불가능하다(JAVA 에서는)
1. 묵시적 형 변환 : 아무런 행동을 하지 않아도 자동으로 되는 형변환
--> 자동으로 해도 문제가 되지 않을떄 사용됨
--> 작은 바이트에서 큰 바이트로 이동할떄에는 자동으로 이루어 진다.
--> 정수->실수도 자동으로 형변환 됨.
2. 명시적 형 변환 : 프로그래밍해서 변환 시키는 방법


강제적으로 변환 시킨 경우에는 결과값에 문제가 발생할수가 있다.

11강 : 자바의 연산자들

javascript 연산자와 동일

12강 : 관계 연산자 + 논리 연산자

javascript 연산자와 동일

13강 : 조건 연산자 + 비트 연산자

삼항 연산자
-> 조건식의 결과가 참 or 거짓 인 경우에 따라서 다른 결과가 수행된다.
-> if문을 간단하게 표현한다 이해
==> int num = (5>3)? 10 : 20;
--> (5>3)이 조건식이며 이 조건식이 참이면 10을 출력 거짓이면 20을 출력한다.


--> 두수를 입력 받아서 삼항 연산자를 통해 입력받은수를 비교하는 프로그래밍
Scanner : 입력을 받는 함수(나중에 배울거임)

비트 연산자

-> 프로그래밍 할떄 비트 연산자를 많이 사용하지는 않는다.
-> 하지만 좀더 빠른 실행이 필요할떄에는 비트를 사용하기는함

비트켜기 or 비트끄기 같은 방법으로도 사용 가능
--> 비트 연산자가 더 궁금하다면 확인해볼것

14강 : 조건문, if문

skip

15 : 조건이 여러개 일 떄의 if문

if 조건문이 한번이라도 사용되게 된다면 전체 조건문을 벗어나게 된다.

16. 조건이 여러 개 일 떄 간단히 표현되는 switch-case문

ctrl + shift + o ==> scanner 상태 조성 해주는 단축기

문자열도 지원이 가능하다.

java 는 버전이 계속 오를수록 함수의 사용법도 달라지고 좀더 편해지고 있기 떄문에 하나하나 알아가는것이 좋다.


위 코드는 버전이 업그레이드 됨에 따라서 간략화된 코드
yield 는 반환값과 수행문이 같이 있는경우에 반환값이라는 의미로 사용해 주어야 한다.
또한 반환값과 수행문이 같이 있는 경우에는 {}를 사용해서 묶어줘야한다.

느낀점
오늘은 내가 전에는 모르던 정보들을 좀 배운거 같다.
switch 문도 javascript에서 사용했던 방법과 좀 다른면이 있었고
연산자에서도 좀 다른면이 있었다.
주일제로 이번 주말에 한번에 복습을 한뒤 정리를 해볼 예정이다.

profile
[기술 블로그가 아닌 하루하루 기록용 블로그]

0개의 댓글