클래스

- 구조

: 속성, 생성자, 함수

class 클래스명{
    필드
    
    생성자
    
    함수
}

 

- 접근

1) 객체 생성

클래스명 객체명 = new 생성자;

2) 객체 통해 접근

Person person = new Person();
System.out.println(person.name);	// person객체의 name 변수에 접근

 

 

생성자

: 객체를 어떻게 만들지 정의해 놓은 것

- 사용자가 생성자 직접 정의 시 기본 생성자 자동 제거

/*this 키워드

: 객체 자신을 가리키는 키워드

*/

메서드

- Getter: 속성을 가져오는 메서드

String getName(){
	return this.name;
}

 

- Setter: 속성을 설정하는 메서드

void getName(String name){
	this.name = name;
}

 

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

Method  (0) 2025.04.14
Array_정적 배열  (0) 2025.04.14
연산자, 조건문, 반복문  (0) 2025.04.14
I/O: Scanner, Buffer  (0) 2025.04.14
JAVA  (1) 2025.04.13

Input/Output

Input

Scanner 객체

1) java.util.Scanner를 import

import java.util.Scanner;

 

2) Scanner객체 생성

Scanner sc = new Scanner(System.in);

 

3) 객체의 메서드를 적절히 활용하여 입력 받음

int a = sc.nextInt();	//정수
double d = sc.nextDouble();	//실수
long l = sc.nextLong();	//정수
String s = sc.nextLint();	//문자열

 

Output

1. System.out.print();     <->    System.out.println();

: 출력 메서드(개행X)                     : 출력 메서드(개행O)

- 파라미터: 참조형, 기본형


2. System.out.printf()

- 서식 지정자를 통해 값을 특정 형식으로 출력할 수 있게 하는 메서드

방식: 형식 문자열 내에 서식 지정자를 넣고 그 자리에 값을 삽입

형식 지정자 설명 예시
%n 개행 System.out.printf("개행전%n개행후");
%d Integer 형식 출력 System.out.printf("사람 %d명", 3);
%f Float 형식 출력 System.out.printf("%f", 3.14);
System.out.printf("%.8f", 3.14159265);
%c    %C Char 형식 출력 System.out.printf("%c", 65);     // A
%s
%S
String 형식 그대로 출력
String 형식 대문자 출력
System.out.printf("%s", Hello);     //Hello
System.out.printf("%S", Hello);     //HELLO
%b
%B
Boolean 형식 소문자 출력
Boolean 형식 대문자 출력
System.out.printf("%b", null);     //false
System.out.printf("%B", null);     //FALSE
%x
%X
16진수 Integer 형식 소문자 출력
16진수 Integer 형식 대문자 출력
System.out.printf("%x", 26);     //1a
System.out.printf("%X", 26);     //1A
%o 8진수 Integer 형식 출력 System.out.printf("o", 26);     //32
%e
%E
지수 형식 소문자 출력
지수 형식 대문자 출력
*실수값만 전달받을 수 있음*
System.out.printf("e", (double)300000);     //3.000000e+05
System.out.printf("E", 0.000003);     //3.000000E-06

 


BufferedReader / BufferedWriter

예외처리

: throws IOException 필수

- 이유: readLine()에 입력된 값이 null일 경우 IOException을 반환하기 때문이다.

import java.io.IOException;

public class Main{
    public static void main(String[] args) throws IOException{
	    //코드
    }
}

 

BufferedReader

1) java.io.BufferedReader와 java.io.InputStreamReader를 import(ctrl + shift + o 이클립스 자동 import)

import java.io.BufferedReader;
import java.io.InputStreamReader;

 

2) BufferedReader 객체 생성

BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));

 

3) readLine()을 통해 입력을 받음

String s = br.readLine();

 

- 다른 타입 원하면 형변환 필수(리턴값(고정): String)

형변환 형식
int Integer.parseInt()
long Long.parseLong()
double Double.parseDouble()
float Float.parseFloat()
boolean Boolean.parseBoolean()
char Character.forDigit()

          

- 예외 처리 필수

          방법 1) throws IOException(추천)

               (1) import java.io.IOException;

               (2) public static void maint(String[] args) throws IOException{}

          방법 2) try & catch

 

- 공백단위 가공 시(읽어들인 데이터가 Line 단위로만 분리되기 때문)

          방법 1) StringTokenizer nextToken 함수 사용(추천)

               (1) import java.util.StringTokenizer;

               (2) StringTokenizer 객체 생성

               (3) nextToken()을 사용해 공백 단위로 구분된 데이터 할당

//입력: 10 20
StringTokenizer st = new StringTokenizer(br.readLine());
int a = Integer.parseInt(st.nextToken());	// 10
int b = Integer.parseInt(st.nextToken());	// 20

 

          방법 2) String.split() 사용

String s = br.readLine();
String[] words = s.split(" ");

 

BufferedWriter

1) java.io.BufferedWriter과 java.io.OutputStreamWriter를 import(ctrl + shift + o 이클립스 자동 import)

import java.io.BufferedWriter;
import java.io.OutputStreamWriter;

 

2) BufferedWriter 객체 생성

BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

 

3) write()을 통해 버퍼 내 값 출력

// 숫자를 출력하고자 한다면 형변환이 필요하다.

String s = br.readLine();
bw.write(s);

Int a = Integer.parseInt(br.readLine());
bw.write(Integer.toString(a));

 

4) flush() / close()로 뒤처리

flush(): 남아있는 데이터 모두 출력(스트림 비움)

close(): 출력 스트림 닫음

 

 

+ BufferedWriter의 메서드

1) 개행: newLine()

bw.newLine();	// 개행

 

2) char 배열의 일정 구간 출력: write(배열명, 시작점, 길이)

char[] bf = {'h', 'e', 'l', 'l', 'o'};
writer.write(bf, 0, 5); //hello

 

3) 문자열의 일정 구간 출력: write(문자열명, 시작점, 길이)

String s = "hello";
writer.write(s, 0, 5); //hello

 

4) 한 글자 출력: write(int c)     //유니코드

writer.write(65);	//A

 

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

Method  (0) 2025.04.14
Array_정적 배열  (0) 2025.04.14
연산자, 조건문, 반복문  (0) 2025.04.14
Class  (0) 2025.04.14
JAVA  (1) 2025.04.13

Java(Write Once Run anywhere)_James Gosling

특징

- 플랫폼 독립적: Javac, JVM

          JDK(java development kit)

           - JRE: Java 실행 환경 

                     - JVM: 자바 가상 머신: .class 해석 및 JAVA 프로그램 실행

                     - java library: java.lang, java.util 등...

                     - Class loader: .class파일 로드

           - Javac: .java 파일-> .class(바이트 코드)파일로 변환

                     //바이트 코드: JAVA 프로그램 실행되기 위해 변환되는 중간 단계의 코드

                               - 플랫폼 독립적으로 JVM만 있으면 실행 가능

           - 기타 개발 도구: 디버거, JAR 도구, Javadoc 생성기 ...

 

- 객체지향: Class


컴퓨터의 기억 방식

1. RAM(Random Access Memory)

: 주 기억 장치 - 메모리

목적: 정보 저장

특징

- 휘발성: 전원 꺼지면 데이 휘발

- 빠른 속도

 

2. HDD / SSD

: 보조 기억 장치 - 하드디스크

목적: 영구적으로 정보 저장

특징

- 영구 저장

- 느린 속도: 저장된 정보 조회에 시간 소요 

 

컴퓨터의 메모리 관리법

: 메모리를 1byte 단위로 주소 매겨 관리

 

- byte = 8bit

     : 컴퓨터가 데이터 저장, 처리하는 단위 중 하나

     : 1byte에 저장할 수 있는 데이터 수 = 2^8개(0~255)

- bit

     : 메모리의 최소 저장 단위

     : 0 또는 1 중 한 개 저장 가능


JAVA 프로젝트 관리

1. 이름 규칙

1) 카멜케이스

: 대문자로 단어 구분

- javaProject

 

2) 스네이크케이스

: 언더바로 단어 구분

- java_project

 

2. package

: 클래스(파일)들의 묶음

 

3. Class

: java프로젝트 내 파일

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

Method  (0) 2025.04.14
Array_정적 배열  (0) 2025.04.14
연산자, 조건문, 반복문  (0) 2025.04.14
Class  (0) 2025.04.14
I/O: Scanner, Buffer  (0) 2025.04.14

+ Recent posts