ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 자바 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 메소드는 해당 문자열이 몇번째 인덱싱인지 알 수 있다.

     

     

     

     

    댓글

Designed by Tistory.