数组和字符串(面向对象篇)

C++ 面向对象- -一些简单练习(八) 目录 1、数组形参(求平均值) 2、指针字符串 3、矩阵的转置 4、求矩阵最值,并确定位置 5、判断闰年 6、四则运算 7、switch-case使用 8、比较大小(三个数) 9、比较大小(三个数) 10、数值排序(三个数) 11、问题求值 12、求平方和 1、数组形参(求平均值) //n个学生的成绩存放在score数组中,请编写函数fun。 //它的功能是:... 阅读详情

本章为大家介绍java中预定义好的两个类:数组和字符串。

数组依照存放元素的复杂程度,可分为一维数组、二维数组和多维数组。一维数组的声明格式:数组类型 数组名[],如声明一个整型数组score,用来保存学生成绩,int score[];

数组元素的表示方法:java的数组索引编号从0开始,示例声明一个一维数组,长度为3,利用for循环输出数组的内容后,再输出数组的元素个数。

运行结果

一维数组的初始化:数组的初始化有两种方式,第一种 数组类型 数组名[]={值1,值2,值3...} 第二种 数组类型 数组名[]=new 数组类型[常量值]。

一维数组的赋值:数组初始化后就要赋值。示例如下:

运行结果

数组的使用:数组的遍历是数组操作最常见的操作。示例创建一个数组,然后依次输出数组中每个元素。

运行结果

求数组的最大值和最小值,示例如下:

运行结果

数组的排序:数组排序的方法有多种,最常用的就是用Arrays.sort()方法对数组进行排序。示例如下:

运行结果

数组的复制:java提供了System.arraycope()方法用来复制数组,格式如下System.arraycope(a(源数组)b(偏移量,即从哪个位置开始复制的索引)c(目标数组)d(偏移量)f(要从源数组复制到目标数组元素的个数))。示例如下

运行结果

数组的填充:Java提供了Arrays.Fill()方法来实现。格式:Arrays.Fill(数组名,要填充的值).示例如下

运行结果

数组的比较:比较两个数组是否相等。使用Array.equals()方法,格式如下Array.equals(目标数组a,目标数组b).示例如下:

运行结果

数组的遍历:使用Arrays.asList()方法遍历数组比起用for循环输出数组内容方便许多。格式:Arrays.asList(数组a),示例如下

运行结果

二维数组:典型的多维数组。二维数组的声明如下 数组类型 数组名[][];初始化格式 数组名=new 数组类型[行数][列数],注意:二维数组的行数下标可以省略,但是列数下标不可省略。二维数组的赋值:数组类型 数组名[][]={行初值}{列初值}.如 int a[][]={{1,2,3},{4,5,6}};示例利用二维数组输入输出计算总和,如下:

运行结果

多维数组:只要在声明数组的时候将数组下标再增加一组即可,如int a[][][],三维数组,int a[][][][] 四维数组。

字符串:在本质上,字符串实际上为char型数组,由Java.lang.String类来表示,该类具有一系列的属性和方法,提供对字符串的各种操作。除String类外,java还提供了StringBuffer类用来处理可变长度的字符串。

String字符串的声明:String 变量名。如 String str;

创建字符串:java中创建字符串有两种形式,一种是直接使用字符串常量创建字符串变量,另一种是使用new关键字创建字符串变量。

1.直接使用直接使用字符串常量创建字符串变量,如String str="Hello";或者String str;str="Hello";

2.使用new关键字创建字符串变量,如 

String str=new String();//创建一个空的字符串。

String str=new String(char[]a)//使用字符数组中的所有元素创建字符串。

String str=new String(char[] a,offset,count)//使用字符数组中的一部分元素创建字符串,offset表示起始截取位置,count表示截取的个数。

String str=new String(original)//使用字符串常量来创建字符串。

字符串的连接:将多个字符串连接成一个字符串使用(+)运算符进行。示例如下:

运行结果

字符串的比较:

String类下的compareTo()方法,即按字典顺序比较两个字符串,返回int 值。示例如下:

运行结果

对象的equals()方法,字符串对象通过调用String类中的equals()方法来比较当前的字符串对象是否与参数指定的字符串相同。示例如下:

运行结果

equalslgnoreCase()方法:该方法的作用和用法和equals作用和用法基本相同,只是equalsIgnoreCase()方法忽略大小写。示例如下

运行结果

字符串方法:

1.length()方法,返回字符串的长度,示例Str.length();示例如下:

运行结果

2.indexOf()方法:返回字符(串)在字符串中首次出现的索引位置,若找到,返回索引值,否则返回-1.示例如下

运行结果

3.substring()方法:可以对字符串进行获取子字符串的操作。示例如下:

运行结果

4.replace()方法:String类中的replace()方法返回一个新的字符串,它是通过用新的字符串,替换此字符串中出现的所有指定的子字符串而得到的,原字符串不会发生改变。示例如下:

结果

5.startsWith()方法和endsWth()方法:可以判断某字符串是否以指定的字符串开始或结果。

6.toLowerCase()方法和toUpperCase()方法:专门用于转换字符串大小写的方法。

StringBuffer类的声明和创建:

由于String对象中存放的字符串是不能修改的,如果要求频繁的增加、删除、修改字符串中的内容时,需要使用stringbuffer类。创建StringBuffer对象,需要先进行声明,声明格式 StringBuffer 变量名; 1.不带参数的构造方法StringBuffer(),StringBuffer str =new StringBuffer();2.以整数类型为参数的构造方法StringBuffer(int length),StringBuffer str=new StringBuffer(10);3.以String对象作为参数的构造方法StringBuffer(String str),StringBuffer str=new StringBuffer("Hello");

StringBuffer 类是动态的字符串类,它可以动态的执行添加、删除、插入等字符串的编辑操作。

1.append()方法:用于向字符串中追加内容。

2.delectCharAt()方法:用于删除指定位置的字符,然后将剩余的内容形成新的字符串。

3.insert()方法:在StringBuffer对象中插入内容,然后形成新的字符串。它和append()方法区别在于insert()方法可以在任意指定的位置进行任意数据类型的值的插入。

4.setChart()方法:将对象中索引值为指定位置的字符修改为新的字符。

总结:本章主要介绍了一维数组,多维数组以及字符串,重点在于一维数组和二维数组的使用,以及String类和stringbuffer类的方法的使用和掌握。





PTA 面向对象程序设计-实验一 PTA java实验 阅读详情

相关推荐

Java基础知识

目录 1.0 Java基础 1.0.1 Java的发展史 1.0.2 Java的跨平台 1.0.3 JVM安装 1.1第一个Java程序 1.1.1 关注的重点内容 1.1.2 代码编写 1.1.3代码的关注点 1.2 Java数据类型 1.2.1 数据类型是什么 1.2.2 数据类型分类 1.3 Java中的变量 1.3.1 什么是变量 1.3.2 如何定义变量 1...

MQK的博客 1610

System.arraycopy详解

对数组的复制,有四种方法:forclone下面分析一下最常用的System.arraycopy()

yangruidage21的博客 4754

面向对象程序设计实验四:指针、引用与结构体

这个是大一的代码,清理网盘,存为博客,仅供参考。一、实验四题目:1. 运用指针或引用实现数据访问与参数传递,题目如下:① 输入10个整数存入数组list,然后用指针法从后向前输出该数组中的整数。 ② 编写函数getlen计算字符串长度,形参使用指针或引用,函数返回值是字符串的长度(不包含字符串的结束标志),在主函数中调用并测试结果。 ③ 编写一个函数swap实现两个数据的互换,形参分别指针和引用,在调用并测试结果。 2. 运用结构体组织复杂数据,参考题目如下:① 定义一个结构体变量(包括年、月、

蓝多多的小仓库 750

数组与面向对象

Java类型:基本类型:8个 引用类型:数组、类、接口、枚举 数组:可以一次定义,就可以得到多个类型相同,功能相似的变量。可以通过数组元素的索引来访问数组元素,包括为数组元素赋值和取出数组元素的值。 数组内的元素具有相同的数据类型或有继承关系的数据类型,一个数组只能存储一种数据类型的数据,而不能存储多种数据类型的数据。 一旦数组的初始化完成,数组在内存中所占的空间将被固定下来,因此数组的长度是不可改变的,即使数组元素的数据清空,它所占的空间依然被保留,长度依然不变。 数组,在所有数据结构中是存、取数据最快的

a416951514的博客 459

你好,面向对象程序设计

C++ 预定义了一些 I/O 流对象来实现输入输出,这些 I/O 流对象关联相应设备(键盘、显示器等)并实现程序和设备之间的数据传输。C++ 标准库提供了一组丰富的输入/输出功能,我们将在后续的章节进行介绍。本关任务:当输入一个生日时,如“1992 3 18”,程序输出相应的问好信息,如“Hello!本关任务:程序接受一个输入字符,然后将该字符输出三遍,再输出一个!本关任务:编写一个能计算两数之和的程序,输入数据包括多组。本关任务:给定很多行数据,要求输出每一行的最大值。有多行输出,对应输入的行数。

Junds0的博客 421

科研绘图实战:用Adobe Illustrator高效排版期刊论文图片

本文详细介绍了使用Adobe Illustrator高效排版科研论文图片的完整工作流。针对期刊投稿常见的图片格式问题,文章重点讲解了矢量图与位图的预处理、AI中的精准对齐与分布技巧、文字样式统一管理以及最终输出TIFF/PDF等符合出版要求的格式。掌握这套方法能确保图片满足高分辨率、规范字体和精确尺寸等期刊硬性标准,显著提升投稿效率。

tomato的博客 1433

关于Arrays.copyOfRange()方法的使用

此方法是 java.util.Arrays下的一个方法 源码: public static int[] copyOfRange(int[] original, int from, int to) { int newLength = to - from; if (newLength < 0) throw new IllegalArgum...

玄武后端技术栈 1万+

【智能优化算法】2024年SCI鳗鱼-石斑鱼优化算法(EGO),含MathType公式、word伪代码、visio流程图、matlab代码等。

该文中包括5个内容:用MathType编辑的公式、伪代码、visio的流程图,matlab代码,PDF论文,拿来直接用,可以帮助科研者省下超多时间。 鳗鱼-石斑鱼优化算法(Eel and grouper optimizer ,EGO)是一种新型的元启发式算法(智能优化算法),灵感来源于海洋生态系统中鳗鱼和石斑鱼的共生作用和觅食策略。该成果由Ali Mohammadzadeh和Seyedali Mirjalili两位作者于2024年6月发表在SCI著名期刊《Cluster Computing》上。

2301_79359347的博客 1042

Java基础——数组的复制System.arraycope();

package day04; /* * 数组的复制 * 1.System.arraycope()方法可以实现数组的复制 */ public class Array_cope { public static void main(String[] args) { int[] arr={1,2,3,4,5,6,7}; int[] arr2=new int[5]; System.ar...

nore的博客 562

智能车‘大脑’的诞生:揭秘电磁循迹代码背后的控制论与系统思维

本文深入探讨智能车电磁循迹系统的核心架构与控制原理,揭示了其作为精密闭环系统如何通过模块化设计、信号处理、PID控制算法及电机驱动实现自主导航。重点分析了电磁信号采集与处理流程框架,为开发者提供从理论到实践的全面指南。

arduino9maker的博客 531

2026年信创系统技术应用专业人才培养基地建设方案(高职、信创新专业、人才培养、专业代码:510221)

响应国家信创产业战略及教育部新增“信创系统技术应用”专业(代码510221)的部署,联合麒麟软件、华为鸿蒙等领军企业,建设高水平信创人才培养基地。方案基于国家政策导向(如2027年央企全面国产化替代目标)和行业人才缺口(2025年缺口超80万人),提出以“产教融合、创新驱动”为核心,构建集教学、实训、认证于一体的综合性培养体系。 建设内容涵盖五大方向: 专业规划:分三阶段(2025-2030年)推进专业申报、课程开发与区域辐射,最终建成区域性信创技术创新平台。 课程体系:围绕运维、云计算、数据库、适配

啊碧根果的博客 1598

面向对象的数组(Java)

面向对象数组的操作(增删改查) 数组对象类 1.数组的元素插入 2.数组的元素的删除 3.数组元素的修改 4.数组元素的查看 5.数组元素的遍历 6.数组元素的长度 package array; public class ArrayUtil { //用于存储整形数据的数组 private int[] elements; //重写构造方法 public ArrayUtil(){...

大树 675

热力学仿真软件:ANSYS CFX_(15).旋转机械仿真

创建旋转域在中选择需要设置为旋转域的区域。选择选项。设置旋转速度在设置中,指定旋转速度(单位为弧度/秒)。也可以选择选项,并输入具体值。设置旋转轴在设置中,指定旋转轴的方向和位置。通常旋转轴的方向可以使用单位向量来表示,例如[0, 0, 1]表示沿Z轴旋转。旋转轴的位置可以通过指定一个点的坐标来确定,例如[0, 0, 0]表示旋转轴通过原点。旋转机械的仿真在ANSYS CFX中是一个复杂但重要的过程。

kkchenjj的博客 1159

C++实验5——数组、指针与字符串

大一时写的,很菜。学习使用数组数据对象; 分别使用字符数组和标准C++库练习处理字符串的方法。 练习通过动态内存分配实现动态数组,并体会指针在其中的作用; 练习通过debug观察指针的内容及其所指的对象的内容; 掌握指针的使用方法; 学习标准C++库的使用; 学习字符串数据的组织和处理;

木子一个Lee的博客 2404

请举手回答,LDO和DC-DC有什么不同?

文章目录1 LDO是什么2 LDO典型电路3 DC-DC是什么4 DC-DC典型电路5 LDO和DC-DC区别10.2.6 小结一下 大家好,我是记得诚。 DC-DC和LDO都是电源芯片,两者差异很大,用法也不同,这篇博客讲述LDO和DC-DC的一些差异,帮助更好的认识LDO和DC-DC并进行选型。 1 LDO是什么 LDO是low dropout regulator的简称,即低压差线性稳压器,这是相对于传统的线性稳压器来说的,传统的稳压器,输入比输出要高出很多,否则无法工作,LDO可能输入比输出高1~2V

记得诚 1万+

音乐生成 - 使用LSTM或Transformer模型进行音乐生成,如MIDI音乐生成。

在本篇博客中,我们将介绍如何使用LSTM和Transformer模型生成MIDI音乐。我们将首先概述音乐生成的一般流程,然后深入了解LSTM和Transformer模型的特点和实现。最后,我们将通过Python代码演示如何使用这两种模型生成MIDI音乐。

斌擎科技 1720

Java学习日记:三、面向对象高级篇

本文主要介绍了Java中面向对象的高级特性,包括: 1.包装类。主要介绍了包装类的由来以及使用 2.数组。不仅介绍了数组的使用,还介绍了数组的物理存储结构 3.字符串。介绍String和StringBuilder类的使用 4.异常机制 5.常用工具类

m0_69662745的博客 805

搞懂 ABAP 里的 Language Settings:登录语言、文本环境语言与 sy-langu 的真实含义

SAP系统中语言设置并非单一字段决定,而是由登录语言(logon language)和文本环境语言(text environment language)共同控制。登录语言在会话期间固定,而文本环境语言可通过SET LOCALE语句修改,影响文本处理、排序、异常显示等行为。开发中需区分两者:使用CL_ABAP_SYST方法获取登录语言,通过sy-langu或GET LOCALE获取当前文本环境语言。语言环境切换应谨慎处理并尽快恢复,避免影响会话中其他程序。在多语言场景下,正确处理语言设置对确保文本相关功能正常

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1307

c++ 字符串连接_C++ 字符串

C++ 字符串C++ 提供了以下两种类型的字符串表示形式:C 风格字符串C++ 引入的 string 类类型C 风格字符串C 风格的字符串起源于 C 语言,并在 C++ 中继续得到支持。字符串实际上是使用 null 字符 '' 终止的一维字符数组。因此,一个以 null 结尾的字符串,包含了组成字符串的字符。下面的声明和初始化创建了一个 "Hello" 字符串。由于在数组的末尾存储了空字...

weixin_39883433的博客 5159

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

超详细的Java面试题汇总(基础篇+框架篇)

Java面试题汇总-基础篇 1.面向对象是什么? 答:面向对象是一种思想,世间万物都可以看做一个对象,这里只讨论面向对象编程(OOP),Java是一个支持并发、基于类和面向对象的计算机编程语言 面向对象软件开发的优点:代码开发模块化,更易维护和修改;代码复用性强;增强代码的可靠性和灵活性;增加代码的可读性。 2、String 是最基本的数据类型吗? 答:不是。Java中的基...

qq_24047659的博客 782

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

php 数组怎么传值,将PHP数组或对象传递给javascript 交互 传值 json_encode

from:http://apps.hi.baidu.com/share/detail/17211436将PHP数组或对象传递给javascript如果把数组转化成javascript代码的字符串来操作,比较麻烦。PHP 5.2绑定了JSON扩展,可以比较方便的传递数组或对象给javascript。JSON是一种字符串的格式,符合JSON格式的字符串可以当作数组或对象直接赋值给javascript。...

weixin_39900023的博客 191

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Java 面向对象 习题2(基础篇)

1、(1)从字符串“Java 技术学习班 20220326 "中提取开班日期。2、编写一个公司员工类。(1)数据成员:员工号、姓名、薪水、部门。(2)方法:1).利用构造方法完成设置信息。2).显示信息。3、构造一个银行账户类,类的构成包括如下内容:(1)数据成员用户的账户名称、用户的账户余额(private数据类型)。(2)方法包括开户(设置账户名称及余额),利用构造方法完成。(3)查询余额。4、声明一个图书类,其数据成员为书名、编号(利用静态变量实现自动编号)、书价,并拥有静态数据成员册数 .....

亮点菌 963

JavaScript面向对象基础

如果想看 基础语法 的内容,请移步JavaScript基础语法 目录一、自定义对象01. 对象的概念02. 创建对象(1) 使用对象字面量03. 操作对象(1) 增加对象的属性、方法(2) 修改对象的属性、方法(3) 使用属性、方法(4) 遍历对象的属性、方法(6) 特别注意的一点04. 通过自定义构造函数来创建对象05. 设计模式————工厂模式,利用工厂函数创建对象二、Math对象01. 常用属性、方法02. 简单应用:获取指定范围的随机整数三、Date对象01. 实例化对象(1) 返回当前时间对应.

新阿巴阿巴 324

面向对象程序设计java_面向对象程序设计(java)

第一部分:理论知识学习部分一.简单的Java程序应运程序1.标识符0标识符由字母、下划线、美元符号和数字组成,且第一个符号不能为数字。标识符可用作:类名、对象名、变量名、方法名、数组名、文件名等2.关键字关键字就是Java语言中已经被赋予特定意义的一些单词。常见有:class、public、try、catch、if、float、import、void等。关键字不做变量名。二.注释注释Java有三种...

weixin_30199703的博客 743

java基础知识笔记(基础语法+面向对象编程思想)

java总结

a_123456598的博客 1050

2021-02-05(541. 反转字符串 II)

class Solution { public String reverseStr(String s, int k) { char[] a=s.toCharArray(); for(int i=0;i<s.length();i=i+2*k){ int st = i, f = Math.min(i + k - 1, a.length - 1); while (st < f) {

TickTick123的博客 92
上一篇: 流程控制(面向对象篇)
下一篇: 渐行渐远的分答
炸鸡大叔
博客等级 码龄11年 90粉丝 50原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值