電子開發(fā)網(wǎng)

電子開發(fā)網(wǎng)電子設(shè)計(jì) | 電子開發(fā)網(wǎng)Rss 2.0 會(huì)員中心 會(huì)員注冊(cè)
搜索: 您現(xiàn)在的位置: 電子開發(fā)網(wǎng) >> 基礎(chǔ)入門 >> Arduino開發(fā)學(xué)習(xí) >> 正文

Arduino-字符串對(duì)象-系列9

作者:佚名    文章來源:網(wǎng)絡(luò)    點(diǎn)擊數(shù):    更新時(shí)間:2023/11/26

Arduino中使用的第二種類型的字符串是字符串對(duì)象。何為字符串對(duì)象呢?

什么是字符串對(duì)象

 

對(duì)象是同時(shí)包含函數(shù)和數(shù)據(jù)的結(jié)構(gòu),字符串對(duì)象可以像創(chuàng)建變量一樣創(chuàng)建,并可以對(duì)其進(jìn)行賦值。字符串對(duì)象包含對(duì)字符串對(duì)象數(shù)據(jù)進(jìn)行操作的函數(shù)(在面向?qū)ο缶幊?object oriented programming, OOP)中稱為“方法”)。

我們通過下面的例子來理解和說明字符串對(duì)象是什么以及如何使用:

void setup() { 
   String my_str = "This is my string.";
   Serial.begin(9600);
   // (1) 打印輸出字符串
   Serial.println(my_str);
   // (2) 將字符串更改為大寫
   my_str.toUpperCase();
   Serial.println(my_str);
   // (3) 重寫字符串
   my_str = "My new string.";
   Serial.println(my_str);
   // (4) 替換字符串中的一個(gè)單詞
   my_str.replace("string", "Arduino sketch");
   Serial.println(my_str);
   // (5) 獲取字符串的長度
   Serial.print("String length is: ");
   Serial.println(my_str.length());
}
void loop() { 
}

輸出結(jié)果:

This is my string.
THIS IS MY STRING.
My new string.
My new Arduino sketch.
String length is: 22

工作原理

“ String my_str = “This is my string.” ; ” 創(chuàng)建一個(gè)名為my_str的字符串對(duì)象,并給它分配一個(gè)值為“This is my String .”。字符串對(duì)象可以像字符數(shù)組一樣可以打印到串口監(jiān)視器窗口。見示例代碼(1)

將字符串轉(zhuǎn)換為大寫,創(chuàng)建的字符串對(duì)象 my_str 有許多可以對(duì)其進(jìn)行操作的函數(shù)或方法。這些方法是通過使用對(duì)象名稱后面跟著點(diǎn)操作符(.)和要使用的函數(shù)名稱來調(diào)用的。“ my_str.toUpperCase(); ” toUpperCase() 函數(shù)的作用是:修改 my_str 對(duì)象中包含的字符串,該字符串類型為string,并將對(duì)象包含的字符串?dāng)?shù)據(jù)(或文本)轉(zhuǎn)換為大寫字符。String類包含的函數(shù)列表可以在 Arduino String reference中找到。從技術(shù)上講,String被稱為類,用于創(chuàng)建 String 對(duì)象。 見示例代碼(2)

重寫字符串, 賦值操作符(詳見:Arduino-運(yùn)算符-系列4)用于將一個(gè)新字符串賦值給需要替換的舊字符串的my_str對(duì)象,“ my_str = “My new string.” ; ” 賦值運(yùn)算符“ = ”不能用于字符數(shù)組,只能用于賦值字符串對(duì)象。見示例代碼(3)

替換字符串中的單詞,replace() 函數(shù)的作用是:用傳遞給它的第二個(gè)字符串”Arduino sketch”替換傳遞給它的第一個(gè)字符串”string”。replace()是String類中的一個(gè)函數(shù),因此可以在String對(duì)象 my_str 上直接使用。 見示例代碼(4)

獲取字符串的長度,使用 length() 可以很容易的獲得字符串長度。在示例中,length() 返回的結(jié)果可以直接傳遞給 Serial.println(),而不需要使用中間變量。

什么時(shí)候使用字符串對(duì)象

字符串對(duì)象相比字符串和字符數(shù)組更容易使用,它具有可以很多對(duì)字符串進(jìn)行操作的內(nèi)置函數(shù)。

使用字符串對(duì)象的主要缺點(diǎn)是它會(huì)占用了大量的內(nèi)存,錯(cuò)誤的使用可能導(dǎo)致Arduino RAM容量的很快耗盡,最終導(dǎo)致Arduino掛起、崩潰或其它意外發(fā)生。如果Arduino上的 sketch 很小,并且優(yōu)化了字符串對(duì)象的使用,那么也沒有太大的問題。

使用字符數(shù)組來操作字符串相對(duì)困難,你可能需要編寫函數(shù)來操作字符數(shù)組內(nèi)的字符串。但這樣做的好處是可以控制所創(chuàng)建的字符數(shù)組的大小,可以很好的控制字符數(shù)組的體積從而節(jié)省內(nèi)存。

需要注意的是,使用字符數(shù)組時(shí),數(shù)組內(nèi)容不要超出數(shù)組邊界。字符串對(duì)象沒有字符邊界的問題,前提是有足夠的內(nèi)存來供它操作。

Tags:Arduino,字符串對(duì)象,程序,教程  
責(zé)任編輯:admin
  • 上一個(gè)文章:
  • 下一個(gè)文章:
  • 相關(guān)文章列表
    Arduino-時(shí)間函數(shù)-系列10
    Arduino-字符串 -系列8
    Arduino-函數(shù)-系列7
    Arduino-循環(huán)-系列6
    Arduino-流程控制語句-系列5
    Arduino-運(yùn)算符-系列4
    Arduino-變量和常量-系列3
    Arduino -數(shù)據(jù)類型-系列2
    Arduino -程序結(jié)構(gòu)-系列1
    ARDUINO UNO開發(fā)板介紹
    Arduino開發(fā)語言基礎(chǔ)_Arduino語言基礎(chǔ)_arduino是用什么語言寫的?
    Arduino新手入門詳細(xì)教程系列之【Ⅱ:Arduino編程環(huán)境配置】
    如何設(shè)置Arduino IDE、連接開發(fā)板以及上傳第一個(gè)草圖
    Arduino入門(一)Arduino下載安裝,超級(jí)詳解_Arduino download
    Arduino概述,Arduino開發(fā)板和Arduino IDE
    Arduino 交通燈_arduino紅綠燈代碼 三色LED燈
    Arduino——RGB三色燈
    Arduino控制RGB三色LED燈實(shí)驗(yàn)、程序代碼、連線圖、仿真_程序控制…
    推薦 適用于Arduino平臺(tái)的編程開發(fā)工具(arduino編程軟件下載)
    Arduino開發(fā)——基于HC-SR04測(cè)距的智能垃圾桶,超聲波測(cè)距
    基于 Arduino 的 OLED 菜單顯示_arduino 菜單OLED顯示
    Arduino提高篇06—溫濕度OLED顯示_arduino溫濕度oled顯示
    Arduino入門怎么學(xué)_Arduino開發(fā)課程的教與學(xué)
    總有一款適合你——Arduino開發(fā)板,各種開發(fā)板詳解
    Arduino使用的單片機(jī) ATMEGA328P引腳定義圖
    詳解Arduino Uno開發(fā)板的引腳分配圖及定義 引腳定義
    Arduino 程序結(jié)構(gòu)
    基于ATmega328的微控制器板原理圖 Arduino板UNO原理圖
    Arduino 超詳細(xì)的開發(fā)入門指導(dǎo)
    Arduino簡(jiǎn)介
    請(qǐng)文明參與討論,禁止漫罵攻擊,不要惡意評(píng)論、違禁詞語。 昵稱:
    1分 2分 3分 4分 5分

    還可以輸入 200 個(gè)字
    [ 查看全部 ] 網(wǎng)友評(píng)論
    關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
    返回頂部
    刷新頁面
    下到頁底
    晶體管查詢
    欧美aaaaa| 99re国产视频| 粗喘撞吟np文古代| 婷婷开心中文字幕| 免费在线观看国产| 丰满黄蓉跪趴高撅肥臀| 精品国产欧美精品v| 成年女人免费视频| 公和熄三级中字电影久久| 久久久久人妻一区精品色| 色综合视频一区二区三区| 日本人亚洲人jjzzjjzz页码1| 国产亚洲精品无码专区| 中文字幕热久久久久久久| 狠狠操天天操视频| 国产青草视频免费观看97| 亚洲午夜精品久久久久久人妖| 黄色网站在线免费| 日韩在线视频观看| 国产区香蕉精品系列在线观看不卡| 久久婷婷五月综合色奶水99啪| 精品国产男人的天堂久久| 女人与禽交视频免费看| 亚洲欧洲成人精品香蕉网| 80s国产成年女人毛片| 日韩国产在线观看| 国产六月婷婷爱在线观看| 中文字幕伊人久久网| 欧美日韩中文字幕在线观看| 国产精品入口麻豆免费观看| 亚洲欧美日韩国产综合五月天| 99久久免费只有精品国产| 明星换脸高清一区二区| 国产成人女人毛片视频在线| 亚洲av永久无码嘿嘿嘿| 都市春色校园另类| 无码h黄肉3d动漫在线观看| 四虎永久免费地址ww484e5566| 中文字幕在线观看| 欧美日本韩国一区二区| 国产在线h视频|