第一节课,学习了基本数据类型和String类.
在java中有八种原始类型,byte,short,long,int,float,double,char,booleam,它们有不同的值域和表示范围,我们应该严格按照它们的值域和表示范围定义数(这是任何一个学习编程的人都必须特别注意的,否则会出现不可预知的错误)。
第一节课的重点内容是在String类,以及在String类下的各种方法,对字符串进行各种神奇的处理。
我们的主要任务是给定一个字符串,统计其中每个字符出现的次数,这个任务的难点在于,每个字符出现不止一次,如果不做其他处理的话,就会出现重复统计,这样既费时又不科学,所以我们在统计完一个字符之后,需要把这个字符删除,在String类里,我们就会想到用replace这个方法,将其删除(实为替换)。
对于这一个字符串,我们用两个循环,外循环从第一个字符开始,将第i(0<=i<字符串的长度)个字符赋给我们定义的字符c,再利用内循环,在内循环中定义整型count=1,把第i+1个以后的字符依次与字符c进行比较,如果相等,就计数count加一,并且在一个字符统计完成后实施替换。在循环过程中,得注意外循环的i是不能自加的,这样会对计数有影响,导致计数错误。代码如下:
public class 字符串统计 {
/**
* 统计字符串euriyui3743289^%^&*&DJHK2312中每个字符出现的次数 *
* @param ZhuMei
*
*/
public static void main(String[] args) {
// 定义字符串变量
String str1 = "euriyui3743289^%^&*&DJHK2312";
//统计每个字符出现的次数
for (int i = 0; i < str1.length();) {
char c = str1.charAt(i);
int count = 1;
for (int j = 1; j < str1.length(); j++) {
if (str1.charAt(j) == c) {
count++;
}
}
str1 = str1.replace(c + "", "");
System.out.println(c + "出现的次数为" + count + "次");
}
}
}
这种方法容易想到,但是因为要和每个字符都比较,对于电脑来说,工作量较大。下面还有一种思路,相比工作量小一点(其实就是熊哥你讲的,我暂时想不出了T_T):
因为每一个字符都对应的有一个ASCII值,我们就可以定义一个存储计数的数组,再利用charAt方法获得指定索引位置的字符,在将字符转换为对应的ASCII值,然后将对应的ASCII位置的数组元素加1,在用循环输出统计个数部位0的。
这是本节课的部分内容,还有一些String类方法的练习,其实就是照抄,所以就不上传了。
分享到:
相关推荐
本文研究的主要问题时关于C和C++中的基本数据类型int、long、long long、float、double、char、string的大小及表示范围,具体介绍如下。 一、基本类型的大小及范围的总结(以下所讲都是默认在32位操作系统下): ...
我们尽可以把它看成是C++的基本数据类型。 好了,进入正题………首先,为了在我们的程序中使用string类型,我们必须包含头文件 <string>。 如下:#include <string> //注意这里不是string.h string.h是C字
对比一下TypeScript和JavaScript中的数据类型(基本数据类型和引用数据类型) 一、先分别看一下ES5的基本数据类型和ES6新增基本数据类型 ES5的基本数据类型: String Number Boolean Null Undefined ES6新增基本数据...
Java基本数据类型 string和包装类 final关键字特性 Java类和包 抽象类和接口 代码块和代码执行顺序 Java自动拆箱装箱里隐藏的秘密 Java中的Class类和Object类 Java异常 解读Java中的回调 反射 泛型 枚举类 Java注解...
基本数据类型包括byte、int、char、long、float、double、boolean和short。 java.lang.String类是final类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用StringBuffer类 3、int 和 ...
基本数据类型,核心点整理 特殊的String类,以及相关扩展API 日期与时间API详解 流程控制语句,和算法应用 函数式编程概念和应用 集合容器 基于分析列表集合源码体系 基于分析地图集合源码体系 IO流机制 IO流核心...
前言 在Activity间传递的数据一般比较简单,但是有时候实际开发中也会传一些比较复杂的数据,本节一起来学习更多Activity间数据的传递方法。 1、通过 Intent 传递 我们在进行 Activity ...String 不是基本数据类型,
基本数据类型包括byte、int、char、long、float、double、boolean和short。 java.lang.String类是final类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用StringBuffer类 6、int...
基本数据类型对象包装类★★★☆ 75 集合框架:★★★★★,用于存储数据的容器。 76 < java.util > Collection接口 77 < java.util >Iterator接口 78 < java.util >List接口 78 < java.util >Set接口 80 ...
java面试试题总结 String是最基本的数据类型吗? 基本数据类型包括byte、int、char、long、float、double、boolean和short。
ECMAScript中有5中简单数据类型(也称为基本数据类型): Undefined、Null、Boolean、Number和String。还有1中复杂的数据类型————Object,Object本质上是由一组无序的名值对组成的。 其中Undefined、Null、...
基本数据类型包括byte、int、char、long、float、double、boolean和short。 java.lang.String类是final类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用StringBuffer类 3、int 和 ...
Javascript自带两套类型:基本数据类型(undefined,string,null,boolean,function,object)和对象类型。 但是如果尝试用typeof 来检测对象类型都一律返回”object”并不能加以区分 typeof null // object ...
2 String是最基本的数据类型吗? 3 int 和 Integer 有什么区别 4 String 和StringBuffer的区别 5 运行时异常与一般异常有何异同? 异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中...
7.7 指针、引用和类 7.7.1 指针和引用实例 7.7.2 处理日期和时间的程序实例 7.8 总结 7.9 练习 复习题 第8章 继承和虚函数 8.1 为什么继承如此重要 8.1.1 IceCreamDialog实例 8.1.2 Counter类实例 8.2 继承基础 ...
08_数据类型基础提高 09_数据类型引申和思考 10_变量本质剖析和内存四区模型引出_传智扫地僧 11_c的学习重理解到位_对初学者_传智扫地僧 12_直接通过内存标号操作内存空间_课堂答疑 13_中午课程回顾 14_内存四区基本...
数据类型可分为两类:一类是非结构的原子类型,如C#语言中的基本类型 (整型、实型、字符型等);另一类是结构类型,它的成分可以由多个结构类型 组成,并可以分解。结构类型的成分可以是非结构的,也可以是结构的。...
4.2 结构和类 75 4.3 调用函数的基类版本 76 4.4 抽象类和抽象函数 77 4.5 密封类和密封方法 79 4.6 修饰符 80 4.7 接口 81 4.8 内容总结 86 4.9 独立实践 86 5 委托与事件 88 5.1 事件的原理 88 5.2 简单的自定义...
文章目录每日一考和复习基本语法关键字和保留字关键字保留字标识符变量基本数据类型基本数据类型变量间转换基本数据类型与String间转换进制与进制间转换总结: 每日一考和复习 每日一考题目及解答: JDK,JRE,JVM三者...
根据处理数据类型的不同分为:字符流和字节流 根据数据流向不同分为:输入流和输出流 字符流和字节流 字符流的由来: 因为数据编码的不同,而有了对字符进行高效操作的流对象。本质其实就是基于字节流读取时,去查...