728x90
반응형
다이어그램 만들기2
+OneClass public class OneClass {
private static OneClass ocs ;
private int iNum ;
private OneClass ( ) { }
public static OneClass ( ) {
return 값; }
public int getINum ( ) {
return 값; }
public void getINum ( int iNum ) { }
}- ocs : OneClass
- iNum : int- OneClass()
+ getIns ( ) : OneClass
+ getINum ( ) : int
+ getINum( iNum : int ) : void
Ex01.java
String
package one; public class Ex01 { public static void main(String[] args) { //직접 문자열을 지정(canonical 문자열) //단축(shorthand) 초기화로 객체 생성 String s1 = "Java Korea"; String s2 = new String("Java Korea"); //s2 문자열을 canonical 문자열로 전환 String s3 = s2.intern(); //단축 초기화로 객체 생성 String s4 = "Java Korea"; System.out.println(">> String 객체가 참조하는 주소가 같은지 비교"); System.out.println("s1 == s2 : " + (s1 == s2)); System.out.println("s2 == s3 : " + (s2 == s3)); System.out.println("s1 == s3 : " + (s1 == s3)); System.out.println("s1 == s4 : " + (s1 == s4)); System.out.println(">> String 데이터 값(내용)이 같은지 비교"); System.out.println(s1.equals(s2)); //equals "문자열값"을 비교할때 사용하는 method System.out.println(s2.equals(s3)); System.out.println(s1.equals(s3)); System.out.println(s1.equals(s4)); System.out.println(">> String 데이터의 해쉬코드"); System.out.println(s1.hashCode()); //hashCode : 식별자료값이 위치한주소 System.out.println(s2.hashCode()); System.out.println(s3.hashCode()); System.out.println(s4.hashCode()); System.out.println(">> String 데이터의 식별해쉬코드"); System.out.println(System.identityHashCode(s1)); //identity : 식별자료가 위치한 주소 System.out.println(System.identityHashCode(s2)); System.out.println(System.identityHashCode(s3)); System.out.println(System.identityHashCode(s4)); //해당 객체가 해당 자료형이 맞는지 확인 String str = "Hello"; System.out.println( str instanceof String); //str이 String에 속하는 객체인지 확인 //instanceof 객체이상 비교형으로 기본자료형에서는 사용불가 } }
package java.lang 는 소속 및 별도 import없이 접근가능
String str = "파랗다" ; 단축형식
2 1
String str1 = new String("파랗다"); 공간부터 할당
String str2 = "파랗다"
String |
은 고정형 자료형이기 때문에 값이 바뀌면 주소값이 바뀐다. 원본훼손이 일어나지 않는다. |
Ex02.java
String
package one; public class Ex02 { public static void main(String[] args) { //concat : 문자열 뒤로 추가 형식 : 문자열객체.concat("뒤에 추가할 문자열"); String str = new String("Java"); //&100 객체명 부여 System.out.println("원본 문자열 : " + str); System.out.println(str.hashCode()); System.out.println(str.concat("수업")); //&200 객체명 부여x System.out.println("concat() 메소드 호출 후 원본 문자열 : " + str); System.out.println(str.hashCode()); System.out.println(str.concat("수업").hashCode()); } }
원본 문자열 : Java 2301506 Java수업 concat() 메소드 호출 후 원본 문자열 : Java 2301506 -2081629073
concat |
concat : 문자열 뒤로 추가 형식 : 문자열객체.concat("뒤에 추가할 문자열"); concat을 부여하더라도 String 주소값, 원본은 바뀌지 않는다. |
[ctrl] + click = return타입 확인
Ex03.java
trim
package one; public class Ex03 { public static void main(String[] args) { String str1 = new String("해피썬데이"); System.out.println("기존 str1의 길이 : " + str1.length()); //문자열의 길이 str1 = " " + str1 + " "; //앞에 2개, 뒤에 3개의 공백 추가 System.out.println("공백 추가된 str1의 길이 : " + str1.length()); str1 = str1.trim(); //trim 문자열내 문자열 양쪽 끝 공백제거 메소드 System.out.println("공백 제거된 str1의 길이 : " + str1.length()); char ch = str1.charAt(2); //charAt(인덱스번호) 특정 위치에 있는 문자 한 개 System.out.println(str1 + "의 charAt(2) : " + ch); //substring(값1) : 값1에 해당되는 인덱스번호의 문자열부터 마지막문자열까지 가져오세요 //substring(값1,값2) : 값1에 해당되는 인덱스번호부터 (값2-1)을 한 인덱스 번호에 해당되는 문자열까지 가져오세요 String str2 = str1.substring(3); //문자열의 일부분을 발췌 //3번 인덱스 ~ 끝까지 System.out.println(str1 + "의 substring(3) : " + str2); String str3 = str1.substring(2, 4); //2번 ~ (4 - 1)번 인덱스 System.out.println(str1 + "의 substring(2, 4) : " + str3); } }
기존 str1의 길이 : 5 공백 추가된 str1의 길이 : 10 공백 제거된 str1의 길이 : 5 해피썬데이의 charAt(2) : 썬 해피썬데이의 substring(3) : 데이 해피썬데이의 substring(2, 4) : 썬데
Ex04.java
contains
package one; public class Ex04 { public static void main(String[] args) { //contains : 문자열 포함 여부 String str = "my java test"; System.out.println( str.contains("java")); System.out.println( str.contains(" my")); System.out.println( str.contains("JAVA")); System.out.println( str.contains("java test")); } }
true false false true
Ex05.java
//replace //replaceallpackage one; public class Ex05 { public static void main(String[] args) { //문자열 치환 : replace, replaceAll(정규표현식 사용가능) //replace("기존문자열", "변경할 문자열"); String b = "Welcome to Java World"; System.out.println(b.replace("Java", "Computer")); System.out.println(b.replaceAll("Java", "Computer")); String str = "abcdefghijk"; System.out.println("result ===> " + str.replaceAll("[abchij]", "굿")); //[배열]해당 문자열 변경 System.out.println("result ===> " + str.replaceAll("[^abchij]", "굿")); //[^]해당 문자열 제외하고 변경 System.out.println("result ===> " + str.replace("a", "굿").replace("b", "굿").replace("c", "굿").replace("h", "굿").replace("i", "굿").replace("j", "굿")); //체인기법 연쇄적인 접근연산으로 변경 System.out.println("result ===> " + str.replace("abc", "굿굿굿").replace("hij", "굿굿굿")); } }
Welcome to Computer World Welcome to Computer World result ===> 굿굿굿defg굿굿굿k result ===> abc굿굿굿굿hij굿 result ===> 굿굿굿defg굿굿굿k result ===> 굿굿굿defg굿굿굿k
728x90
반응형
'[JAVA]' 카테고리의 다른 글
[11일차 오후] 상속 오버라이딩 (0) | 2023.12.26 |
---|---|
[11일차 오전] 아스테리스크 (0) | 2023.12.26 |
[20231222] 10일차 (0) | 2023.12.22 |
[20231221] 9일차 오후 (0) | 2023.12.22 |
[20231221] 9일차 오전 (0) | 2023.12.21 |