java 9

[Java 자바] 열거형 상수(enum)의 기본 사용법

⚾enum이란? : 공통점을 가진 상수들의 집합 계절 혹은 요일처럼 특정한 카테고리로 묶을 수 있는 데이터들이 있다. 프로그래밍을 하다보면 상수를 static final 로 선언하는 경우가 많은데, 이는 상수의 갯수가 많아질수록 효율을 떨어뜨린다. enum은 이를 보완하기 위해 만든 열거형 타입으로, 서로 연관된 상수들은 enum 클래스로 묶어주면 편리하다. ⚽enum 선언하기 enum Season{ 봄, 여름, 가을, 겨울 } 타입의 이름은 직관적으로 짓는 것이 가독성이 좋다. [ 봄, 여름, 가을, 겨울 ] 의 공통점은 계절이니 Season 타입으로 선언했다. enum Season { 봄("spring"), 여름("summer"), 가을("autumn"), 겨울("winter"); private St..

Programming/JAVA 2023.09.30

[Java 자바] 생성자(Construnctor) 의미와 사용법

❔생성자란? 객체(인스턴스)를 새로 생성할 때 호출하는 메서드로, 객체의 변수들을 초기화하는 작업에 사용된다. 생성자도 메서드이기 때문에 클래스 내부에서 선언 되어야 한다. 🎲생성자의 조건 1. 생성자의 이름은 클래스 이름과 동일해야 한다. 2. 생성자는 void 타입이다. 3. 모든 클래스에는 반드시 하나 이상의 생성자가 정의되어 있어야 한다. 📃생성자 선언 방법 // 매개변수 O [클래스명] (타입 변수명, 타입 변수명...){ ... }; // 매개변수 X [클래스명] ( ){ ... }; 메서드 내부에는 객체가 생성될 때 수행될 코드를 적는다. 그런데, 생성자는 void 타입인데 왜 이름 앞에 void를 붙이지 않는가? 메서드 앞에 리턴 타입을 붙이는 것이 원칙이지만, 모든 생성자는 리턴값이 없으..

Programming/JAVA 2023.09.13

[Java 자바] 문자배열을 문자열로 출력하기(Char[] -> String) / String.valueOf( )와 Arrays.toString( )의 차이

🚀 정리 계기 - 배열 요소의 값만 확인하는 목적으로 Arrays.toString( ) 메소드를 이용한 문자열 형변환을 해왔음 - 형변환 후, 인덱싱이 필요한 상황이었음 👉 습관처럼 형변환 후, 인덱스를 찾았는데 예상과 다른 값이 return됨 - 문자열 변환도 메소드에 따라 "형태" 가 다른 걸 알게 됨 🚋 Arrays.toString( ) - java.util.Arrays 클래스의 메서드 - 문자열로 변환할 때, 배열 모양 그대로 나온다 - 따라서 배열의 요소를 한 눈에 확인 가능 char[] arr = {'0', '1', '2', '3'}; System.out.println(Arrays.toString(arr)); 출력 👉 [0, 1, 2, 3] 배열의 요소뿐 아니라 [ 와 , 도 문자열의 요소로 ..

Programming/JAVA 2023.08.18

[Java 자바 프로그래머스] Lv.1 기사단원의 무기

문제🔒 https://school.programmers.co.kr/learn/courses/30/lessons/136798 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 접근🔌 number 를 나눴을 때 나머지가 0이 되는 숫자 = number의 약수 를 이용해서 로직을 짰다. public class Solution { public int solution(int number, int limit, int power) { int sum = 0; //공격력 수치 for(int i=1;i

[Java 자바] Calendar로 날짜와 시간 다루기 (현재 날짜 구하기/날짜 설정하기)

[ java.util.Calendar ] - java.util 패키지에 속한 클래스 - Date의 단점을 보완 - 날짜와 시간 값을 조작(?)할 때 편리하게 사용하는 중 현재 날짜와 시간 출력하기 import java.util.Calendar; Calendar cal = Calendar.getInstance();// getInstance 메소드를 호출해 객체 생성 cal.getTimes();// Sat Aug 12 20:32:57 KST 2023 (현재 날짜와 시간) System.out.println(cal.getTimes()); 출력 👉 Sat Aug 12 20:32:57 KST 2023 Calendar 는 추상 클래스이기 때문에 new 연산자를 사용해서 객체 생성이 불가능 *추상 클래스 : 미완성 클..

Programming/JAVA 2023.08.12

[Java 자바] 현재 날짜와 시간 알아내기, 원하는 형식으로 출력하기 (Date, SimpleDateFormat 클래스)

[ java.util.Date] java.util 패키지에 있는 클래스로 날짜와 시간을 다룬다. Date의 대부분의 메서드가 현재는 deprecated 되어 사용되지 않고 있지만, 날짜와 시간을 자바로 처리하다 보면, Date 클래스를 써야하는 경우가 종종 있다. 간단한 사용법은 정리하고 넘어가는 게 좋을 것 같다. 현재 날짜와 시간 import java.util.Date; Date now = new Date();//Fri Aug 11 23:37:59 KST 2023 Date 객체를 생성하면 현재 날짜/시간/요일 등의 데이터가 저장된다. KST는 간단히 말하면 한국 표준시를 의미한다. 아래 SimpleDateFormat 설명에 나온다. 출력 System.out.println(date.toString())..

Programming/JAVA 2023.08.12

[Java 자바] 프로그래머스 level.0 문자열 섞기

문제🔒 https://school.programmers.co.kr/learn/courses/30/lessons/181942 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이🔓 두 문자열의 길이만큼 반복하면서 인덱스에서 문자를 하나씩 뽑아서 더 해주면 된다. 그래서 코드 짜고 돌렸더니 바로 통과 class Solution { public String solution(String str1, String str2) { String answer = ""; for(int i=0;i

[Java 자바] 프로그래머스 Level.0 코드 처리하기

문제🔒 https://school.programmers.co.kr/learn/courses/30/lessons/181932 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 과정🔌 1. 문자열 code 를 문자 배열로 바꿔준다. 문자열 길이만큼 반복문을 돌면서 문자를 검사해야 할 거니까 char[] codeArr = code.toCharArray(); 2. 초기모드 mode를 초기값 0으로 선언한다. int mode = 0; 3. 먼저 모드가 0 일때와 1일 때로 조건을 각각 분리해서 if문으로 만들어줬고 그 조건문 안에서도 인덱스값이 홀수일 경우와 짝..

[Java 자바] 임의의 숫자 + 문자 코드 생성하기

사이트 가입 절차 중 랜덤으로 코드를 부여하고 인증하는 기능을 맡았는데 숫자 + 소문자 알파벳 + 대문자 알파벳으로 이루어진 랜덤 코드를 뽑고 싶었기 때문에 . . 일단 알파벳을 랜덤으로 뽑는 건 모름 . . 🙄 결론은 두 가지 방법이 있었다. 하나는 1)아스키 코드를 응용하는 방법 또 하나는 2)알파벳을 랜덤으로 뽑아주는 클래스 사용하는 방법 1) 아스키 코드 x Random 클래스 import java.util.Random; public String code() { Random random = new Random(); StringBuffer code = new StringBuffer(); for(int i=0;i

Programming/JAVA 2023.07.19