Language/Java

[Java] 자바 기본 프로그래밍 (프로그램 구조, 데이터 타입, 키 입력)

sssbin 2022. 2. 5. 14:39

애증의 자바

이제 더이상 미룰 수 없다

처음부터 다시 차근차근 해보자..

 


자바 프로그램의 구조

public class Hello {

	// 메소드 
	public static int sum(int n, int m) {
		return n + m;
	}
	
	// 메소드
	// main() 메소드에서 실행 시작 
	public static void main(String[] args) {
		int i = 20;
		int s;
		char a;
		
		s = sum(i, 10); // 메소드 호출 
		a = '?';
		
		System.out.println(a);
		System.out.println("Hello");
		System.out.println(s);
	}
}

 

클래스

- 자바에서는 클래스를 만들고 그 안에 변수, 상수, 함수(메소드) 등 모든 프로그램 요소를 작성

 

main() 메소드

- 자바 프로그램은 main() 메소드에서부터 실행을 시작한다.

- main()은 반드시 public static void로 선언되어야 하며, 한 클래스는 두 개 이상의 main()을 가질 수 없다.

 

메소드

- 함수 역할

- 반드시 클래스 내에 작성

 

화면 출력

- System.out.println() → 여러 타입의 데이터 출력, 출력 후 다음 행으로 넘어감

- System.out.print()

 


데이터 타입

기본 타입

: 8개

논리 boolean 1bit
문자 char 2byte
정수 byte 1byte
short 2byte
int 4byte
long 8byte
실수 float 4byte
double 8byte

- 자바에서는 문자를 2바이트로 표준화된 유니코드 체계를 사용

    → 한글, 영문 모두 문자 하나당 2바이트

 

레퍼런스 타입

: 1개

- 배열에 대한 레퍼런스

- 클래스에 대한 레퍼런스

- 인터페이스에 대한 레퍼런스

 

문자열

: String 클래스 이용

String toolName = "JDK";

 

var

- (Java 10부터) var 키워드를 사용하여 변수의 타입을 생략하고 간단히 변수 선언 가능

- 초기값 주어져야 함. 지역 변수에만 한정됨.

 

상수

- final 키워드를 사용하여 선언

- 선언 시 값이 초기화되면 더이상 변경할 수 없음.

static final double PI = 3.141592; 
// static 키워드를 붙이는 것이 더 바람직함.

키 입력

System.in

- 표준 입력 스트림 객체

 

Scanner

1) import

import java.util.Scanner;

2) Scanner 객체 생성

Scanner scanner = new Scanner(System.in);

3) Scanner 클래스로 키 입력받기

String name = scanner.next();	// 문자열(String)로 리턴
int age = scanner.nextInt();	// int 타입으로 리턴


// String next()
// byte nextByte()
// short nextShort()
// int nextInt()
// long nextLong()
// float nextFloat()
// double nextDouble()
// boolean nextBoolean()


// String nextLine() 
// : '\n'을 포함하는 한 라인을 읽고 '\n'을 버린 나머지만 문자열로 리턴


// boolean hasNext()
// : 현재 입력된 토큰이 있으면 true 리턴,
//   아니면 새로운 입력 때까지 무한정 대기
//	 ctrl-z 키가 입력되면 false 리턴

4) Scanner 스트림 닫기

scanner.close()

// void close()
// : Scanner의 사용 종료

 

 

'Language > Java' 카테고리의 다른 글

[Java] 상속  (0) 2022.02.23
[Java] 클래스와 객체  (0) 2022.02.11
[Java] 배열 / 예외처리  (0) 2022.02.10