实验三 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!!

Java第五周作业+总结的更多相关文章

  1. java第五周作业

    Java Applet Applet 是一种 Java 程序.它一般运行在支持 Java 的 Web 浏览器内.因为它有完整的 Java API支持,所以Applet 是一个全功能的 Java 应用程 ...

  2. 2017-2018-1 JAVA实验站 第四、五周作业

    2017-2018-1 JAVA实验站 第四.五周作业 JAVA实验站小组成员 学号 名字 职务 20162318 张泰毓 组长 20162303 石亚鑫 组员 20162304 张浩林 组员 201 ...

  3. 1903021116—吉琛—Java第六周作业—类的定义

    项目 内容 课程班级博客链接 19信计班 这个作业要求链接 第六周作业链接 java面向对象的概念和定义 博客名称 学号-姓名-Java第六周作业-题目自拟 要求 每道题要有题目,代码(使用插入代码, ...

  4. JAVA第三周作业(从键盘输入若干数求和)

    JAVA第三周作业(从键盘输入若干数求和) 在新的一周,我学习了JAVA的IO编程.下面的代码实现了从键盘输入若干数求和的目标.import java.util.Scanner; public cla ...

  5. 2018-2019-1 20189221《Linux内核原理与分析》第五周作业

    2018-2019-1 20189221<Linux内核原理与分析>第五周作业 实验四 实验过程 当用户态进程调用一个系统调用时,cpu切换到内核态并开始执行一个内核函数. 在Linux中 ...

  6. 2017-2018-1 JaWorld 第四、五周作业

    2017-2018-1 JaWorld 第四.五周作业 两周工作内容 小组讨论并确定最终的app雏形 合作完成需求说明书 工作分工 成员 分工 比例 陈是奇 1.引言 8% 马平川 2.1-2.5 产 ...

  7. 2017-2018-1 JAVA实验站 第二周作业

    2017-2018-1 JAVA实验站 第二周作业 小组成员: 组长 20162318张泰毓 成员 20162303石亚鑫 20162304张浩林 20162307张韵琪 20162321王彪 201 ...

  8. 2017-2018-1 20179205《Linux内核原理与设计》第五周作业

    <Linux内核原理与设计>第五周作业 视频学习及操作分析 一.用户态.内核态和中断 内核态在CPU执行中对应高执行级别,执行级别为0级,具有特权指令,可以访问任意物理地址:用户态执行级别 ...

  9. 20165210 Java第五周学习总结

    20165210 Java第五周学习总结 教材学习内容 - 第七章学习总结 内部类: 内部类的外嵌类的成员变量在内部类中仍然有效,内部类中的方法也可以调用外嵌类中的方法. 内部类的类体中不可以声明类变 ...

随机推荐

  1. python技巧31[移植python2.x到3.x]

    我们都知道python从2.x升级到3.x的过程中有一些不兼容的改动,但是有时还我们不得不将2.x的程序升级到3.x. 主要不兼容如下图: 移植过程: 1) 确保存在的代码有足够的测试覆盖.从2.x到 ...

  2. 《Head First 软件开发》阅读三

    足够好的设计:以良好的设计完成工作 良好的设计有助于交付软件. 有些项目的进程会打破单一责任的原则,当每个对象只有一个理由去改变时,已经正确地实施了单一责任原则.辨别设计中的多重责任,对实现类中的东西 ...

  3. 第二章 psql客户端工具

    第二章 psql客户端工具 pgAdmin是一款功能丰富.开源免费的PostgreSQL图形化工具.psql是PostgreSQL自带的命令行工具,功能全面,是PostgreSQL数据库工程师必须熟练 ...

  4. 2019春Python程序设计作业2(0326--0401)

    1-1 已知st="Hello World!",使用print(st[0:-1])语句可以输出字符串变量st中的所有内容. (2分) T         F 1-2 Python程 ...

  5. IdentityServer4

    序言 IdentityServer4能做什么 Identity Server 4(以下简称ID4)是一个基于oauth2和OpenID的身份认证组件,基于这个组件可以快速开发自己的身份认证网站,支持单 ...

  6. [CF118D]Caesar's Legions 题解

    题意简述 一个01序列由\(n_1\)个0和\(n_2\)个1组成,求最长连续0串长度不超过\(k_1\),最长连续1串长度不超过\(k_2\)的序列的方案总数 题解 状态 方案总数 变量 已经取了i ...

  7. R 常用代码段

    #用来根据不同的细胞来源重新画TSNE图cell_source <-colnames(immune_nobatch) cell_type <- strsplit(cell_source,s ...

  8. HOG行人目标检测

    行人检测是自动驾驶中重要的内容,对于驾驶安全具有重要意义. HOG特征提取: (1)灰度化处理 (2)Gamma变换和梯度计算 (3)Cell划分 (4)Cell组成block,归一化处理 (5)bl ...

  9. bash配置文件

    bash的配置文件 一.shell的两种登录方式: 1.交互式登录: (1)直接通过终端输入账号密码登录 (2)使用"su - UserName" 切换的用户 执行顺序:/etc/ ...

  10. ZooKeeper 原生API操作

    zookeeper客户端和服务器会话的建立是一个异步的过程,也就是说在程序中,程序方法在处理完客户端初始化后立即返回(即程序继续往下执行代码,这样,在大多数情况下并没有真正的构建好一个可用会话,在会话 ...