728x90
반응형
java.lang.String
package javalangex; public class ClassEx { public static void main(String[] args) throws Exception { Class c1 = Class.forName("java.lang.String"); //java자체적인, private처리되어있어 클래스명으로 접근.이탤릭체 static //java.lang.String 외부 라이브러리, 패키지명까지 기술 System.out.println(c1); System.out.println(c1.toString());//Object. 모든 자식클래스에서 오버라이드, 문자열값 리턴 사용가능. System.out.println(c1.toGenericString());//접근,기타제어자까지 출력 System.out.println(); c1 = Class.forName("java.util.List"); System.out.println(c1.getName());//스테레오타입까지는 없음 System.out.println(c1.toString()); System.out.println(c1.toGenericString()); System.out.println(); c1 = Class.forName("java.lang.Object"); System.out.println(c1.toString()); System.out.println(c1.toGenericString()); System.out.println(); c1 = Class.forName("java.awt.event.WindowAdapter"); System.out.println(c1.toString()); System.out.println(c1.toGenericString()); } }
class java.lang.String class java.lang.String public final class java.lang.String java.util.List interface java.util.List public abstract interface java.util.List<E> class java.lang.Object public class java.lang.Object class java.awt.event.WindowAdapter public abstract class java.awt.event.WindowAdapter
LangEx01.java
package javalangex; public class LangEx01 { public static void main(String[] args) { char a[] = {'b', ' ', 'A', '5', '한'}; //Character.is~~()메소드들은 해당 요소에서 안의 값만 그대로 가져와서 비교한다. for (int i = 0; i < a.length ; i++) { //문자열길이 length키워드 System.out.println("a[" + i + "] 요소 = " + a[i]); if (Character.isDigit(a[i])) System.out.println(" : 숫자"); //Character. Wrapper클래스명. static if (Character.isLetter(a[i])) System.out.println(" : 문자"); if (Character.isWhitespace(a[i])) System.out.println(" : 공백문자");//'\u0000' if (Character.isUpperCase(a[i])) System.out.println(" : 대문자"); if (Character.isLowerCase(a[i])) System.out.println(" : 소문자"); } } }
a[0] 요소 = b : 문자 : 소문자 a[1] 요소 = : 공백문자 a[2] 요소 = A : 문자 : 대문자 a[3] 요소 = 5 : 숫자 a[4] 요소 = 한 : 문자
MathEx01.java
package javalangex; public class MathEx01 { public static void main(String[] args) { //random System.out.println("0번: " + ((int)(Math.random() * 6) + 1) ); // 1 ~ 6사이 정수 //static영역이 있어 클래스명으로 접근 및 이탤릭체 확인됨. //Math.random() 0~1사이의 실수 출력 //int로 실수반환시 소수점이하 손실 System.out.println("1번: " + ((int)(Math.random() * 6) + 3) ); // 3 ~ 8사이 정수 System.out.println(); //absolute value System.out.println(Math.abs(10));//absolute value int System.out.println(Math.abs(-10));//Method Overload System.out.println(Math.abs(-3.14));//absolute value double System.out.println(); //ceil, floor, rint, PI System.out.println("무조건 올림처리 ceil : " + Math.ceil(10.12));//double값으로 System.out.println("무조건 내림처리 floor : " + Math.ceil(10.92)); System.out.println("반올림 처리 rint : " + Math.rint(10.51));//0.01로 반올림 범위가 커짐 System.out.println("PI(원주율)의 값 : " + Math.PI); System.out.println(); //max, min System.out.println("10, 20 중에 큰 값 : " + Math.max(10, 20)); System.out.println("10, 20 중에 작은 값 : " + Math.min(10, 20)); System.out.println(); } }
0번: 6 1번: 6 10 10 3.14 무조건 올림처리 ceil : 11.0 무조건 내림처리 floor : 11.0 반올림 처리 rint : 11.0 PI(원주율)의 값 : 3.141592653589793 10, 20 중에 큰 값 : 20 10, 20 중에 작은 값 : 10
RandomEx0.java
package javalangex; import java.util.Random; //ctrl shift o 전체패키지에 추가. ctrl shift f 정렬 public class RandomEx0 { public static void main(String[] args) { Random random = new Random(); //nextInt //: 정수의값만 ()매개변수에는 양수이상의 값만 입력가능 //매개변수가 없는 nextInt 음수 31승까지에 한해서 // int num = random.nextInt(); int num = random.nextInt(11); //nextInt에 값 지정이 안 되면 int의 유효범위 내의 정수가 임의 출력 System.out.println("0부터 10 사이의 임의의 정수 값 : " + num); //nextFloat //매개변수 입력불가. 0.0부터 1.0 사이의 임의의 실수 값 출력 float f = random.nextFloat(); System.out.println("0.0부터 1.0 사이의 임의의 실수 값 : " + f); f = (random.nextFloat()*10); System.out.println("0.0부터 10.0 사이의 임의의 실수 값 : " + f); //nextBoolean //true or false random boolean b = random.nextBoolean(); System.out.println("임의의 논리값 : " + b); } }
0부터 10 사이의 임의의 정수 값 : 5 0.0부터 1.0 사이의 임의의 실수 값 : 0.4681365 0.0부터 10.0 사이의 임의의 실수 값 : 7.2727685 임의의 논리값 : true
[ctrl] [shift] [o] 전체패키지에 추가.
[ctrl] [shift] [f] 정렬
SplitEx01.java
package javalangex; public class SplitEx01 { public static void main(String[] args) { String str = "123::4:67:10::::"; System.out.println(str + "\n=======================\n"); //str.split - noLimit String[] noLimit = str.split(":"); /* * //문자열객체명.split("구분자"[, 숫자값]) 메소드 : * 숫자값이 없는 경우 : noLimit = default (배열로 나누면서 연속적으로 아무 값도 없는 경우는 배열에서 제외 됨) * => 해당 구분자를 기준으로 문자열 객체를 하나씩 나누어 문자열 배열 형태)반환타입 String[])로 만든다. * => 해당 구분자는 삭제된다. * 숫자값이 있는 경우 : (범위지정 => 인덱스-1배열까지)의 String[]로 나눈다. * 기준으로 문자열 객체를 하나씩 나누어 배열 형태로 만든다. */ System.out.println("-----noLimit-----" + noLimit.length); for (int cnt = 0; cnt< noLimit.length; cnt++ ) { System.out.print("["+cnt+"]"+noLimit[cnt] + "\t"); } System.out.println("\n"); System.out.println("원본: "+ str); //String(원본훼손x)에서 제공하는 메소드 System.out.println("\n"); //str.split - limitTwo //첫번째 구분자 기준, 인덱스 1배열까지. String[] limitTwo = str.split(":",2); System.out.println("-----limitTwo-----" + limitTwo.length); for (int cnt = 0; cnt< limitTwo.length; cnt++ ) { System.out.print("["+cnt+"]"+limitTwo[cnt] + "\t"); } System.out.println("\n"); //str.split - limitPlus String[] limitPlus = str.split(":",7); System.out.println("-----limitPlus-----" + limitPlus.length); for (int cnt = 0; cnt< limitPlus.length; cnt++ ) { System.out.print("["+cnt+"]"+limitPlus[cnt] + "\t"); } System.out.println("\n"); //str.split - limitZero //구분자 모두 배열로 구분, 값이 없는 이후 구분자와 값은 무시함(디폴트 0임) noLimit와 동일 String[] limitZero = str.split(":",0); System.out.println("-----limitZero-----" + limitZero.length); for (int cnt = 0; cnt< limitZero.length; cnt++ ) { System.out.print("["+cnt+"]"+limitZero[cnt] + "\t"); } System.out.println("\n"); //str.split - limitMinus //구분자가 없을 때까지 값이 없어도 표현 String[] limitMinus = str.split(":",-1); System.out.println("-----limitMinus-----" + limitMinus.length); for (int cnt = 0; cnt< limitMinus.length; cnt++ ) { System.out.print("["+cnt+"]"+limitMinus[cnt] + "\t"); } System.out.println("\n"); } }
123::4:67:10:::: ======================= -----noLimit-----5 [0]123 [1] [2]4 [3]67 [4]10 원본: 123::4:67:10:::: -----limitTwo-----2 [0]123 [1]:4:67:10:::: -----limitPlus-----7 [0]123 [1] [2]4 [3]67 [4]10 [5] [6]:: -----limitZero-----5 [0]123 [1] [2]4 [3]67 [4]10 -----limitMinus-----9 [0]123 [1] [2]4 [3]67 [4]10 [5] [6] [7] [8]
SplitEx02.java
package javalangex; public class SplitEx02 { public static void main(String[] args) { String mail = "hello-kitty@hellokitty.com"; //구분자 : - @ , 을 구분자로 인식 . + * 등은 \\. \\+ \\*등으로 해주어야 인식됨. //split("-|@|\\.") String[] strAry = mail.split("-|@|\\."); //|or for (String s : strAry) System.out.print(s + "\t"); System.out.println("\n"); //split("\\+") mail = "1+21+3+47+5"; strAry = mail.split("\\+"); for (String s : strAry) System.out.print(s + "\t"); System.out.println("\n"); //split("\\*") mail = "1*21*3*47*5"; strAry = mail.split("\\*"); for (String s : strAry) System.out.print(s + "\t"); System.out.println("\n"); } }
hello kitty hellokitty com 1 21 3 47 5 1 21 3 47 5
StringBufferEx00.java
StringBuffer
package javalangex; public class StringBufferEx00 { public static void main(String[] args) { String str = new String("Java"); System.out.println("str 문자열 주소1: " + System.identityHashCode(str)); str = str + " 수업" ; System.out.println("str 문자열 주소2: " + System.identityHashCode(str)); str = str + " 시간" ; System.out.println("str 문자열 주소3: " + System.identityHashCode(str) + "\n"); /* * StringBuffer 가변형. * 단축형식으로 값을 입력할 수는 없다. 단축형식 String str = "Java"; * identityHashCode가 바뀌지 않으며 * 원본훼손이 일어난다. */ StringBuffer strb = new StringBuffer("");//""빈값 //strb = "가나다라마바사" ; (x) System.out.println(strb); System.out.println("strb 문자열 주소1: " + System.identityHashCode(strb)); System.out.println("길이1: " + strb.length()); strb = strb.append("Java 수업"); //""빈값 + append System.out.println("strb 문자열 주소2: " + System.identityHashCode(strb)); System.out.println(strb); System.out.println("길이2: " + strb.length()); strb = strb.append(" 수업 수업 수업"); System.out.println("strb 문자열 주소3: " + System.identityHashCode(strb)); System.out.println(strb); System.out.println("길이3: " + strb.length()); strb = strb.append(" 수업"); System.out.println("strb 문자열 주소4: " + System.identityHashCode(strb)); System.out.println(strb); System.out.println("길이4: " + strb.length()); } }
str 문자열 주소1: 1521118594 str 문자열 주소2: 1940030785 str 문자열 주소3: 1869997857 strb 문자열 주소1: 1617791695 길이1: 0 strb 문자열 주소2: 1617791695 Java 수업 길이2: 7 strb 문자열 주소3: 1617791695 Java 수업 수업 수업 수업 길이3: 16 strb 문자열 주소4: 1617791695 Java 수업 수업 수업 수업 수업 길이4: 19
StringBuffer |
||
StringBuffer 가변형. * 단축형식으로 값을 입력할 수는 없다. 단축형식 String str = "Java"; * identityHashCode가 바뀌지 않으며 * 원본훼손이 일어난다. |
||
append //""빈값 + append | ||
delete 시작인덱스 4번~인덱스 7번까지 | ||
deleteCharAt(1) 해당 인덱스 문자만 제거 | ||
charAt(1) 해당 인덱스 문자만 가져오기 | ||
insert 인덱스번호, 추가 문자열 | ||
reverse 문자열을 역순으로 재배치 | ||
package javalangex; public class StringBufferEx01 { public static void main(String[] args) { //delete()메소드 StringBuffer str = new StringBuffer("Java Oracle"); System.out.println("원본 문자열 : " + str); System.out.println("길이0: " + str.length()); System.out.println("공간0: " + str.capacity() + "\n"); //capacity값 예상불가 //delete //시작인덱스 4번~인덱스 7번까지 System.out.println(str.delete(4, 8)); System.out.println(str); System.out.println("길이1: " + str.length()); System.out.println("공간1: " + str.capacity() + "\n"); //deleteCharAt(1) //해당 인덱스 문자만 제거 System.out.println(str.deleteCharAt(1));//원본훼손이 일어난상태에서 추가 삭제 System.out.println(str); System.out.println("길이2: " + str.length()); System.out.println("공간2: " + str.capacity() + "\n"); //charAt(1) //해당 인덱스 문자만 가져오기 System.out.println(str.charAt(1));//원본훼손이 일어난상태에서 문자만 가져오기 System.out.println(str); System.out.println("길이3: " + str.length()); System.out.println("공간3: " + str.capacity() + "\n"); } }
원본 문자열 : Java Oracle 길이0: 11 공간0: 27 Javacle Javacle 길이1: 7 공간1: 27 Jvacle Jvacle 길이2: 6 공간2: 27 v Jvacle 길이3: 6 공간3: 27
StringBufferEx02.java
원본 문자열 : Java 만세!! str0: JavaScript 만세!! str0: JavaScript 만세!! str1: !!세만 tpircSavaJ str1: !!세만 tpircSavaJ
728x90
반응형
'[JAVA]' 카테고리의 다른 글
[16일차 오전] lotto Calendar SimpleDateFormat LocalDateTime DateTimeFormatter (0) | 2024.01.03 |
---|---|
[15일차 오후] Scanner StringTokenizer Arrays binarySearch (0) | 2024.01.02 |
[14일차 오후] (0) | 2023.12.29 |
[14일차 오전] (0) | 2023.12.29 |
아스테리스크 Wraper 상속 오버라이딩 this super 추상클래스 어노테이션 (0) | 2023.12.28 |