티스토리 뷰

■변수 : 저장공간

x   =  10
저장공간의 이름 대입연산자  값(상수)


대입 =
같다 ==

 

RAM 기억장치(메모리) : 휘발성 - 전기신호가 흐를 때 기억 / 속도가 하드디스크보다 훨씬 빠름
프로그램을 실행하면 메모리에 올라감 / 정보를 DB에 저장하고 필요할 때마다 끌어다 씀
비휘발성 : HDD(하드디스크), SSD

메모리에 변수가 할당됨
x라는 저장공간이 메모리에 할당됨(allocation)
메모리에 할당되면 고유한 주소값이 생김

■주소값 쓰는 이유
빠른 검색
영역을 넘나들 수 있음
고유한 주소값, 중복X

 

메모리에 영역을 나눠서 제작함(꺼내기 쉽게 하기 위해서)
영역에 맞게 저장공간이 할당됨

■자료형(type, 종류) : 저장공간의 종류 : 알맞은 저장공간에 알맞은 값을 저장하기 위해서

자료형 type(키워드) byte
정수형 int 4 0, -1, 2147483647, ...
실수형 float 4 3.1F, 0.0F, -12.05F, ...
double 8 3.1, 0.0, -12.05, ...
문자형 char 2 'a', '0', '가', ...
문자열 String ? "a", "0.0", "가나다", ...

 

정수형 : byte(1byte) short(2) int(4)(기본 자료형) long(8)
용량을 아껴써야 하니까 값의 범위에 따라서 그에 맞는 자료형을 쓰자~ 의미로 나눠지게 됨
1byte 8bit, 전구 8개
1개 > 단위 > bit
빅데이터 : 페타바이트부터 빅데이터(테라바이트 다음)
운영체제 32bit(2의 32비트만큼 처리 할 수 있음) / 62bit(2의 62비트만큼 처리 할 수 있음)
실수 : 0.1 >> 0따로 1따로 저장되야 함 >> 4+4 = 8 >>한번에 저장하려고 double이 기본자료형

컴퓨터 만든 이유
2차 세계대전에서 전쟁에서 이기려고

■변수의 선언
자료형 변수명 = 값;
자료형 변수명;

예) int x = 10;
x라는 이름의 저장공간이 메모리에 할당되고 그 안에 10이 들어간다

선언을 할 때 처음 넣는 값 > 초기값
초기값을 넣는 작업 > 초기화

 

■RAM(메모리)

OS Kernel space : 드라이버
Stack  : 지역변수, 매개변수
Heap  : 동적 메모리
BSS  : 직접 초기화되지 않은 전역변수
Data 영역 : 전역변수, 정적변수
Text 영역  : 상수, 코드

int x = 10;
x라는 이름의 저장공간이 RAM에 할당되고 10이라는 값이 들어간다.
■주소
int x = 10;
x라는 이름의 저장공간이 RAM에 할당되면 고유한 값이 주소값이 부여된다.
계속 실행되거나 종료되는 프로그램이 있기 때문에, 주소값이 변경될 수 있으나 
중복은 없다.

C언어는 주소에 직접 접근 가능, 수정된 것도 확인할 수 있다

 

■변수의 사용

int data = 20; // 저장공간

앞에 자료형 또는 뒤에 대입연산자가 있으면 저장공간이다! 그래야 값을 담으니까!

data = 30; // 저장공간

뒤에 대입연산자가 있으니까 저장공간이다

System.out.print(data + 9); //

String[] args // args는 저장공간

data = data + 7; // 저장공간,

data - 9; //

 

■변수 선언 시 주의사항

1. 같은 이름의 변수로 선언할 수 없다

2. 초기화를 해준다

3. 되도록 선언부에 한꺼번에 선언한다(영역 상단)

 

■변수명 주의사항

1. 문자로 시작해야 한다.

2. 특수문자는 사용할 수 없다. , _는 허용한다.

3. 되도록 소문자만 사용한다.

4. 공백을 사용할 수 없다.

 

goodBoy : 카멜 표기법 > java

good_boy : 파스칼 표기법, 스네이크 표기법, 팟홀 표기법 > DB

 

5. 되도록 한글은 사용하지 않는다. > 많이 깨짐

6. 명사로 사용한다.

7. 뜻이 있는 단어를 사용한다.

a, b, c, d, ... (X)

data, number, num, age, name, ... (O)

 

■변수를 사용하는 이유

1. 반복되는 값을 쉽게 관리할 수 있다.

2. 의미없는 값을 하나의 정보로 만들기 위해서 사용한다(자료구조)

----------------------------------------------

■서식문자(format)

반드시 따옴표 안에서 작성한다.

 

%d decimal(10진수 정수)

%o octal(8진수 정수)

%x hexadecimal(16진수 정수)

%f float(실수) / double 포함

%c character(문자)

%s string(문자열)

 

Q.정수의 종류에 대해서 설명해주세요

개발자) 2진법, 8진법, 10진법, 16진법.. 이런게 있습니다

일반인) 양의정수, 0, 음의정수

 

 

■출력메소드

printf() : 서식문자를 사용하여 출력할 수 있으며, 자동으로 줄바꿈되지 않는다.

 

 

 

==============================================================================

PM

 

■상수

항상 그대로인 수

값을 변경할 수 없도록 한다

 

final 자료형 상수명 = ;

//final을 쓰면 변수가 상수로 바뀜

//자바jdk 4버전부터 상수는 대문자로 표시하기로 함. 약속.

 

■형 변환 > 자료형을 바꾸자

자료형:정수형, 실수형, 문자형, 문자열

자동 형 변환(암묵적)

정수 + 정수 = 정수

정수 + 실수 = 실수

3 + 0.0 = 3.0

문자 + 정수 = 문자

 

강제 형 변환(명시적)

(자료형)

(double)3

일반자료형끼리

 

■문자열 형변환

1.다른 자료형을 문자열로

문자열과 다른 일반 자료형을 연결하면 결과는 항상 문자열이 된다

 

문자열""+문자열"" = 문자열""

문자열""+3 = 문자열""3

'문자열''+' >> 연결!!

 

2.문자열을 다른 자료형으로

일반 자료형은 일반 자료형끼리만 형변환이 가능하다

문자열 타입은 클래스타입이므로, 일반 자료형의 클래스타입의 도움을 받아야 한다

Integer.parseInt(""); => 문자열에서 변환된 정수값

Float.parseFloat(""); => 문자열에서 변환된 실수값

Double.parseDouble(""); => 문자열에서 변환된 실수값

 

일반자료형의 클래스 타입의 도움이 필요함(Integer, Float, Double)

Integer.parseInt(); // 인티저클래스 안에 파스인트 메소드

. > ~안에 라는 연산자

 

==============================================================================

■입력 상태

커서가 깜빡이고 있는 상태

■입력

입력하기 전에 출력을 통해 어떤 값을 입력해야할 지 사용자에게 알려주어야 한다

■입력 클래스

Scanner sc = new Scanner(System.in); //대입연산자 뒤에는 값

String name = "김지연"; //대입연산자 뒤에는 값

■입력 메소드(콘솔창에서 커서를 깜빡여주기 위해 사용)(입력상태를 만들기 위해 사용)

next()

사용자가 입력한 문자열 값

사용자가 입력한 값 중 공백 또는 줄바꿈 문자를 구분점으로 각 문자열을 분리한다

첫 번째 문자열을 첫 번째 next()에 담고

두 번째 문자열은 두 번째 next()에 담는다

공백이나 줄바꿈을 구분점으로 사용

구분점을 기준으로 각각의 값을 따로 받음

nextline()

사용자가 입력한 문자열 값

공백 또는 줄바꿈 문자도 값으로 취급하기 때문에 그대로 입력받는다

 

■클래스에 있는 메소드를 사용하는 방법

1. 클래스명.

2. 변수명.

 

임포트 단축키

ctrl + shift + 알파벳 o

저장

ctrl + s

한번에 이름 변경

해당이름 alt+shift+r

 

 

변수 선언 시 초기화를 하자

처음에 들어갈 값을 모를 때 >> 넣는 값을 초기값

■초기값 : 어떤 값을 넣을 지 아직 모를 때

정수 : 0

실수 : 0.0

문자 : ' ' //띄어쓰기

문자열 : null 또는 ""

 

 

중간중간 변수들을 사용해서 코드를 줄이는 게 나음!

 

 

 

 

 

 

 

 

 

 

 

 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함