배열의 값 변경방법(java)

2023. 3. 27. 22:39자바

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ배열의 값 변경하기 ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
한번 인스턴스가 생성되었을시 수정불가,

char[] char_arr = {'A' , 'B','C' , 'D', 'E', 'F','G'}  ;
char_arr[4]  = 'E';/System.out.println(char_arr);
//  출력 :  ABCDEFG


/String str = "ABCDEFG" ;
str[4]  = 'E';                //배열에서 사용하는 대괄호 사용시 에러가 발생 : str은 배열로 선언되지 않았기때문
System.out.println(str);
//  컴파일에러 !

String str = "ABCDEF";
str.charAt(4) = 'E';   // 해당인덱스의 캐릭터값 반환,  접근자 제공 x   , 값을 변형할 수는 없음 > 새클래스로 대체해야함
System.out.println(str);
// 컴파일 에러


//ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
// 스트링값을 변경할 때


//첫번쨰 방법
String str = "ABCDEFG";
str = str.substring(0,4)  +  'E'  + str. substring(5,7);
substring 메소드 = 변수.substring(0,4)
 
 //0~4 범위까지의 문자열을 떼어옴 , ABCD까지 떼어내서 E를 더하고 , F~G 를 뒤에 더해줌
System.out.println(str);
//  출력 :  ABCDEFG



두번째 방법

String str = "ABCDFFG";
str = "ABCDEFG";
System.out.println(str);
//출력: ABCDEFG



//세번째 방법

String str = "ABCDFFG";
char[]temp_arr = str.toCharArray();
str.toCharArray() ; =>// 스트링을 한글자씩 떼어내는 배열 메소드   캐릭터어레이로 변경됨
temp_arr[4] = 'E';  // temp_arr[]  안의 값을 변경
str = new String (temp_arr);  // 다시 String 으로 변환을 해줘야함 =>  변수(배열) = new String(자료형) + 새로운배열이름
 System.out.println(str);
// 출력 : ABCDEFG

//

//        /String str1 = "abc";
//        String str2 = new String ("abc");
//        System.out.println(str1== str2 );  이렇게되면 두개의 스트링의 "주소값" 을 비교하게됨 , 두개의 주소값이 다르기때문에 false
//          에러

'자바' 카테고리의 다른 글

자바 기초 -Scanner 정의, 사용법  (0) 2023.03.27