연구 개요 및 (String 클래스의 응용 프로그램) 세 번째 시험 보고서의 다섯 번째 주

학습 요약 다섯째 주

1. 상속 된 지식 포인트를 연구 :

(1) 포맷 클래스 상속은 서브} {상위 클래스를 확장

(2) 실제로 상위 클래스의 기능을 확장하는 서브 클래스에 상속

(3) 서브 클래스 만이 아니라 상속 만 허용 다층 다중 상속은 부모 클래스로부터 상속

(4) 서브 클래스는 직접 개인 재산의 부모 클래스에 액세스 할 수 없습니다,하지만 당신은 방문하는 부모 클래스의 게터 또는 세터를 호출 할 수 있습니다

먼저 인수없이) 생성자를 인스턴스화 서브 클래스도 (슈퍼 직접 사용하기 전에 자신의 서브 클래스의 생성자를 호출 부모 클래스 생성자를 호출해야합니다 (5) 서브 클래스 객체는 부모 클래스를 호출

상위 클래스의 서브 클래스 오버라이드 (6) 메서드는 같은 이름의 메소드를 정의하지만,이 방법은 서브 클래스에 의해 메소드가 덮어 쓰기 부모 액세스,보다 엄격 한 재정의 할 수 없습니다, 서브 클래스 객체라고 상기 방법은 후 덮어

서브 클래스가 부모 클래스와 동일한 이름의 속성을 정의하는 경우 7), 직접 가까운 원칙 서브 클래스에 액세스하는 데 사용되는, 즉,이 클래스의 속성에 대해 발견 된 첫 번째, 직접 슈퍼 속성

(8) 또한 과부하 덮어 차이를 알게

     
차이의 포인트 과부하 덮어 쓰기
워드 오버로드 재정의
정의 동일한 방법 이름 및 다른 유형의 파라미터의 개수 방법 이름, 변수 타입, 리턴 값 모두 동일한 타입
정의 나는 허가를 요청하지 않았다 방법은 더 제한적인 권한을 가질 수 없습니다 덮어 쓰기
범위 이 클래스에서 발생 파생 클래스에서 장소

(8) 슈퍼 키워드를 사용하여

생성자는 보통의 서브 클래스에서 상위 클래스, 메소드 및 속성을 사용하여 슈퍼 호출 할 수 있습니다

     
차이의 포인트 감독자
속성 액세스 이 클래스는이 속성을 찾을 수없는 경우 부모 클래스에서, 재산이 클래스에 액세스 상위 클래스의 속성에 액세스
방법 이 클래스의 액세스 방법, 부모 클래스에서하지 않으면 것은 찾기 위해 계속 부모 클래스 메소드에 직접 액세스
생성자를 호출 이 클래스 구조를 호출, 그것은 생성자의 첫 번째 줄에 위치해야 부모 클래스의 생성자를 호출, 그것은 하위 클래스 생성자의 첫 번째 줄에 위치해야
특별한 그것은 현재 개체를 나타내는 그런 개념 없다

(9) 최종 키워드

클래스의 최종 선언을 사용하여 서브 클래스를 가질 수 없습니다

방법의 최종 선언을 사용하는 것은 서브 클래스에 의해 덮어 쓸 수 없습니다

변수 대해 최종 상수, 불변 사용하여 선언

(10) 추상 클래스

서브 클래스는 추상 클래스를 상속 할 수 있습니다

방법은 추상 클래스는 추상 클래스 필수입니다 구성

추상 메소드는 추상 메소드를 오버라이드 (override) 할 필요가 추상 클래스의 서브 클래스를 구현 할 필요없이 단지 문을 필요로

다형성 (11) 및 인터페이스 객체

전환 아래쪽으로 개체를하기 전에 개체가 먼저 내리 뜬 발생해야

세 번째 시험 보고서

응용 프로그램 세 번째 실험 String 클래스

실험 목적

클래스 String 클래스의 사용을 마스터;

JDK 도움말 문서를 사용하는 방법을 배우게;

콘텐츠 실험

1. 알려진 문자열은 다음 요구 사항 :( 소스 코드, 결과 스크린 샷)을 수행하는 데 필요한 "이 자바의 테스트입니다."

(1) 문자열의 나타납니다에서 문자의 수를 계산합니다.

package project;

public class Test1 {

    public static void main(String[] args) {
        String str = "This is a test of Java";
        int count = 0;
        char[] c = str.toCharArray();
        for(int i = 0;i<c.length;i++){
            if(c[i]=='s'){
                 count++;
            }
        }
          System.out.println(count);
    }

}

(2) 문자열이 ""중성자 문자열의 수를 계산 나타납니다

package project;

public class Test2 {

    public static void main(String[] args) {
        String str = "This is a test of java";
     int count = str.indexOf("is");
     System.out.println(count);
    }
}

(3) 문자열에서 단어의 수를 계산 나타납니다 "입니다"

package project;

public class Test3 {

    public static void main(String[] args) {
        String str = "This is a test of java";
        int count = 0;
        String[] s = str.split(" ");
        for(String e:s){
            if(e.equals("is")){
                count++;
            }
        }
         System.out.println(count);
    }

}

(4) 문자열이 출력된다 역방향 달성

package project;

public class Test4 {

    public static void main(String[] args) {
        String str = "This is a test of java";
        StringBuffer sb = new StringBuffer(str);
        System.out.println(sb.reverse().toString());

    }

}

요약 : 첫 번째 큰 문제는 어려움을 느낀다는, String 클래스의 방법의 간단한 응용 프로그램입니다, 수업 교사는 또한 몇 가지 문제에 대해 이야기하는

2. 암호화하거나 사용자가 영어 문자열 입력을 해독하기 위해 다음과 같은 알고리즘을 사용하여 프로그램을 작성합니다. 결과 화면 소스 코드를 필요

package project;
import java.util.Scanner;
public class Coad {
     public static void main(String[] args) {    
         Scanner sc =new Scanner(System.in);
         String str1 = sc.nextLine();
         char c[] = str1.toCharArray();
         char a[] = new char[str1.length()];
         int i,j=0;
         if(str1.length()==1) {
             System.out.println(c);
         }
         else if(str1.length()==2) {
             System.out.print(c[1]);
             System.out.print(c[0]);
         }
         else {
             for(i = c.length-3;i<c.length;i++) {
                 a[j] = c[i];
                 j++;
             }
             for(i=0;i<c.length-3;i++) {
                 a[j]=c[i];
                 j++;
             }
         }
         System.out.println(a);
     }
 }

요약 : 공공의 char [] toCharArray ()의 직접 사용, 문자열이 문자 배열되고, 다음 이전에 문제를 해결하는 방법을 알고 있지만, 자신의 생각의 방향과 친구가 토론하고 문제를 해결하지, 문제를 해결하기 위해 배열을 사용합니다.

3. 문자열 "ddejidsEFALDFfnef2357의 3ED"을 감안할 때. 대문자의 수의 출력 문자열은 소문자는 영어가 아닌 문자의 수를 계산합니다.

package project;
import java.util.Scanner;
public class Test5 {

    public static void main(String[] args) {
        String str="ddejidsEFALDFfnef2357 3ed";
        int letters = 0;
        int capitalLetters = 0;
        int noEnglishLetters = 0;
        char c[] = str.toCharArray(); 
        for(char a:c){ 
            if(a>='a'&&a<='z'){ 
                capitalLetters++; 
            } 
            else if(a>='A'&&a<='Z'){ 
                letters++; 
            } 
            else{ 
                noEnglishLetters++; 
            } 
        } 
        System.out.println("小写英文字母数:"+letters);
        System.out.println("大写英文字母数:"+capitalLetters);
        System.out.println("非英文字母数:"+noEnglishLetters);
        

    }

}

요약 : 순환 문제에 대한, 다음, 문자열 배열을 변환 배열을 사용하는 String 클래스와 직접적인 방법은 해결 될 수있다

시간 파리, 곧 다섯 번째 주, 나는 지식에 매우 익숙하지 않은 느낌뿐만 아니라 운동의 특정 부족, 나는 항상 사각 아니었다 마음의 시작을 잊고, 좋은 연료로 여분의 시간을 활용할 수 있기를 바랍니다.

추천

출처www.cnblogs.com/buxiu888/p/11577193.html