Daily coding

Java Basic : day 1 - Java 기초와 변수 / 상수/ 기본형 데이터타입 본문

Language/Java_basic

Java Basic : day 1 - Java 기초와 변수 / 상수/ 기본형 데이터타입

sunnnkim 2019. 11. 18. 23:51

2019.11.18 Bitcamp  : day 11

 실제로는 3주차이지만 강사님의 개인 사정으로

지난 2주는 임시강사님과 자바 기초+미니 콘솔프로젝트를 진행했다.

자바 기능과 문법을 대강 훑었지만 미니 프로젝트를 위한 개념을 중심으로 진도를 나갔기 때문에

이번 주부터 새로운 강사님과 제대로 된 자바를 공부하게 됐다.

그리고 강사님의 추천으로 코드리뷰 겸 복습, 내 db관리를 위해 블로그 시작.

 

 

Java 프로그래밍의 단계

 1. 소스코드 작성 

 2. compile (문자코드 ->기계어(16진수-2진수) 바꿈) -> lib(참조파일, *.jar)

3. build : 실행파일 만들어 줌 (exe. 실행파일)

* 빌드는 이클립스에서 자동으로 해줌

4. 실행 (run / debug)

 

상수와 변수

* 상수 : 변할 수 없는 수, 정해진 수 

* 1100 1010 = 2진수 : 0,1 로 이루어짐  

* 8진수 0~7 -> 010 = 8 ( 8진수로 표현할 때 앞자리 0 붙임 ) 

* 10진수 0~9 

* 16진수 0~9 + A ~ F    ex) 11 = B

 

변수

* 변수 : 특정 명칭을 정하고 값을 원하는 경우 변경할 수 있는 수 

* 바로 알아볼 수 있도록 변수 명을 지정한다.

 

int i;

// 변수자료형  변수;

int aa;

int num;

int _num; // ios 프로그래밍에서는 언더바 사용이 안됨(같은변수로 인식)

int num_;

int n; //좋지 않은 변수명 (짧고 무슨 데이터를 담고있는 지 알기 어려움)

 

int studentNumber;

int stuNum; //Camel Heel 낙타등 표기법

int stu_Num;

//int = 예약어 : 사용할 수 없는 변수명

//int stu_num; : 같은 이름으로 사용할 수 없음

// + - 등의 연산자는 사용못함

// int 12num; 숫자가 맨 앞에 올수 없음

// int 123; 숫자로 이루어진 변수명 사용불가

 

 

변수의 자료형

1. 숫자형 

- 정수형

  byte : 1 byte = 8 bit -> 256개 숫자 (-128~127)

  short : 2 byte 

  int : 4 byte

  long : 8 byte

- 실수형

  float : 4 byte

  double : 8 byte

위에 적어놓은 순서대로 우선순위

 

2. 문자형

 char 2    byte character (C언어-> 1 byte)  (한글은 무조건 2 바이트)

문자열 String

char[] arrChar : new char[10]; => String

String -> class (wrapper class) : String은 데이터타입이 아니고 래퍼클래스임

 

3. true / false

boolean 1 byte true(1) / false(0), 자바는 boolean에 숫자 넣으면 에러

(C언어 : boolean -> bool(1byte),  BOOL(4byte) : TRUE(0)/FALSE(모든숫자))

 

int

int number;

// 자료형 : integer 

// 변수명 : number

number = 123;

// int는 4 byte 영역을 잡아둠

// 만약 초기값 설정 안하면 데이터는 아무 숫자나 들어가있고 사용시 에러남

// 변수에 데이터를 넣어줘야 출력 가능

System.out.println(number);

number = 234;

System.out.println(number);

 

// byte

byte by = 123;

//선언과 동시에 값을 넣어줌

by = 123;

//선언 후 값을 넣어줌

 

// by = 234;    에러코드

// byte는 -128 ~ 127까지만 표현가능

// 모든 변수타입은 범위를 넘어서면 오류남

 

//float

float f;

//f =123.234;

//자바는 실수 기본형이 double이기 때문에

//float는 뒤에 f를 붙여줘야함

f = 123.2312344512456f;

//소수점은 범위를 넘어가면  출력할 때 짤림

//오차 문제로 double를 사용 권장

System.out.println("f = "+f);

 

//double

double d;

d = 1.23478438925353;

System.out.println(d);

//double은 모두 출력된다

 

//char

  char c;

  c ='한';

  System.out.println("c = " + c);

  c = 'A';

  System.out.printf("c = %c\n",c);

//c라는 변수를 %c 에 넣어 출력하겠다

//%d(printf 문에서 10진수로 표현) : c라는 문자에 대한 ASCII Code 값을 출력

// BUT ! cast변환 해줘야 함 : (int)c => 문자 c를  int로 표기

System.out.printf("c = %c, %d\n",c,(int)c);

//*아스키 코드 중요한 이유 :

// 로그인,회원가입 기능에서 아스키 코드를 활용해서 문자가 규칙에 맞는지 비교해야 함

 

 

 문자열 String

// String 은 자료형이 아님 : Class 

// Wrapper Class : 자료형을 클래스로 만들어 놓은 것

String str = "안녕하세요";

str = "자바 코딩";

//C에서 문자열을 표현하려면

//char 배열을 통해서 한 글자씩 넣어줘야 함

char cStr[] = new char[5];

cStr[0] = '안';

cStr[1] = '녕';

cStr[2] = '하';

// 또는

char cStr2[] = {'안','녕','하','세','요'};

 

// boolean

boolean b;

b = true;

// C 언어는 boolean 타입의 변수에 숫자를 넣어서 true . false 을 할당할 수 있지만

//  숫자를 넣으면 자바에서는 오류가 난다.

// b=1 ; ---->오류코드

b = true;

b = false;

 

// Escape Sequence

// \n : 한줄띄우기

// \t : 탭

// \b : 백스페이스

// \" : "

// \' : '

// \\ : \

System.out.println("\"hello \n Java\tWorld\"");