자료형(Data Type)
1. 기본 타입(Primitive)
논리형 : boolean(1비트), true or false
문자형 : char(2바이트)
정수형 : byte(1바이트), short(2바이트), *int(4바이트), long(8바이트)
실수형 : float(4바이트), *double(8바이트)
정수형 예시
정수형의 기본은 int이다
int a = 10;
System.out.printlna);
System.out.println("a = " +a);
short b = 20;
byte c = 30;
long d = 100L;
long 사용시, 반드시 숫자 뒤에 L을 붙여준다
대소문자 상관없지만, 숫자1과 헷갈릴 수 있어 대문자를 사용
문자형 예시
char형은 한글자만 들어갈 수 있음
char형 (문자형)에 데이터를 넣을 때는 반드시 ' '홑따옴표를 사용한다
char f = 'E';
char aa = 'z';
실수형 예시
실수형의 기본은 double이다.
double g = 3.14;
float h = 1.23f;
기본형이 아니므로 숫자뒤에 f를 붙여준다
대소문자 상관없지만, 숫자와 헷갈릴 수 있어 대문자를 사용
논리형 예시
boolean i = true;
boolean j = false;
오직 true, false만 사용 가능(소문자)
정리해보자면
1. 우리가 컴퓨터에게 필요한 명령을 수행시키기 위해서는 컴퓨터에게 숫자인지 문자인지 알려줄 필요가 있으며,
2. 그것을 자료형으로 표현한다.
3. 문자나 숫자등 우리가 필요로 하는 것을 컴퓨터에게 알려주기 위해 아래의 형태로 사용한다.
형태 : 자료형 변수 = 넣고 싶은 데이터(값);
단축키
ctrl + s 저장
ctrl + shift + s 열어놓은 모든 창 한번에 저장
ctrl + F11 실행
2. 참조 타입(Reference Type)
배열과 클래스로 생성한 모든 자료
배열에 대해서는 나중에 배우게 됨ㅇㅅㅇ
참조형 예시
스트링을 문자열이라고 하는데, 스트링은 기본타입이 아닌 참조타입이다
문자열 데이터를 넣을 때는 쌍따옴표 ""를 사용한다
String은 클래스이다. 클래스의 첫 글자는 반드시 대문자이다.
String cc = "아무거나 적어주세요.";
System.out.println(cc);
char형과 String의 비교
char dd = 'B';
char로 선언된 변수에는 한 글자만 들어갈 수 있음
String ee = "IT2기";
String으로 선언된 변수에는 여러 글자(문자열)이 들어갈 수 있음
자바스크립트에서는 var, let 하나로 모든 자료형을 통합
파이썬에는 자료형이 없음 (내부적으로는 있으나, 코딩 시 사용하지 않음)
각 자료형이 표현 가능한 범위
boolean (1bit) : true or false
char (2byte) : 0 ~ 65535
byte (1byte) : -128 ~ 127 (1byte=8bit)
short (2byte): -32768 ~ 32767
int (4byte) : -2,147,483,648 ~ 2,147,483,647
long (8byte) : -9,223,372,036,854,755,808 ~ 9,223,372,036,854,755,807
float(4byte) : -3.4E38 ~ +3.4E38 (지수표기법)
3145.12345 -> 3.14512345 x 1000 -> 3.14E3
31.4512345 -> 3.14E1
0.031451234 -> 3.14E-2
double(8byte) : -1.7E308 ~ 1.7E308
변수 (Variable)
변수 : 값을 저장할 수 있는 컴퓨터 메모리의 특정 번지에 붙이는 이름
개발자(사용자)가 저장한 데이터(값)의 이름. 정확히는 데이터(값)을 저장한 장소의 이름.
변수 이름은 마음대로 정할 수 있으나, 예약어는 사용 불가능
형태 : 자료형 변수 = 넣고싶은 데이터(값);
프로그래밍 언어에서 =은 같다라는 의미가 아닌, 오른쪽에 있는 것을 왼쪽에 대입한다 라는 의미.
변수 명명 규칙
1. 저장하고 싶은 데이터와 관련 있는 단어를 사용할 것 (중요)
2. 띄어쓰기나 공백은 사용 불가능.
3. 변수 이름은 소문자로 시작한다. 단어가 바뀔 때 마다 첫 글자는 대문자로 한다.
ex) name, age, numberOfStudent, carColor, car_color
(회사마다 표기법 다름,, 언더바보다 대문자로 연결하는 추세~.~)
4. 특수문자 사용 불가능. 특수문자는 _와 $만 사용가능.
5. 첫 글자는 숫자 사용 못함. 반드시 영문자이거나 _ 또는 $이어야 함.
패키지와 클래스 명명 규칙
기본적으로는 변수와 똑같고, 패키지 이름은 소문자로 시작한다.
단어가 바뀔때 마다 첫글자는 대문자로 한다.
ex) day01, classExam, numberTest
클래스 이름은 대문자로 시작한다. 단어가 바뀔때 마다 첫글자는 대문자로 한다.
ex) Fist, DataType, LeagueOfLegend
보라색은 예약어ㅇㅅㅇ
자바는 대소문자를 구분한다.
즉, name과 Name은 같지 않다.
int a = 10;
int b = 20;
int c = a + b;
여기에서 a는 변수 또는 변수 이름이라 하고,
이 변수에는 10이 저장되어 있음
당연히 변수 c에는 변수 a의 값과 변수 b의 값이 더해진 값이 들어감
변수 c를 출력하면 그 안의 값이 출력됨.
System.out.println(c);
변수의 선언
변수의 선언이란 최초에 그 변수를 사용하겠다는 뜻을 컴퓨터에 전달하는 것이다.
int d;
변수는 한번 선언하면 같은 변수를 또 선언할 수 없다.
int a; 선언 못함. 왜? 위에 a를 이미 선언했으니까.
int b; 얘도 마찬가지.
int c; 얘도 마찬가지.
그러나 선언한 변수에 값을 또 넣어줄 수는 있다.
a = 50;
이미 선언된 변수 a에 10이라는 값이 들어가있지만, 바로 이 코드로 a에 50일 넣음.
그러면 가장 마지막으로 넣은 값만 남음.
System.out.println(a);
변수의 초기화(initialize)
선언한 변수는 초기화를 시켜주어야 한다. 지역변수(local variable)일 경우,
초기화는 기본적으로 해당 자료형의 기본값을 넣어준다.
int a; 변수 선언
int b; 변수 선언
int x, y, z; 여러 개를 동시에 선언도 가능
int a1 = 3, a2 = 5, a3 = 23; 선언과 동시에 초기화 가능
int c = a + b;
System.out.println(a);
변수 a와 b를 선언만 했지, 초기화를 하지 않아서 에러 발생
지역변수의 경우 초기화가 필요함
초기화하지 않은 변수는 에러 발생
★변수의 초기화는 해당 자료형의 기본값으로 함
int d = 0;
int e = 0;
int f = d + e;
a = 0;
b = 0;
int c = a + b;
long, float, double도 마찬가지
long g = 0L;
float h = 0.0f;
double i = 0.0;
char도 마찬가지
char aa;
System.out.println(aa);
aa = ' '; error 발생o
char형의 초기화 (정석)
aa = '\u0000'; 기본값인 null문자
일반적으로는 정석이 아닌 공백으로 한다.
String bb;
String의 초기화(정석)
bb = null;
일반적으로는 " "로 한다.
bb = " " ; error 발생x
변수의 범위(Scope)
변수는 기본적으로 사용할 수 있는 범위가 있음
1. 기본적으로 선언 후 사용한다.
int a = 10;
System.out.println(b);
int b = 20;
System.out.println(a);
System.out.println(b);
2. 중괄호 안에서 선언된 변수는 중괄호를 벗어나서 사용할 수 없다.
int d = 10;
if(d == 0)
{
int e=20;
System.out.println(e);
}
System.out.println(e); -> error
3. 그래서 변수는 지역변수와 전역변수로 나뉘고, 사용할 수 있는 범위가 제한된다.
지역변수(local variable) : 특정 메서드 또는 중괄호에 소속된 변수
전역변수 (global variable): 특정 클래스에 소속된 변수.
연산자(Operator)
연산자는 연산 즉, 계산을 하기 위한 부호.
연산자를 나눠보면 단항 연산자, 이항 연산자, 삼항 연산자가 있다.
이항 연산자와 삼항 연산자를 다항 연산자라고 한다.
단항 연산자 : 연산에 필요한 값(피연산자)이 하나인 것.
ex) 가장 대표적인 것이 + - 기호. -a
다항 연산자 : 연산에 필요한 값(피연산자)이 두개인 것.
ex) 가장 대표적인 것이 사칙연산. a+b, a-b
삼항 연산자 : 연산에 필요한 값(피연산자)이 세 개인것.
1. 대입 연산자 : =
예)
int a= 10;
int b= 20;
int c= a;
오른쪽에 있는 값을 왼쪽에 대입하라는 뜻
= 대입이라는 뜻이라면 "같다" equal 은 ???
프로그래밍에서 "같다"는 == 를 사용.
2. 부호연산자 : +, -
예)
int d = 10;
int e= -d;
int f= -5;
int g= -f; //음수를 양수로 만들려면 -를 붙이낟. +를 붙여도 음수는 양수가 되지 않는다.
System.out.println(e);
System.out.println(g);
3. 산술연산자 : +, -, /, *, %
int h = 11;
int i = 3;
int aa = h + i;
int bb = h - i;
int cc = h * i;
int dd = h / i;
int ee = h % i; // 나머지 연산자. 나누고 남은 나머지를 저장.
System.out.println(aa);
System.out.println(bb);
System.out.println(cc);
System.out.println(dd);
System.out.println(ee);
증감 연산자
형태 : ++, --
변수의 앞이나 뒤에 ++ 또는 --를 붙여주는 것
++ : 원래 값에서 하나를 증가시킴
-- : 원래 값에서 하나를 감소시킴
그리고 증감연산자는 나중에 배울 for문에서 거의 필수적으로 사용됨
int a, b;
a = 1;
b = a++;
System.out.println("a = " + a);
System.out.println("b = " + b);
System.out.println("");
a = 1;
b = ++a;
System.out.println("a = " + a);
System.out.println("b = " + b);
++나 --가 변수의 앞에 오면 전위 증감 연산자라 하고,
++나 --가 변수의 뒤에 오면 후위 증감 연산자라 하고,
++나 --가 변수의 앞에 오면 먼저 오른쪽 변수의 값을 하나 증가시키고 왼쪽 변수에 대입한다.
++나 --가 변수의 앞에 오면 먼저 오른쪽 변수를 왼쪽 변수에 대입하고 오른쪽 변수의 값을 하나 증가시킨다.
복합 대입 연산자
형태 : +=, -=, *=, /=, %=
변수와 어떤 값을 계산한 후, 그 변수에 다시 넣어 줄 때 사용하는 연산자.
+=
int a = 10;
a+= 3;
System.out.println(a);
-=
int b = 10;
b-= 3;
System.out.println(b);
/=
int d = 10;
d /= 3;
System.out.println(d);
%-
int e = 10;
e %= 3;
System.out.println(e);