본문 바로가기
카테고리 없음

TIL_230118

by hbIncoding 2023. 1. 18.

JAVA 공부 1일차

 

JVM, 클래스, 인스턴스, 지역 변수

 

JAVA 기초

1) JAVA 변수

. JAVA 변수 특징

  • - 대소문자 구분
  • - 예약어(true 등) 사용 불가
  • - 숫자로 시작 불가
  • - 특수문자는 _ 와 $ 만 허용

. 변수의 형태

  • - Camel case : varTest
  • - Snake case : var_test
  • - Pascal case : VarTest(Java 에는 클래스명만 대문자로 시작하자는 암묵 적인 규칙이 있어서 추천 X)
  • - Kebab case : var-test(Java 에서는 변수명에 - 기호 사용 불가)

. 기본형

  • -정수형 default type : int
  • -실수형 defalut type : double

 

. 참조형

  • - 기본형을 제외한 나머지 타입
  • - String, System, Date 등이 있다.

 

 

2) 연산자

종류 연산자 설명
산술 연산자 + - * / % <<>> 사칙 연산과 나머지 연산(%)
비교 연산자 < >>= <= == != 크고 작음과 같고 다름을 비교
논리 연산자 && || ! &| ^ ~ '그리고(AND)' '또는(OR)' 으로 조건을 연결
대입 연산자 = 우변의 값을 좌변에 저장
기타 연산자 (type) ?: instanceof 형변환 연산자, 삼항 연산자, instanceof연산자

. 증감 연산자

  • - 전위형 : ex) k=++i; 참조 되기 전에 증가/감소시킨다.
  • - 후위형 : ex) k=i++; 참조 된 후에 증가/감소시킨다.
  • - 숫자로 시작 불가
  • - 특수문자는 _ 와 $ 만 허용

. 형변환 연산자와 자동 형 변환

  • - 정수 실수 출력
      int a = 10, b = 4;
      System.out.println(a / b "); >> 2
      System.out.println(a / (float)b); >> 2.5

 

. 산술 변환

round() : 실수를 소수점 첫 째자리에서 반올림한 정수를 반환합니다.
ceil() : 올림값을 double 형으로 반환합니다.
floor() : 내림값을 double 형으로 반환합니다.
abs() : int, double 기본형 모두 사용 가능하며 절대값을 얻습니다.

. 비트연산자

비트 연산자 설명
& 대응되는 비트가 모두 1이면 1을 반환함. (비트 AND 연산)
| 대응되는 비트 중에서 하나라도 1이면 1을 반환함. (비트 OR 연산)
^ 대응되는 비트가 서로 다르면 1을 반환함. (비트 XOR 연산)
~ 비트를 1이면 0으로, 0이면 1로 반전 시킴. (비트 NOT 연산, 1의 보수)
<< 명시된 수만큼 비트들을 전부 왼쪽으로 이동시킴. (left shift 연산)
>> 부호를 유지하면서 지정한 수만큼 비트를 전부 오른쪽으로 이동시킴. (right shift 연산)
>>> 지정한 수만큼 비트를 전부 오른쪽으로 이동 시키며, 새로운 비트는 전부 0이 됨.

 

. 2진수의 음수표현

  • - 부호 절대값 : 가장 왼쪽의 비트가 0이면 양수, 1이면 음수

         ex) 3 = 00000011 , -3 = 10000011

  • - 1의 보수 : 11111111 – x 는 x를 반전 시킨 것

         ex) 13의 2진수는 00001101 > -13 = 11111111-00001101 = 11110010

  • -2의 보수 : 가장 많이 사용하는 방식, 100000000-x 방식, 가장 왼쪽은 부호이며, 쉽게 계산하는 방법은 1의 보수에 +1을 해주는 것이다.

         ex) -13 = 100000000 – 00001101 = 11110011

 

ㅅ. 대입 연산자
대입 연산자 설명
=
왼쪽의 피연산자에 오른쪽의 피연산자를 대입함.
+=
왼쪽의 피연산자에 오른쪽의 피연산자를 더한 후, 그 결괏값을 왼쪽의 피연산자에 대입함.
-=
왼쪽의 피연산자에서 오른쪽의 피연산자를 뺀 후, 그 결괏값을 왼쪽의 피연산자에 대입함.
*=
왼쪽의 피연산자에 오른쪽의 피연산자를 곱한 후, 그 결괏값을 왼쪽의 피연산자에 대입함.
/=
왼쪽의 피연산자를 오른쪽의 피연산자로 나눈 후, 그 결괏값을 왼쪽의 피연산자에 대입함.
%=
왼쪽의 피연산자를 오른쪽의 피연산자로 나눈 후, 그 나머지를 왼쪽의 피연산자에 대입함.
&=
왼쪽의 피연산자를 오른쪽의 피연산자와 비트 AND 연산한 후, 그 결괏값을 왼쪽의 피연산자에 대입함.
!=
왼쪽의 피연산자를 오른쪽의 피연산자와 비트 OR 연산한 후, 그 결괏값을 왼쪽의 피연산자에 대입함.
^=
왼쪽의 피연산자를 오른쪽의 피연산자와 비트 XOR 연산한 후, 그 결괏값을 왼쪽의 피연산자에 대입함.
<<=
왼쪽의 피연산자를 오른쪽의 피연산자만큼 왼쪽 시프트한 후, 그 결괏값을 왼쪽의 피연산자에 대입함.
>>=
왼쪽의 피연산자를 오른쪽의 피연산자만큼 부호를 유지하며 오른쪽 시프트한 후, 그 결괏값을 왼쪽의 피연산자에 대입함.
>>>=
왼쪽의 피연산자를 오른쪽의 피연산자만큼 부호에 상관없이 오른쪽 시프트한 후, 그 결괏값을 왼쪽의 피연산자에 대입함.