zoukankan      html  css  js  c++  java
  • 第三次实验报告及总结

    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) { //有参构造
    因为没有题目也就记得这么多了。

  • 相关阅读:
    1161-飞弹
    1160-繁杂的道路
    JS实现刷新iframe的方法
    ifame 跨域高度自适应
    Asp.net弹出层并且有遮罩层
    Regex.Match 方法
    查询404文件
    JS中showModalDialog 详细使用
    对frameset、frame、iframe的js操作
    HTML & XML 转义字符
  • 原文地址:https://www.cnblogs.com/fengmixinluo/p/11586934.html
Copyright © 2011-2022 走看看