내일배움캠프/TIL

JAVA 입문 _ 김영한의 자바 입문 강의 - Day 2[자바 입문, 변수]

austindynasty 2024. 10. 16. 21:47

1. 인텔리제이 다운로드 후 소스 파일을 이용해보기

 

-> 실행결과 : hello java

김영한의 자바 입문 강의를 따라 코드를 만들고 실행해봤다.

코딩 공부 전 영타를 빠르게 키워놓는 것이 도움이 될 거라는 조언을 들은 적이 있는데 그게 절실하게 와닿았다.

대문자와 소문자가 다르면 오류가 발생하는 자바 언어에서 자유롭게 대소문자를 왔다갔다 하며 빠르게 치는 것은 

정말 어려운 일이었다. 

★ 자바 언어는 대소문자를 구분한다. 

 

public class HelloJava

- HelloJava 를 클래스(class) 라고 한다.

- 파일명과 클래스 이름이 같아야한다.

- {} 블록을 사용해 클래스의 시작과 끝을 나타낸다.

 

public static void main{String[] args)

- 자바는 main(Stringf[] args) 메서드를 찾아 프로그램을 시작하며 간단하게 이해하면 main이 프로그램의 시작점이라고 할 수 있다. 

 

System.out.println("hello java")

- System.out.println() : 값을 콘솔에 출력하는 기능

- 자바는 문자열을 사용할 때 " 쌍따옴표를 사용하며 사이에 원하는 문자열을 감싸면 된다.

- 자바는 ; 세미콜론으로 문장을 구분한다. 문장이 끝나면 반드시 세미콜론을 넣어주어야 한다. 

 

블록, 범위

- 스페이스바 4번/tab 버튼을 눌러 들여쓰기를 할 수 있는데 이는 코드를 쉽게 구분하고 이해하도록 한다. 

안해도 프로그램 작동에 문제는 없지만 가독성이 좋지 않으니 블록이 중첩될 때 들여쓰기를 하도록 하자. 

 

<<두 번째 코드 실행 >>

첫 번째 코드를 실행한 후 두 번째 예제를 실행하는데 자꾸 알 수 없는 오류가 떠서 모든 파일을 삭제한 후 다시했다.

알고보니 프로그램의 시작과 끝을 나타내는 {} 블록을 제대로 입력하지 않았던 것..

블록으로 처음과 끝을 정해주니 드디어 코드가 실행되어 양호한 결과값을 얻었다.

★프로그램을 실행하고 끝낼 때 꼭 블록이 적절하게 사용되었는지 체크하자.

psvm : public static void main

sout : System.out.println  

 

2. 복잡한 코드를 입력할 때 사용하는 주석(comment) 달아보기 

- 한 줄 주석 : // 기호로 시작해 이 기호 이후의 모든 텍스트는 주석으로 처리된다. hello java2 코드를 지우지 않고도 주석처리해 실행결과 "hello java1" 만 출력됐다.

- 여러 줄 주석 : /* 기로호 시작해 */ 로 끝난다. 이 사이의 모든 텍스트는 주석으로 처리된다. /*만 입력해도 자동으로 */가 입력되는 것을 볼 수 있었다. 

★주석은 어떠한 목적으로 만들어진 코드인지 쉽게 설명하기 위해 사용한다. 자바가 아닌 사람을 위해 사용!

 

3. 변수

- 변수 : 변수란 쉽게 설명하면 데이터를 보관할 그릇이라고 이해하면 된다.

- int () : 숫자 정수를 보관할 그릇

- int a : 변수를 a라고 선언

- int a = 10 : 변수 a 의 값을 10으로 초기화(처음으로 값을 대입)

- , (콤마) 를 사용하면 여러 변수의 선언과 초기화를 동시에 할 수 있다.

- 변수의 값을 변경하면 전 값은 삭제된다. 

- 변수가 초기화되지 않은 상태에서 코드를 실행할 경우 '컴파일 에러'가 발생한다. 에러가 확인된 경우 해당 라인 전체에 주석을 걸어 다른 예제를 실행할 때에 에러가 발생하지 않도록 예방한다. ex) //System.out.println(a); // 컴파일 오류 발생 

★해당 패키지 첫 줄에 소속 패키지를 선언해야 하며 자바 파일이 위치하는 패키지와 선언 위치가 같아야 한다! 

 

변수의 형식(타입) 

- int : 정수를 다룬다. ex)10,100

- double : 실수를 다룬다. ex)2.5, 10.5

- boolean : 불리언 타입이라고 하며 true. false 값만 사용할 수 있다.

- char : 문자 하나를 다룰 때 사용한다. 작음따옴표( ' )를 사용해 감싸야 한다. ex)'A', '가'

- String : 첫 글자가 대문자로 시작하며 문자열을 다룬다. 큰따옴표( " )를 사용해 감싸야 한다. ex)"Hello Java"

★실행하고자 하는 코드를 입력할 때 적절한 변수 타입을 사용하지 않으면 오류가 난다. 

코드에서 개발자가 직접 적은 100, 10.5, true 등과 같은 고정된 값을 리터럴(literal)이라 하며 변수의 값은 변할 수 있지만 리터럴 자체는 변하지 않는다. 

- 정수 리터럴은 int 를 기본으로 사용하며 범위를 넘어가면 long 타입으로 변경해야 한다.

- 실수 리터럴은 double 을 기본으로 사용한다.

- 변수를 선언하면 표현 범위에 따라 메모리 공간을 차지한다. 

 

자주 사용하는 타입

- 정수 : int, long // 주로 int 를 사용하며 20억이 넘을 경우 long을 사용한다.

- 실수 : double 

- 불린형 : 조건문에서 자주 사용한다.

- 문자열 : String // 문자 하나든 문자열이든 모두 String 을 사용하는 것이 편리하다. 

- 파일 전송 시 byte를 사용하는 것 정도만 알고있자. 

★변수의 이름은 용도를 명확하게 설명할 수 있어야 한다. 

 

4. 변수 문제 풀이

 

1) 다음 코드에서 반복해서 나오는 숫자 4,3을 다른 숫자로 한 번에 변경할 수 있도록 다음을 변수 num1,num2를 사용하도록 변경해보세요.

VarEx1

내 풀이 : 

실행결과 : 7, 1, 12

정답해설에서는 int num1 = 4 / int num2 = 3 으로 나누어 도출했다. 

 

2) 변수 num1 을 선언하고, 이에 10을 할당하세요. 변수 num2 를 선언하고, 이에 20을 할당하세요.

두 변수의 합을 구하고, 그 결과를 새로운 변수 sum에 저장하세요. sum 변수의 값을 출력하세요.

문장의 순서대로 두 변수의 합을 구하고 sum으로 새로 선언하려고 시도했으나 오류가 나서 중간에 멈췄다.

실행결과 : 30

해설을 듣고나서 이미 도출된 값의 변수를 새롭게 선언하는 방법을 배우게 되었다. 

 

3) long 타입의 변수를 선언하고, 그 변수를 10000000000(백억)으로 초기화한 후 출력하는 프로그램을 작성하세요.

boolean 타입의 변수를 선언하고, 그 변수를 true로 초기화한 후 출력하는 프로그램을 작성하세요.

실행결과 : 10000000000, true

 

opinion 

인텔리제이를 사용해서 처음으로 프로그램에서 직접 자바 언어를 이용해 코딩을 해봤는데 생각만 했던 것보다

실제로 하니 예상했던 값이 그대로 도출되는 것이 재밌었고 알지 못하는 오류가 나왔을 때 뭐가 틀린 것인지 생각해 정답으로 이끌어 나가는 것도 재밌었다.