본문 바로가기

Java4

[JAVA] 삼항연산자(ternary operator) 자바에서 유일한 삼항연산자를 사용하면 if else문을 간결하게 사용할 수 있다. 조건식이 참(true)이면 : 의 왼쪽, 거짓(false)이면 : 의 오른쪽 값을 반환한다. 변수 = (조건식) ? true반환값 : false반환값 if else문을 삼항연산자로 표현한 것을 보면 이해가 쉽다. int num1 = 10; int num2 = 20; String result; if (num1 > num2) { result = "num1이 크네"; } else { result = "num2가 크네"; } int num1 = 10; int num2 = 20; String result = (num1 > num2) ? "num1이 크네" : "num2가 크네"; 삼항연산자는 if else문에 비해 성능이 뛰어나지는.. 2022. 9. 19.
[JAVA] 싱글톤 패턴(Singleton pattern) 프로그램에서 하나의 객체(인스턴스)만 만들도록 보장해야하는 경우 사용 new 연산자로 객체를 생성하지 못하도록 생성자를 private 으로 선언 static 으로 유일한 객체 생성 외부에서 유일한 객체를 참조할 수 있는 public static get() 메서드 작성 구현 public class *클래스* { // 정적 객체 private static *클래스* *객체* = new *클래스*(); // 생성자 private *클래스*() {...} // 정적 메서드 static *클래스* getInstance() { if(*객체* == null) { *객체* = new *클래스*(); } return *객체*; } } *클래스* obj = *클래스*.getInstance(); 예시) java.uitl.C.. 2022. 9. 15.
[JAVA] 배열 복사(array copy) 얕은 복사 = 연산자를 사용해 주소를 연결함 같은 주소를 공유하기 때문에 a를 수정하게 되면 b도 수정됨 int[] a = {1, 2, 3}; int[] b = a; System.arraycopy int[] arr1 = {10, 20, 30, 40, 50}; int[] arr2 = {1, 2, 3, 4, 5}; System.arraycopy(arr1, 0, arr2, 1, 3); for(int i=0; i 2022. 9. 15.
[JAVA] 형 변환(Casting) 자동 타입 변환(promotion) 값의 허용 범위가 작은 타입이 허용 범위가 큰 타입으로 저장될 때 발생 long lVal = 100000000L float fVal = lVal; // 1.0E8f double dVal = lVal; // 1.0E8 char cVal = 'A'; int iVal = cVal; // 65 정수 연산은 모두 int 타입으로 자동 타입 변환 후 계산 됨 정수 연산이 필요하면 int로 선언할 것 자동 타입 변환을 하지 않아 성능 향상 byte x = 10; byte y = 20; byte z = x + y; // 컴파일 에러(byte z = int 30) int z = x + y; // 30 byte z = 10 + 20; // 30 (int로 변환 x) 연산에서 피연산자끼리.. 2022. 9. 15.
반응형