# 02 썸네일형 리스트형 [윤성우 열혈자바] 13-1. 1차원 배열의 이해와 활용 배열은 인스턴스임!! 배열 요소는 반복문을 통해 순차적 접근이 가능하며, 이것은 배열이 가진 큰 장점 중 하나이다. 배열을 생성과 동시에 초기화 // 배열 생성int[] arr = new int[3]; // 배열 생성 및 초기화1int[] arr = new int[] { 1, 2, 3 }; // 배열 생성 및 초기화2int[] arr = { 1, 2, 3 }; // 배열 대상 참조변수 선언의 두 가지 방법int[] ar = new int[3]; // 조금 더 선호하는 방법int ar[] = new int[3]; 배열의 디폴트 초기화 기본 자료형 배열은 모든 요소 0으로 초기화 int[] ar = new int[10]; 인스턴스 배열(참조변수 배열)은 모든 요소 null로 초기화 String[] ar = .. [윤성우 열혈자바] 12-2. 콘솔 입력 Scanner 클래스 public static void main(String[] args) {String source = "1 3 5"; Scanner sc = new Scanner(source); // Scanner 인스턴스 생성int num1 = sc.nextInt(); // int 형 데이터 추출int num2 = sc.nextInt(); // int 형 데이터 추출int num3 = sc.nextInt(); // int 형 데이터 추출 int sum = num1 + num2 + num3;System.out.printf ( "%d + %d + %d = %d \n", num1, num2, num3, sum );} Scanner 클래스의 인스턴스 생성은 데이터를 뽑아 올 대상과의 연결을 의미한다. 연결.. [윤성우 열혈자바] 12-1. 콘솔 출력 toString 메소드 class Box {private String conts; Box ( String cont ) {this.conts = cont;} public String toString() {return conts; // 문자열 반환}} public static void main ( String[] args ) {StringBuilder stb = new StringBuilder ( "12" );stb.append(34);System.out.println( stb.toString() );System.out.println( stb ); Box box = new Box ("Camera");System.out.println( box.toString() );System.out.println( box .. [Java] String과 StringBuffer, StringBuilder의 차이점 자바에서 String과 StringBuffer, StringBuilder의 차이점을 알아본다.이들의 공통점은 모두다 String(문자열)을 저장하고 관리하는 클래스들이다.어떤 차이점이 있을까?String과 (StringBuffer, StringBuilder)의 차이점은 String은 immutable(불변)하고 StringBuffer, StringBuilder는 mutable(가변)하다는 점이다.쉽게 말해서 String은 new 연산을 통해 생성되면 그 인스턴스의 메모리 공간은 절대 변하지 않는다.그래서 + 연산이나 concat을 이용해서 문자열에 변화를 줘도 메모리 공간이 변하는 것이 아니라 새로운 String객체를 new로 만들어서 새로운 메모리 공간을 만드는 것이다.이렇게 새로운 문자열이 만들어지면.. [윤성우의 열혈자바] 11-3. String 클래스의 메소드 "ABC".length(); -> "ABC"에 해당하는 인스턴스가 먼저 생성되고 참조값이 반환된 다음 그 참조값을 기반으로 인스턴스에 접근하여 length 메소드 호출하는 방식임!! 문자열 연결시키기 class StringConcat {public static void main( String[] args ) {String st1 = "Coffee";String st2 = "Bread"; String st3 = st1.concat(st2);System.out.println(st3); String st4 = "Fresh".concat(st3); System.out.println(st4);}} 문자열의 일부 추출 String str = "abcdefg"; str.substring(2); // 인덱스 2 이후의.. [윤성우의 열혈자바] 11-2. String 클래스 String 인스턴스 생성의 두 가지 방법 String str1 = new String ( "Simple String" ); String str2 = "The Best String"; 둘 다 String 인스턴스의 생성으로 이어지고 그 결과 인스턴스의 참조 값이 반환된다. String 인스턴스와 println 메소드 System.out.println ( "Funny String" ); System.out.println( String str ) { ... } -> 일단 "Funny String" 이라는 String 인스턴스가 생성되고 참조값을 메소드로 전달하는 것임!!str 은 전달받은 String 인스턴스의 참조값을 가르키게 됨! 문자열 생성 방법 두 가지의 차이점 class ImmutableString.. [윤성우의 열혈자바] 11-1. 메소드의 오버로딩 오버로딩 관련 피해야할 애매한 상황 class AAA {void simple ( int p1, int p2 ) { ... }void simple ( int p1, double p2 ) { ... }} 다음과 같이 모호한 상황을 연출하지 않는 것이 좋다!! AAA inst = new AAA();inst.simple( 7, 'k' ); // 어떤 메소드가 호출될 것인가? -> 첫 번째 메소드가 호출된다. 이유는 'k' 는 char 형 이므로 double, int 로 모두 자동형변환 가능하지만char 은 int 형과 더 가까우므로 첫 번째 simple 메소드가 호출된다!!따라서 모호한 방법 보다는 (int) 'k' 또는 (double) 'k' 이런 식으로 정확하게 형변환 시켜주는 편이 낫다. 키워드 this를.. [윤성우의 열혈자바] 10-4. 또 다른 용도의 static 선언 static 초기화 블록 class DateOfExecution {static String date; // 프로그램의 실행 날짜를 저장하기 위한 변수 static {LocalDate nDate = LocalDate.now();date = nDate.toString();} public static void main(String [] args) {System.out.println(date);}} 인스턴스 생성과 관계 없이 static 변수가 메모리 공간에 할당될 때 실행이 된다. static import 선언 System.out.println(Math.PI);java.lang.Math.PI System.out.println(PI);import static java.lang.Math.PI; 추가된 문법이긴 하.. 이전 1 ··· 49 50 51 52 53 54 55 ··· 86 다음