java 字符数组与字符串_用于字符串和数组的5种简单有效的Java技术

java 字符数组与字符串

Java通常会排在前五种最流行的编程语言中,因此可以理解。 它是一种通用语言,非常容易学习,因为它是一种高级语言,并且可以满足许多用例。 由于这些原因,Java是一门很棒的语言,可以用来学习您是否有经验,还是刚开始您的软件工程生涯。

Java可能是一种相对容易学习的语言,但这并不意味着我们不会时有问题,不会陷入困境,也不会忘记该语言的细微差别。 这篇文章的目的是为您提供有关如何在Java框架内执行特定操作的简要信息,称为EdPresso Shots 。 在本文中,我们将介绍与字符串和数组相关的操作方法。

让我们开始吧。

如何在Java中查找字符串的长度

要计算Java中字符串的长度,可以使用Java 字符串类的内置length()方法

在Java中,字符串是使用字符串类创建的对象,而length()方法是此类的公共成员方法。 因此,任何类型为string的变量都可以使用来访问此方法 (点)运算符。

length()方法计算字符串中的字符总数。

length()方法的签名如下:

  • 公共int 长度()
  • length()方法的返回类型为int。

例:

Class CalcLength {public static void main (string args[]) {string name = "educative"; // initializing a string object nameint length = name.length(); // calling the inbuilt length methodsystem.out.println("The length of the string \""+name+"\" is: " +length);}
}

输出=字符串“教育性”的长度为9。

有兴趣了解更多Java操作方法吗? 查看Educative的Edpresso镜头 -开发人员知识的字节大小的镜头。

如何在Java中使用compareTo()方法比较字符串?

Java compareTo()方法根据字符串中每个字符的Unicode值按字典顺​​序(与字典中的顺序相似将给定的字符串与当前字符串进行比较。 此方法在实现时返回一个整数。

Java字典顺序如下:

  • 号码
  • 大写
  • 小写

三种情况下使用compareTo()方法:

情况1:两个字符串在字典上是等效的

如果两个字符串相等,则该方法返回0(零)。

class MyClass {public static void main (string args[]) {string str1 = "abcd";string str2 = "abcd";system.out.println(str1.compareTo(str2));}
}

输出= 0

情况2:字符串调用方法按字典顺序优先

当按字典顺序调用该方法的字符串排在最前面时,该方法返回一个负数。

class MyClass {public static void main (string args[]) {string str1 = "abCd";string str2 = "abcd";system.out.println(str1.compareTo(str2));}
}

输出= -32

情况3:方法中传递的参数按字典顺序排在最前面

当方法中传递的参数按字典顺序排在最前面时,该方法将返回一个正数。

class MyClass {public static void main (string args[]) {string str1 = "abcd";string str2 = "abCd";system.out.println(str1.compareTo(str2));}
}

该数字表示作为输入参数传递的字符串str2和调用方法的字符串str1的Unicode值之间的差。

结果 = str2的Unicode – str1的Unicode

如何在Java中获取子字符串

Java中的substring()方法返回字符串的一部分,并用于获取Java中的子字符串。

Java中substring()方法实现有两种变体:

变体1我们指定了一个起始索引,返回的子字符串包括从输入字符串的指定起始索引开始直到字符串末尾的字符。

子字符串函数表示如下: stringName.substring(int startindex)

class HelloWorld {public static void main (string args[]) {string str = "edpresso";system.out.println(str.substring(2));}
}

输出=压力

变体2

我们指定开始索引和结束索引,返回的子字符串包含指定索引之间包含和的字符。 获取子字符串时,包含开始索引处的字符,但不包含结束索引处的字符。 因此,提取的子字符串中的字符从开始索引到结束索引-1开始。

子字符串函数也可以表示为: stringName.substring(int startIndex,int endIndex)

class HelloWorld {public static void main(string args[]) {string str = "edpresso";system.out.println(str.substring(2,7));}
}

注意: substring()方法不会更改原始字符串。

如何在Java中初始化数组

声明数组声明数组的语法是:

数据类型[] arrayName;

  • 数据类型:将存储在数组中的对象的类型,例如 int,char等
  • []:指定声明的变量指向数组
  • arrayName:指定数组的名称

初始化数组

声明数组不会初始化它。 为了将值存储在数组中,我们必须首先对其进行初始化,其语法如下:

数据类型[] arrayName =新数据类型[大小];

有几种不同的初始化数组的方法:

1.初始化数组而不分配值

可以将数组初始化为特定大小。 在这种情况下,每个元素的默认值为0。

class HelloWorld {public static void main(string args[]) {// intializing an arrayint[]array = new int[5];//printing the elements of arrayfor(int i = 0; i < 5; i++){system.out.println(array[i]);}}
}

2.在声明后初始化数组

class HelloWorld {public static void main(string args[]) {//array declarationint[]array;//array initializationarray = new int[]{1, 2, 3, 4, 5};//printing the elements of arrayfor(int i; i < 5; i++){system.out.println(array[i]);}}
}

注意:将数组分配给已声明的变量时,必须使用new关键字。

3.初始化数组并分配值

lass HelloWorld {public static void main(string args[]) {int[]array = {11, 12, 13, 14, 15};//printing the elements of arrayfor(int i = 0; i < 5; i++){system.out.println(array[i]);}}
}

注意:在初始化期间将值分配给数组时,未指定大小。

如何在Java中使用二维数组

类似于一维数组,二维数组是数据单元的集合。 在大多数情况下,二维数组的工作方式与一维数组相同。 但是,与一维数组不同,它们允许您同时指定列索引和行索引。

2D阵列中的所有数据均为同一类型。

声明二维数组

与一维数组类似,我们必须指定数组的数据类型,名称和大小。 二维数组的大小由行数和列数声明。 例如:

class Testarray {public static void main(string args[]) {int number_of_rows = 6;int number_of_columns = 5;int arr[][] = new int[number_of_rows][number_of_columns];}
}

此二维数组中的元素总数为:number_of_rows * number_of_columns因此,arr中的元素总数为30。

初始化二维数组

//initializing a 2-D array
int arr[][] = {{1, 2, 3},{4, 5, 6},{7,8,9}};

访问二维数组

像一维数组一样,您可以通过使用指定要访问的单元格索引的下标来访问二维数组中的各个单元格。 但是,您现在必须指定两个索引而不是一个。 表达式如下所示:

arr[2][3] = 5;
system.out.println(arr[2][3]); // prints out 5
  • 2是行索引
  • 3是列索引
  • 5是该索引处的值

您还可以使用以下语法找到行或列的长度:

arr[2][].length; // prints length of 3rd row 
arr[][0].length; // prints length of 1st column

如果您想查看更多有关Java,Python,C / C ++和许多其他语言的字节大小的EdPresso快照 ,可以访问Educative.io 。

学习愉快!

翻译自: https://www.javacodegeeks.com/2019/12/5-simple-and-effective-java-techniques-for-strings-and-arrays.html

java 字符数组与字符串

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/331629.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Hibernate之映射

一、映射文件 Hibernate在实现ORM功能的时候主要用到的文件有&#xff1a; 1、 映射类&#xff08;*.Java&#xff09; 描述数据库表的结构&#xff0c;表的字段映射为类的属性&#xff0c;表的记录映射为类的对象。 2、映射文件&#xff08;*.hbm.xml&#xff09; …

java流与文件——ZIP文档

【0】README 0.1&#xff09; 本文描述转自 core java volume 2&#xff0c; 旨在理解 java流与文件——ZIP文档 的相关知识&#xff1b; 0.2&#xff09; for source code, please visit https://github.com/pacosonTang/core-java-volume/blob/master/coreJavaAdvanced/cha…

单片机与gsm通信c语言,gsm模块如何与单片机通信?

51单片机与GSM模块实现通信1、检测串口线的好坏1)将串口线插在电脑上&#xff0c;用短路子短接串口的2脚和3脚2)打开串口调试助手3)点击自动发送&#xff0c;在自动发送的窗口中随便发个数据&#xff0c;看看能不能接收到若能接收到自己发的数据表示串口线是正常的&#xff0c;…

aws terraform_在AWS第1部分中使用Terraform自动缩放组:基本步骤

aws terraform因此&#xff0c;您想使用Terraform在AWS上创建一个自动缩放组。 以下是达到此目的的最少步骤。 在编写实际代码之前&#xff0c;应指定aws terraform提供程序以及provider.tf文件上的区域。 provider "aws" { version "~> 2.0" region …

java流与文件——java生成解压缩文件(夹)

【0】README 0.1&#xff09; 本文描述转自 http://blog.csdn.net/chenssy/article/details/9622171 &#xff0c; 旨在理解 java流与文件——java生成解压缩文件&#xff08;夹&#xff09; 的相关知识&#xff1b; 0.2&#xff09; for my diy source code, please visit h…

Java的系统Property

一、java 系统Properties修改 (1)System.getProperties()可以确定当前的系统属性,返回值是一个Properties; (2)System.load(String filename)加载文件中的属性Properties等同于&#xff1a;System.getProperties().load(String filename) (3)System.setProperties(Properties p…

android 发布最新系统更新包,安卓升级包(安卓补丁包更新)

安卓升级包(安卓补丁包更新)2021-02-08 15:39“固件升级”文石BOOX Android 6.0及以上型号都支持升级最新系统&#xff01;好消息&#xff01;截至今天&#xff0c;您在BOOX安卓6.0系统以上的所有阅读器型号&#xff0c;都支持升级到最新BOOX OS 2.3.1系统了&#xff01;?的设…

apache.camel_Apache Camel 3.1 –更多骆驼核心优化(第3部分)

apache.camel我以前曾在博客中介绍过我们在下一个Camel 3.1版本中所做的优化 博客第1部分 博客第2部分 今天&#xff0c;我想简要介绍一下我们已经完成的最新开发&#xff0c;因为我们准备在本周末或下半年准备好构建和发布Camel 3.1。 从第2部分开始&#xff0c;我们设法在…

AVL树的单双旋转解析

【0】README 0.0&#xff09; 本文部分idea 转自&#xff1a;http://blog.csdn.net/collonn/article/details/20128205 0.1&#xff09; 本文专注于 解析 AVL 树的 单旋转&#xff08;左左单旋转和右右单旋转&#xff09; 和 双旋转&#xff08;左右双旋转和右左单旋转&#…

List转数组toArray方法

一、List.toArray方法 List提供了一个将List转为数组的一个非常方便的方法toArray。toArray有两个重载的方法&#xff1a; Object[]toArray() 返回按适当顺序包含列表中的所有元素的数组&#xff08;从第一个元素到最后一个元素&#xff09;。<T> T[]toArray(T…

android定位会出现的问题,android – 使用GPS_PROVIDER进行定位时出现问题

使用&#xff1a;locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,MINIMUM_TIME_BETWEEN_UPDATES,MINIMUM_DISTANCE_CHANGE_FOR_UPDATES, locationListener);对于locationListener,您可以使用&#xff1a;LocationListener locationListener new Locati…

自底向上伸展树(之字形旋转+一字形旋转)

【0】README 0.1&#xff09; 本文总结于 数据结构与算法分析&#xff0c;核心剖析路线为原创&#xff0c; 旨在理清 自底向上伸展树&#xff08;之字形旋转一字形旋转&#xff09; 的基本思路&#xff1b; 0.2&#xff09; 自底向上伸展树 是基于 AVL树&#xff0c;for deta…

apache.camel_Apache Camel 3.1 –更多骆驼核心优化(第2部分)

apache.camel我以前曾在博客中介绍我们在下一个Camel 3.1版本&#xff08;第1部分&#xff09;中所做的优化 。 今天&#xff0c;我想发布大约4周后的状态更新。 我们集中在三个方面优化骆驼核心&#xff1a; 不必要的对象分配 不必要的方法调用 提高绩效 换句话说&#…

Util包中Arrays

java.util 类 Arrays java.lang.Object -java.util.Arrayspublic class Arrays extends Object此类包含用来操作数组&#xff08;比如排序和搜索&#xff09;的各种方法。此类还包含一个允许将数组作为列表来查看的静态工厂。 除非特别注明&#xff0c;否则如果指定数组引用为 …

Android的sqlite使用外部,Android 使用外部已经建立好的sqlite数据库

最近项目需要通过电话号码查询归属地&#xff0c;决定直接在本地sqlite的数据库进行查询&#xff0c;没必要去访问网络(虽然最后还是决定还是将数据库放在服务器上)一 首先先将外部的sqlite数据库放入assets文件夹下面注意&#xff1a;必须是sqlite数据库(XXX.db)&#xff0c;如…

java流与文件——操作文件

【0】README 0.1&#xff09; 本文描述转自 core java volume 2&#xff0c; 旨在理解 java流与文件——操作文件 的相关知识&#xff1b; 0.2&#xff09; for source code, please visit https://github.com/pacosonTang/core-java-volume/blob/master/coreJavaAdvanced/ch…

阅读副本和Spring Data第2部分:配置基础项目

在上一篇文章中&#xff0c;我们使用相同的数据设置了多个PostgreSQL实例。 下一步将是使用这两个服务器来配置spring项目。 如前所述&#xff0c;由于我们使用完全相同的数据库&#xff0c;因此我们将使用Spring Boot JPA帖子中的一些代码。 这将是我们的gradle构建文件 pl…

java生成UUID通用唯一识别码

一、UUID概述UUID含义是通用唯一识别码 (Universally Unique Identifier)&#xff0c;这是一个软件建构的标准&#xff0c;也是被开源软件基金会 (Open Software Foundation, OSF) 的组织在分布式计算环境 (Distributed Computing Environment, DCE) 领域的一部份。 UUID 的目…

android 项目部署,Android发布项目到JCenter

JCenter是什么大家应该都用过各种各样的Github上的第三方开源组件。类似这种效果的compile wang.yuchao.demoforjcenterlibrary:DemoForJCenterLibraryModel:1.2.5我们会比较好奇Android Studio 是从哪里得到这个类库的&#xff1f;Android Studio是从build.gradle里面定义的Ma…

java流与文件——对象流和序列化

【0】README 0.1&#xff09; 本文描述转自 core java volume 2&#xff0c; 旨在理解 java流与文件——对象流和序列化 的相关知识&#xff1b; 0.2&#xff09; for source code , please visit https://github.com/pacosonTang/core-java-volume/blob/master/coreJavaAdva…