📅  最后修改于: 2020-12-27 09:42:12             🧑  作者: Mango
对象就像变量,它指向保存一些数据的存储位置。与对象关联的函数称为成员函数。结果,我们可以使对象执行某些操作。
例如,
begin(), print()和println()是使用串行对象声明的函数。 Serial(print()等)之后的时间段指定我们正在访问Serial对象中的某些成员。成员可以是函数或变量。
在print()和println()函数之后的括号确定了串行调用的函数。这些函数不能在代码的全局范围内单独声明。因此,它们使用串行对象声明为Serial。 print()和Serial.println()。
String对象使我们可以在字符数组上存储和执行操作。 String对象比常规String占用更多的内存。
字符串对象始终以大写字母“ S”显示。它产生String类的实例。
可以从以下列出的不同数据类型构造它:
字符串的指定数字的默认基数为10。例如,
String myString = String(15);
它创建一个字符串,该字符串由数字15的ASCII表示形式组成。
要指定基数不是10的数字,可以将String创建为:
String myString = String(15, HEX);
它会给我们字符串“ F”。它表示十进制数15的十六进制转换。
我们还可以在BIN中表示一个字符串。例如,
String myString = String(15, BIN);
它会给我们字符串“ 1111”。它表示十进制数15的十六进制转换。
语法为:
String(value)
String(value, base)
String(value, PlacesofaDecimal)
哪里,
value :表示格式化或表示字符串所需的值。
数据类型为byte,unsigned int,char,float,double,unsigned long,long,int和字符串。
base :表示基数,格式化整数值需要此基数。例如,HEX,BIN等。
该库是可选的包括在内。
PlacesofaDecimal :它指定所需的小数位,仅当值是double或float时才需要。
我们可以对String使用各种函数。
它用于访问特定字符。
语法为:
thisString.charAT(n)
哪里,
thisString是声明的变量
n也是一个变量
允许的数据类型为unsigned int 。
上面的语法将返回指定字符串的第n个字符。
它用于比较两个字符串。指定的字符串所使用的字符的ASCII值进行比较。
语法为:
thisString.compareTo(myString)
哪里,
thisString和myString是声明的变量
如果thisString在myString之前,则上述语法将返回负数。
如果thisString在myString之后,它将返回一个正数。
它测试一个字符串是否以其他字符串的字符结尾。
语法为:
thisString.endsWith(myString)
哪里,
thisString和myString是声明的变量
如果thisString以myString字符结尾,则将返回true 。否则,它将返回false 。
它测试一个字符串是否以其他字符串的字符开头。
语法为:
thisString.startsWith(myString)
哪里,
thisString和myString是声明的变量
如果thisString以myString的字符开头,它将返回true 。否则,它将返回false 。
它获取指定String的小写版本。
语法为:
thisString.toLowerCase()
哪里,
thisString是声明的变量
它获取指定字符串的大写版本。
语法为:
thisString.toUpperCase()
哪里,
thisString是声明的变量
它比较两个字符串的相等性。比较非常敏感,其中字符串“ Arduino”不等于字符串“ ARDUINO”。
语法为:
thisString.equals(myString)
哪里,
thisString和myString是变量
如果thisString等于myString,它将返回true。否则,它将返回false 。
它将字符串的字符复制到提供的缓冲区中。
语法为:
thisString.getBytes(buffer, length)
哪里,
thisString是声明的变量
buffer :将字符复制到缓冲区中。所需的数据类型是byte 。
length :表示缓冲区的大小。所需的数据类型为unsigned int 。
它在另一个字符串中找到一个字符串或字符。
语法为:
thisString.lastIndexOf(value)
thisString.lastIndexOf(value, from)
哪里,
thisString是声明的变量
值:它包括要搜索的特定值。所需的数据类型为String和char 。
from :定义为从其向后工作的索引
声明要获取特定String的子字符串。
语法为:
thisString.substring(from)
thisString.substring(from, to)
哪里,
thisString是声明的变量
from :定义为索引,子字符串将从此处开始
to :它也是结束子串之前的索引。它是可选的。
它将Arduino中的有效String转换为整数类型。
语法为:
thisString.toInt()
哪里,
thisString是变量
所需的数据类型为long 。如果对话无效或字符串不是以整数开头,则返回零。
它将Arduino中的有效String转换为float。
例如,字符串“ 150”将转换为“ 150.00”
语法为:
thisString.toFloat()
哪里,
thisString是变量
所需的数据类型为float 。如果对话无效或字符串不是以数字开头,则返回零。
它通过删除多余的空格来修改String。
语法为:
thisString.trim()
哪里,
thisString是变量
让我们通过两个示例来了解String对象。
范例1:
让我们使用charAt()函数。
考虑下面的代码:
void setup()
{
Serial.begin(9600);
String thisString = "Welcome to Arduino";
Serial.println(thisString.charAt(8));
}
void loop()
{
}
输出: t
t是在charAt()函数声明的索引8处的字符。
范例2:
让我们使用concat函数。
concat()-concat()函数用于组合字符串。
考虑下面的代码:
void setup()
{
Serial.begin(9600);
String thisString = "Welcome to Arduino";
thisString.concat("String Object");
Serial.println(thisString);
}
void loop()
{
}
输出量
同样,我们也可以使用其他String对象函数。