프로그래밍/Java
-
깔끔한 코드 작성에 관한 의문 (과 해결)프로그래밍/Java 2023. 11. 14. 21:14
소트웍스 앤솔러지 라는 책을 읽은 사람의 책을 보며 이러한 궁금증이 생겼다. 메소드 분리 규칙1. 한 메소드에 오직 한 단계의 들여쓰기만 한다. 규칙2. else 예약어를 쓰지않는다. 객체 분리 규칙3. 모든 원시값과 문자열을 포장한다. 규칙7. 일급 컬렉션을 쓴다. 볼드 처리한 3개의 규칙이 무엇인지 궁금증이 생겼고 튜터님을 통해 이 궁금증을 해결하였다. 첫번째 규칙2. else 예약어를 쓰지않는다. 간단히 말하면 else를 쓰면 분기가 생긴다. 그래서 코드가 깔끔하게 읽히지 않으며, 규칙1인 들여쓰기를 줄이기 위함도 있다. public ~~~~~~~~~{ int chooseMenu = sc.nextInt(); sc.nextLine(); if (chooseMenu == 1) { System.out.pr..
-
자바 TMI_3프로그래밍/Java 2023. 10. 26. 20:57
1. 변수의 여러가지 작성법 Camel Case : 띄워쓰기 대신 각 단어의 첫 글자를 대문자로 표기하여 구분하는 방법. 중간중간 대문자가 볼록 솟아있는 모습이 낙타의 등과 같다하여 카멜 케이스라 명명됨 thisIsCamelCase Snake Case : 띄워쓰기 대신 언더바(_) 를 활용하여 구분하는 방법. 언더바로 이어진 모습이 뱀과 같다하여 명명됨. this_is_snake_case Pascal Case : 카멜케이스와 유사하지만 첫 글자도 대문자로 시작한다. 자바는 클래스만 대문자로 시작하는 암묵적 규칙이 있기 때문에 추천하지 않는 작성법 ThisIsPascalCase Kebab Case : 모든 단어가 소문자이며 띄워쓰기 대신 - 로 연결되어 있다. 이 모습이 꼬챙이에 꽂힌 케밥과 유사하다 하여..
-
자바 TMI_2프로그래밍/Java 2023. 10. 13. 21:02
1. Stack Heap - Stack은 정적으로 할당된 메모리영역 -> 그래서 크기가 몇바이트인지 정해져있는 기본형 변수를 저장한다 -> 추가로 크기가 정해져있는 참조형 변수의 주소값도 저장한다 - Heap은 동적으로 할당된 메모리 영역이다 -> 그래서 크기가 계속 늘어날 수 있는 참조형 변수의 원본을 저장한다 2. 비트연산 > 0,1은 2진수 값이기 때문에 - 자릿수를 왼쪽으로 옮기는 횟수만큼 2의배수로 곱셈이 연산되는 것과 동일함 - 자릿수를 오른쪽으로 옮기는 횟수만큼 2의배수로 나눗셈이 연산되는 것과 동일함 5 char[] char[] charArray = str.toCharArray(); char[] -> String String charArrayString = new String(charArr..
-
자바 TMI_1프로그래밍/Java 2023. 10. 11. 15:46
영어권은 문자를 1바이트로 표현이 가능 그러나 비영어권은 2바이트로 표현한다 자바는 char가 2바이트라 비영어권 문자도 깨지지않고 다 저장가능 c언어는 1바이트라서 한글같은 문자를 직접적으로 표현할 수 없고 배열을 쓰는 등의 방법을 통해 표현해야함 메모리공간의 이름을 심볼이라 하는데 그걸 프로그래밍적으로 변수라고 한다 bytecode 는 중간어 코드 자바는 컴파일하면 class 파일로 만들어준다. 어떤 OS에서 실행할지 모르기 때문에 확실하게 exe코드로 만들지 못하고 어중간하게 만들어둔 것 이것을 JVM에게 맡기는 형태이다. JVM이 1차 컴파일된 bytecode (.class)를 자신의 OS에 맞게 다시 컴파일 (.exe) 하여 메모리에 로딩하여 실행하기 때문에 자바는 OS에 독립적으로 실행이 가능..
-
java.time.패키지프로그래밍/Java 2023. 4. 5. 01:36
java.time.패키지란 기존의 Calender나 Date를 대체하기 위해 자바8부터 도입된 패키지이다. 많이 쓰이는 메소드로는 LocalDate.now(): 현재 날짜 리턴 LocalTime.now(): 현재 시간 리턴 LocalDateTime.now(): 현재 날짜와 시간 리턴 LocalDate.of(연, 월, 일): 연, 월, 일로 객체 생성 LocalTime.of(시간, 분): 시간, 분으로 객체 생성 LocalDateTime.of(연도, 월, 일, 시, 분): 연도, 월, 일, 시, 분으로 객체 생성 등이 있으며 이번 코딩테스트에서 접하게 되어 내용을 정리하게 되었다. import java.time.*; public class Example { public static void main(Str..