자바 11

01) Map 이란 Map은 키-값 쌍으로 이루어져 있는 자료구조이다. (예를 들면 "홍길동의 전화번호"에서 "홍길동"을 키로 생각하고 "전화번호"를 값으로 생각할 수 있다.) 대부분의 데이터는 이름과 전화번호의 관계처럼 어떤 연관성을 가지고 있는데, 이를 쉽게 표현할 수 있는 자료형이 키-값을 가지는 HashMap이다. Map은 순서를 따지지 않기 때문에 List처럼 특성 위치의 데이터를 가져다가 사용할 수 없다. 대신 키를 알고 있다면 그 키를 통해 값을 가져오는 방법을 사용한다. // map을 생성하는 문법 Map map = new Hashmap(); ✔︎ List와 Set과의 다른 점은 key로 쓰일 타입과 value로 쓰일 타입 두 가지를 모두 명시해야 한다는 것이다. Map과 HashMap의 ..

Language/Java 2021.04.29

메소드

01) main 메소드 public class HelloJava { public static void main(String[] args) { System.out.println("Hello, Java"); } } 02) main 메소드의 구조 1. public static : 여기서는 다루지 않고, 지금은 일단 메소드 앞에 "public static"을 적어야 한다고 기억하자 ! 2. void : 메소드가 되돌려 주는 값, 즉 반환값의 자료형을 명시한다. (void는 메소드가 아무 값도 되돌려주지 않을 때 사용) 3. main : 메소드의 이름이다. 4. (String[] args) : 메소드가 받을 수 있는 입력값을 정의한 것이다. 입력값을 필요로 하지 않는 메소드는 이를 생략할 수 있으며, 필요에 따라..

Language/Java 2021.04.28

파일 읽고 쓰기

텍스트 파일의 내용 출력하기 FileInputStream : 파일로부터 데이터를 읽어서 이것을 입력소스로 사용할 수 있게 해주는 타입 하지만 문제가 하나 발생한다. try의 중괄호 블럭 안에 FileInputStream이 선언되어 있으므로 중괄호 블록안에서만 FileInputStream을 사용할 수 있게 된다. 그렇게 된다면 중괄호 블럭 안에 모든 코드를 다 넣어야한다. 따라서 FileInputStream을 블럭 바깥에서 쓰기 위해 선언문을 바깥으로 옮겨준다. 완성 import java.io.FileInputStream; import java.io.FileNotFoundException; import java.util.Scanner; public class FileInput { public static ..

Language/Java 2021.04.02

숫자 맞추기 게임 만들기

숫자 맞추기 게임 만들기 1) 난수 생성 임의의 숫자를 생성하는 방법 Random random = new Random(); int randomNumber = random.nextInt(256); //임의의 숫자 범위 2) 지연 시간 추가하기 지연 시간을 추가하는 코드 Thread.sleep(1000); // 지연 시간(1/1000초 단위) 1/1000초 단위의 시간으로 1000을 입력하면 1초를 쉬게 되는 것임. 예제 이렇게 Thread.sleep 코드를 입력하면 sleep에 빨간 줄이 뜨는 것을 볼 수 있다. alt + enter를 누르면 어떻게 해결할 것인지에 대해 팝업으로 보여준다. 두 번째의 "Surround with try/catch"를 누르면 try-catch블록이 자동으로 만들어지게 된다. ..

Language/Java 2021.03.31

배열

배열 1) 배열의 선언 요일들을 하나씩 변수로 표현하기 위해 하나하나 선언하고 사용한다는 것은 귀찮은 일이다. 이런 불편함을 해소하기 위해 자바의 배열을 사용한다. 배열이란 같은 자료형들이 모인 목록과 비슷한 개념이다. type[] array = {value1, value2, ..., valueN}; 자료형 뒤에 대괄호를 달게 되면 이 자료형의 배열을 사용하겠다 라는 의미가 된다! 2) 배열의 요소에 접근하기 public class ArrayExample { public static void main(String[] args) { String[] days = {"월", "화", "수", "목", "금", "토", "일"}; System.out.println(days[0]); System.out.print..

Language/Java 2021.03.31

반복문

for문 for (초기값; 종료조건; 증가) { 실행할 코드 } * 종료 조건 : 실행 조건이라고 볼 수 있다. 이 부분이 참인 동안 실행(반복)을 한다는 의미이다. * 증가 : 반복문이 1회 반복했을 때 실행되는 코드이다. 예제 public class ForExample { public static void main(String[] args) { for (int i = 0; i < 10; i = i + 1) { System.out.println("현재 반복 횟수: " + i); } } } 중첩 for문 예제 (구구단) public class GuGuClass { public static void main(String[] args) { for (int i = 2; i < 10; i++) { for (in..

Language/Java 2021.03.30

조건문

if if (condition is true) { do something } // ( ) 안에는 boolean 값이 들어가게된다. 참인지 거짓인지에 해당하는 값 else if문의 조건이 거짓일 경우 동작 if (condition is true) { do something } else { do something } public class IfHungry { public static void main(String[] args) { int money = 700; if (money >= 800) { System.out.println("빵 맛있어 ! "); } else { System.out.println("돈이 모자라요 ㅠㅠ "); } } } else if if (condition is true) { do so..

Language/Java 2021.01.30

사용자 입력과 예외 처리

키보드로부터 한 줄 입력받기 숫자나 문자와 같은 경우는 그 자체를 값으로 표현할 수 있지만 스캐너와 같은 타입들은 값을 표현하기 애매하다. 그래서 이와 같은 타입의 값을 생성하기 위해, new라는 키워드를 이용하게 된다. new 뒤에 타입 이름을 넣어주고 그 뒤에 괄호를 열고 닫으면 그 타입의 값이 생성되는 구조. // 새 값을 생성하기 위한 키워드(new) + 타입명 + () new TypeName() // parameter는 타입에 따라 필요한 경우도 있고 그렇지 않은 경우도 있음 new TypeName(parameter) 1. 코드 영역에 "Scanner"를 입력하면 팝업이 뜬다. 2. 가장 윗줄의 "Scanner java.util"이 선택된 채로 엔터키를 입력하면 첫 번째 줄에 코드 한 줄이 생겨..

Language/Java 2021.01.26

데이터의 형태, 자료형

정수형 데이터 타입 표현 범위 데이터 크기 byte -128 ~ 127 1 byte short -32,768 ~ 32,767 2 byte int -2,147,483,648 ~ 2,147,483,647 4 byte long -0,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 8 byte 다양한 정수형이 존재하는 이유는 큰 숫자가 필요할 때, 더 많은 공간이 필요했기 때문 ✔︎ 정수형 계산 과정에서 long 타입이 포함되어있는 경우를 제외하면, 연산의 경우는 항상 int형이다. public class Number { public static void main(String[] args) { byte byteInteger = 130; short shortIntege..

Language/Java 2021.01.25

연산자

/ 몫(정수 나누기 정수는 정수의 값이 나오기 때문에 나머지의 값은 버리게 됨) % 나머지 대입 연산자 대입 연산자를 사용하기 위해서는 변수를 선언해야한다. 다른 자료형을 넣게 되면 오류 발생 자료형 변환 (자료형)을 통해 괄호 안의 자료형으로 바꿔준다. public class Operator { public static void main(String[] args) { int number = 5; number = (int)1.2; System.out.println(number); } } 다른 자료형끼리의 계산 public class Operator { public static void main(String[] args) { System.out.println(1 + 1.2); System.out.print..

Language/Java 2021.01.19