먼저 homebrew를 설치합니다.PATH에 Homebrew 추가Homebrew가 PATH에 있는지 테스트다음은 Java를 아직 설치하지 않은 경우 설치해야 합니다.Rosetta 2 설치Homebrew 사용해서 java 설치OpenJDK8 설치마지막으로 JDK8을 설치
https://start.spring.io/zip 파일로 압축 풀기ctrl + nimport 한 프로젝트 옆에 boot까지 표시 될때 까지 기다려야 됨
Java에서 long과 Long은 서로 다른 데이터 유형입니다. long은 기본 자료형(primitive type)으로, 64비트 정수 값을 저장할 수 있습니다. Long은 java.lang 패키지에 포함된 클래스로, long 값을 객체로 래핑하는 래퍼 클래스(wrap
300은 10진수로 표현된 값입니다.10진수 300을 2진수로 변환합니다.300을 2진수로 변환하면 100101100이 됩니다.byte는 8비트로 표현되는 데이터 타입입니다.300의 이진 표현인 100101100은 9비트로 표현되므로 8비트로 축소해야 합니다.오른쪽에서
먼저 입력값을 100으로 나눈다. 그런다음 십의자리수와 일의자리수를 0으로 대입하고 출력입력값을 100으로 나누고 100으로 곱한다.
nextLine(): 입력 스트림에서 한 줄을 읽음. 개행 문자를 만날 때까지 모든 문자를 읽어옴. 따라서, 공백을 포함한 문자열을 읽을 수 있음.next(): 입력 스트림에서 공백이나 개행 문자를 만나기 전까지의 문자열을 읽어옴. 공백으로 구분된 단어를 읽을 때 주로
구글링 결과, 본인이 생성한 프로젝트의 Java 버전과 현재 본인 컴퓨터에 설치/설정된 Java 버전이 일치하지 않기 때문에 발생한 에러라고 나옴File - Project Structure - Project - Project SDK 변경File - Project Str
해결법:
1 + (1+2) + (1+2+3) + (1+2+3+4) .... (1+2+3+4+5+6+7+8+9+10) 의 합을 반복문으로 풀기다만 결과가 1540으로 출력됨
1 + (-2) + 3 + (-4)의 합이 100이 될 때까지 마지막으로 더해진 값을 출력합니다.sum, sign, lastValue, count 변수를 초기화합니다.while 루프를 시작합니다. 루프는 Math.abs(sum) <= 100 조건이 만족될 때까지
2x + 4y의 모든 해를 구하기 x와 y는 음이 아닌 정수이다. 바깥쪽 for 루프에서 x를 0부터 10까지 반복하며, 안쪽 for 루프에서 y를 0부터 10까지 반복합니다.각 반복에서 2x + 4y의 값을 계산하여 result 변수에 저장합니다.만약 result가
예시
배열 arr에 5개의 점수를 입력 받고 합을 구함
문제 풀이
String을 배열로 출력charAt 클릭할 경우 확인하면 string이 아닌 char type인걸 확인할수 있음
알파벳 소문자로 된 문자를 입력 받고 알파벳이 몇번 나왔는지 출력.나오지 않은 알파벳은 출력하지 않는다. 출력순서는 a부터 z까지
호출스택이 FILO 구조라서 먼저 진입된 수서는 main > first > second 이나 나오는 순서는 second > first > main 임.
parameter: 정의argument: 호출
price 배열의 값들을 coupon을 적용해서 합을 구함. 다만 price < coupon인 경우 그냥 더함.
다수의 데이터를 쉽고 효과적으로 처리할 수 있는 프로그래밍 방식 - 여러객체를쉽고편리하게다룰수있는다양한클래스를제공java.util 패키지에 포함 되어 있음interface를 사용하여 구현 됨순서가있는데이터의집합데이터의 중복을 허용구현클래스: ArrayList, Link
내부적으로 배열을 이용하여 저장인덱스를이용해배열요소에빠르게접근가능List 인터페이스를 구현하므로 순서가 유지되고 중복이 허용 됨크기를늘리기위해서새로운배열을생성하고기존의요소를옮기는복잡한과 정을 거침.장점인덱스번호를알고있으면조회시간이짧다단점크기를 변경하기 어렵다크기변경시새
비순차적으로 분포된 데이터를 연결데이터의 추가 삭제에 유리함다음노드를가리키는주소값만바꿔주면됨접근이 오래걸림순차적으로 앞에서부터 조회해야 됨List 인터페이스중복을 허용 하면서 저장 순서가 유지되는 컬렉션
스택(Stack)LIFO(Last In First Out)구조마지막에저장된것을제일먼저꺼내게된다. - ex) 괄호 검사, undo/redo, 수식 계산큐(Queue)FIFO구조먼저저장한것을먼저꺼내게됨ex)프린트작업목록,버퍼,은행대기표
우선순위 큐(PriorityQueue)저장한순서에상관없이우선순위가높은것부터꺼냄 - Heap이라는 자료구조로 구현되어 있음null 저장 불가능ex) 시뮬레이션 시스템, 작업 스케줄링, 수치해석 계산비어있으면 null 나오기 때문에 PriorityQueue에 저장된 요소를
컬렉션에 저장된 요소들을 읽어오는 방법을 표준화한 인터페이스 - 컬렉션에 iterator()를 호출하여 Iterator 객체를 얻어서 사용한방향으로만이동가능
컬렉션 내의 요소를 순차적으로 탐색하는 데 사용됩니다.이전 요소로 다시 돌아갈 수 없고, 컬렉션 내의 요소를 수정할 수 없습니다.순방향(forward)으로만 순회할 수 있습니다.컬렉션 인터페이스에서 제공됩니다.리스트(List) 인터페이스에서 파생된 인터페이스로, 리스트
Comparable자기자신과매개변수객체를비교 - compareTo 메서드를 구현Comparator두개의매개변수객체를비교 - compare 메서드를 구현정렬 메서드compare()와 compareTo()는 두 객체의 비교 결과를 반환하도록 작성한다 - 같으면0,오른쪽이더
HashSet – 순서X, 중복XSet 컬렉션 클래스에서 가장 많이 사용되는 클래스 해시알고리즘을이용하여검색속도가매우빠름 LinkedHashSet을 이용하면 순서를 유지할 수 있음
HashSet – boolean addHashSet은객체저장전중복체크를실행같은객체가있으면저장하지않음boolean add(Object o)는 equals()와 hashCode()를 호출하여 중복 된 객체가 있 는지 확인equals()와 hashCode()가 오버라이딩 되
HashSet – hashCode()의 오버라이딩 조건같은 객체는 hashCode()를 여러 번 호출해도 동일한 값을 반환해야 한다.equals()로 비교해서 true가 반환 된 두 객체의 hashCode() 값은 동일해야 함
HashMap - 순서X, 중복(키X,값O)Map 인터페이스를 구현해싱 기법을 사용하여 데이터가 많아도 검색이 빠름Collection 인터페이스와는 다른 저장 방식을 가짐(Key, Value) - Key는 Value를 찾기 위해 사용순서를 유지하려면, LinkedHas
brew 명령어 안될경우OpenJDK 멀티버전 설정
M1 MAC에서 STS3를 다운로드 받아서 실행 할 경우 위와 같은 JNI_CreateJavaVM symbol에러가 발생했다. M1 MAC에서 STS3를 사용할 일이 생겼다. 다만 sts3 github 링크에서 확인을 해보면 아래와 같이 ARM 버전이 없다는 것이
링크를 접속해서 를 다운로드한다.https://www.h2database.com/html/main.html다운로드한 zip 폴더를 압축해제한다.나같은 경우 sts3라는 폴더를 만들어 압축한 폴더를 넣었다.파일의 양식을 확장자랑 같이 확인한다.unix나 linu
https://projectlombok.org/downloadInstall Update 클릭해서 lombok 파일 컴파일 직접 STS.ini 파일을 확인한 경우 javaagent에 lombok.jar가 성곡적으로 추가됨
갑자기 실행이 잘 되었던 sts3가 위 사진 처럼 열리지가 않았다.코드 서명이 유효하지 않아서 열지를 못함 인증상태 확인 서명 인증하기 서명이 성공적으로 인증되었다고 로그가 뜸