자바(목차)
출력명령
- 문자 기반의 출력 명령(Console/입력도 가능)
data 준비
- 프로그램은 데이터와 명령어의 집합이므로, 첫번째 목차에서는 대부분 변수를 선언해서 데이터를 메모리에 올리는 기술을 배운다.
- 변수 선언
x = 100 print(x)
명령어
- 산술명령
- 논리명령
- 비교연산
대량데이터(배열) = 자료구조
x = [1,2,3] print(x)
명령어 나열
- 제어문 = 조건문(if) + 반복문
재사용 관점(비용절감)
- 소프트웨어 공학(함수지향형) : 자바에선 없다
객체지향형 프로그래밍
제어명령
- 입력제어
- 출력제어- 입출력제어(보조기억/파일)
- 네트워크
객체지향형 모델(IN JAVA)
- main class(진입점, 한 개만 있어야한다.)
- 다수의 object로 구성
- 팁 : 순수자바 모드에서는 Package Explorer로 봐야함
- window - perspective - open Perspective - Java 클릭
- 여기가 debug로 하면 주로 바뀜, 쉽게 바꾸려면
- 디버그 할 때 F6 말고, F5 누르면 STEP INTO(함수를 만나면 그 함수 안으로 들어감)
- F6으로 누르면 조금씩 빠져나올 수 있음
프로세스와 메모리의 관계
- 메모리를 실행시킨다 > 해당 메모리 공간에 대해서, 원래 이 메모리 공간을 해당 프로세스가 독점하고 있었던 것
- 프로세스를 종료한다 > 해당 공간을 다른 프로세스가 쓸 수 있게 이 권한을 해제하는 거
- 메모리를 쓰던 놈이 정리를 해놓진 않음. 어차피 들어오는 놈이 덮어 씌우면 지워짐(시간을 효율적으로 사용하기 위해)
- 메모리 확보와 함께 항상 해야하는게, 항상 초기화 해야한다(변수 x = 20)을 설정하는 것처럼
- 결론 : 반드시 데이터를 선언할 때는 데이터 초기화를 고민해두고 선언한다.
자바 자료형(Data Type)
- 기본형(한개만 담음)
- 정수형(byte, short, int, long)
- 실수형(float, double)
- 문자형(char)
- 논리형(boolean)
- 참조형(여러 개를 담음)
- 배열, 문자열 ,class 등
- 배열은 메모리 상에 첫번째 메모리값을 가져오고, 이후 쭉 나열되어 있는 변수를 부름
package mycom.test;
// 자바는 클래스명과 파일명이 일치해야한다.
// 어차피 자동으로 잡아줌
// 하나의 클래스를 하나의 .java 파일로 선언하는 걸 원칙으로 하나,
// 하나의 파일 안에 여러 개의 클래스를 선언할 수는 있으나,
// 방법을 모른다면 그냥 1대 1로 매칭하는게 가장 안정적이다.
public class Main2 {
public static void main(String[] args) {
// 전체 카테고리 에서 이렇게 main 두개 두면 터진다.
// 근데 커서 여기두고 하면 안 터진다. 다른 곳을 검색하지 않기 때문
int i = 10;
double d = 17.5;
double result = 0.0;
result = d; //double = int;(암묵적 형변환을 지원)
// 원칙적으로 오른쪽에 있는 변수와 오른쪽에 변수의 데이터타입이 항상 일치해야한다.
// 그런데 에러가 안나? 왜냐하면, result = 0.0 integer 메모리 공간이 있기 때문에 가능
i = (int)result;
// 에러남 4바이트 공간에 8바이트 꾸겨넣으려니까 당연히 안됨
// 그러니까 cast 해줘야함 -> (자료형)(강제 형변환)
int ch = 'c'; //문자를 숫자로 하는 거 될까? 되네 아스키 코드인듯
System.out.println(ch);
System.out.println("result = " + result);
// 두 항이 모두 숫자면 산술 연산
// character, 문자열 하나라도 포함되어있으면 문자열 concat
}
}
'웹 애플리케이션 > 자바' 카테고리의 다른 글
1_5 자바 객체지향 실습(회원관리 프로그램) (0) | 2023.03.15 |
---|---|
1_4 자바 객체지향 실습(성적관리 프로그램) (0) | 2023.03.15 |
1_3 자바 기초(객체지향) (1) | 2023.03.14 |
1_1. 자바 기초 (0) | 2023.03.09 |
웹 기초 (0) | 2023.03.09 |