文字常數
程式單元通常使用文字常量。這些涵蓋了明顯的案例
print *, "Hello", 1, 1.0
除了一種情況外,每個文字常量都是一個標量,它具有由語法給出的型別,型別引數和值。
整數文字常量是形式
1
-1
-1_1 ! For valid kind parameter 1
1_ik ! For the named constant ik being a valid kind paramter
真正的文字常量是形式
1.0 ! Default real
1e0 ! Default real using exponent format
1._1 ! Real with kind parameter 1 (if valid)
1.0_sp ! Real with kind paramter named constant sp
1d0 ! Double precision real using exponent format
1e0_dp ! Real with kind named constant dp using exponent format
複雜的字面常量是形式
(1, 1.) ! Complex with integer and real components, literal constants
(real, imag) ! Complex with named constants as components
如果實部和虛部都是整數,則複數字常量是預設複數,並且整數分量將轉換為預設實數。如果一個元件是實數,則複數文字常量的種類引數是真實的(並且整陣列件轉換為該實際種類)。如果兩個分量都是真實的,則複數字常量是具有最高精度的實數。
邏輯文字常量是
.TRUE. ! Default kind, with true value
.FALSE. ! Default kind, with false value
.TRUE._1 ! Of kind 1 (if valid), with true value
.TRUE._lk ! Of kind named constant lk (if valid), with true value
字元文字值在概念上略有不同,因為型別說明符在值之前
"Hello" ! Character value of default kind
'Hello' ! Character value of default kind
ck_"Hello" ! Character value of kind ck
"'Bye" ! Default kind character with a '
'''Bye' ! Default kind character with a '
"" ! A zero-length character of default kind
如上所述,字元常量必須用撇號或引號分隔,並且開始和結束標記必須匹配。可以通過在引號分隔符內或通過出現加倍來包括文字撇號。引號相同。
BOZ 常量與上述不同,因為它們僅指定一個值:它們沒有型別或型別引數。BOZ 常量是位模式,並指定為
B'00000' ! A binary bit pattern
B"01010001" ! A binary bit pattern
O'012517' ! An octal bit pattern
O"1267671" ! An octal bit pattern
Z'0A4F' ! A hexadecimal bit pattern
Z"FFFFFF" ! A hexadecimal bit pattern
BOZ 文字常量在它們可能出現的位置是有限的:作為 data
語句中的常量和選擇的內部過程。