Programming/Java_자바

자바를 공부하고 연습하는 카테고리입니다.
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 기초] '자바'를 공부하면서 알아야 할 것

자바 공부를 하면서 놓쳤거나 미처 포스팅하지 못했던 내용을 요약 정리해보고자 합니다👀- 객체 지향 언어이지만, "자바" 만이 객체지향언어가 아닌 객체지향언어 중의 하나이다.: 자바 8 이후 문법인  람다(Lambda), 스트림(Stream), 병렬 API 등 기능이 많이 추가람다(Lambda) : 함수형 프로그래밍Stream API : 람다 표현식과 메서드 참조 등의 기능과 결합해서 매우 복잡하고 어려운 데이터 처리 작업을 쉽게 조회하고 필터링하고 변환하고 처리할 수 있도록 한다. 병렬 프로그래밍 : 여러개의 CPU코어에서 작업을 배분해서 동시에 작업을 수행한다.- "서버"에서 Linux운영체제를 많이 사용하기때문에 자바개발자라면 리눅스를 잘 알아야 한다. java –version (=java -ver..

Programming/Java_자바

[JAVA 기초] 내부클래스, '람다식' 이란?

Explain람다식 - Lambda Expression: 자바에서 함수형 프로그래밍을 구현하는 방식 (자바 8부터 지원): 클래스를 생성하지 않고 함수의 호출만으로 기능을 수행'함수형 프로그래밍' 이란?: 순수함수를 구현하고 호출함으로써 외부 자료에 부수적인 영향없이 매개변수만을 사용하도록 만든 함수: 외부에 영향을 미치지 않아 병렬처리 등에 사용이 가능 (+확장성 / +안정적)일반 함수에서는int add(int x, int y){ return x + y;]처럼 구현이 되지만,람다식에서는(int x, int y) -> {return x + y;}처럼 간단히 구현할 수 있다.매개변수가 1개이냐, 2개이냐에 따라 혹은 반환하는 값에 따라 중괄호의 여부가 달라지지만기본적인 구조는 이와 같은 것이다."매..

Programming/Java_자바

[JAVA 기초] Comparable 와 Comparator 인터페이스

ExplainCompareble 인터페이스: 컬렉션 프레임워크의 TreeSet, TreeMap 등 Tree--- 에서 쓰이는 인터페이스로, 정렬을 할 때 사용이 된다.: 여기서 TreeSet, TreeMap은 객체의 정렬에 사용되는 클래스를 의미: Compareble 인터페이스는 compareTo()메서드를 구현하고, 매개변수와 객체 자신(this)를 비교한다는 점이다.Comparator 인터페이스: 컬렉션 프레임워크의 TreeSet, TreeMap 등 Tree--- 에서 쓰이는 인터페이스로, 정렬을 할 때 사용이 된다.: Comparator 인터페이스는 compare()메서드를 구현하고, 두 개의 매개변수를 비교한다.- 중복을 허용하지 않으면서 오름차순이나 내림차순으로 객체를 정렬- 내부적으로는 이진검..

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()으로 스택의 맨 위에 있는 원소를 반환 (=실제로 꺼내진 않고 그 값이 ..

LEFT
'Programming/Java_자바' 카테고리의 글 목록