본문 바로가기
TIL/JAVA

23.05.01

by J1-H00N 2023. 5. 1.

문자열 관련 함수(.length(), .indexOf(), .substring(), ...)

package nadocoding.Chap_03;

public class _01_String1 {
    public static void main(String[] args) {
        String s = "I like Java and Python and C.";
        System.out.println(s);

        // 문자열의 길이
        System.out.println(s.length()); // 29

        // 대소문자 변환
        System.out.println(s.toUpperCase()); // I LIKE JAVA AND PYTHON AND C.
        System.out.println(s.toLowerCase()); // i like java and python and c.

        // 포함 관계
        System.out.println(s.contains("Java")); // true
        System.out.println(s.contains("C#")); // false
        System.out.println(s.indexOf("Java")); // 7
        System.out.println(s.indexOf("C#")); // -1
        System.out.println(s.indexOf("and")); // 12
        System.out.println(s.lastIndexOf("and")); // 23
        System.out.println(s.startsWith("I like")); // true
        System.out.println(s.endsWith(".")); // true
    }
}

 

package nadocoding.Chap_03;

public class _02_String2 {
    public static void main(String[] args) {
        String s = "I like Java and Python and C.";

        // 문자열 변환
        System.out.println(s.replace(" and", ",")); // I like Java, Python, C.
        System.out.println(s.substring(7)); // 인덱스 기준 7부터 시작, 이전 내용은 삭제 // Java and Python and C.
        System.out.println(s.substring(s.indexOf("Java"))); // Java and Python and C.
        System.out.println(s.substring(s.indexOf("Java"), s.indexOf("."))); // Java and Python and C

        // 공백 제거
        s = "        I love Java.    ";
        System.out.println(s); //         I love Java.
        System.out.println(s.trim()); // I love Java.

        // 문자열 결합
        String s1 = "Java";
        String s2 = "Python";
        System.out.println(s1 + s2); // JavaPython
        System.out.println(s1 + ", " + s2); // Java, Python
        System.out.println(s1.concat(", ").concat(s2)); // Java, Python
    }
}

 

package nadocoding.Chap_03;

public class _03_StringCompare {
    public static void main(String[] args) {
        // 문자열 비교
        String s1 = "Java";
        String s2 = "Python";

        System.out.println(s1.equals(s2)); // false
        System.out.println(s2.equals("python")); // false
        System.out.println(s2.equalsIgnoreCase("python")); // 대소문자 구분 X // true

        // 문자열 비교 심화
        s1 = "1234"; // 벽에 붙은 메모지의 비밀번호 정보
        s2 = "1234"; // s1, s2가 참조함
        System.out.println(s1.equals(s2)); // true // 내용을 비교
        System.out.println(s1 == s2); // true // 참조를 비교

        s1 = new String("1234");
        s2 = new String("1234");
        System.out.println(s1.equals(s2)); // true // 내용을 비교하면 같으므로 true
        System.out.println(s1 == s2); // false // new로 새롭게 메모리를 할당해 만든 변수이기에 참조가 달라서 false
    }
}

 

package nadocoding.Chap_03;

public class _04_escapeSequence {
    public static void main(String[] args) {
        // 특수문자, 이스케이프 문자 (Escape Sequence, Escape Character, Special Character)
        // \n \t \\ \" \'
        System.out.println("자바가");
        System.out.println("너무");
        System.out.println("재밌어요");
        // 자바가
        // 너무
        // 재밌어요

        // \n = 줄바꿈
        System.out.println("자바가\n너무\n재밌어요");
        // 자바가
        // 너무
        // 재밌어요

        // \t = 탭
        System.out.println("해물파전\t\t9000원");
        System.out.println("김치전\t\t8000원");
        System.out.println("부추전\t\t8000원");
        // 해물파전		9000원
        // 김치전		8000원
        // 부추전		8000원

        // \\ = \ 출력
        System.out.println("C:\\Program Files\\Java");
        // C:\Program Files\Java

        // \", \' = ", ' 출력하기
        System.out.println("단비가 \"냐옹\"이라고 했어요");
        // 단비가 "냐옹"이라고 했어요
        System.out.println("단비가 \'뭘 봐?\' 라는 표정을 지었어요");
        System.out.println("단비가 '뭘 봐?' 라는 표정을 지었어요");
        // 단비가 '뭘 봐?' 라는 표정을 지었어요
        char c = 'A';
        c = '\'';
        System.out.println(c); // '
    }
}

 

package nadocoding.Chap_03;

public class _Quiz_03 {
    /*
    주민등록번호에서 생년월일 및 성별까지만 출력하는 프로그램을 작성하시오.

    1. 주민등록번호는 13자리로 구성
    2. 앞 6자리는 생년월일 정보, 뒷 7자리 중 첫 번째 숫자는 성별 정보
    3. 입력 데이터는 - 을 포함한 14자리의 문자열 형태

    ex)
    "901231-1234567"인 경우 901231-1 까지만 출력
    "030708-4567890"인 경우 030708-4 까지만 출력
     */
    public static void main(String[] args) {
        String num = "901231-1234567";
        System.out.println(num.substring(0,num.indexOf("-")+2));
    }
}

조건문

package nadocoding.Chap_04;

public class _01_If {
    public static void main(String[] args) {
        // 조건문 if
        int hour = 15;

        // if 문 내에서 하나의 문장을 실행할 때는 {} 생략 가능
        // if 문 내에서 두 개 이상의 문장을 실행할 때는 {} 생략 불가능
        if (hour < 14) {
            System.out.println("아이스 아메리카노 +1");
            System.out.println("샷 추가");
        }
        System.out.println("커피 주문 완료 #1");

        hour = 10;
        boolean morningCoffee = true;
        if (hour < 14 && morningCoffee == false) {  // 두 개 이상의 조건 입력 가능
            System.out.println("아이스 아메리카노 +1");
        }
        System.out.println("커피 주문 완료 #2");

        hour = 15;
        morningCoffee = true;
        if (hour >= 14 || morningCoffee) {
            System.out.println("아이스 아메리카노(디카페인) +1");
        }
        System.out.println("커피 주문 완료 #3");
    }
}

 

package nadocoding.Chap_04;

public class _02_Else {
    public static void main(String[] args) {
        // 조건문 if else
        int hour = 10;
        if (hour < 14) {
            System.out.println("아이스 아메리카노 +1");
        } else { // 그 외에 경우이면
            System.out.println("아이스 아메리카노(디카페인) +1");
        }
        System.out.println("커피 주문 완료 #1");

        hour = 10;
        boolean morningCoffee = false;
        if (hour >= 14 || morningCoffee == true) {
            System.out.println("아이스 아메리카노(디카페인) +1");
        } else {
            System.out.println("아이스 아메리카노 +1");
        }
        System.out.println("커피 주문 완료 #2");
    }
}

 

package nadocoding.Chap_04;

public class _03_ElseIf {
    public static void main(String[] args) {
        // 조건문 else if
        boolean hallabongAde = true;
        boolean mangoJuice = true;

        if (hallabongAde) {
            System.out.println("한라봉 에이드 +1");
        } else if (mangoJuice) {
            System.out.println("망고 쥬스 +1");
        } else {
            System.out.println("아이스 아메리카노 +1");
        }
        System.out.println("커피 주문 완료 #1");

        // else if 는 여러번 사용 가능
        hallabongAde = false;
        mangoJuice = false;
        boolean oragneJuice = true;

        if (hallabongAde) {
            System.out.println("한라봉 에이드 +1");
        } else if (mangoJuice) {
            System.out.println("망고 쥬스 +1");
        } else if (oragneJuice) {
            System.out.println("오렌지 쥬스 +1");
        } else {
            System.out.println("아이스 아메리카노 +1");
        }
        System.out.println("커피 주문 완료 #2");

        // else는 없어도 실행 가능
        hallabongAde = false;
        mangoJuice = false;
        oragneJuice = false;

        if (hallabongAde) {
            System.out.println("한라봉 에이드 +1");
        } else if (mangoJuice) {
            System.out.println("망고 쥬스 +1");
        } else if (oragneJuice) {
            System.out.println("오렌지 쥬스 +1");
        }
        System.out.println("커피 주문 완료 #3");
    }
}

 

package nadocoding.Chap_04;

public class _04_SwitchCase {
    public static void main(String[] args) {
        // switch case

        // 석차에 따른 장학금
        // 1등 : 전액 장학금
        // 2등 : 반액 장학금
        // 3등 : 반액 장학금
        // 그 외 : 장학금 대상 아님

        int ranking = 1;
        if (ranking == 1) {
            System.out.println("전액 장학금");
        } else if (ranking == 2) {
            System.out.println("반액 장학금");
        } else if (ranking == 3) {
            System.out.println("반액 장학금");
        } else {
            System.out.println("장학금 대상 아님");
        }
        System.out.println("조회 완료 #1");

        // switch case 문을 사용
        ranking = 5;
        switch (ranking) {
            case 1 :
                System.out.println("전액 장학금");
                break;
            case 2 :
                System.out.println("반액 장학금");
                break;
            case 3 :
                System.out.println("반액 장학금");
                break;
            default:
                System.out.println("장학금 대상 아님");
        }
        System.out.println("조회 완료 #2");

        // case2와 case3을 통합
        ranking = 3;
        switch (ranking) {
            case 1 :
                System.out.println("전액 장학금");
                break;
            case 2 :
            case 3 :
                System.out.println("반액 장학금");
                break;
            default:
                System.out.println("장학금 대상 아님");
        }
        System.out.println("조회 완료 #3");

        // 중고상품의 등급에 따른 가격을 책정 (1급 : 최상, 4급 : 최하)
        int grade = 1;
        int price = 7000;
        switch (grade) {
            case 1 :
                price += 1000;
            case 2 :
                price += 1000;
            case 3 :
                price += 1000;
                break;
        }
        System.out.println(grade + "등급 제품의 가격 : " + price + "원");
        // grade = 1 => 10000, grade = 3 => 8000
        // break를 이용해 명령을 여러번 수행하게 할 수 있다.

        // If else 문은 범위와 같은 경우에 유용
        // switch case 문은 값이 명확한 경우에 유용
    }
}

 

package nadocoding.Chap_04;

public class _01_If {
    public static void main(String[] args) {
        // 조건문 if
        int hour = 15;

        // if 문 내에서 하나의 문장을 실행할 때는 {} 생략 가능
        // if 문 내에서 두 개 이상의 문장을 실행할 때는 {} 생략 불가능
        if (hour < 14) {
            System.out.println("아이스 아메리카노 +1");
            System.out.println("샷 추가");
        }
        System.out.println("커피 주문 완료 #1");

        hour = 10;
        boolean morningCoffee = true;
        if (hour < 14 && morningCoffee == false) {  // 두 개 이상의 조건 입력 가능
            System.out.println("아이스 아메리카노 +1");
        }
        System.out.println("커피 주문 완료 #2");

        hour = 15;
        morningCoffee = true;
        if (hour >= 14 || morningCoffee) {
            System.out.println("아이스 아메리카노(디카페인) +1");
        }
        System.out.println("커피 주문 완료 #3");
    }
}

 

package nadocoding.Chap_04;

public class _02_Else {
    public static void main(String[] args) {
        // 조건문 if else
        int hour = 10;
        if (hour < 14) {
            System.out.println("아이스 아메리카노 +1");
        } else { // 그 외에 경우이면
            System.out.println("아이스 아메리카노(디카페인) +1");
        }
        System.out.println("커피 주문 완료 #1");

        hour = 10;
        boolean morningCoffee = false;
        if (hour >= 14 || morningCoffee == true) {
            System.out.println("아이스 아메리카노(디카페인) +1");
        } else {
            System.out.println("아이스 아메리카노 +1");
        }
        System.out.println("커피 주문 완료 #2");
    }
}

 

package nadocoding.Chap_04;

public class _03_ElseIf {
    public static void main(String[] args) {
        // 조건문 else if
        boolean hallabongAde = true;
        boolean mangoJuice = true;

        if (hallabongAde) {
            System.out.println("한라봉 에이드 +1");
        } else if (mangoJuice) {
            System.out.println("망고 쥬스 +1");
        } else {
            System.out.println("아이스 아메리카노 +1");
        }
        System.out.println("커피 주문 완료 #1");

        // else if 는 여러번 사용 가능
        hallabongAde = false;
        mangoJuice = false;
        boolean oragneJuice = true;

        if (hallabongAde) {
            System.out.println("한라봉 에이드 +1");
        } else if (mangoJuice) {
            System.out.println("망고 쥬스 +1");
        } else if (oragneJuice) {
            System.out.println("오렌지 쥬스 +1");
        } else {
            System.out.println("아이스 아메리카노 +1");
        }
        System.out.println("커피 주문 완료 #2");

        // else는 없어도 실행 가능
        hallabongAde = false;
        mangoJuice = false;
        oragneJuice = false;

        if (hallabongAde) {
            System.out.println("한라봉 에이드 +1");
        } else if (mangoJuice) {
            System.out.println("망고 쥬스 +1");
        } else if (oragneJuice) {
            System.out.println("오렌지 쥬스 +1");
        }
        System.out.println("커피 주문 완료 #3");
    }
}

 

package nadocoding.Chap_04;

public class _04_SwitchCase {
    public static void main(String[] args) {
        // switch case

        // 석차에 따른 장학금
        // 1등 : 전액 장학금
        // 2등 : 반액 장학금
        // 3등 : 반액 장학금
        // 그 외 : 장학금 대상 아님

        int ranking = 1;
        if (ranking == 1) {
            System.out.println("전액 장학금");
        } else if (ranking == 2) {
            System.out.println("반액 장학금");
        } else if (ranking == 3) {
            System.out.println("반액 장학금");
        } else {
            System.out.println("장학금 대상 아님");
        }
        System.out.println("조회 완료 #1");

        // switch case 문을 사용
        ranking = 5;
        switch (ranking) {
            case 1 :
                System.out.println("전액 장학금");
                break;
            case 2 :
                System.out.println("반액 장학금");
                break;
            case 3 :
                System.out.println("반액 장학금");
                break;
            default:
                System.out.println("장학금 대상 아님");
        }
        System.out.println("조회 완료 #2");

        // case2와 case3을 통합
        ranking = 3;
        switch (ranking) {
            case 1 :
                System.out.println("전액 장학금");
                break;
            case 2 :
            case 3 :
                System.out.println("반액 장학금");
                break;
            default:
                System.out.println("장학금 대상 아님");
        }
        System.out.println("조회 완료 #3");

        // 중고상품의 등급에 따른 가격을 책정 (1급 : 최상, 4급 : 최하)
        int grade = 1;
        int price = 7000;
        switch (grade) {
            case 1 :
                price += 1000;
            case 2 :
                price += 1000;
            case 3 :
                price += 1000;
                break;
        }
        System.out.println(grade + "등급 제품의 가격 : " + price + "원");
        // grade = 1 => 10000, grade = 3 => 8000
        // break를 이용해 명령을 여러번 수행하게 할 수 있다.

        // If else 문은 범위와 같은 경우에 유용
        // switch case 문은 값이 명확한 경우에 유용
    }
}

반복문

package nadocoding.Chap_04;

public class _05_For {
    public static void main(String[] args) {
        // 반복문 For
        // fori만 입력하면 자동으로 기본 틀 완성
        // 매장 방문
        System.out.println("어서오세요. 나코입니다.");
        // 또 다른 손님 입장
        System.out.println("어서오세요. 나코입니다.");
        System.out.println("어서오세요. 나코입니다.");
        // 만약에 인사 법이 바뀜
        System.out.println("환영합니다. 나코입니다.");
        System.out.println("환영합니다. 나코입니다.");
        System.out.println("환영합니다. 나코입니다.");
        // 매장의 이름이 바뀜
        System.out.println("환영합니다. 코나입니다.");
        System.out.println("환영합니다. 코나입니다.");
        System.out.println("환영합니다. 코나입니다.");
        System.out.println("환영합니다. 코나입니다.");
        System.out.println("환영합니다. 코나입니다.");

        System.out.println("------반복문 사용-----");

        // 반복문 사용
        for (int i = 0; i < 10; i++) {
            // System.out.println("어서오세요. 나코입니다." + i);
            // System.out.println("환영합니다. 나코입니다." + i);
            System.out.println("환영합니다. 코나입니다." + i);
        }

        // 짝수만 출력
        for (int i = 0; i < 10; i += 2) {
            System.out.print(i);
        }
        // 02468

        System.out.println();

        // 홀수만 출력
        for (int i = 1; i < 10; i += 2) {
            System.out.print(i);
        }
        // 13579

        System.out.println();

        // 숫자 거꾸로 출력
        for (int i = 5; i > 0; i--) {
            System.out.print(i);
        }
        // 54321

        System.out.println();

        // 1부터 10까지의 합
        int sum = 0;
        for (int i = 1; i <= 10; i++) {
            sum += i;
            System.out.println("현재까지의 총합은 " + sum + "입니다.");
        }
        System.out.println("1부터 10까지 모든 수의 총합은 " + sum + "입니다."); // 1부터 10까지 모든 수의 총합은 55입니다.
    }
}

'TIL > JAVA' 카테고리의 다른 글

23.05.03  (0) 2023.05.03
23.05.02  (0) 2023.05.02
23.04.28  (0) 2023.04.28
23.04.27  (0) 2023.04.27
23.04.26  (0) 2023.04.26