• 第五周课程总结&试验报告(三)


    实验三 String类的应用

    一、实验目的

    • 掌握类String类的使用;
    • 学会使用JDK帮助文档;

    二、实验内容

    1.已知字符串:"this is a test of java".按要求执行以下操作:(要求源代码、结果截图。)

    统计该字符串中字母s出现的次数。
    统计该字符串中子串“is”出现的次数。
    统计该字符串中单词“is”出现的次数。
    实现该字符串的倒序输出。

    实验源码:

    package com.company;
    public class Main {
        static String str = "this is a test of java";
    
        public static void main(String[] args) {
            query("s","该字符串中字母s出现的次数。");
            query("is","该字符串中子串“is”出现的次数。");
            query( " is ","该字符串中单词“is”出现的次数。");
    
            resultString();
        }
    
        public static void query(String str1, String sentence) {
            int count = 0;
            int temp = str.indexOf(str1);
            while(temp >= 0 && temp <= str.length()) {
                temp= str.indexOf(str1,temp+1);
                count++;
            }
            System.out.println(sentence+count);
        }
    
        public static void resultString() {
            String resultString = "";
            char[] charArray = str.toCharArray();           // 将字符串变成字符数组 String -> char []
            
            for (int i=charArray.length-1; i>=0; i--){
                resultString += charArray[i];
            }
    
            System.out.println(resultString);
        }
    }
    
    

    实验结果:

    2.请编写一个程序,使用下述算法加密或解密用户输入的英文字串。要求源代码、结果截图。

    实验源码:

    package com.company;
    
    import java.util.Scanner;
    
    public class Main {
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);            // Scanner = 处理输入的类 sc = 类的实例化
            String str = sc.nextLine();
    
            String s = "";
            char[] charArray = str.toCharArray();           // 字符串 -> 字符数组
    
            for (int i = 0; i < charArray.length; i++) {
                s += (char)((int)charArray[i]+3);
            }
    
            System.out.println(s);
        }
    }
    

    实验结果:


    3.已知字符串“ddejidsEFALDFfnef2357 3ed”。输出字符串里的大写字母数,小写英文字母数,非英文字母数。

    实验源码:

    package com.company;
    
    public class Main {
        public static void main(String[] args) {
            String str = "ddejidsEFALDFfnef2357 3ed";
    
            char[] charArray = str.toCharArray();           
    
            String str1="";
            String str2="";
            String str3="";
    
            for (int i = 0; i < charArray.length; i++) {
                if(Character.isUpperCase(charArray[i]))         
                    str1+=charArray[i];
                else if(Character.isLowerCase(charArray[i]))    
                    str2+=charArray[i];
                else        // 非字母
                    str3+=charArray[i];
            }
    
            System.out.println(str1);
            System.out.println(str2);
            System.out.println(str3);
        }
    }
    

    实验结果:

    内容总结:

    this和super

    使用方法
    • 1.如果子类中出现非私有的同名变量,要引用时:
      (1) 访问父类中的同名变量,用super
      (2) 访问子类本类中的变量,用this
    • 2.如果子类重写方法时,要引用父类中的已经定义好的功能时,用super.方法
    • 3.如果子类中的构造函数需要指定父类中其他构造函数进行初始化,使用super(参数)的形式
    • 4.如果子类中的构造函数中,需要引用父类中已经定义好的方法,使用super(参数)
    • mian方法中不能使用this和super!!
    区别
    • super代表父类对象的引用
    • this代表本类对象的引用
    • this和super都可以调用构造方法,但两者市不可以同时出现的,因为两者调用构造方法市都必须放在构造方法的首行。
    • 无论子类如何操作,最终必须要先调用父类中的构造方法。

    final关键字

    当用final去修饰一个类的时候,表示这个类不能被继承。
    • final成员变量必须在声明的时候初始化或者在构造器中初始化,否则就会报编译错误。final变量一旦被初始化后不能再次赋值。
    • 本地变量必须在声明时赋值。 因为没有初始化的过程
    • 在匿名类中所有变量都必须是final变量。
    • final方法不能被重写, final类不能被继承
    • 接口中声明的所有变量本身是final的。类似于匿名类.

    重载与覆写

    方法重载: 方法名称相同,参数的个数及类型不同。

    方法覆写: 方法名称,返回值类型,参数的个数,参数的类型均相同。

  • 相关阅读:
    Call to a member function assign() on a non-object;thinkphp中报错
    jquery或js 获取url参数
    使Sublime Text支持除UTF8外多种编码
    Sublime Text 3 安装Package Control
    jquery zoom jquery放大镜特效
    金币阵列问题
    goole进不去?
    算法分析习题(1)
    C /C ++中结构体的定义
    linux .zip 解压命令集
  • 原文地址:https://www.cnblogs.com/zsbhs/p/11594684.html
Copyright © 2020-2023  润新知