일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Math.random()
- 변수의초기화
- 클래스멤버
- 부호절댓값
- 클래스
- 지역변수
- 컴퓨터구조
- static
- new연산자
- 난수
- 2진법의음수표현
- random클래스
- 멤버변수
- 멤버변수의초기화
- java
- 객체지향언어
- 2진법음수
- JAVA프로그래밍
- 2의보수
- 자바
- 난수발생
- random()
- 1의보수
- 2진법음수표현
- 객체지향
- 멤버메소드
- 자바프로그래밍
- 멤버필드
- 의사난수
- 전역변수
- Today
- Total
주인장의 프로그래밍 개발 공부방
[자바 프로그래밍 기초] 1. 출력 본문
자바 프로그래밍 뿐만 아니라 C언어, 파이썬 등을 배우더라도
가장 처음에 배우는 내용이 있다.
바로 프로그래밍에서는 그 유명한
“Hello World”
를 출력하는 연습이 되겠다.
목표 : 출력 명령어를 이용해 내가 원하는 값 또는 문자(열)을 콘솔창에 출력할 수 있다.
1. 자바 프로그래밍 기초에서 출력이란?
우리가 프로그래밍을 배우는데 결과나 값이 바로 출력이 되는 곳이 있는데
콘솔(Console)창이라고 부르는 곳이 있다.
C나 C++를 배운다면 마이크로 소프트 비주얼 스튜디오를 사용할텐데
F5를 누르면 우리가 작성한 프로그램이 실행하게 된다.
마찬가지로 자바를 배운다면 이클립스를 주로 사용할텐데
이클립스에서는 F11을 누르면 역시 동일하게 작성한 프로그램이 실행한다.
이 때 출력하는 코드를 작성해놨다면
콘솔창에 내가 작성한 값 또는 문자(열)이 출력될 것이다.
그렇다면 출력은 어떻게 해야 하는 것일까?
2. 자바 프로그래밍에서 출력 명령어
우리는 지금 자바를 배우고 있으니 자바에서 쓰이는 출력 코드를 알아보도록 하자.
우리가 앞으로 가장 많이, 자주, 지겹도록 쓸 명령어이기 때문에 꼭 기억하도록 하자.
자바에서 값 또는 내가 입력한 문자(열)을 출력하는데 쓰이는 명령어는
System.out.println();
이 되겠다.
명령어가 조금 길어서 외우는게 힘들수도 있지만
의외로 사용할 때는 간단하게 사용할 수 있으니
일단은 명령어 전체를 알아두도록 하자.
앞서 프로그래밍을 배우면 가장 먼저 하는 연습이 있다고 했는데
바로 “Hello World”를 출력하는 것이다.
이 작업은 정말 간단하다.
이클립스를 켜고 이렇게 써보자.
예시)
System.out.println(“Hello World”);
이렇게 작성하고 F11을 누르면 콘솔(Console)창이라고
화면 아래에 무슨 창이 새로 뜨면서
내가 입력했던 Hello World가 출력되는 것을 확인할 수 있다.
즉, 이 결과를 보면서 알아보면
System.out.println();은
일단 ( )안에 입력한 값들을 콘솔창에 그대로 띄워준다는 것은 알 수 있을 것이다.
내가 쓴 내용 그대로 말이다.
그런데 ( )안에 보면 Hello World만 있는 것이 아니라
“ ”(큰 따옴표)가 같이 적혀 있는 것을 알 수 있다.
이렇게 보니 콘솔창에는 “ ”가 없이 Hello World만 출력되었다는 것을 볼 수 있다.
즉, System.out.println();은 ( )안에 “ ”안에 있는 문자열을 있는 그대로 출력해준다.
그래서 내가 콘솔창에 무언가를 출력하고 싶다면
System.out.println(“내가 쓰고 싶은거”);
로 쓰고 내가 쓰고 싶은거를 바꾸기만 하면 그대로 출력된다.
이렇게 ( )안에는 내가 원하는 무엇이라도 쓸 수 있다.
예시처럼 Hello World를 넣을 수도 있고
우리들이 프로그램을 작성하면서 선언한 변수도 넣을 수 있고
심지어 연산자들을 집어넣어서 계산식도 넣을 수 있다.
하지만 모든 내용을 그냥 넣을 수 있는 것은 아니다.
그 규칙들에 대해서 간단하게 알아보도록 하자.
3. System.out.println();의 규칙
거창하게 규칙이라고 썼듯이
꼭 지켜야하는 형식을 System.out.println();이 가지고 있다.
엄청 복잡한 것은 아니지만 처음 접한다면 조금 이해하기 어려울 수 있으니
처음부터 정확하게 이해하는 것이 중요하다.
먼저 위의 예시와 같이 사용자가 임의로 마음대로 작성할 때이다.
모든 임의의 문자열은 " "(큰 따옴표)안에 넣어야 한다.
큰 따옴표는 이 내용은 '문자열입니다'라고 표시하는 기능을 하는데
이 안에 있는 내용들은 어떤 것을 적더라도 그대로 출력해준다.
(특별한 명령어가 있긴 하지만 일단 무시하자.)
심지어 띄어쓰기마저도 그대로 출력해주니 연습삼아서라도 아무거나 입력해보자.
그런데 여기에서 " "(큰 따옴표)를 꼭 붙여야한다고 했는데
그럼 큰 따옴표를 붙이지 않는 것도 있을까?
정답은 당연히 존재한다.
하지만 용도가 전혀 다르니 새로운 것을 접해보자.
우리가 System.out.println();의 ( )안에는 값 또는 결과도 넣을 수 있다고 앞서 언급했었다.
바로 그 값과 결과를 넣을 때 " "없이 그냥 변수명 또는 식을 그대로 넣는 것이다.
다시 한 번 예시를 들어보자.
예시1)
int i = 0;
System.out.println(i);
이렇게 변수를 선언하고 ( )안에 변수명을 그대로 집어 넣으면
콘솔창에 0이라고 바로 출력이 될 것이다.
또 하나의 예시를 보자.
예시2)
int a = 3;
int b = 5;
System.out.println(a < b);
System.out.println(a + b);
라고 작성하면 순서대로
결과)
true
8
이라고 출력이 될 것이다.
즉, 우리가 원하는 임의의 문자열을 넣겠다면 " "를 꼭 붙여야하고
그 외의 변수나 값을 직접적으로 넣겠다면 " "를 붙이지 않고
변수명 혹은 값을 적으면 된다.
그런데 조금 눈에 띄는 부분이 보이지 않는가?
바로 예시2)가 출력된 결과를 보면
true
8
이라고 적었는데 일부러 이렇게 적은게 아니라 콘솔창에 출력해도 똑같은 결과가 나타난다.
다시 말해, System.out.println(a < b);가 출력되고
줄 바꿈을 하고 System.out.println(a + b);가 출력된 것이다.
여기에서 println을 잘 살펴볼 필요가 있는데
print뒤에 ln이 붙게 되면 해당 줄을 다 읽고 실행하면 줄바꿈을 하는 동작을 하게 된다.
그래서 결과가 true8이 아니라
true
8
로 출력되는 것이다.
여기에서 print뒤에 ln을 지우고 작성하면 어떻게 될까?
예시3)
int a = 3;
int b = 5;
System.out.print(a < b);
System.out.print(a + b);
예시2)와 똑같이 코드를 작성했으나 print뒤에 ln을 모두 지운 상태이다.
이 코드를 실행하면 콘솔창에
결과)
true8
이라고 출력이 될 것이다.
즉, print만 사용하면 줄바꿈없이 이어서 계속 출력하는 것이다.
println과 print의 차이를 잘 이해하고 있도록 하자.
나중에 엄청 유용하게 쓰일테니까.
4. System.out.println();에 여러 형태의 값을 동시에 집어넣기
제목이 조금 애매할 수도 있을텐데
쉽게 말해서 저 ( )안에 문자열과 변수, 그리고 값들을 한번에 집어넣어서
출력하는 방법을 말하는 것이다.
만약 우리가 아래의 결과를 콘솔창에 출력하려면 어떻게 해야할까?
결과)
안녕하세요. 기호 3번 홍길동입니다.
라는 결과를 출력해야하는데 그냥 출력을 한다면 별 문제가 없을 것이다.
그냥 저 문장 전체를 " "안에 넣고 그대로 출력하면 될테니까
그런데 문제가 있다.
만약 int a = 3;이라는 코드가 추가되어 있고
저기 기호 3번에서 3은 우리가 임의로 적는 숫자가 아니라
변수 a를 이용해서 출력해야한다면 어떨까?
그래서 등장하는 것이 바로
+
이다.
뜬금없이 산술 연산자가 등장하는지 의문이 들겠지만
이 +가 우리가 고민하고 있는 문제를 해결해 줄 것이기 때문이다.
그렇다면 도대체 어떻게 사용해야 된다는 것일까?
정답부터 적어보자면 이렇게 쓰면 된다.
예시)
int a = 3;
System..out.println("안녕하세요. 기호 " + a + "번 홍길동입니다.");
이렇게 작성하고 출력하면 콘솔창에
안녕하세요. 기호 3번 홍길동입니다.
라고 출력이 될 것이다.
여기에서 +의 역할은 바로 다른 형식(타입)의 값들을 연결해서 이어주는 역할이다.
더 정확히는 문자열과 기본형 타입들이 계속해서 이어져 나왔을 때
하나의 문장처럼 만들어주는 역할을 하는 것이다.
다시 말해, 구분자이면서 연결자가 되는 것이다.
위의 예시에서 +앞에 나온 " "안의 문자열과
변수 a는 전혀 다른 타입이라는 것을 눈치채야 한다.
마찬가지로 뒤의 +에 연결되어 있는
변수 a와 " "안의 내용들 역시 다른 타입이다.
이렇게 다른 타입들이 구분자없이 계속해서 이어서 나온다면
컴퓨터는 어디에서 뭐가 어떻게 연결되고 있는지 알 수가 없다.
그래서 우리는 +라는 구분자로 컴퓨터에게 + 앞과 뒤는 다른 형태의 값이다라과 알려주는 동시에
다른 형태의 값을 하나의 문장으로 연결해주는 연결자의 역할을 동시에 하는 +를 쓰는 것이다.
그렇기 때문에 위의 예시처럼 문자열과 변수를 하나의 println() 안에 쓸 수 있게 되는 것이다.
5. 마무리
자바 프로그래밍에서 가장 기본이 되는 출력 명령어인
System.out.println();에 대해서 알아봤다.
System.out.println();에는 ( )안에 " "을 사용해서 내가 원하는 임의의 문장을 자유롭게 쓸 수 있고
콘솔창이라고 불리는 장소에 그대로 출력도 가능하다.
그런데 println()에는 2가지 종류가 있는데
바로 ln이 붙어있는 println()과
ln이 없는 print()의 형태로 사용할 수 있다.
println()은 문장이 끝나면 자동으로 줄바꿈을 해주고
print()는 문장이 끝나도 자동으로 줄바꿈을 하지 않고 다음 줄의 내용을 계속 이어서 출력한다.
그리고 println()안에서 다른 형식의 값들이 계속 이어져야 할 때는
+라는 구분자인 동시에 연결자를 사용하는데
문자열 + 변수 + 문자열 등과 같은 형태로 내용을 하나의 문장처럼 이어주는 역할을 한다.
'Java > 자바 프로그래밍 기초' 카테고리의 다른 글
[자바 프로그래밍 기초] 6. 난수를 뽑아주는 Math.random() (0) | 2023.01.06 |
---|---|
[자바 프로그래밍 기초] 5. Integer.parseInt(String타입의 값) (3) | 2019.06.27 |
[자바 프로그래밍 기초] 4. charAt()에 대해서 알아보자. (19) | 2019.06.25 |
[자바 프로그래밍 기초] 3. Scanner 사용 방법 (2) | 2019.06.11 |
[자바 프로그래밍 기초] 2. 입력 (0) | 2019.06.05 |