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
반응형

+ Recent posts