1. 프로그래밍 기초
cpu , RAM , ROM
주기억장치 램 임시저장소 ** 구조
입출력장치 롬 영구저장소
중앙처리장치 cpu
cpu : 읽기 > 연산 > 처리 > 출력 반복한다
java는 byte code라는 JVM(자바가상머신)이 실행하는 명령어 집합(.class파일)을 실행한다.
JVM은 운영체제에 독립적이며 bytecode를 해석하고 실행한다.
환경변수 ?
컴파일러 ?
자바의 원칙 : WORA
"한 번 쓰고 모든 곳에서 실행한다(Write Once, Run Anywhere, WORA)"
자바는 객체지향적 언어이다
자바는 운영체제가 독립적이다
배우기 쉽고 사용하기 쉽다
자동메모리 관리를 한다(java garbage collection)
JDK : java development kit, 자바 개발 도구(JRE, javac, java 등)
JRE, java runtime environment 를 설치하면 java를 실행 가능한 환경이 된다
++배운 부분 : JRE에 대한 정의 : 런타임환경은 다른 소프트웨어를 실행하기 위해 고안되는 일종의 소프트웨어.
class파일을 load하고 메모리 및 기타 시스템 리소스(메모리, 프로그램 파일, 종속성 등)에 대한 액세스를 확보한다
JRE 에 java class loader 와 java virtual machine, java class libraries가 포함된다
Knobs를 제공
**데브옵스와 시스템 관리 부문에서 모니터링과 구성에 사용된다
각 용어들을 정확히 아는게 중요하다. 무엇보다 기초를 튼튼히 하자
2. 변수와 자료형(variable과 type)
data 값의 저장을 변수(변하는 수 cf. 상수)라고 한다 * 상수 한번기록된 건 변경 불가 ex. final(예약어) int AGE)(대문자) = 0(리터럴);
**리터럴 : 변수에 대입되는 값 자체를 의미한다.
변수는 메모리(RAM)(*stack, heap, static)라는 공간을 할당하는데
변수의 선언 int sNum;
변수의 초기화 int num = 5;
### 변수
1. 공간할당(메모리) - 이름표(보이는)
2. 변하는 수
3. 첫글자소문자
### 상수
1. 변하지 않는 수
2. 대문자 ex. MAX_VALUE
*변수(변하는 수)의 자료형
값의 종류 : 정수, 실수, 문자(하나), 문자열(여러개)
값의 의미 : 소수점을 포함하냐 안하냐, ' ' , " "
문자는 사실상 하나의 숫자값인 이유는 아스키코드값이기 때문
A =65;
자료형이란?(type)
1) 기본형(primitive tyoe)
논리형, 문자형, 숫자형으로 나뉘고 8개의 자료형이 잇다.
각 자료형마다 데이터 저장 크기가 다르다.
문자형은 문자와 문자열로 나뉘는데 String은 참조형이다
숫자형은 정수형과 실수형으로 나뉘는데 정수형에는 byte, short, int, long
실수형에는 float, double이 있다.
boolean 1byte true,false
char 2 byte 0 ~ 65,535(유니코드문자) 하나의 문자를 저장하는데 사용하고 unicode인코딩 방식을 사용한다
String 참조형
byte 1 byte -128 ~ 127
short 2 byte -32,768 ~ 32,767 C언어와 호환용
int 4 byte (기본) -2,147,483,648 ~ 2,147,483,647 정수를 저장하는데 사용
long l 8 byte 정수를 저장하는데 사용
float f 4 byte 실수를 저장하는데 사용
double 8 byte (기본) 실수를 저장하는데 사용
2) 참조형(Reference type)
데이터가 저장되어 있는 주소를 저장한다(객체의 주소)
사용자 정의 자료형, String, 배열형이 있다.
4byte의 공간을 저장공간으로 할당한다.
*데이터의 저장단위
저장공간이 제한적이기 때문에 저장크기에 대한 기준과 CPU가 데이터를 처리할때 일정한 기준이 필요,
저장단위를 구성한다.
bit 라는 데이터의 저장 최소 단위를 쓰고 2진수값 하나를 저장할 수 있는 메모리공간을 의미한다
byte 데이터 처리, 문자의 최소 단위로 8bit로 구성
2^8 = 256가지
데이터오버플로우 : 범위를 초과
기본 자료형 변수명;
**RAM의 구조
메소드 호출하면 자동으로 생기고 메소드가 끝나면 자동 소멸하는 곳으로 stack 이라고 부른다
(지역변수, 매개변수, 메소드 호출)
new 연산자에 의해 동적으로 할당하고 저장되는 공간, 객체, 배열 등을 말하는 Heap
static 예약어로 선정된 필드, 메소드가 저장되는 공간으로 클래스, 변수 등이 있다. Static
stack-heap-static
데이터 저장단위 : 자동형변환
연산시에 컴파일러가 자동으로 형이 변환(casting)하는것을 의미한다
byte > short > (char>) int > long > float > double
작은값이 큰값으로 변환할때 자동형변환이 된다(*반대는 데이터 손실)
출력메소드 printf(%형식, 변수)
%d : 실수
%s : 문자열
%c : 문자
%f : 실수(소수점 아래 6자리)( .6f)
**java code
sc.next().charAt(0) // 0번째 글자를 자르겠다
3. 연산
- 연산자의 종류
1) 최우선 연산자
2) 단항 연산자
3) 이항 연산자
-산술 연산자
-쉬프트 연산자
-비교 연산자
-논리 연산자
4) 삼항 연산자
5) 대입 연산자
전위연산(++a)과 후위연산(왼쪽부터 연산, a++) (**다시공부)
n = 10;
++n : 연산결과값은 11 n의 값은 11
n++ : 연산결과값은 10 n의 값은 11
논리연산자
boolean a = (num1/num2 == "1") || (num1/num2="0") ;
boolean s = (a==b) && (a < b);
삼항연산자
int result = (a>b) ? "true" : "false" ;
String result = (num == 0) ? "0입니다" : (num > 0) ? "양수!" : "음수"; //중첩
'Back > Java' 카테고리의 다른 글
[Java / 개념이해 ] 자바의 정석 : 자바 언어 특징, JVM, 자바개발환경구축 (0) | 2022.02.15 |
---|---|
[programming basic] 메소드와 클래스, 객체, 추상화, 필드 (+캡슐화) (0) | 2021.07.11 |
[programming basic] java의 특징, 메모리, 연산자 정리 (0) | 2021.07.11 |
[OOP_01] 객체 지향 언어 (0) | 2021.07.03 |
이클립스 단축키 모음(수정) (0) | 2021.06.24 |