-
자바 step1 - 기본 8가지 타입(문자형(string), )Java 2022. 10. 24. 21:16
package test.main; /* * [ Java 참조 데이터 type ] * * String type * * - 문자열을 다룰때 사용하는 데이어 type 이다. */ public class MainClass05 { public static void main(String[] args) { // "김구라"라는 String type 객체를 heap 영역에 만들고 그 참조값을 변수에 담기 String name="김구라"; // name 안에 있는 참조값을 tmp 변수에 복사해주기 String tmp=name; // "원숭이" 라는 String type 객체를 heap 영역에 만들고 그 참조값을 name 변수에 덮어쓰기 name="원숭이"; // name 변수를 비우기 ( null 은 참조 데이터 type 이 담길수 있는 빈 공간을 의미한다.) name=null; int num=10; boolean isRun=true; } }
한 글자가 아닌 문자열을 넣을 때는 string을 사용한다. 빈 값을 넣으려면 null을 사용한다.
package test.main; public class MainClass06 { public static void main(String[] args) { System.out.println("main 메소드가 시작 되었습니다."); // Javascript에서는 값을 안 넣어도 만들어지지만 Java에서는 만들어지지 않는다. int num1=10; String name1; // 아직 만들어 지지 않았기 때문에 num1 은 참조 불가 // int result=10+num1; // 아직 만들어 지지 않았기 때문에 name1 은 참조 불가 //System.out.println("name:"+name1); System.out.println("main 메소드가 종료 됩니다."); } }
Javascript에서는 값을 안 넣어도 만들어지지만 Java에서는 만들어지지 않는다. 값을 꼭 넣어놔야 된다.
name1은 아무런 값을 넣어두지 않았기 때문에 참조가 불가능하다.
package test.main; public class MainClass07 { public static void main(String[] args) { // 지역변수를 미리 만들고 필요한 값을 나중에 넣고 싶으면 초기값을 대입하는 것이 좋다. int num1=0; // 참조 데이터 type 이 담길 수 있는 빈 공간은 null 을 대입하면 된다. String name1=null; // 필요시에 값 넣기 num1=999; name1="김구라"; } }
그렇기 때문에 미리 값을 넣어주어야 되는데 그 값은 0이 되어도 되고 null을 넣어두어도 된다. 나중에 필요시 값은 변경 가능하다.
package test.main; /* * java 에서 기본 데이터 type 8 개를 제외한 나머지는 모두 참조 데이터 type 이다. * * 참조 데이터 type 객체는 heap 영역(사물함영역) 에 만들어진다. * * 모든 객체는 저장소(필드) 와 기능(메소드) 로 구성되어 있을 수 있다. * 어떤 저장소와 어떤 기능을 가지게 될 지는 해당 type 객체가 어떻게 설계 되었냐에 따라 다르다. * * 잠조값에 . 을 찍으면 저장소를 참조 하거나 기능을 사용할 수 있다. * 참조값에 . 을 찍으면 필드를 참조하거나 메소드를 호출할 수 있다. * 메소드 호출은 javascript 에서 함수 호출과 유사하다. */ public class MainClass08 { public static void main(String[] args) { String str="abcde12345"; str.length(); int result=str.length(); char result2=str.charAt(4); String lesult3=str.toUpperCase(); String str1="hello, hi"; String str2 = str1.toUpperCase(); /* * String 객체의 메소드를 활용해서 * Str 변수 안에 있는 문자를 모두 대문자로(UpperCase)로 변환해서 * Str2 라는 이름의 변수에 담아보세요. */ String greet="Hello! mimi, Bye! mimi"; String greet2=greet.replaceAll("mimi", "mama"); // 위의 문자열에서 mimi 라는 문자열을 mama 라는 문자열로 교체해서 결과를 greet2 에 담아보세요 // String 객체의 메소드를 활용해서 String message="My name is Kimgura"; boolean isStart=message.startsWith("My"); int index=message.indexOf("i"); /* * 1. 위의 문자열이 My 라는 문자열로 시작하는지 여부를 isStart 라는 변수에 담아보세요 * * 2. 위의 문자열에서 i 가 문자열의 몇번째 인덱스에 위치하고 있는지를 index 라는 변수에 담아보세요. */ } }
java 에서 기본 데이터 type 8 개를 제외한 나머지는 모두 참조 데이터 type 이다. length() 메소드는 값의 총 갯수를 나타낸다. UpperCase 메소드는 모든 문자를 대문자로 변환시켜준다.
replaceAll 메소드는 해당 문자를 다른 문자로 변경시켜준다.
startsWith 메소드는 맨 앞자리 문자열이 해당 문자열이 맞으면 true, 맞지 않으면 false를 반환해준다.
indexOf 메소드는 해당 문자열이 몇번째 인덱싱인지 알 수 있다.
'Java' 카테고리의 다른 글
자바 step3 - Class(객체생성) 상속(1) (0) 2022.10.24 자바 step2 - Operator(연산자, 3항 연산자) (0) 2022.10.24 자바 step1 - 기본 8가지 타입(정수, 실수, 논리형, 문자형(char)) (0) 2022.10.24 자바 step1 - 기본 8가지 타입 (0) 2022.10.24 자바 기초 2 - 콘솔창에 문자열 출력하기 (0) 2022.10.24