zoukankan      html  css  js  c++  java
  • 第五周课程总结&试验报告(三)

    实验三String 类的应用

    一、实验目的
    (1)掌 握类String类的使用;
    (2)学会使用JDK帮助文档;
    二、实验内容
    1.已知字符串: "this is a test of java" .按要求执行以下操作: ( 要求源代码、结果截图。)
    1.统计该字符串中字母s出现的次数。

    源代码

    public class Test{
    	public static void main(String[] args) {
    		String str = "this is a test of java";
    		int count = 0,i = 0;
    		while(str.indexOf("s",i) != -1) {
    			count++;
    			i = str.indexOf("s",i)+1;
    		}
    		System.out.println(count);
    	}
    }
    

    运行截图

    方法:用indexOf从i+1个位置开始查找单个字符“s”,找到计数,i++,没找到就输出-1.

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

    源代码

    public class Test{
    	public static void main(String[] args) {
    		String str = "this is a test of java";
    		int count = 0,i = 0;
    		while(str.indexOf("is",i) != -1) {
    			count++;
    			i = str.indexOf("is",i)+1;
    		}
    		System.out.println(count);
    	}
    }
    

    运行截图

    方法:同上,查找字符串“is”.

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

    源代码

    public class Test{
    	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);
    	}
    }
    

    运行截图

    方法:使用split()方法按空格进行将字符串拆分,然后运用三目运算符,如果找到,就计数。

    4.实现该字符串的倒序输出。

    源代码

    public class Test{
    	public static void main(String[] args) {
    		String str = "this is a test of java";
    		char c[] = str.toCharArray();
    		for(int i = c.length-1;i>=0;i--) {
    			System.out.print(c[i]);
    		}
    	}
    }
    

    运行截图

    方法:使用toCharArray()方法将字符串变为字符数组,然后for循环倒序输出。

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

    源代码

    package hello;
    
    public class Test{
    	
    	//反向遍历字符串
    public static String reChange(String from) {
    	char[] froms = from.toCharArray();
    	int length = froms.length;
    	for(int i = 0;i < length/2;i++) {
    		char temp = froms[i];
    		froms[i] = froms[length-1-i];
    		froms[length-1-i] = temp;
    	}
    	return String.copyValueOf(froms);
    }
    
        //循环右移index位字符串
    public static String rightMoveIndex(String from,int index) {
    	from = reChange(from);
    	String first = from.substring(0,index);//先截取0~index个位置的内容
    	String second = from.substring(index);//从index+1的位置开始截取
        first = reChange(first);
        second = reChange(second);
        from = first + second;
        return from;
        }
    
    public static void main(String[] args) {
    	String rightString = "123456";
    	System.out.println("右移3位字符串结果:"+rightMoveIndex(rightString,3));
        }
    }
    

    运行截图

    方法:第一步:先String一个reChange()方法,设置参数from,使用toCharArray()方法将字符串变为字符数组,运动for循环将字符串倒序保存在字符数组中,再用ValueOf()将反向的字符数组变成字符串,这里使用copyValueOf是因为参数(String from)必须要有返回值。第二步:使用substring()截取字符串,循环右移index位字符串。第三步:输入输出。

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

    源代码

    public class Test{
    	public static void main(String[] args) {
    		String str = "ddejidsEFALDFfnef2357 3ed";
    		int count1 = 0,count2 = 0,count3 = 0;
    		for(int i = 0;i<str.length();i++) {
    			if(Character.isUpperCase(str.charAt(i))) {
    				count1 ++;
    			}
    			else if(Character.isLowerCase(str.charAt(i))) {
    				count2++;
    			}
    			else {
    				count3++;
    			}
    		}	
    			System.out.println("大写字母个数:"+count1+",小写字母个数:"+count2+",非英文字母个数:"+count3);
    	}
    }
    
    

    运行截图

    方法:使用isUpperCase()、isLowerCase()和charAt()方法。

    学习总结

    类的继承

    格式:

    class 父类{ }                           //定义父类
    class 子类 extends 父类{ }     //使用extends关键字来实现继承
    

    作用:
    通过继承的功能可以直接把父类中的操作直接拿到子类当中使用,而且子类也可以定义自己的属性或方法。
    注意:
    1、一个子类只能继承一个父类。
    2、子类不可以直接访问父类中的私有操作,但是可以通过其他操作(setter或getter)间接访问父类中的私有操作。

    子类对象实例化过程

    先调用父类中的构造方法。super()表示子类可以直接使用父类中的无参构造。

    方法的重载与覆写的区别

    方法重载(Overloading):
    1.方法名称相同,参数的类型或个数不同
    2.方法重载对方法的权限没有要求
    3.方法重载发生在一个类中

    方法覆写(Overriding):
    1.方法名称、参数类型、返回值类型全部相同
    2.被覆写的方法不能拥有比父类中的方法更高的权限,也不能拥有private权限
    3.方法覆写发生在两个继承类中

    Java基本方法命名

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

  • 相关阅读:
    shell进行mysql统计
    java I/O总结
    Hbase源码分析:Hbase UI中Requests Per Second的具体含义
    ASP.NET Session State Overview
    What is an ISAPI Extension?
    innerxml and outerxml
    postman
    FileZilla文件下载的目录
    how to use webpart container in kentico
    Consider using EXISTS instead of IN
  • 原文地址:https://www.cnblogs.com/clayLJX/p/11598751.html
Copyright © 2011-2022 走看看