[Java] 변수,타입,연산자

이유은·2023년 10월 18일
0

[Java]

목록 보기
1/18

🔥 Java의 기본

주석

  • 나만알아볼수있는 부가 설명 / 컴퓨터이해 x
  • // <- 이거 이후에는 컴퓨터가 안읽음
  • /* 여러줄 주석 */으로 마무리

사용자 정의 명칭 (사용자가 마음대로 정할 수 있음)

  • 클래스명, 메소드명, 변수명
  • 일정한 규칙이 있음

규칙

  • 영문대소문자, 숫자, _, $ 만 가능 /(한글도 가능 but 안좋은방법)
  • 숫자는 첫글자로 올 수가 없습니다
  • 특수문자는 , $ 를 제외하고 사용 불가 ( $ 첫글자 가능)
  • 공백은 올 수가 없습니다.(공백이 오기 전까지만 인식함 / 구별을 공백단위로/ 공백대신_)
  • 예약어는 사용불가 (빨간색 ex: public class 등/ 자바의 예약어들,써보면 빨간색으로 변환)
  • 클래스명은 영문대문자, _, $로
  • 메소드명, 변수명은 영문소문자, _, $로 시작
  • 합성어(두개단어가 합쳐진 것)의 첫글자는 대문자로 한다. ( hello + java => HelloJava)

🎈 부가설명

1. 입력장치 - 키보드, 마우스
2. 출력장치 - 모니터
3. 기억장치 - RAM(주차장)
4. 제어장치 - CPU(자동차):저장장치 x 

🔥 상수,변수,자료형

  • 상수 변하지 않는 수
  • 변수 - 변하는 수(메모리가 시작되는 점의 주소), 그릇
  • 자료형 - 변수의 크기 (몇칸쓸지 알려주는 놈) - 공간확보하기 위해서 먼저씀

🔥 자료형(type)

  • 기본

--- 논리형 --- (애매모호하게 나오지 않음)

; boolean : true, false -> 1byte(저장의최소단위.한칸차지)

boolean a = true;

boolean b = false;

--- 정수형 ---

: byte : 1byte (-128 ~ 127)

: short : 2byte (-32,768 ~ 32,767)

: char (문자자료형) : 2byte (0 ~ 65,535)

: int (제일많이씀) : 4byte,기본자료형 (-2,147,483,648 ~ 2,147,483,647)

: long : 8byte (-922경 ~ +922경) / 수치가 2억 넘어가면 long쓰셈

long a = 10L; long b - 10l; -> long에 들어가는 건 L을 붙임

** int형 이하 연산식의 결과는 모두 int형이다.

--- 실수형 ---

(소수를 갖는 자료형)

: float : 4byte

float a = 10.23f;

: double : 8byte (기본자료형)

double a = 10.23;

의무적 강제형변환 해야하는 경우

byte a = 10;

char b = (char)a;

short c = (short)b;

char d = (char)c;

char 형이 음수가 없어서 강제형변환 해줘야함

** 실수는 정수보다 항상 크다

double > float > long > int

float a = 10.23f;

double b = a; (0)

long c = a; (x)

**- int형 이하 연산식의 결과는 모두 int형이다.

  • 나머지 자료형 연산 결과는 큰 자료형으로 간다**

ex.
byte a = 1;

byte b = 1;

a+b => int


ex.
long a = 10l;

long b = 20l;

a + b => long


ex.
long a = 10l;

float b = 20.2f;

a + b = > long

  • 비트 : bit 처리용량
  • 바이트 : byte 저장용량(8bit=1byte)
  • 헤르츠 : hz. 실행

1024byte => 1kbyte
1024kbyte => 1mbyte
1024mbyte => 1gbyte
1024gbyte => 1tbyte

A - 000

B - 001

C - 010

D - 011

E - 100

2의보수 : 0은1로, 1은0으로 마지막 1을 더해준다.

byte a = 1

a -> 00000001

byte a = -1

a -> 1 1111111

a-1 => -2

  1 1111110

  • 사용자정의자료형 - class

  • String (문자열을 처리하려고 만들어짐)

    String name = "홍길동";


  1. 자료형, 변수, 상수 가 뭔지 알아두기

  2. 논리형자료형, 정수형자료형, 실수형자료형

  3. 형변환(자료형이 바뀜)
    1) 자동형변환 작은거->큰거
    2) 강제형변환 큰거->작은거 / 강제로 변하고싶은 모든 것

    • 강제형변환 : 변환시키고자 하는 값 앞에 변환시키고 싶은 자료형을 ()로써준다.

      (cast연산)

  4. 기본자료형은 아니지만 문자열을 다루기 위해 기본자료형처럼 쓸 수 있는 Stirng 클래스를 제공


🔥 연산자

  • 최우선연산자 : (그식에서 제일 먼저 연산해야함)

    • () 괄호연산자

    • [ ] 배열참조연산자 - 배열

    • . 참조연산자 - 클래스

  • 단항연산자 :

    • +/- : 부호연산자

    • (자료형) : cast 연산자

    • ++/-- : 증감연산자 , 항 앞에 써야함

    • ! : 논리부정연산자

    • ~ : 비트부정연산자

    • instaceof : 다형성연산자

  • 산술연산자

    • *, /, %(나머지)

    • +. -

  • 시프트연산자

    • << : 왼쪽시프트연산자

    • >> : 오른쪽시프트연산자

    • >>> : 부호없는오른쪽시프트연산자

  • 관계연산자 (true나 false로 결과가나옴)

    • >

    • <

    • >=

    • <=

    • ==

    • !=

  • 비트연산자

    • & : 두개의 값이 모두 1이면 1, 아니면 0 : and
    • | : 두개의 값 중 하나가 1이면 1, 둘다 0이면 0 : or
    • ^ : 두개의 값이 틀리면 1, 같으면 0 : xor(exclusive or)

  • 논리연산자

    • && : and 연산자 - 2개의 식이 모두 true면 true, 아니면 false

    • | | : or 연산자 - 2개의 식중 하나만 true면 true, 둘다 아니면 false

    • &

    • |

  • 삼항연산자

    • 조건식 ? 항1 : 항2
	system.out.println(a%2==0?"짝수":"홀수");

  • 배정대입연산자

    • +=

    • -=

    • *=

    • /=

    • %=

    • <<=

    • >>=

    • >>>=

    • =

ex. byte a = 10; / a += 5; // a = a+5

  • 컴마연산자
    , :

  • ++a; 전위증감연산자
int a = 10;

int b = a++; // 후위증감연산자

system.out.print(a);//11 o

system.out.println(b);//10 <- 이해안됨


ex.
byte a = 10;
++a; //a = a + 1

** 자바는 jvm이라는 애가 실행시킴

profile
우당탕코딩

0개의 댓글