Back-End - Main Menu/Java 212

Ex09_16 - 오토박싱 & 언박싱

package com.kook.ch09Project; import java.util.ArrayList; public class Ex09_16 { public static void main(String[] args) { int i = 10; /* 기본형도 참조형으로 강제형변환(casting) 가능 지금은 아니지만, 예전엔 해당 방식을 사용하였다고함 */ Integer intg = (Integer)i; Object obj = (Object)i; Long lng = 100L; //100L은 기본형인데 Long형(wrapper클래스)으로 사용가능(오토박싱) int int2 = intg + 10; /* 래퍼객체형 + 기본형 연산이 JDK 1.5부터 가능 intg에 intValue()가 자동으로 첨가됨(컴파일러가 ..

Ex09_15 - 문자열을 숫자로 변환하기

package com.kook.ch09Project; //국.변 public class Ex09_15 { public static void main(String[] args) { int i = new Integer("100").intValue(); //요즘은 안쓰는 방식임 //문자열을 인자로 받아 Integer객체를 생성 후 intValue()로 int값으로 변환 int i2 = Integer.parseInt("100"); //parseInt는 int로 반환 Integer i3 = Integer.valueOf("100"); //valueOf는 wrapper클래스로 반환 int ix = Integer.valueOf("100"); //반환된 래퍼클래스인 Integer가 자동 int로 변환(오토박싱 수행함) ..

Ex09_14 - 래퍼(wrapper) 클래스

package com.kook.ch09Project; public class Ex09_14 { public static void main(String[] args) { /* Integer i = new Integer(100); -> 수행 불가 자바 9버전부터 생성자를 이용하여 wrapper클래스 객체 만드는것을 지양함 */ Integer i = 100; //기본형값을 객체형으로 자동으로 박싱(오토박싱)해줌 Integer i2 = 100; //String처럼 리터럴로 초기화하여 객체를 생성하면 JVM에서 동일한 값이면 공동으로 사용(주소는 같음) System.out.println("i==i2 ? " + (i == i2)); System.out.println("equals로 비교 : " + i.equals(..

Ex09_13 - Math의 메서드

package com.kook.ch09Project; import static java.lang.Math.*; //Math클래스의 모든 멤버를 Math.없이 사용 import static java.lang.System.*; //System의 모든 멤버도 System.없이 사용 public class Ex09_13 { public static void main(String[] args) { double val = 90.7552; out.println("round(" + val + ") = " + round(val)); /* System과 Math모두 생략하고 멤버 사용 long round는(double d)으로 처리- 소수점 첫자리에서 반올림 long형 정수 */ val *= 100; //val = val..

Ex09_12 - StringBuffer의 생성자와 메서드

package com.kook.ch09Project; public class Ex09_12 { public static void main(String[] args) { StringBuffer sb = new StringBuffer("01"); /* 생성자 중 문자열을 파라미터로 갖는 생성자(문자열 + 16개문자 수용 char배열 만들어 처리) new StirngBuffer()는 초기화 문자열 없이 크기가 16인 char배열 만들어 처리 new StirngBuffer(int length)는 초기화 문자열은 없이 char배열 크기만 지정 */ StringBuffer sb2 = sb.append(23); /* append는 파라미터로 모든 데이터형을 사용할 수 있는 오버로딩된 메서드이고 리턴은 자기 자신 객체..

Ex09_11 - StringBuffer의 비교

package com.kook.ch09Project; public class Ex09_11 { public static void main(String[] args) { //StringBuffer는 java.lang에 있는 기본 크랠스 StringBuffer sb = new StringBuffer("abc"); //생성자중 파라미터로 문자열을 사용하느 생성자(문자열 + 16문자 수용 가능 char[]배열 생성) //StringBuffer sb1 = "abc"; //StringBuffer는 리터럴로 객체 생성 불가 StringBuffer sb2 = new StringBuffer("abc"); //==은 참조형 주소 비교 System.out.println("sb == sb2 ? " + (sb == sb2));..

Ex09_10 - 문자열과 기본형간의 변환

package com.kook.ch09Project; //국.변 public class Ex09_10 { public static void main(String[] args) { int iVal = 100; String strVal = String.valueOf(iVal); /* String클래스의 클래스형(static)메서드인 valueOf()는 파라미터; 데이터형을 달리하는 오버로딩된 메서드들임 */ double dVal = 200.0; String strVal2 = dVal + ""; //문자열과 결합하면 문자열(+는 결합연산자) //각 wrapper클래스(기본형을 클래스형으로 처리)의 parse데이터형 메서드를 이용 기본형으로 변경 double sum = Integer.parseInt("+" + ..

Ex09_09 - join()과 StringJoinner

package com.kook.ch09Project; import java.util.StringJoiner; //국.변 public class Ex09_09 { public static void main(String[] args) { // 문자열의 반환 String animals = "dog,cat,bear"; //우선 문자열을 배열로 반환 String[] arr = animals.split(","); //split("문자열 중간중간 구분해주는 문자") //arr = {"dog","cat,"bear"} //배열을 원하는 구분문자를 넣어 문자열로 변환 animals = String.join("-",arr); //join은 String static메서드 join("구분문자",사용할배열)로 문자열을 반환 Sy..

Ex09_08 - 빈 문자열(empty string)

package com.kook.ch09Project; //국.변 public class Ex09_08 { public static void main(String[] args) { //배열의 길이가 0인 배열 char[] cArr = new char[0]; //char[] = {};과 동일함 String s = new String(cArr); //String생성자 중 char[]을 인자로 사용하는 메서드 사용 String s1 = new String(""); String s2 = ""; System.out.println("cArr.length = " + cArr.length); System.out.println("@@@" + s + "@@@"); System.out.println("s와 s1비교 : " +..

Ex09_06 - 문자열(String)의 비교

package com.kook.ch09Project; public class Ex09_06 { public static void main(String[] args) { String str1 = "abc"; /* String객체를 리터럴로 만들시 리터럴 값은 클래스메모리에 저장되어 리터럴 값이 사용될때마다 비교하여 같은것이 있으면 기존 것을 사용(주소가 동일) */ String str2 = "abc"; System.out.println("String str1 = \"abc\";"); /* "String str1 = "abc";" 인데 ""안에 다른 ""를 넘는 것은 금지 되어 escape sequence문자 \를 앞에 붙여서 사용함 */ System.out.println("String str2 = \"ab..