전체 글57 [Java] 문자열 비교 (==, equals)와 intern String a = "Android"; String b = "Android"; String c = new String("Android"); System.out.println(a == b); // true System.out.println(a == c); // false Systen.out.println(a.equals(c)) // true 문자열을 == 연산자로 비교할 때, 분명 문자열은 같은데 false가 나오는 경우가 있다. 그런데 equal() 메소드를 사용하면 true가 나온다. 대체 == 연산자와 equal 메소드는 무슨 차이가 있을까? String 생성 String 생성하는 것에 literal을 이용하는 것(String interning)과 생성자(new String())를 이용하는 것이 있다.. 2022. 12. 12. [Java] concat, append 문자열 합치기 문자열을 합칠 때 +, append, concat으로 한다. 하지만 가끔 + 연산자로 합친 문자열을 (String) “”처럼 형변환 해주는 경우가 있다. 그럼 연산자로 합치는 것과 메소드를 사용하는 것은 무슨 차이일까? + 연산자 String 객체는 불변이기 때문에 각각 합칠 때마다 새로 메모리에 할당된다. 여러 문자열을 합친다고하면 과도하게 메모리를 차지하게 돼버린다. 편리하지만 성능은 좋지 않은 방식이다. Java1.6부터는 StringBuilder, StringConcatFactory 또는 StringBuffer 을 이용해 문자열을 변환 시킨 뒤, append로 문자열을 더하고 다시 toString 함수로 문자열로 반환해준다. String a = "concat과 " String b = "append.. 2022. 12. 12. [Java] Maven, Gradle 빌드 관리 도구 해당 글은 전부 아래 영상에서 가져왔고 일부를 덧붙였다. https://www.youtube.com/watch?v=3Jp9kGDb01g 빌드 관리도구 프로젝트에 필요한 xml, properties, jar 파일들을 자동으로 인식하여 빌드 해주는 도구 소스 코드를 컴파일, 테스트, 정적분석 등을 하여 실행 가능한 앱으로 빌드해줌 프로젝트 정보관리, 테스트 빌드, 배포 등의 작업을 진행해줌 외부 라이브러리를 참조하여 자동으로 다운로드 및 업데이트의 관리해줌 자바의 대표적인 빌드 도구: Ant, Maven, Gradle Maven 자바의 대표적인 관리 도구였던 Ant를 대체하기 위해 개발됨 프로젝트의 외부 라이브러리를 쉽게 참조할 수 있게 pom.xml 파일로 명시하여 관리 참조한 외부 라이브러리에 연관된 다.. 2022. 12. 12. [Java] 원의 좌표 범위 Java swing에서 목표물이 생기면 클릭하여 죽이는 게임을 만든다고 하자. 클릭하여 죽는 기능을 만들 때, 네모네모하게 생긴 목표물이면 JButton으로 ActionListener를 연결하여 만들 수 있다. 혹은 JPanel이면 좌표값을 쉽게 구해 사용자 클릭값과 Panel의 좌표값을 비교하면 된다. 그런데 목표물이 동글동글하면? 그때 좌표값을 어떻게 구하는가와 사용자가 누른 좌표값을 원의 중심과 어떻게 비교하는가이다. // 원 좌표 범위 포함 if (Math.pow(R, 2) > (Math.pow(X - TX, 2) + Math.pow(Y - TY, 2))) { 포함 = true; } // 원 경계까지 포함 if (Math.pow(R, 2) >= (Math.pow(X - TX, 2) + Math.p.. 2022. 12. 12. [Java] 타입 캐스팅 (String - int - char) String - int String → int Integer.parseInt() String a = "123"; int b = Integer.parseInt(a); Integer.valueOf().intValue(); String a = "123"; int b = Integer.valueOf(a).intValue(); // Object로 리턴함 // intValue()를 안써도 자동형변환이 됨. int → String Integer.toString() int a = 123; String b = Integer.toString(a); String.valueOf() int a = 123; String b = String.valueOf(a); int + “” int a = 123; String b = a + ".. 2022. 12. 12. [Java] Mac termianl로 컴파일 & 실행 java파일 디렉토리에 간다 (cd) → cd /User/파일디렉토리 javac 파일명.java ls로 class 파일이 만들어졌는지 확인 cd .. 으로 상위 디렉토리로 이동 java 패키지명.파일명 → 만약 패키지가 없으면 java 파일명 2022. 12. 12. 이전 1 ··· 6 7 8 9 10 다음