728x90

[자바의 정석 - 기초편] ch2-3 변수란? 변수의 선언과 저장

 

1.변수(variable)?

하나의 값을 저장할 있는 메모리 공간

하나의 값만 저장가능(새로 저장하면 기존값은 삭제됨)

기계는 메모리 주소로 인식하는데

사람은 숫자를 기억하기 어려워서 하나의 이름을 만들어서 기억할 있게 해준 것이 변수

 

 

2.변수의 선언

 1)변수의 선언 이유 : (data) 저장할 공간을 마련하기 위해서

 2)변수의 선언 방법

   변수타입 변수이름 ;

 ex) int age ; // 정수타입을 가진 age라는 이름을 가진 변수를 선언한 코드

 

 

3.변수에 저장하기

 1)변수에 저장하기 : ' = ' 기호는 등호가 아니라 대입의 의미

ex)

              int age ;  // int타입 변수 age선언

age = 25 // 변수 age 25 저장

 2)변수의 초기화 : 변수에 처음으로 값을 저장하는

변수선언과 동시에 초기화시키는게 일반적

ex)

int x = 0; // 변수 x 선언 , 0으로 초기화

int y = 5; // 변수 y 선언후, 5 초기화

int x = 0, y = 5; // 같은 타입의 변수라면 , 복수로 변수 선언가능. 위의 줄을 줄로 줄인 코드.

 

변수 초기화 : 기존의 없는 변수의 값을 새로운 값을 저장하므로써 기존 수를 지우는

  • 메모리는 여러프로그램에서 사용하기에 없는 값을 초기화하는게 좋다

 

*변수의 종류

1)클래스 변수

2)인스턴스 변수

3)지역변수 : 0으로 자동초기화 되지 않기에 값을 읽기 '반드시 초기화' (컴파일 에러발생)

  • 6 객체지향에서 클래스변수,인스턴스변수 배우기 전까지는 사용하는 모든 변수는 지역변수

 

 

4.변수의 읽어오기

변수의 저장된 값을 읽어오는법

 

 1)변수의 값이 필요한 곳에 변수의 이름을 적는다

int year = 0, age = 14;    // 같은 타입의 변수라 복수 선언가능

    year = age + 2000;

 

아래는 해당 식이 어떻게 논리적으로 결과값이 나오는지 순차적으로 풀어서 설명한

= 기준으로 맨오른쪽부터 왼쪽방향으로 계산되어 맨왼쪽에 있는 변수로 값이 들어간다

 

 

728x90
반응형
728x90

출처: <https://www.youtube.com/watch?v=C163_91Ohic&list=PLW2UjW795-f6xWA2_MUhEVgPauhGl3xIp&index=10>

[자바의 정석 - 기초편] ch2-1~2 화면에 글자 출력하기, 덧셈 뺄셈 계산하기

 

학습목표

프린트와 프린트ln 이용하여 화면 출력

 

새프로젝트 생성

빈공간 우클릭 new - java project

 

println() : 출력 줄바꿈까지 실행

print() : 출력만 실행

 

*사칙연산 코드

더하기 : +

빼기 : -

나누기 : /

곱하기 : *

728x90
반응형
728x90

자바(Java) 에러 수정을 위한 에러메시지 보는 법

자주 맡닥뜨리는 에러발생과 해결을 위해 필수적으로 알아두자!

 

 

아래의 빨간색 표시들을 보자

보통 작성한 코드의 확인을 위해 

1번의 console 콘솔 창을 두고 보게 될텐데

에러가 발생했을 경우, 구체적으로 어디서 어떻게 발생 됬는지

디테일을 알려면 2번의 Problems를 클릭하여 창을 전환 해줘야한다

3번 description은 에러가 발생한 구체적인 내용이고

4번은 소스파일명

5번은 왼쪽 package Explorer창에서 볼 수 있는 자바프로젝트명과 '경로'

6번은 해당 파일에서 구체적으로 몇번째 라인 코드에서 오류가 발생했는지 위치

7번은 에러 타입 종류

 

 

 

 

728x90
반응형
728x90

출처: <https://www.youtube.com/watch?v=UrbO_1sijvs&list=PLW2UjW795-f6xWA2_MUhEVgPauhGl3xIp&index=8>

 

[자바의 정석 - 기초편] ch1-13~16 이클립스 단축키, 자동완성기능, 주석

 

 

<이클립스 자주 쓰는 단축키>

ctrl+shift+L : 단축키전체 목록보기

ctrl+ +,-   : 화면 화대축소

ctrl+D  : 한 줄 삭제

ctrl+alt+down or up  : 행단위 복사

alt+shift+A  : 멀티컬럼 편집 : alt+shift+a누르고, 

shift 누른 상태에서 마우스로 선택할 컬럼들 좌클릭

                       (, 한글쓰면 행이 지워짐.영어만)

alt+up,down  : 행단위 이동

tab  : 들여쓰기

shift+tab : 내어쓰기(반대방향)

ctrl+i : 자동 들여쓰기

ctrl+/  : 주석처리(토글) : (마우스 드래그)행 선택 후 ctrl+/

                                (" " 사이에서는 주석이 작동x)

ctrl+space  : 자동완성 : (주석 안에서는 작동x)

 

 

이클립스 세팅

인코딩 방식 UTF-8로 변환해두기

안하면 파일 다 깨져서 난리남...

https://parkjye.tistory.com/35

 

※ 만약 윈도우 단축키랑 겹쳐서 작동안한다면?

이클립스 안에서 단축키 변경할

상단 windows - preferences - general - keys - 검색창에 copy lines - binding란에서 변경

 

※ 토글키(Toggle key)?

한번 누르면 동작이 되고 또한 누르면 동작이 해제되는

 

※ 자동완성 축약어 수정하고 싶을 때는?

상단 windows - preferences - java - editor - templates

 

 

 

 

 

[자바의 정석 - 기초편] ch1-17~19 책의 소스와 강의자료 다운로드, 소스파일 가져오기, 내보내기

강의 자료 확인

특히 플래쉬 파일들이 중요 개념들이 보고 이해할

 

 

다른 사람 혹은 외부 자바 코드를 받아와야서 등록시키고 싶다면?

Package Explorer창에서 곳에 우클릭 - import - General - Existing Projects into Workspace 클릭 - 아래 next 클릭 - 상단우측 browse 눌러서 경로 지정 - 중간에 option에서 copy projects into workspace 체크하고 finish

 

 

 

나의 파일을 외부로 보내고 싶다면?

Package Explorer창에서 곳에 우클릭 - export - General - archive file 클릭 - next 클릭 - 지정경로 지정 browse 클릭 - finish

 

728x90
반응형
728x90

이클립스(Eclipse) 설치 & 사용법

 

이클립스 세팅

인코딩 방식 UTF-8로 변환해두기

안하면 파일 다 깨져서 난리남...

https://parkjye.tistory.com/35

 

이클립스(Eclipse) 종류

EE(기업용),자바개발자용,안드로이드 개발자용, c/c++개발자용

 

 

디버깅 degguing

프로그램 에러를 잡는

 

 

<이클립스 사용법>

오른쪽 동그라미 (perspective)에서 화면을 다른 기능을 있게 전환가능

 - 디버그, java, git 등등

 

 

뷰마다 타이틀 줄을 더블클릭하면 큰화면으로 전환되고, 드래그로 위치도 변경가능

또한, 프로그램 상단에 windows탭에서 view 열고 닫고 설정 가능

 

 

이클립스에서는 프로그램을 프로젝트 단위로 작성함. 새로운 프로젝트를 생성해야함

 

 

 

java 프로젝트 생성 - class 생성

  • class 첫글자는 무조건 대문자로

 

 

이클립스에서는, 파일을 저장할 때마다 자동적으로 컴파일 해주기에 따로 컴파일 필요x

아래의 화면이 이와 관련된 것이고, 파일이 저장되지 않았고 따라서 컴파일도 되지 않았으므로 묻는

 

 

*이클립스(Eclipse) 자동 컴파일 기능

프로그램 상단 Project - Build automatically(자동 빌드(=자동 컴파일))

이게 체크 되어있는 것은 파일을 저장할 자동으로 컴파일해라는 의미

 

빌드 본래의 의미는 소스파일로부터 프로그램을 만들어내는 과정을 의미

 

간단한 자바프로그램을 만드는거고 다른 과정없이 단순히 컴파일만 하면 되니 지금은 build automatically 컴파일을 자동으로 하라는 뜻으로 이해하면

 

 

 

왼쪽에 package explorer에는 현재 Hello.java파일만 보이고 class파일이 안보이는 것은,

package explorer 뷰는 프로젝트를 소스파일 위주로 보여주기 때문

 

이렇기에 클래스파일 생성여부를 확인하려면,

탐색기로 보거나 네비게이터 뷰를 열어서 확인 (상단 window - show view - navigator클릭. navigator창이 새로생김)

 

네비게이터 뷰는 윈도우 탐색기처럼 모든 파일을 보여줌

.으로 시작하는 .classpath .project 같은 파일은 이클립스에서 관리용 파일로 만든 것이니 만지지 않는게 좋다

 

 

 

자바 이클립스 에러 체크 방법

 

 

 

파일이 수정됬지만 아직 저장되지 않았다는 의미

 

 

<이클립스에서 자바 프로그램 작성하는 순서>

 

1.프로젝트 생성

 메뉴 file - new - java project

 

2.클래스 생성

 project 이름 위에서 우클릭 - new - Class

 

3.소스 파일 작성 저장(자동 컴파일됨)

 

4.실행

 메뉴 run - run

 

 

 

Build 관련 메뉴 설명

 

 

Build?

소스파일(*.java)로부터 프로그램을 만들어내는 과정

 

  • Build All : workspace의 모든 프로젝트를 빌드
  • Build Project : 현재 프로젝트만 빌드(단, 변경된 소스파일나 새로 작성된 소스파일만 컴파일함)
  • Build Automatically : 소스파일 변경 후, 저장할 때마다 자동 컴파일
  • Clean : 이전 빌드의 정보를 모두 삭제(모든 소스파일을 새로 컴파일)                                                               - 간혹가다  이유없이 프로그램이  실행되지 않을 경우 clean하고 하면 해결되는 경우가 있음

 

 

728x90
반응형
728x90

[자바의 정석 - 기초편] ch1-8,9 첫 번째 자바프로그램 작성

 

1.javac.exe : 자바 컴파일러

사람이 작성한 문장을 기계어로 번역

소스파일(*.java) 클래스파일(*.class) 변환

 

2.java.exe : 자바 인터프리터

자바 프로그램(클래스 파일) 실행

 

3.클래스(class) : 자바 프로그램의 단위

자바 프로그램은 클래스들로 구성됨

{ 열고 } 닫아서 클래스의 첫과 끝을 구분해준다.

모든 문장은 {}안에 있어야함

 

ex)

class 클래스이름 {

내용

}

 

 

 

4.main메서드 : 자바 프로그램의 시작점

메서드 없이는 실행불가

메인 메서드를 찾아서 문장의 첫번째부터 실행함

 

ex)

class 클래스이름 {

public static void main(String[] args) {main메서드의 시작

} main메서드의

}

 

 

 

 

 

728x90
반응형
728x90

 

출처: <https://www.youtube.com/watch?v=C3P1umV-NOI&list=PLW2UjW795-f6xWA2_MUhEVgPauhGl3xIp&index=1>

 

 

[자바의정석-기초편] ch1-1,2 자바란? 자바의 역사

 

자바란?

프로그래밍 언어(programming language)

컴퓨터 프로그램(어플리케이션) 만드는데 사용

실행환경(JRE) + 개발도구(JDK) + 라이브러리(API)

 

*JDK SDK'

java developeement kit : 자바 개발을 위한 SDK JDK라고

software developement kit : 소프트웨어 개발도구

 

*API(Application Programming Interface)?

응용프로그램 인터페이스. 응용프로그램을 작성할 필요한 매개체 의미.

컴퓨터 프로그램은 응용 프로그램과 시스템 프로그램(운영체제) 나뉘고,

시스템 프로그램(운영체제) 이용하여 특정 기능을 하도록 응용해서 만든 프로그램을 응용 프로그램이라 부른다

 

실무 개발에서는 프로그램이 너무 커서 전부 개발할 없기에 이미 만들어진 소프트웨어 컴포넌트를 결합해서 만드는 경우가 많다. 라이브러리도 이중 하나. 컴포넌트들을 결합하기 위한 매개체가 API

소프트웨어 컴포넌트 : tawk 채팅창 기능서비스 api 끌어오는 같은

 

 

*API 라이브러리 차이

라이브러리(Library) : 도서관 . 다른사람들이 만들어놓은 .

   - 프로그램에 자주 쓰일만한 것들을 다른사람들이 만들어 놓은 것들을 제공하는

라이브러리 컴포넌트 자체를 뜻함

API 컴포넌트를 활용하기 위한 규약에 따른 매개체

개발자 로컬 컴퓨터에 설치된 라이브러리를 통하는 것과 외부 서버에서 서비스를 제공받는 API 차이

 

 

자바 사용처

pc애플리케이션, 애플리케이션, 안드로이드(모바일) 어플리케이션, 빅데이터 하둡(hadoop),

게임(마인크래프트),과학,소형기기

 

 

 

 

 

 

[자바의 정석 - 기초편] ch1-3,4 자바의 특징, 자바 가상 머신(JVM)

 

 

자바의 특징

  1. 객체지향 언어
  2. 자동 메모리관리 : 가비지 컬렉터(GC)가 자동관리해줌
  3. 멀티 쓰레드 지원
  4. 운영체제에 독립적 : 자바가상머신(JVM) 위에 가동되고 그 다음 OS와 작동하기 때문에 운영체제에서 자유로운 것

         - JVM 각각 운영체제에 맞게 개발되어 있음

 

*객체지향언어란?

기존 프로그래밍 언어 + 객체지향 개념 도입한

 

 

 

[자바의 정석 - 기초편] ch1-7 자바 API문서 설치와 사용법

 

자바 API?

java 프로그랭 하는데 필요한 주요기능을 미리 만들어서 제공하는

 

자바 API문서란?

java api 제공하는 기능에 대한 상세정보를 제공하는 html파일

 

오라클 사이트에서 다운하면 되며, 각종 패키지,class 설명이 나오므로 자주 찾아볼 !

 ex) 어떤 메소드가 어느 클래스인지 찾을

random 메소드가 어느 클래스인지 모르겠다면 index 탭에서 R 클릭하고 ctrl+F random검색

 

 

728x90
반응형
728x90

 

코드 에디터 라인수 왼쪽에 어느 라인에 오류가 있는지 왼쪽에 표시가 뜨고

해당 구문에 아래줄에도 표시되며 툴팁으로 어떤 메세지인지 에러 메시지가 뜬다

이걸 복사 구글링하여 뭐가 문제인지 알아낼 것!

이외에도 Package Explorer창 아래 디렉토리와 프로젝트명(Hello.java) 좌측에도 뜬다

 

728x90
반응형
728x90

[에러 메세지] 

java.lang.module.InvalidModuleDescriptorException:

 

 

<해결>

프로젝트 새로 생성할 때 옵션에서 Create module_info.java을 해제하고 생성해야함

자바 9이상부터는 모듈 프로그래밍이 기본이기에 기본적으로 체크되어있음

(모듈에 관련해서는 8에서 9으로 오면서 새로생긴 기능으로만 일단은 알아두자)

참조 : https://geonyeongkim-development.tistory.com/60

 

 

728x90
반응형
728x90

 

이클립스 깔고 강의따라 치다가 첫에러 발생

원래 9에러였으나 중간에 오타발견해서 수정하고 6으로 줄임

자료 참고출처

https://thelibraryofbabel.tistory.com/entry/%EC%9E%90%EB%B0%94-%EC%BB%B4%ED%8C%8C%EC%9D%BC%EC%8B%9C-%EC%9D%B8%EC%BD%94%EB%94%A9-%EB%AC%B8%EC%A0%9C

 

에러 메시지

Hello.java:3: error: unmappable character for encoding MS949

 

문제 발생원인

인코딩 문제로 한글을 읽어오지 못해 컴파일에러 난 것

utf-8로 인코딩된 코드를 자바 컴파일에서 한글 윈도우의 기본 인코딩을 따라서 ms949 방식으로 읽으려고 시도했지만 실패하여 발생한것

 

설명

펜으로 마크되어 있는 ^을 보면 글자들이 깨져있는 부분을 볼 수 있는데 이부분이 한글 인코딩이 안되서 그런것

^는 에러 부분을 나타내준다

 

해결 Solution

 

  • 편집기에서 파일 인코딩을 ms949로 저장 하도록 하는 방법
  • 통합개발환경에서 컴파일 옵션으로 -encoding utf-8 을 설정하는 방법
  • 자바 컴파일러에게 명시적으로 파일의 인코딩을 지정하는 방법(javac 파일명 -encoding utf-8)

 

 

세번째 방법으로 해결

 

 

728x90
반응형

+ Recent posts