• 第三次实验报告及总结


    String的主要方法:

    1.Length():获取当前字串长度
    2.charAt(int index):获取当前字符串对象下标index处的字符
    3.getChars():获取从指定位置起的子串复制到字符数组中
    4.replace(char ch1,char ch2):将字符串的字符ch1替换为字符串ch2.
    5.toUpperCase():将字符串中的小写字符转换为大写字符
    6.toLowerCase():将字符串中的大写字符转换为小写字符
    7.toCharArray():将字符串对象转换为字符数组

    Java基本方法命名

    1.方法命名为【修饰符1,2,3】 返回值类型 方法名 (形式参数);并且是有return作为结束
    2.无返回值的时候 必须要用指定为void
    3.实参的数量,数值,及数据类型和次序,必须和形参的一致;
    4.java进行方法调用的时候,数据传递是值传递,传递的都是数据的副本
    5.基本数据类型传递的是值的copy值
    6.引用数据类型传递的是对象引用的copy值,所指的是同一个对象

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

    ① 统计该字符串中字母s出现的次数。

    ② 统计该字符串中子串“is”出现的次数。

    ③ 统计该字符串中单词“is”出现的次数。

    ④ 实现该字符串的倒序输出

    一、实验代码

    
    public class text {
    
    	public static void main(String[] args) {
    		int count=0;
    		String str="this is test a java";
    		 for(int i=0;i<str.length();i++) {
    			 if(str.substring(i,(i+1)).indexOf("s") != -1)//用substring截取字符串然后用indexOf进行查找
    				 count++;
    		 }
    			System.out.println(count);
    		
    	}
    
    }
    

    实验结果截图:

    二、实验代码:

    
    public class text {
    
    	public static void main(String[] args) {
    		int count=0;
    		String str="this is test a java";
    		 for(int i=0;i<str.length();i++) {
    			 if('i'==str.charAt(i)&&'s'==str.charAt(i+1)) {
    			   count++;
    			 }
    		 }
    			System.out.println("字符is出现的次数为:"+count);
    		
    	}
    
    }
    

    实验结果截图:

    三、实验代码:

    
    public class text {
    
    	public static void main(String[] args) {
    		int count=0;
    		int a=0;
    		String str="this is test a java";
    		 for(int i=0;i<str.length();i++) {
    			 if('i'==str.charAt(i)&&'s'==str.charAt(i+1)&&' '==str.charAt(i-1)) {
    			   count++;
    			 }
    		 }
    			System.out.println("单词is出现的次数为:"+count);
    		
    	}
    
    }
    

    实验结果截图:

    四、实验代码:

    
    public class text {
    
    	public static void main(String[] args) {
    		String str="this is test a java";
    		StringBuffer buffer = new StringBuffer(str);
    		System.out.println(buffer.reverse());
    		
    	}
    
    }
    /*此题我在网上查了一下有没有什么能直接倒叙的String方法,然后方法如下:
     * 定义成一个StringBuffer类,用StringBuffer类中的reverse()方法直接倒序字符串
     * public StringBuffer reverse() 将此字符序列用其反转形式取代。
     *  */
                       
    

    实验结果截图:

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

    实验代码:

    import java.util.*;
    public class text1 {
        static void change() {  
        	System.out.println("请输入字符串:");
      		Scanner in = new Scanner(System.in);
      		String str = in.nextLine();
      		char c[]= str.toCharArray();//实现数据的输入并将其转换为数组
        	char b[] = new char[50] ;//定义一个新的数组
        	int j=0;
        	for(int i = c.length-3;i<c.length;i++) {
        		b[j]=c[i];
        		j++;
        	}
        	for(int z=0;z<c.length-3;z++) {
        		b[j]=c[z];
        		j++;
        	}//实现密码的移位
        	   System.out.println("加密后的密码为");
        	   System.out.println(b);
        }
        public static void main(String args[]) {
        	change();
    
        }
    }
    

    实验结果截图:

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

    实验代码:

    	import java.util.*;
    public class text {
       	
    	
    	public static void main(String[] args) {
    		int a=0,b=0,d=0;
    		System.out.println("请输入字符串:");
    		Scanner in = new Scanner(System.in);
    		String str = in.nextLine();
    		char c[]= str.toCharArray();
    		for(int i=0;i<c.length;i++) {
    			if(c[i]>='a'&&c[i]<='z') {
    				a++;
    			}
    			else if(c[i]>='A'&&c[i]<='Z') {
    				b++;
    			}
    			else
    				d++;
    		}
    		System.out.println("大写字母的个数为:"+b);
    		System.out.println("小写字母的个数为:"+a);
    		System.out.println("其它字符个数为:"+d);
    	}
    	
    	
    }
    
    

    实验结果截图:

    学习总结:

    继承的应用

    this和super差异:

    1.super()和this()类似,区别是,super()从子类中调用父类的构造方法,this()在同一类内调用其它方法。
    2.super()和this()均需放在构造方法内第一行。
    3.this和super不能同时出现在一个构造函数里面,因为this必然会调用其它的构造函数,其它的构造函数必然也会有super语句的存在,所以在同一个构造函数里面有相同的语句,就失去了语句的意义,编译器也不会通过。
    4.this()和super()都指的是对象,所以,均不可以在static环境中使用。包括:static变量,static方法,static语句块。

    方法的重载与覆写:

    重载的定义:方法名称相同,参数的类型或者个数不同。覆写的定义:方法的名称、参数的类型、返回值类型全部相同
    对权限没有要求 被覆写的方法不能拥有更严格的权限。
    范围: 发生在一个类中 发生在继承类中。

    对于老师讲的那个继承问题:

    1.狗类和猫类除了类名不一样,其他的都一样,写起来很浪费时间,也浪费内存.因此,用继承可以提高代码的复用性.
    2.父类私有的成员不能继承,父类的构造方法不能继承,别的都可以继承。
    3.种继承是单继承的关系,不支持多继承.
    所以先构造一个父类(动物),再建立两个子类(猫狗)
    先使用extends继承
    再public Cat (){} //无参构造
    public Cat(String cry,int num) { //有参构造
    因为没有题目也就记得这么多了。

  • 相关阅读:
    利用dockerfile定制镜像
    发布Docker 镜像到dockerhub
    Docker 停止容器
    133. Clone Graph
    132. Palindrome Partitioning II
    131. Palindrome Partitioning
    130. Surrounded Regions
    129. Sum Root to Leaf Numbers
    128. Longest Consecutive Sequence
    127. Word Ladder
  • 原文地址:https://www.cnblogs.com/fengmixinluo/p/11586934.html
Copyright © 2020-2023  润新知