본문 바로가기
Android App/Java

변수(variable)-범위, 출력(print), 입력(Scanner)

by AppJinny 2023. 1. 15.

*변수(variable)-범위, 출력(print), 입력(Scanner)

-변수 사용 범위

-콘솔로 변수값 출력 : print(), println(), printf()

-키보드 입력 데이터 변수에 저장 : Scanner

 

*변수 사용 범위

-중괄호 블록 {} 내에 선언된 변수는 중괄호 블록 내에서만 사용 가능

-메소드 블록 전체에서 사용하고 싶다면 블록 첫 머리에 선언

public class VariableScopeEx {

	public static void main(String[] args) {
		
		/*  변수의 범위  */
		
		//메소드 블록 전체 사용할 수 있는 변수 선언
		int v1 = 15;
		
		//특정 블록 내부(if문) 에서만 사용할 수 있는 변수 선언
		if(v1>10) {
			//변수 v1은 메소드 전체에서 사용할 수 있
			int v2 = v1 - 10;
		}
		
		//변수 v2는 if문 안에서만 사용할 수 있으므로
		//컴파일 에러 발생...
		//int v3 = v1 + v2 + 5;

	}
}

 

*콘솔로 변수값 출력 : print(), println(), printf()

-표준 출력 장치인 모니터(명령 프롬프트, 터미널, 콘솔)에 값 출력

-System.out.메소드;

메소드 의미
print(출력내용); 괄호 안 내용 출력
println(출력내용); 괄호 한 내용 출력 후 행 바꿈
printf("형식문자열", 값1, 값2, …); 형식 문자열에 맞춰 뒤의 값 출력

-printf()의 형식 문자열 

-형식 문자열에서 %와 변환 문자는 필수 작성

-% : 형식 문자열의 시작

-변환 문자 : 제공되는 값에 따라 d(정수), f(실수), s(문자열)

//printf(형식, 값)사용하기

System.out.printf("이름: %s", "홍길동");
System.out.printf("나이: %d", 25);

*출력결과 
이름: 홍길동
나이: 25

-값의 순번(argument_index$) : 형식 문자열 값이 두개 이상일 경우 값의 순번을 매길 수 있음, %뒤에 붙으며 순번$ 의 형식으로 적용(ex. %1$s, %2$d)

-flags : 빈 공간을 채우는 방법, 생략되면 왼쪽이 공백으로 채워지고 -가 오면 오른쪽이 공백이 됨

-width : 소수점을 포함한 전체 자릿수

-.precision : 소수 이하 자릿수 설정, 실수일 경우 반올림(값이 3.129를 %.2f의 형식 적용 -> 3.13)

 

*키보드 입력 데이터 변수에 저장 : Scanner

-키보드로부터 입력된 데이터를 읽는 방법 중 주로 사용하는 방법

-키보드로부터 입력된 데이터를 읽고 변수에 저장할 수 있음

-Scanner타입 변수 선언 한 뒤 대입연산자(=)사용 후, new연산자로 생성한 Scanner객체 변수에 대입

-.nextLine() 실행 시 키보드로 입력된 값을 문자열로 읽어올 수 있음

//Scanner사용
//스캐너 객체를 생성하여 변수에 대입
Scanner scanner = new Scanner(System.in);

//변수 scanner에 .nextLine()실행
//키보드로 입력된 내용을 문자열로 읽어올 수 있음
//읽어온 값 String타입 변수에 저장
String inputData = scanner.nextLine();

-scanner.nextLine()은 키보드로 입력하고 난 뒤 Enter키가 입력되기 전까지 블로킹(대기)상태였다가 Enter키 입력 시 입력된 내용 모두 문자열로 읽어옴

 

 

 

 


이 포스팅에 작성한 내용은 신용권, 임경균, ⌜이것이 자바다⌟, 한빛미디어(주), 2022 에서 발췌하였습니다.