자바

🌟 조건문 개요조건문은 프로그램이 특정 조건에 따라 다른 동작을 수행하도록 제어하는 구조입니다. 자바에서 조건문을 사용해 코드 흐름을 조절해서 다양한 상황에 맞게 동작하도록 할 수 있습니다. 자바에서 조건문은 크게 if문과 switch문으로 나눠지며, 처리할 조건식의 복잡도와 경우의 수에 따라 적절한 조건문을 선택하면 효율성과 가독성을 높일 수 있습니다.🔑 조건문의 핵심조건식 : 비교 연산자(>, 조건문 종류 : if, if-else, if-else if, switch 등의 조건문을 사용해서 흐름을 제어할 수 있습니다.📌 if문if문은 가장 기본적인 형태의 조건문으로, 주어진 조건식이 true일 경우에만 블록 안의 코드가 실행됩니다. 조건식이 false일 경우, 코드 블록은 건너뛰게 됩니다. if문..
🌈 자바의 연산자(Operator)란?연산자는 프로그램에서 데이터를 처리하거나 조건을 평가할 때 사용하는 기호입니다. 자바에서는 다양한 종류의 연산자가 제공되며, 각 연산자는 특정한 기능을 수행합니다. 자바에서 제공하는 주요 연산자는 사칙연산을 포함해 많은 종류가 있습니다. 🛠 자바 연산자의 종류연산자는 크게 산술, 비교, 논리, 대입 연산자 4가지로 분류할 수 있습니다. 그 외에도 형변환 연산자(type) 등이 있습니다. 각 연산자는 특정한 목적을 가지고 데이터의 처리를 도와줍니다. 🔢 연산자의 우선순위와 결합규칙식에 사용된 연산자가 사용되면 연산자의 우선순위에 따라 계산 순서가 결정됩니다. 자바에서는 대부분의 연산자가 직관적이지만, 괄호를 사용해 우선순위를 변경할 수 있습니다.우선순위 : 산술 ..
이진 탐색 (Binary Search)이진 탐색은 이분 탐색, Binary Search라고도 부릅니다. 그리고 이진 탐색은 순차적 탐색보다 빠른 탐색을 하기 위해 고안된 탐색 알고리즘으로 실제로 이분 탐색의 시간 복잡도가 순차적 탐색의 시간 복잡도보다 낮습니다.즉, 이진 탐색은 정렬된 배열 또는 리스트에서 특정 값을 찾는 적합한 고속 탐색 알고리즘입니다.배열이 정렬되어 있어야 한다는 조건이 필요하기 때문에 배열이 정렬되어 있지 않은 경우에는 정렬 작업이 필요합니다.순차적 탐색정렬된 배열 안에서 특정 원소를 찾기 위해 인덱스가 0인 원소부터 차례대로 탐색합니다.순차적으로 탐색하기 때문에 원소를 중간에 건너뛰지 않습니다.이분 탐색정렬된 배열 안에서 특정 원소를 찾을 때 인덱스 i부터 j의 중간값과 비교합니다..
💡 변수(Variable)란?변수(Variable)는 데이터를 저장하고 처리하기 위해 메모리 공간에 이름을 붙인 것입니다. 변수를 사용하면 프로그램 실행 중 데이터를 쉽게 변경하고 관리할 수 있습니다. 자바에서 변수를 사용하려면 반드시 선언과 초기화 과정이 필요합니다.🏗 변수 선언과 초기화변수를 사용하려면 먼저 선언과 초기화가 필요합니다.// 변수 선언 : 데이터 타입과 변수명을 지정해서 메모리 공간을 사용합니다.int age;// 변수 초기화 : 선언된 변수에 값을 할당합니다.age = 30;// 선언과 초기화 동시에 수행int age = 30;초기화되지 않은 변수는 사용하려고 하면 컴파일 오류가 발생합니다.✍️ 변수의 명명규칙변수 이름을 작성할 때는 다음 규칙을 따라야 합니다.✅기본 규칙1️⃣ 대..
함수(Function)와 메서드(Method) 두 단어의 차이에 대해 정리한 글입니다. 우선, 함수와 메서드는 프로그래밍에서 기능 단위의 코드 블록입니다. 그러나, 일반적으로 함수와 메서드는 객체지향 프로그래밍과 절차지향 프로그래밍에 따라 약간의 차이가 있습니다. 함수(Function)란? 함수는 하나의 특별한 목적의 작업을 수행하기 위해 독립적으로 설계된 코드의 집합입니다. 함수는 절차지향 프로그래밍에서 사용되며, 데이터를 입력받아 처리하고 결과를 반환합니다. 함수는 프로그램의 구조화와 코드 재사용을 위해 사용되기 때문에 여러 곳에서 호출되어 사용이 가능합니다. 하나의 기능이 하나의 함수로 구현되어 있기 때문에 디버깅 작업이 편리해집니다. 메서드(Method)란? 메서드는 객체지향 프로그래밍에서 사용되..
🔥개인 취미 목적으로 프로그래머스 문제를 정리한 게시글입니다.https://school.programmers.co.kr/learn/courses/30/lessons/86051 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr✏️ 문제설명프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.전화번호가 문자열 phone_number로 주어졌을 대, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *로 가린 문자열을 리턴하는 함수, solution을 완성해 주세요.💡 제한사항phone_numbe..
🔥개인 취미 목적으로 프로그래머스 문제를 정리한 게시글입니다. https://school.programmers.co.kr/learn/courses/30/lessons/86051 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✏️ 문제설명 0부터 9까지의 숫자 중 일부가 들어있는 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자는 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해 주세요. 💡 제한사항 1
가장 기본인 참조형 객체 String에 대해 알아보려고 합니다. String 객체를 생성하는 데 방법은 두 가지가 있습니다. 첫 번째로 리터럴 방식("")으로 생성하는 것과 두 번째로 new 키워드로 생성하는 방법이 있습니다. 우선, 간단하게 String 객체를 저장하는 메모리 영역을 그림으로 보여드리겠습니다. 위 그림은 Java의 힙 메모리 영역입니다. 여기서 new 키워드로 String 객체를 생성하게 되면 Heap 영역에 메모리가 생성되고, 리터럴 방식으로 사용하게 된다면 Heap 영역의 내부에 있는 String constant pool 영역에 생성됩니다. String은 불변성을 지니고 있어 한번 저장된 값은 변하지 않습니다. 그러면 자바는 내부적으로 String 객체를 업데이트할 때 기존에 있는 ..
🔥개인 취미 목적으로 프로그래머스 문제를 정리한 게시글입니다. https://school.programmers.co.kr/learn/courses/30/lessons/12919 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✏️ 문제설명 String 배열 seoul의 element 중 "Kim"의 위치 x를 찾아, "김서방은 x에 있다"는 String을 반환하는 함수, solution을 완성하세요. seoul에 "Kim"은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다. 💡 제한사항 seoul은 길이 1 이상 1,000 이하인 배열입니다. ..
✏️[모던 자바 인 액션, 전문가를 위한 자바 8, 9, 10 기법 가이드] 스터디 관련 책 내용을 정리한 글입니다. 📌 이 장의 내용 형식 검사, 형식 추론, 제약 메서드 참조 람다, 메서드 참조 활용하기 람다 표현식을 조합할 수 있는 유용한 메서드 비슷한 수학적 개념 3.5 형식 검사, 형식 추론, 제약 람다 표현식 자체에는 람다가 어떤 함수형 인터페이스를 구현하는지의 정보가 포함되어 있지 않습니다. 따라서 람다 표현식을 제대로 이해하려면 람다의 실제 형식을 파악해야 합니다. 3.5.1 형식 검사 람다가 사용되는 컨텍스트를 이용해서 람다의 형식을 추론할 수 있습니다. 어떤 컨텍스트에서 기대되는 람다 표현식의 형식을 대상 형식이라고 부릅니다. 람다 표현식을 사용할 때 실제 어떤 일이 일어나는지 보여주는..