• Java第五周作业+总结


    实验三 String类的应用

    实验目的

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

    实验内容

    1.已知字符串:"this is a test of java".按要求执行以下操作:(要求源代码、结果截图。)
    统计该字符串中字母s出现的次数。
    统计该字符串中子串“is”出现的次数。
    统计该字符串中单词“is”出现的次数。
    实现该字符串的倒序输出。

    实验代码:
    package o;
    public class a
    {
        public static void main(String[] args)
        
        {
        	 String s = "this is a test of java";  
             int i = s.indexOf("s",3);      
             System.out.println("times s "+i);   
             int a = s.indexOf("is");       
             System.out.println("times zichuan is "+a);    
             int b = (s.split(" is ")).length-1;                  
             System.out.println("the number of times the word is appears "+b);     
             StringBuffer r = new StringBuffer ("this is a test of java");     
             System.out.println(r.reverse());
    
        }
        
     }
        
    
    实验截图

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

    实验代码
    package o;
    import java.util.Scanner;
    public class a
    {    
         public static void main (String args[]) 
         
         {
           
        	 System.out.print("please enter a line of strin:");
             Scanner boniu=new Scanner(System.in);
             String str=boniu.nextLine();
             char a[]=str.toCharArray();
             char b[]=new char[50];int j=0;
             for(int i = a.length-3;i<a.length;i++) 
             {
                     b[j]=a[i];
                     j++;
             }
                     for(int i=0;i<a.length-3;i++)
             {
                     b[j]=a[i];
                     j++;
             }
                 System.out.print(b);
         }
     }
    
    实验截图

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

    实验代码
    package o;
    public class a
    {    
         public static void main (String args[]) 
         
           {
        	 
        	   String str = "ddejidsEFALDFfnef2357 3ed";
               char du[] = str.toCharArray();
               int number1 = 0, number2 = 0, number3 = 0;
               for(int a = 0; a <= str.length() - 1;a++)
               {
                       if(du[a] >= 'A' && du[a] <= 'Z')
                          {
                              number1++;
                 }
                       else if(du[a] >= 'A' && du[a] <= 'z') 
                          {
                              number2++;
                 }
                       else{
                              number3++;
                 } 
             }
             
             System.out.println("大写字母数有:"+number1);
             System.out.println("小写字母数有:"+number2);
             System.out.println("非英文字母数有:"+number3);
         }
    }
    
    实验截图

    学习总结

    一、Java中string类的使用(所学及拓展),其中③④⑥上次题目和这次题目都有涉及。

    ①字符串的声明与创建
    //char* 类向String的转化
    String str = new String(char a[]);
    String str = new String("this is string");

    ②字符串的连接
    String s3 = str1 + str2;//str1 和str2 都是字符串,
    String s3 = int1.toString() + float2.toString();

    ③获取字符串的长度
    str.length();

    ④字符串查找
    str.indexOf(String s) ;//s在str中第一次出现的地址
    str.lastIndexOf(String s);//s在str中最后一次出现的地址

    ⑤获取指定位置的字符
    str.charAt(int index);//返回一个指定位置的字符

    ⑥获取子串
    str.substring(int beginIndex);//从beginindex到最后面。
    str.substring(int beginIndex,int endIndex);//从beginIndex 到endIndex

    ⑦去除空格str.trim();

    ⑧字符串替换。
    str.replace(char oldChar,char newChar);//用newchar替换oldchar 如果没有oldchar就返回原字符串,并且是全部替换。

    ⑨字符串的开始与结尾
    str.startsWith(String prefix);//返回boolean
    str.endsWith(String prefix);

    ⑩字符串的判等不能用== ,==判断是两个对象是不是引用同一个。
    str.equals(String otherstr);区分大小写
    str.equalsIgnoreCase(String otherstr);不区分大小写

    ⑩+①按字典序比较两个字符串大小
    str.compareTo(String otherstr);\只按字典序顺序比较
    str.compareToIgnorCase(String otherstr);\只按字典序顺序比较,忽略大小写

    ⑩+②大小写转化toLowerCase();toUpperCase()

    ⑩+③字符串的切分
    str.split(String sign);//分割sign 无限次数
    str.split(String sign,int limit);//分割sign limit次数

    ⑩+④字符串生成器
    StringBuilder builder = new StringBuilder("");
    builder.append(char a)

    二、Java继承的基本概念及其限制

    继承:就是扩展已有类的功能,在继承中分为子类和父类,父类有时候也称为超类(super class),子类有时候称为派生类。
    继承的基本语法为:class子类 extends 父类 {}
    继承的限制:①在java中不允许多重继承,一个子类只能继承一个父类,不能继承多个父类;②java中允许多层继承;③在继承中子类不能访问父类中的私有成员,只能继承公共操作。但是私有成员可以通过公共方法得到访问。

    三、this关键字和super关键字的区别

    ①super关键字在调用父类构造函数时,一定要放在最前面..this()和super()不能同时存在一个构造函数中调用其他构造函数,因为二者都是需要排在第一。
    ②代表的事物不一致。
    ! super关键字代表的是父类空间的引用。
    ! this关键字代表的是所属函数的调用者对象。
    ③使用前提不一致。
    !super关键字必须要有继承关系才能使用。
    !this关键字不需要存在继承关系也可使用。
    ③ 调用构造函数的区别:
    !super关键字是调用父类的构造函数。
    ! this关键字是调用本类的构造函数。

    四、关于重载、覆写、final关键字

    https://www.cnblogs.com/Andya/p/7297728.html
    https://www.cnblogs.com/phdeblog/p/9094931.html
    我觉得这两篇博客写的比较易懂且详细,就不自己到处搬运了~

    个人总结:

    这次的题目我觉得还行吧,应该大部分人都会做的辣种。上课老师有讲怎么做,然后还示范了一遍。尤其是第二题和第三题刚好在上次的总结里有写拓展,上次找了代码自己看然后写了一遍,这次就是一回生二回熟的比较上手了。这周上课我印象里就是继承的概念 extends、方法的重载与覆写、final关键字、super和this的区别、三种访问权限的大小之类的?虽然课下我脑子里一片浆糊,但是网络是个好东西,我jio得网上别人的总结(那种浏览量很大的)的确值得收藏看看,关于上面的几个大点拓展是看了别人的才弄出来的,自己总结的是比较少的。反正是给自己看就瞎贴了资料啥的~over over!!

  • 相关阅读:
    vs编译出现 fatal error LNK1281:无法生成 SAFESEH 映像
    $apply()和$digest()——angular
    JS获取URL中参数值
    NeDB——node嵌入式数据库
    VS Code常用插件
    js断点调试
    VS Code 使用Git进行版本控制
    VS Code快捷键
    用户tokenId
    node-webkit-updater——NW.js自动更新
  • 原文地址:https://www.cnblogs.com/Duya9ian/p/11598434.html
Copyright © 2020-2023  润新知