미새문지

JAVA. Day02 변수 본문

언어 학습/자바 연습

JAVA. Day02 변수

문미새 2022. 4. 16. 18:08
728x90

 

변수란?

컴퓨터가 일을 하기 위해선 많은 자료를 사용해야합니다

그 자료들은 논리적인 형태로 컴퓨터 내부에 수치가 변하며 존재하는데 그러한 '변하는 수', 혹은 변하는 값을 넣는 공간을 '변수'라고 합니다

 

변수에 자료를 넣을 때는 = 기호를 사용하는데

이 기호는 수학적개념의 같다 개념이 아닌 (변수이름 = 내용)에 내용을 변수이름에 넣는다는 의미로 사용합니다

 

변수의 이름은 정하는 규칙이 있는데

 

1. 변수 이름은 반드시 밑줄(_), 문자로 시작해야만 하고 특수문자 및 숫자로 시작할 수 없습니다.

2. 예약어는 금지됩니다.

- 각 프로그래밍 언어는 뜻이 고정된 예약어가 존재하는데 이 예약어와 같은 문자열로는 사용할 수 없습니다,

- ex) True, if, while, try, and, ... 는 사용 금지

3. 대소문자 잘 구별하기

- 대소문자가 다르면 다른 변수로 기억되어 혼동이 올 수 있고, 예약어도 대소문자가 바뀌면 적용이 안되어 주의해야 합니다,

 

 

첫 코딩의 시작은 출력으로 시작됩니다

출력을 위한 간단한 코드는 System.out.print("");입니다

System.out.print("안녕하세요!");
result = 안녕하세요!
 

여기서 맨 뒤에 ;는 컴퓨터가 한 줄이 끝났음을 인지해야하기 때문에 반드시 넣어줘야합니다

쌍따옴표(" ")의 역할은 안에 있는 단어가 명령어가 아니라 문자열임을 알려주기 위해 사용하고요

 

안의 값은 숫자, 영어, 한글, 등등 여러가지가 들어가는데, 각 값의 종류에 따라 자료형(type)이 바뀝니다

 

자료형 type 예시

정수 int 5, -5, 10, 0,...

실수 double 3.14, -5.1,...

문자 char 안, A, b,...

문자열 String 안녕하세요, apple,...

 

 

그런데 쌍따옴표(" ")는 숫자에 사용하는것이 아닌 문자열에 사용을 합니다

컴퓨터는 사람이 쓰는 언어를 알 수 없기 때문에 이것이 숫자다 문자다 라는걸 인지를 시켜줘야하는데

쌍따옴표(" ")안에 들어간 숫자나 단어는 문자열(String)으로 정하기로 약속했고

문자(char) 따옴표(' ') 로 정하기로 약속했습니다

정수나 실수의 경우는 따옴표를 사용하지 않고 그대로 넣으시면 됩니다

System.out.print("문미새");
result = 문미새
System.out.print('A');
result = A
System.out.print(10);
result = 10
 

print는 출력메소드라고 하는데 출력메소드에도 종류가 있습니다

- print() : 괄호 안에 있는 값을 콘솔창에 출력한다(줄바꿈X)

- println() : 괄호 안에 있는 값을 콘솔창에 출력한다(줄바꿈O)

- printf() : 형식을 지정하여 출력한다(줄바꿈X)

System.out.println("문미새");
System.out.println("문미새");
result : 문미새
         문미새
 

 

주석이란?

코딩을 하다보면 이 코드가 어떤건지 다른개발자가 내 코드를 봤을 때 이 코드가 어떤건지 알기 어려울때가 많습니다. 당연히 개발자마다 코드를 짜는 방식이 다르기 때문이죠

이러한 사태를 방지하기 위해 각 코드에 설명을 달아놓는걸 주석이라고 합니다

//내 별명
System.out.println("문미새");
 

주석은 //(슬래시 2개)로 사용합니다

 

주석이 길경우엔 한번에 주석처리할수도 있는데

/* 내 별명,
이 별명은
LA로부터 시작되어
*/
System.out.println("문미새");
 

/* 범위주석 */ 으로 사용합니다

 

Q) print와 println은 알아봤는데 그럼 printf는 어디에 사용합니까?

printf는 형식을 갖춘 문자열을 콘솔창에 출력하는 기능을 합니다

System.out.printf("오늘은 %d일 입니다", 14);
result = 오늘은 14일 입니다
 

Q) 분명 %d일이라고 써있는데 14일로 나오네요?

코드 뒤쪽에 써있는 값을 %로 끌어와 14일로 나오는겁니다

이렇게 %d, %c 등으로 표현하는것을 형식 지정자라고 합니다

 

 

형식지정자란?

각 다양한 데이터들을 화면에 출력하기 위해 형식지정자를 사용하는데, 데이터에 맞지 않는 형태의 형식지정자를 사용하면 오류가 발생합니다

 

종류

자료형 형식지정자

int %d

double %f

char %c

String %s

에 맞게 사용해야 합니다

자료형은 int(정수)인데 %c를 사용한다던지 하면 오류가 발생하는 거죠

System.out.printf("오늘은 %d일 입니다", 14);
System.out.printf("원주율은 %f입니다", 3.14);
System.out.printf("나의 학점은 %c입니다", 'A');
System.out.printf("내 이름은 %s입니다", "문미새");

result = 오늘은 14일 입니다
result = 원주율은 3.140000입니다
result = 나의 학점은 A입니다
result = 나의 이름은 문미새입니다
 

이상한게 보이시나요?

왜 원주율이 3.14에서 안끝나고 0000이 붙는걸까요

 

이유는 %f 형식지정자는 실수가 들어가는데 소숫점은 6자리까지 표현되게 설정되어 있습니다. 그래서 6자리를 다 안채우게되면 뒤에 0이 붙는겁니다.

0을 보고싶지 않으면 자릿수를 안보이게 설정이 가능합니다.

System.out.printf("원주율은 %.2f입니다", 3.14);
result = 원주율은 3.14입니다
 

여기서 .2 소숫점을 둘째 자리까지만 표현한다 라는 뜻입니다

2가 아닌 4로 바꾸면 넷째 자리인 3.1400 이 되는 거죠

그리고 형식지정자가 여러 개가 동시에 사용될 경우에는 순서대로 들어갑니다

System.out.printf("%d %s %c %.2f", 10, "안녕", 'A', 3.14);
result = 10 안녕 A 3.14
 

또 출력함수에선 제어문자라는 걸 사용하는데

 

제어문자란?

문자열 안에서 사용되며 특수한 기능을 하는 문자입니다

 

제어문자의 종류는

\" : 문자열 안에서 쌍따옴표 표현

\\ : 문자열 안에서 역슬래시 표현

\t : 문자열 안에서 Tab키 표현

\n : 문자열 안에서 Enter키 표현

이 있습니다

System.out.printf("이름은 \"%s\"입니다\n", "문미새");
System.out.printf("이름은\t%s입니다", "김미새");
System.out.printf("내\\이름은 %s입니다\n", "최미새");

result = 이름은 "문미새"입니다
         이름은    김미새입니다내\이름은 최미새입니다
 

결과값 둘째 줄은 \n을 넣지 않아 문장이 그대로 이어집니다

 

 

 

/* 이렇게 두번 째 날이 끝났는데 드디어 코딩의 시작이다!라는 느낌이 확 드네요

출력부터 시작해서 형식지정자, 제어문자 등등 아는 지식이 하나씩 늘어가는게 기분이 좋습니다

꾸준히 배워감으로써 언젠가 프로그래머로 취직할 때까지 계속 나아갑시다 */

 

728x90

'언어 학습 > 자바 연습' 카테고리의 다른 글

JAVA.Day06 swhich문 + for문  (1) 2022.04.27
JAVA.Day05 선택제어문  (1) 2022.04.24
JAVA. Day04 연산자  (1) 2022.04.22
JAVA. Day03 변수의 선언  (1) 2022.04.20
JAVA. Day01 JAVA란?  (1) 2022.04.14