전체 글
-
[Java] Iterator vs for-Eachjava 2023. 5. 24. 16:59
Iterator : 반복자 라는 뜻 더보기 An iterator over a collection. Iterator takes the place of Enumeration in the Java Collections Framework. Iterators differ from enumerations in two ways: Iterators allow the caller to remove elements from the underlying collection during the iteration with well-defined semantics. This interface is a member of the Java Collections Framework. forEach 와 Iterator를 사용한 순회 for ..
-
[Java] About Stringjava 2023. 5. 15. 10:53
Java에서 String 은 참조 타입의 객체이다. 과거 자료들을 보면 String의 문서에서 아래의 선언을 볼수 있었다고 하는데 현재는 아래와 같다 jdk 8 까지는 String 객체의 값은 char[] 배열로 구성되어져 있지만, jdk 9부터 기존 char[]에서 byte[]을 사용하여 String Compacting을 통한 성능 및 heap 공간 효율(2byte -> 1byte)을 높이도록 수정되었다. String 클래스는 아래의 불멸성과 연관되어 매번 새로운 String 객체를 생성하게되는데 문자열이 많은경우 성능이 좋지않고 이를 어느정도 완화하기 위해서 Java 9부터Compact Strings라는 기능이 추가됨 이는 작은 문자열의 경우 객체를 생성하지않고 내부적으로 바이트배열을 그대로 참조하게..
-
[Java] int[] arr vs int arr[]java 2023. 4. 17. 17:13
int[] arr1 = new int[10]; int arr2[] = new int[10]; 두가지 코드는 다르게 동작할까? int[] arr1 = new int[10]; int arr2[] = new int[10]; System.out.println(Arrays.toString(arr1)); System.out.println(Arrays.toString(arr2)); 실행해보면 더보기 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] 그냥 같은 배열임을 알 수 있다. 그럼 같은 문법을 다르게 표기 해놓은 이유가 무엇일까? C나 C++에서의 배열선언방법과 유사하다고 한다. ex) int arr[5]; int arr[] = { 1, 2, 3, 4..
-
[Java] Int 와 long / float 와 doublejava 2023. 4. 3. 20:26
Int 와 float 로 지정 되는 변수는 32bit long 과 double로 지정 되는 변수는 64bit로 표현된다. 이때, 자바에서는 long 으로 지정될 때 수치 끝에 l or L을 float로 표현 될 때는 f or F 붙여야만 오류가 나지 않는다. 왜일까 ? 우선 int 와 long 의 표현범위 차이를 보자 int 의 표현 범위는 -2,147,483,648~ 2,147,483,647 long의 표현 범위는 -9,223,372,036,854,775,808~ 9,223,372,036,854,775,807 long a = 21474836471; 이경우에 이런 오류를 마주 할 수 있다 . long의 경우 우선적으로 4byte인 intger로 메모리 절약 차원에서 저장되게되는데 적당한 양의 수를 커버 ..
-
IntelliJ Idea와 github 연동하기github 2023. 3. 31. 20:35
repository에 commit and push 를 해보자! ntelliJ IDEA 와 github 를 연동해 commit 해보자! 우선 Project from VSC repo 의 ssh 주소를 복사하자 https 는 오류가 나는 경우가 더러있다. (본인의 경우) 입력했다면 Clone. 캡쳐용으로 디렉토리를 새로만들다보니 2가 됐다 . 믿어주도록하자. 테스트용 클래스를 하나 생성한뒤 인사를하자 예의가 중요하다 항상 경로 폴더 우클릭후 git add VSC 에 기본으로 Git이 된상태라 바로 Commit 을 해주자 아래 터미널쪽 git창에보면 현재 branch를 알수있는데 add가 없는 상태에서 생성가능 rollback 때려보자 여차저차 완성
-
java 객체의 속성과 기능java 2023. 3. 27. 22:05
속성은 멤버 변수, 기능은 메서드로 구현 public class Order { public int orderId; public String buyerId; public String sellerId; public int productId; public String orderDate; // 여기 까지가 멤버 변수 선언 public void showOrderInfo() { System.out.println("주문번호" + orderId + "의" + " 구매자아이디는 " + buyerId + " 판매자아이디는 " + sellerId + "이며 " + "주문번호는 " + productId + " 주문일은 " + orderDate + "입니다."); } public void setBuyerId(String buy..
-
baekjoon - 11382 10171 10172baekjoon 2023. 3. 26. 22:30
11382 꼬마 정민 import java.util.*; public class Main{ public static void main(String args[]){ Scanner sc = new Scanner(System.in); long A = sc.nextLong(); long B = sc.nextLong(); long C = sc.nextLong(); System.out.println(A + B + C); } } 합문제에서 합 할거리만 하나 늘었다. 기특하다 정민이 10171 고양이 나만 없는 고양이를 자바로 구현해보자 public class Main{ public static void main(String args[]){ System.out.println("\\ /\\"); System.out.pr..
-
baekjoon - 10926 18108 10430baekjoon 2023. 3. 26. 22:29
10926 - ??! 문자열을 입력받아 ??! 라는 텍스트와 병합하는 문제 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String id = sc.next(); System.out.println(id + "??!"); } } next()는 개행문자를 무시하고 입력을 받고 nextLine()은 한줄 단위로 입력을 받기 때문에 개행문자로 포함한다. 18108 태국식 년도 세기 (108번뇌용 문제번호 맞추기인가?) import java.util.*; public class Main{ public static void main(Strin..