鍍金池/ 教程/ C++/ D語(yǔ)言常值
類的訪問(wèn)修飾符
D語(yǔ)言運(yùn)算符
D語(yǔ)言邏輯運(yùn)算符
類指針
D語(yǔ)言元組
D語(yǔ)言指針
D語(yǔ)言模塊
D語(yǔ)言sizeof運(yùn)算符
D語(yǔ)言混合類型
D語(yǔ)言封裝
D語(yǔ)言條件編譯
類的靜態(tài)成員
D語(yǔ)言do...while循環(huán)
D語(yǔ)言結(jié)構(gòu)體
重載
D語(yǔ)言字符串-String
D語(yǔ)言決策語(yǔ)句
D語(yǔ)言接口
D語(yǔ)言for循環(huán)
D語(yǔ)言switch語(yǔ)句
D語(yǔ)言關(guān)聯(lián)數(shù)組
D語(yǔ)言范圍
D語(yǔ)言枚舉Enums
契約式編程
D語(yǔ)言并發(fā)
D語(yǔ)言開發(fā)環(huán)境設(shè)置
D語(yǔ)言別名
D語(yǔ)言常值
D語(yǔ)言常量
D語(yǔ)言函數(shù)
D語(yǔ)言if嵌套語(yǔ)句
D語(yǔ)言循環(huán)
D語(yǔ)言概述,D語(yǔ)言是什么?
D語(yǔ)言運(yùn)算符優(yōu)先級(jí)
D語(yǔ)言continue語(yǔ)句
D語(yǔ)言異常處理
D語(yǔ)言break語(yǔ)句
D語(yǔ)言if...else語(yǔ)句
D語(yǔ)言類和對(duì)象
類繼承
D語(yǔ)言字符
D語(yǔ)言教程
D語(yǔ)言關(guān)系運(yùn)算符
比較操作符重載
構(gòu)造函數(shù)和析構(gòu)函數(shù)
D語(yǔ)言抽象類
D語(yǔ)言if語(yǔ)句
D語(yǔ)言賦值運(yùn)算符
D中算術(shù)運(yùn)算符
D語(yǔ)言類成員函數(shù)
D語(yǔ)言位運(yùn)算符
D語(yǔ)言變量
D語(yǔ)言數(shù)據(jù)類型
D語(yǔ)言文件I/O
D語(yǔ)言數(shù)組
一元運(yùn)算符重載
D語(yǔ)言嵌套switch語(yǔ)句
D語(yǔ)言基本語(yǔ)法
二元運(yùn)算符重載
this指針
D語(yǔ)言聯(lián)合體
D語(yǔ)言模板
D語(yǔ)言嵌套循環(huán)
D語(yǔ)言while循環(huán)

D語(yǔ)言常值

被輸入了該程序的源代碼的部分恒定值稱為 literals.

常值可以是任何基本數(shù)據(jù)類型,可以分為整數(shù)數(shù)字,浮點(diǎn)數(shù)字,字符,字符串和布爾值。

再次,文字將視為就像普通變量不同之處在于它們的值,不能在他們的定義后進(jìn)行修改。

整數(shù)文字:

整數(shù)文字可以是如下類型:

  • 十進(jìn)制:使用與第一個(gè)數(shù)字是平日的定位表示不能為0作為數(shù)字被保留用于表示八進(jìn)制。這不包括0自身:0是零。

  • 八進(jìn)制:使用0作為前綴碼。

  • 二進(jìn)制:使用0b或0B作為前綴

  • 十六進(jìn)制:使用0x或0X作為前綴。

整數(shù)文字也可以有一個(gè)后綴為U和L的組合,對(duì)于無(wú)符號(hào)長(zhǎng)分別。后綴可以是大寫或小寫,并且可以以任何順序。

當(dāng)你不使用后綴根據(jù)值的大?。篿nt, uint, long 和 ulong 由編譯器本身選擇。

這里是整數(shù)常量的一些例子:

212         // Legal
215u        // Legal
0xFeeL      // Legal
078         // Illegal: 8 is not an octal digit
032UU       // Illegal: cannot repeat a suffix

以下是不同類型的整型常量的其他例子:

85         // decimal
0213       // octal
0x4b       // hexadecimal
30         // int
30u        // unsigned int
30l        // long
30ul       // unsigned long
0b001      // binary

浮點(diǎn)文本:

浮點(diǎn)常量可以以十進(jìn)制系統(tǒng)在1.568或十六進(jìn)制被指定為0x91.bc.

在十進(jìn)制系統(tǒng)中,指數(shù)可以通過(guò)將字符e或E和一個(gè)數(shù)字后表示。例如,2.3e4表示“2.3倍10到4的冪值”。 A +字符可能指數(shù)前值來(lái)指定,但沒(méi)有效果。例如2.3e4和2.3E+4是相同的。- 字符前加指數(shù)的值改變了含義,“除以10的冪值”。例如,2.3E-2表示“2.3除以10,以2的冪”。

在十六進(jìn)制系統(tǒng),該值以任何0x或0X。該指數(shù)是由p或P指定的,而不是e或E的指數(shù)并不意味著“10的冪”,但“2的冪”。例如,在0xabc.defP4 P4的意思是“abc.de時(shí)間2到4的電源”。

下面是浮點(diǎn)常量的一些例子:

3.14159       // Legal
314159E-5L    // Legal
510E          // Illegal: incomplete exponent
210f          // Illegal: no decimal or exponent
.e55          // Illegal: missing integer or fraction
0xabc.defP4   // Legal Hexa decimal with exponent
0xabc.defe4   // Legal Hexa decimal without exponent.

默認(rèn)情況下,一個(gè)浮點(diǎn)字面的類型是double。f和F平均浮點(diǎn)值,以及L說(shuō)明符是指真實(shí)的。

布爾文字:

有兩個(gè)布爾文字,他們是標(biāo)準(zhǔn)的D關(guān)鍵字的一部分:

  • 真實(shí)代表true值。

  • 虛假表示false值。

不應(yīng)該考慮true等于1值和false等于0值。

字符文字:

字符常量單引號(hào)括起來(lái)。

字符文字可以是一個(gè)普通的字符(e.g., 'x'), 轉(zhuǎn)義序列 (e.g., ' '), ASCII 字符(e.g., 'x21'), Unicode 字符(e.g., 'u011e') 或作為命名字符 (e.g. '©','♥', '€' ).

有某些字符在D中,當(dāng)他們前面加一個(gè)反斜杠,他們將有特殊的含義,它們是用來(lái)表示相同的換行符( n)或制表符( t)。在這里,有一些這樣的轉(zhuǎn)義序列代碼的列表:

轉(zhuǎn)義序列 含意
character
' ' character
" " character
? ? character
a Alert or bell
 Backspace
f Form feed
Newline
Carriage return
Horizontal tab
v Vertical tab

下面是例子來(lái)說(shuō)明幾個(gè)轉(zhuǎn)義序列字符:

import std.stdio;

int main(string[] args)
{
   writefln("Hello	World%c
",'x21');
   writefln("Have a good day%c",'x21');
   return 0;
}

當(dāng)上面的代碼被編譯并執(zhí)行,它會(huì)產(chǎn)生以下結(jié)果:

Hello   World!
Have a good day!

字符串文字:

字符串文本括在雙引號(hào)中。一個(gè)字符串包含的字符類似于字符文字:普通字符,轉(zhuǎn)義序列和通用字符。

可以打破一個(gè)長(zhǎng)行到使用字符串文字多行,用空格分開。

下面是字符串字面量的例子。

import std.stdio;

int main(string[] args)
{
    writeln(q"MY_DELIMITER
Hello World
Have a good day
MY_DELIMITER");

    writefln("Have a good day%c",'x21');
    auto str = q{int value = 20; ++value;};
    writeln(str);

在上面的例子中,可以找到使用q“MY_DELIMITER MY_DELIMITER”來(lái)表示多行字符。此外,還可以看到q{}來(lái)表示一個(gè)D語(yǔ)言語(yǔ)句本身。


上一篇:D語(yǔ)言封裝下一篇:D語(yǔ)言別名