일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- restapi
- java
- ai
- 자바
- Apollo
- 프로그래머스
- Scanner
- graphql
- nodejs
- Docker
- LangChain
- java11
- redis
- Mongoose
- mongodb
- 스프링
- bufferdreader
- eof
- 백준알고리즘
- 조건문
- HTTP
- 스프링부트
- k8s
- MapReduce
- mysql
- 서버
- puppeteer
- Android
- TCP
- Spring
- Today
- Total
목록java (28)
자라나라 개발머리
EOF: End Of File, 데이터 소스로부터 더 이상 읽을 수 있는 데이터가 없음을 나타낸다. 입력 방식마다 EOF처리 방식이 다르다. 일반적으로 쓰이는 Scanner, BufferedReader의 EOF처리 방식을 알아보자. 1.Scanner Scanner sc = new Scanner(System.in); //문자열 입력 while(sc.hasNextLine()) { sc.nextLine(); } //숫자 입력 while(sc.hasNextInt()) { sc.nextInt(); } hasNextLine(), hasNextInt() 메소드 실행 시 true가 리턴되면 다음 라인/숫자가 출력되고 false가 리턴되면 파일의 끝이라는 의미로 while문을 벗어난다. 2. BufferedReader ..
StringTokenizer는 String을 나누기 위해 사용한다. 생성자를 통해 String을 입력하면 토큰 형태를 리턴한다. 이후 다양한 메소드를 사용해 해당 토큰을 사용할 수 있다. 생성자 생성자는 총 3가지가 있다. 1. 공백/줄바꿈 기준으로 문자열 분리 StringTokenizer st = new StringTokenizer(String str); 디폴트로 지정되어 있는 \t, \n, \r, \f 에 대해 문자열을 분리한다. 쉽게 풀어 말하면 공백과 줄바꿈 기준으로 문자열을 분리하는 것이다. 2. 구분자 기준으로 문자열 분리(구분자 미포함) StringTokenizer st = new StringTokenizer(String str, String delim); 사용자가 입력한 구분자(delim)..
궁금한 것 read()와 readLine()의 차이는 무엇이고, 왜 readLine()을 쓸까? 실행 코드 package pratice; import java.io.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int a = Integer.parseInt(br.readLine()); int b = br.read(); System.out.println(a); System.out.println(b); } } 실행결과 readLine()은 입력한대로 int형 1이 나왔지만, re..
왜 BufferdReader를 사용할까? 백준 알고리즘 풀이과정을 보다가 상위에 올라와 있는 풀이과정을 보면 대부분 Scanner말고 BufferedReader를 사용해서 입력을 받는다. 그래서 왜 스캐너 안쓰고 BufferedReader를 쓰는지 궁금해졌다. BufferdReader와 Scanner의 차이에 대해선 아래 글에 너무너무 설명이 잘 돼 있다. https://dlee0129.tistory.com/238 자바(JAVA) - Scanner & BufferedReader 자바(JAVA) - Scanner & BufferedReader 자바를 처음 배울 때 사용자(키보드) 입력받기 위해 보통 Scanner 클래스를 사용합니다. 하지만 알고리즘을 풀기 시작하면서 백준에서 Scanner를 사용하여 입력..
https://www.acmicpc.net/problem/252 2525번: 오븐 시계 첫째 줄에 종료되는 시각의 시와 분을 공백을 사이에 두고 출력한다. (단, 시는 0부터 23까지의 정수, 분은 0부터 59까지의 정수이다. 디지털 시계는 23시 59분에서 1분이 지나면 0시 0분이 된다.) www.acmicpc.net 첫 작성 코드(오답) import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner s = new Scanner(System.in); int th = s.nextInt(); int tm = s.nextInt(); int m = s.nextInt(); th += m/60; tm +=..
*본 글은 작성자가 복습 용도로 작성한 글 입니다! if문 조건식이 true일 경우 블록 내부 실행문 실행 기본 형태 if (조건식) { 조건식이 true } if - else if - else문 기본 형태 if (조건식1) { 조건식1이 true } else if (조건식2) { 조건식2가 true } else { 조건식1 및 조건식2가 false } switch문 변수가 어떤 값을 갖느냐에 따라 실행문 선택 일반적으로 경우의 수가 많을수록 switch문이 코드가 간결 형태 switch(변수) { case 값1: break; case 값2: break; default: } case끝에 break가 붙어있지 않으면 다음 case가 연달아 실행된다. default는 변수가 case에 해당되지 않을 경우 출..
사칙연산 복습 중 뜬 런타임 에러(main class Main) main class Main Error: Could not find or load main class Main 메인 클래스를 인식 못하는 에러인데 소스 코드 맨 위에 패키지명 써 있는 코드 package (패키지명); 를 지워서 해결했다. 다음 링크는 백준 알고리즘 프로그래밍 언어별 런타임 에러에 대한 설명이 있는 페이지다. 백준 알고리즘 런타임 에러에 관한 항목은 아래 링크를 참고! https://help.acmicpc.net/judge/rte
자바의 특징 1. 이식성이 높다. 이식성이란? 운영체제(윈도우, 맥 OS, 리눅스 등)가 달라도 동일한 소스 파일로 실행 가능한 것 자바는 윈도우에서 작성한 소스코드 파일을 맥os에서 수정없이 실행할 수 있다. 2. 객체 지향 프로그래밍 언어이다. 객체 지향 프로그래밍은 개발 기법 중 하나로, 객체를 먼저 만들고 객체들을 조립 및 연결해서 프로그램을 완성 시킨다. 자바는 객체 지향 프로그래밍 언어이다. 따라서 객체 지향 언어로써 갖춰야 할 캡슐화, 상속, 다형성 기능을 지원하고 있다. 3. 메모리를 자동으로 관리한다. 타 언어(ex: C++)의 경우 생성된 객체를 제거하기 위해 직접 코드를 작성해야 한다. 메모리 관리를 개발자가 직접 해야 하는 것이다. 자바는 개발자가 직접 메모리에 접근할 수 없도록 설..