자바 기초

Programming/Java_자바

[Java 기초] yield

yieldJDK 14에서의 switch문에서 나온 키워드break문이 제거됨으로써 기존의 코드와 비교하면 더욱 간결해짐➡️break 문의 누락 실수를 방지switch (city) { case SEOUL -> “Korea”; case NEWYORK -> “America”; case LONDON -> “England”; default -> “unknown”; }; switch expression (=switch 표현식)에서 yield 는 값을 리턴하는 키워드“case L ->” 문법여러 case를 사용하는 경우 해당 코드를 블록으로 묶고 yield 를 통해 리턴 가능값을 명시적으로 리턴하기 위해 새로운 키워드인 yield를 도입 case MONDAY -> yield 0; ➡️컴파일 에러..

Programming/Java_자바

[Java 기초] 연산자

논리연산자 AND 연산자& : and연산자, 두가지모두만족&& : and연산자, 두가지모두만족❓&& 와 &의 차이➡️결과값은 같지만 JVM에서는 다르게 동작&&연산자 : 앞의 식이 거짓이면, 뒤에 있는 식은 실행하지 않음. 한쪽만 거짓이어도 실행할 필요가 없기때문이다.&연산자 : 앞의 식이 거짓이라도 뒤의 식이 실행OR 연산자| : or연산자, 둘 중 한가지만 만족|| : or연산자, 둘 중 한가지만 만족❓|| 와 | 의 차이➡️결과값은 같지만 JVM에서는 다르게 동작|| 연산자 : 앞의 식이 참일경우 뒤의 식은 실행되지 않는다. (어느한쪽이라도 참이 있으면 참이기때문)| 연산자 : 앞의 식이 참일경우에도 뒤의 식이 실행XOR 연산자^ : Exclusive OR 라고 부름배타적 논리합 연산자둘의 결과 값..

Programming/Java_자바

[Java 기초] 자바 변수

변수와 리터럴ex. int : 정수 타입 “키워드”int i = 1; 이 있을때➡️int : 정수타입 키워드 ➡️ i : 하나의 값을 가질 수 있는 공간➡️변수 1은 "정수 리터럴(literal) 1"을 말한다.리터럴(literal) : 변수에 입력되는 값컴퓨터는 “정수 하나”를 저장하기위해 메모리에 "4byte 크기의 저장공간"을 필요로함➡️이 메모리의 영역을 변수라고 하는 것❓키워드➡️java에서 정한 “예약어”❓예약어 (=키워드) 종류 ➡️class, public, static, while 등등변수 변수의 타입1.기본형 타입 byte = 1byteshort = 2byteint = 4byte (정수형) : 32비트의 수 표현long = 8byte (정수형) : 64비트의 수 표현➡️리터럴(값)뒤에 L..

Programming/Java_자바

[JAVA 기초] 스택(Stack), 큐(Queue), 해시세트(HashSet) 구현 및 실습

Explain스택 (Stack): 하노이탑에 개체를 쌓듯 데이터가 LIFO(Last-In First-Out) 구조로 쌓이는 자료구조큐 (Queue): 가로형태의 원통형 구조라고 가정할 수 있고, 맨 좌측 front, 맨 우측 rear(꼬리) 의 자료구조: 데이터가 FIFO(First-In First-Out) = 가장 먼저 들어간 것이 가장 먼저 나오는 구조해시세트 (HashSet): Set 인터페이스의 구현 클래스로 객체를 중복해서 저장할 수 없고: 하나의 null 값만 저장할 수 있는 Set의 성질을 그대로 상속받음>> 저장순서가 중요하지 않음>> 같은 Set 인터페이스의 하위 클래스 중 TreeSet은 데이터를 자동정렬해주는 특징이 있지만 HashSet은 그렇지 않음실습코드 package chapte..

Programming/Java_자바

[JAVA 기초] Collection 인터페이스 (컬렉션 인터페이스)와 ArrayList 예제 실습

Explain컬렉션 인터페이스 (Collection Interface): 하나의 객체를 관리하기 위한 메서드가 정의된 인터페이스: 하위에 List와 Set 인터페이스를 가짐1. 리스트 인터페이스 (List Interface)- 순서가 있는 자료관리, 중복을 허용 - 객체를 순서에 따라 저장하고 관리하는데 필요한 메서드가 선언된 인터페이스- 배열의 기능을 구현하기 위한 인터페이스- 이 인터페이스를 구현한 클래스는 ArrayList / Vector / LinkedList / Stack / Queue 등이 있음2. 세트 인터페이스 (Set Interface)- 자료관리에 순서가 없음, 중복을 허용하지 않음 - 이 인터페이스를 구현한 클래스는 HashSet / TreeSet 이 있음- 아이디, 주민번호 등 유일..

Programming/Java_자바

[JAVA 기초] 스택(Stack), 큐(Queue), 트리(Tree)

Explain스택 (Stack): 하노이탑에 개체를 쌓듯 데이터가 LIFO(Last-In First-Out) 구조로 쌓이는 자료구조- 배열이나 연결리스트 둘다 구현가능- 중간에서 데이터의 수정이 일어나지 않음- 맨 위의 위치를 top, 맨 아래의 위치를 bottom 이라 칭함- LIFO (후입선출) 구조로 가장 나중에 넣은것이 가장 먼저 나오는 자료구조- push() = 데이터 삽입, pop() = 데이터 빼기 처럼 사용가능- 실무 사용 예로 게임개발에서 두 수 무르기, 왔던 곳을 되돌아가기 등의 기능을 구현할때 사용- 자바 JDK에서는 Stack 클래스로 구현하거나 ArrayList로 구현이 가능- Peek() : 일종의 get()으로 스택의 맨 위에 있는 원소를 반환 (=실제로 꺼내진 않고 그 값이 ..

Programming/Java_자바

[JAVA 기초] 제네릭 프로그래밍, 컬렉션 프레임워크

Explain제네릭 프로그래밍 (Generic Programmming) : 변수의 선언이나 메서드의 매개변수를 하나의 참조 자료형이 아닌 여러 자료형을 변환될 수 있도록프로그래밍 하는 방식- 실제 사용되는 참조 자료형으로의 변환은 컴파일러가 검증하므로 안정적- 컬렉션 프레임워크에서 많이 사용되고 있음1. 제네릭 클래스는 여러 참조 자료형으로 대체될 수 있어야하므로 그 부분을 "하나의 문자"로 표현함>> 이 문자를 '자료형 매개변수' 라고함>> 자료형 매개변수 선언은 T 로 하며, 이 T는 Type의 의미로 사용됨 다이아몬드 연산자 안에 T를 사용해 표현static키워드는 매개변수 T에 사용이 불가하다.2. 예시로 T extends 클래스= T가 사용될 클래스를 제한하기 위해 사용하는 기법컬렉션 프레임워크..

Programming/Java_자바

[JAVA 기초] 대중교통 이용 프로그램 만들기

강의를 참고해 상속없이, 객체 간의 협업으로 만든 프로그램이므로 코딩 난이도는 다소 떨어질 수 있습니다.Introduction필요한 클래스 : 학생, 버스, 지하철'학생'클래스의 정보 : 이름, 학년, 돈'학생'클래스의 메서드 : 탄다, 정보'버스'클래스의 정보 : 버스번호, 승객 수, 돈'버스'클래스의 메서드 : 태우다, 정보'지하철'클래스의 정보 : 노선번호, 승객 수, 돈'지하철'클래스의 메서드 : 태우다, 정보첫번째 클래스 (Student.java)package cooperation;public class Student { int grade; int money; String studentName; public Student(String studentName, int money) { this.s..

Programming/Java_자바

[JAVA 기초] 생성자

ExampleStudent studentLee = new Student(); Explain라는 코드에서 Student() 는 "생성자"를 의미한다.그렇다면 public Student() { } 처럼 기본생성자를 넣어주어야하지만 코드에는 없어도 실행이 잘되는 것을 확인할 수 있다.왜냐하면 자바 컴파일러가 자동적으로 추가해 실행해주기 때문인데, 자바 컴파일러는 클래스에 생성자가 하나도 없는 경우에 기본생성자를 알아서 추가해서 실행해주는 특징이 있다.* 특징1. 매개변수가 없음2. 하나의 클래스에는 반드시 적어도 하나 이상의 생성자가 존재해야함 3. 프로그래머가 따로 지정하지 않으면 컴파일러가 기본생성자를 자동으로 코드에 추가해줌 4. 만약 매개변수가 있는 생성자를 추가하게 된다면 기본생성자는 제공되지 않음Q..

LEFT
'자바 기초' 태그의 글 목록