リテラルとは

リテラル(Literal)とはプログラミングにおいて、ソースコード中に直接記述された、変更できない固定値データのこと。

リテラル(Literal)は、プログラミング言語のソースコード中に直接記述される、その値が固定されており、プログラムの実行中に変更されることのないデータのことです。変数とは異なり、リテラルは特定のメモリアドレスを持たず、プログラムのコンパイル時または実行時にその値が直接使用されます。


リテラル の基本的な概念

リテラルは、データ型(整数、浮動小数点数、文字列、真偽値など)に応じて異なる形式で記述されます。プログラマが特定の値をコード内に直接表現したい場合に使用されます。例えば、数値 100 や文字列 "Hello, World!" はリテラルの典型的な例です。これらは、その記述された通りの意味を持つ固定値としてプログラムに組み込まれます。


リテラル の種類と例

様々なデータ型に対応するリテラルが存在します。

  1. 整数リテラル(Integer Literals): 整数値を直接記述したものです。基数(進数)を指定できる場合もあります。
    • : 123 (10進数), 0xFF (16進数), 0b1010 (2進数)
  2. 浮動小数点数リテラル(Floating-Point Literals): 小数点以下の値や指数部を持つ数値を直接記述したものです。
    • : 3.14, 1.23e-5 (1.23かける10の-5乗)
  3. 文字列リテラル(String Literals): 一連の文字を引用符(シングルクォーテーション '' またはダブルクォーテーション "")で囲んで記述したものです。
    • : "Hello, World!", 'Python'
    • 多くの言語では、改行やタブなどの特殊文字を表現するためにエスケープシーケンス(例:\n で改行)を使用します。
  4. 文字リテラル(Character Literals): 単一の文字を引用符で囲んで記述したものです。
    • : 'A', '7', '\n' (改行文字)
  5. 真偽値リテラル(Boolean Literals): 論理値である真(True)または偽(False)を表現するものです。
    • : true (C++, Java), True (Python)
  6. ヌルリテラル(Null Literals): 値が存在しないこと、または無効な参照を表現するものです。
    • : null (C++, Java), None (Python), nil (Ruby, Swift)

リテラル と変数の違い

リテラルと変数は、プログラム中で値を扱う点で共通していますが、その性質には根本的な違いがあります。

特徴リテラル変数
定義ソースコードに直接記述された固定値値を格納するための名前付きのメモリアドレス
値の変更不可(常に一定)可能(プログラムの実行中に新しい値を代入できる)
メモリ直接参照される値であり、特定のメモリアドレスを持たない値が格納されるメモリアドレスを持つ
使用例x = 100100x = 100x
リテラル と変数の違い

リテラル の重要性

リテラルは、プログラムの可読性を高め、特定の値がどこでどのように使用されているかを明確にする上で重要です。例えば、定数を定義する際にリテラルを使用したり、関数に直接値を渡したりする際に利用されます。

しかし、マジックナンバー(Magic Number)と呼ばれる、意味不明なリテラル値がコード中に散在することは、コードの可読性や保守性を低下させる原因となります。このような場合は、そのリテラル値に意味のある名前を付けた定数として定義することが推奨されます。

リテラルは、プログラミングにおいてソースコード中に直接記述される、変更できない固定値データです。整数、浮動小数点数、文字列、真偽値、ヌルなど、様々なデータ型に対応するリテラルが存在し、プログラムの可読性と正確性を保つ上で不可欠な要素です。変数とは異なり、その値は実行中に変化せず、常に一定です。

関連用語

オブジェクト指向プログラミング | 今更聞けないIT用語集
変数 | 今更聞けないIT用語集
ソフトウェアエンジニアリング

お問い合わせ

システム開発・アプリ開発に関するご相談がございましたら、APPSWINGBYまでお気軽にご連絡ください。

APPSWINGBYの

ソリューション

APPSWINGBYのセキュリティサービスについて、詳しくは以下のメニューからお進みください。

システム開発

既存事業のDXによる新規開発、既存業務システムの引継ぎ・機能追加、表計算ソフトによる管理からの卒業等々、様々なWebシステムの開発を行っています。

iOS/Androidアプリ開発

既存事業のDXによるアプリの新規開発から既存アプリの改修・機能追加まで様々なアプリ開発における様々な課題・問題を解決しています。


リファクタリング

他のベンダーが開発したウェブサービスやアプリの不具合改修やソースコードの最適化、また、クラウド移行によってランニングコストが大幅にあがってしまったシステムのリアーキテクチャなどの行っています。