1. 변수 사용 범위
main() 메소드 블록에는 다른 중괄호 {} 블록들이 작성될 수 있다. 조건문에 해당하는 if, 반복문에 해당하는 for, while 등이 중괄호 블록을 가질 수 있는데, 이러한 중괄호 블록 내에서 선언된 변수는 해당 중괄호 블록 내에서만 사용이 가능하고 밖에서는 사용할 수 없다.
아래는 실제 코드에서의 예시들이다.
public static void main(String[] args) { //메소드 블록
int var1; //메소드 블록에서 선언
if() {
int var2; //if 블록에서 선언
//변수 var1과 var2 사용 가능
}
for() {
int var3; //for 블록에서 선언
//변수 var1과 var3 사용 가능
}
//var1 사용 가능
//var2와 var3은 사용 불가능
}
package ch02.sec11;
public class VariableScopeExample {
public static void main(String[] args) {
int v1 = 15;
if(v1>10) {
int v2 = v1 - 10;
}
int v3 = v1 + vs + 5; //v2 변수를 사용할 수 없기 때문에 컴파일 에러 발생
}
}
2. 콘솔로 변수값 출력
우리는 지금까지 표준 출력 장치인 모니터(명령 프롬프트, 터미널, 콘솔)에 값을 출력하기 위해 System.out.println()을 이용했다. 괄호() 안에 리터럴을 넣으면 리터럴이 그대로 출력되고, 변수를 넣으면 변수에 저장된 값이 출력되었다.
println() 이외에도 다음과 같은 것들도 사용이 가능하다.
메소드 | 의미 |
println(내용); | 괄호 안의 내용을 출력하고 행을 바꾼다. |
print(내용); | 괄호 안의 내용을 출력하고 행은 바꾸지 않는다. |
printf("형식문자열", 값1, 값2, ...); | 형식 문자열에 맞추어 뒤의 값을 출력한다. |
printf()의 형식 문자열은 다음과 같은 포맷으로 작성한다.
printf("형식문자열", 값1, 값2, ...)
% [argument_index$] [flags] [width] [.precision] conversion
값의 순번 -, 0 전체 자릿수 소수 자릿수 변환 문자(필수)
------------------------------생략 가능-------------------------------
다음은 printf()의 예시이다.
//형식 문자열에 포함될 값이 두 개 이상일 경우에는 값의 순번을 포함시켜야 한다. ex)1$, 2$
System.out.printf("이름: %1$s, 나이: %2$d", "김청야", 23);
//이름: 김청야, 나이: 23 이 출력
다음은 자주 사용되는 형식 문자열이다.
형식화된 문자열 | 설명 | 출력 형태 | |
정수 | %d %6d %-6d %06d |
정수 6자리 정수. 왼쪽 빈자리 공백 6자리 정수. 오른쪽 빈자리 공백 5자리 정수. 왼쪽 빈자리 0 채움 |
123 ___123 123___ 000123 |
실수 | %10.2f %-10.2f %010.2f |
정수 7자리 + 소수점 + 소수 2자리. 왼쪽 빈자리 공백 정수 7자리 + 소수점 + 소수 2자리. 오른쪽 빈자리 공백 정수 7자리 + 소수점 + 소수 2자리. 왼쪽 빈자리 0 채움 |
____123.45 123.45____ 0000123.45 |
문자열 | %s %6s %-6s |
문자열 6자리 문자열. 왼쪽 빈자리 공백 6자리 문자열. 오른쪽 빈자리 공백 |
abc ___abc abc___ |
특수 문자 | \t \n %% |
탭(tab) 줄바꿈 % |
% |
'Language > Java' 카테고리의 다른 글
[Java] 부호/증감/산술 연산자 (0) | 2022.10.06 |
---|---|
[Java] 키보드 입력 데이터를 변수에 저장 (0) | 2022.10.04 |
[Java] 타입 변환 (0) | 2022.09.27 |
[Java] 변수에 대한 이해_2 (논리, 문자열 타입) (1) | 2022.09.21 |
[Java] 변수에 대한 이해_1 (정수, 문자, 실수 타입) (2) | 2022.09.20 |