개발 공부/Java12 [자바다] 뒤늦게 적어보는 java 환경변수 세팅하는 법 아무 java를 설치 해준 후 터미널을 열어봅니다. 터미널을 키면 바로 홈 디렉토리이긴 하지만 혹시 모르니 cd ~를 입력해 홈으로 가준 후 ls-al을 입력해 .bash_profile이라는 파일을 찾아보세요. 없으면 아래의 코드를 입력해 파일을 생성해 줍니다. $ touch .bash_profile 그 후 `$ vim .bash_profile` 을 입력해서 파일을 텍스트 에디터로 열어줍니다. 그 다음 `i` 를 누르면 입력 모드로 전환되고 거기에 아래의 코드를 입력합니다. $ export JAVA_HOME=/Libarary/Java/JavaVirtualMachines/temurin-17.jdk/Content/Home $ export PATH=${PATH}:$JAVA_HOME/bin 그 다음 :wq를 입.. 2022. 10. 27. [자바다] 자바에서 for문이 while문의 속도 차이와 그 이유 (아마...) 백준에서 문제를 풀다보니 왠지 모르게 컴파일 시간에 연연하게 되네요 ㄱ- ... 시간을 줄이기 위해 여러 노력을 해보는데 for문을 사용할때가 while문보다 조금 더 빠른 것을 발견했습니다. for문을 사용하기 위해서는 변수를 하나 더 할당해야 하기 때문에 당연히 기존의 변수를 사용해 반복문을 구성한 while문이 더 빠를 것이라고 무작정 생각한 제 나름의 상식이 깨어져서 정말 놀랐습니다. 정말 미세한 차이지만 왜 그런가 검색해보니 for문이 변수 하나를 사용하지만 반복문이 끝나면 바로 할당된 메모리를 해제하는 반면 while문은 반복문에 활용되는 변수를 계속 가지고 있기 때문이라고 합니다. 컴파일 된 코드를 보면 for과 while의 차이는 없다는 글도 있고, 속도는 컴파일러의 차이일 뿐이라는 글도 .. 2022. 9. 27. [자바다] System.in.read() 사용법을 반복문 그리고 엔터와 함께 살펴보기 백준 10871 문제를 풀다가 발견한 System.in.read() 코드! 10871번: X보다 작은 수 (acmicpc.net) 저는 BufferedReader을 사용해서 문제를 풀었는데 시간을 훨씬 단축시킨 사람들 코드를 보니 System.in.read()을 사용하고 있었습니다. 그런데 이해가 잘 가지 않아서 혹시 저와 같은 사람이 있을까봐 글을 씁니다. 우선 System.in.read()는 문자 char타입인 문자 하나를 입력값으로 받고 그 문자에 대응하는 아스키 코드를 int값으로 출력하는 코드입니다. 이 문제는 공백을 포함한 긴 문자열인 '10 5 \n'를 입력값으로 받은 후 System.in.read()로 읽어들여야 하는데요 System.in.read()는 '문자 하나'만을 입력으로 받습니다... 2022. 9. 27. [자바다] int string등 각 타입에서 'equals' 와 '==' 구별하는 법 자바를 공부하면서 제일 헷갈리는게 equals와 ==여서 한 번 정리하고 넘어가려 합니다. 우선 제일 상위 클래스고 모든 클래스를 포함하는 Object 클래스에서 equals와 == 는 '주소값 비교'라는 같은 역할을 수행합니다. 그런데 단 한가지 클래스! String 클래스에선 equals가 주소값이 아닌 '값을 비교'하도록 오버라이딩 되어 있습니다. 그러니 String 외의 다른 모든 클래스를 equals로 비교하면 주소값을 비교해서 리턴하고 String 클래스의 값을 equals로 비교하면 값을 비교합니다. //같은 값을 가졌지만 주소값은 다르게 두 객체를 만들어주기 String str1 = new String("str"); String str2 = new String("str"); //equals.. 2022. 9. 22. 이전 1 2 3 다음 반응형