일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- SQL 연산자
- Flex Box 기본
- 환경설정
- 람다식
- 오산대맛집
- SQL
- REACT
- ubuntu
- 스프링
- Eclipse
- spring 환경설정
- 이클립스
- 플랙스박스기본
- 관계형데이터베이스
- 자바스프링
- SQL 명령어
- SQL 문제
- numpy
- node.js
- 타입
- 리액트
- spring
- HTML5
- 객체지향프로그래밍
- Flexbox Froggy
- 노마드코더
- java설치
- 자바 스프링
- java spring
- Hooks
- Today
- Total
이것저것
Java 언어 기초 본문
chapter 01 자바 시작하기
* 프로그램이란?
- 해야할 일을 기술한 것
* 컴퓨터 프로그램이란?
- 컴퓨터가 해야할 일을 기술한 것
* 컴퓨터 프로그래머?
* 프로그래밍 언어?
* CPU(중앙처리장치, Central Processing Unit)
- 명령어 세트(instruction set)
- 인스트럭션: 2진수 ⇒ 기계어
- 8bit CPU라면
00000000 -> ADD A, INT (A: 레지스터)
00000001 -> SUB A, INT
00000010 -> ADD 주소
00000000 00000001 00000000
0x00 0x01 0x00
* PC(Program Counter) 레지스터
- CPU가 읽어들일 인스트럭션(다음에 수행할 인스트럭션)이 저장된 메모리 주소가 저
* 프로그래밍 언어
- 어셈블리어: 기계어와 니모닉(Mnemonic)을 1:1 대응
- 어셈블러: 어셈블리어를 기계어로 번역
- 컴파일 언어: 실행파일 생성
- 컴파일러: 컴파일 언어를 기계어로 번역
- 자바: 컴파일 언어이긴 하지만 실행파일이 아닌 클래스 파일을 생성
클래스 파일은 JVM 위에서 실행됨
- 인터프리트 언어: 실행파일 X, 소스 코드를 매번 실행 => 스크립트 파일
- 인터프리터: 인터프리트 언어를 기계어로 번역
* JDK vs. JRE
https://developerntraveler.tistory.com/49
* OpenJDK
https://dejavuhyo.github.io/posts/which-version-of-jdk-should-i-use/
*기호 이름
~: title
`: backtick
@: at
^: caret
&: ampersand
*: asterisk(아스테리크)
_: uderscore, 언더바
/: slash
\: backslash
|: vertical bar, pipe
:: colon
;: semicolon
[]: bracket
{}: brace, curly brace
(): parenthesis
<>: angle bracket
*Path
- 절대 경로
: 절대적 위치를 기준으로
- Unix 계열 : /(root directory)
- Windows : 드라이브명
- 상대 경로
: 현재 위치를 기준으로
: . - 현재 위치를 기준으로
: .. - 상위 디렉토
유닉스에서는 디렉토리를 만들때 옵션으로 mkdir -p temp\src\ch01 이라고 작성해서 -p라는 옵션을 적어줘야 중간경로를 만들어준다.
윈도우에서 처럼 mkdir temp/src/ch01로 만들게되면 오류가난다.
java의 패키지명은 src안의 디렉토리 명을 맞쳐줘야한다.
나중에 다른 사람의 코드를 가져올때 오류가 나거나 실행이 안될경우 대부분이 패키지의 디렉토리 명이 안맞는 경우가 많다.
자바는 실행을 시키려면 무조건 class가 하나라도 있어야한다.
* Code Block
- 관련 있는 프로그래밍 요소를 묶기 위함
* Code Block 설정 방식
- 기호: {}
- 키워드: BEGIN, END
- 들여쓰기: 파이썬, yaml
* Entry Point
- 프로그램이 시작하는 지점
- 컴파일 계열: main 함수, 메서드
- 인터프리트 계열: 스크립트 파일 첫 실행문
package ch01.sec06
class Hello {
public static void mian(String[] arg) {
system.out.println()
}
}
println()은 출력후 줄바꿈을 해주고
print()는 출력후 줄바꿈을 하지 않는다.
* 메서드, 함수
- 헤더(머리): 함수에 대한 정보 기술 → 시그니처
- 접근지정자, 한정자, 반환(데이터)타입, 이름, 파라미터
- 바디(몸체): 함수가 수행할 기능 기술
* 명령행 인자(command-line arguments)
* 리터럴(literal)
- 문자 리터럴, 문자열 리터럴, 정수 리터럴, 실수 리터럴 등
* 표준입력, 표준출력, 표준에러
- standard input, standard output, standard error
* 자바 패키지
- 소스 파일이 위치하는 디렉토리 구조와 일치해야 함
* javac: 자바 컴파일러
- -d 옵션
- 소스 파일의 패키지에 맞게 디렉토리를 생성하고 class 파일을 그 위치에 생성
* java: 자바 실행기
- JVM을 구동하고 class 파일을 실행시킴
- 패키지 이름 반드시 필요
* classpath
- class 파일의 패키지 홈 디렉토리 지정
- 패키지 홈이 아니어도 실행할 수 있게 함
- 1) java 옵션으로: -classpath, -cp
2) 환경 변수로: CLASSPATH
* 명령행 인자(command-line arguments)
- 자바 프로그램 실행 시 넘겨주는 인자
* 인자 vs 매개변수
- arguments vs parameters
- 인자: 호출자 입장, 값이면 돼(변수, 리터럴, 함수 반환값, 표현식 등)
- 매개변수: 함수(메서드) 입장, 변수만 가능
* 통합 개발 환경(IDE, Integrated Development Environment)
* Static(정적) vs. Dynamic(동적)
=> Compile-time vs. Runtime
=> Non-Runtime vs. Runtime
* 주석은 가능한한 적게
=> 코드를 의미있게 작성하자
=> 변수 이름은 명사형로
=> 메서드 이름은 동사로 시작
* 세미콜론
- 문장의 끝을 나타냄
- 문장: 선언문, 대입문, 실행문(메서드, 생성자 호출)
- 블록의 끝에는 붙이지 않음
'Java > Java 공부' 카테고리의 다른 글
연산자 (0) | 2023.08.30 |
---|---|
변수와 타입 (0) | 2023.08.29 |
객체지향 프로그래밍이란 (0) | 2022.02.25 |
자바란 (0) | 2021.03.31 |
[Java] 람다식, interface (0) | 2020.04.22 |