Java
자바 step1 - 기본 8가지 타입(문자형(string), )
코딩탕탕
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 메소드는 해당 문자열이 몇번째 인덱싱인지 알 수 있다.