【java】覚書

2026/01/01

blog

 


予約語

abstractassertbooleanbreakbyte
casecatchcharclassconst
continuedefaultdodoubleelse
enumextendsfinalfinallyfloat
forgotoifimplementsimport
instanceofintinterfacelongnative
newpackageprivateprotectedpublic
returnshortstaticstrictfpsuper
switchsynchrnizedthisthrowthrows
transienttryvoidvolatilewhile
_
true    論理値リテラル
false   論理値リテラル
null    nullリテラル




エスケープシーケンス一覧

\b      バックスペース

\t      水平タブ

\n      改行

\r      復帰

\f      改ページ

\'      シングルクオーテーション

\"      ダブルクオーテーション

\\      \文字

\ooo    8進数の文字コードが表す文字

\uhhhh  16進数の文字コードが表す文字


エスケースシーケンスを使った特殊文字

\t  タブ文字(「\u0009」)
\n  改行文字(「\u000A」)
\r  キャリッジ・リターン文字(「\u000D」)
\f  用紙送り文字(「\u000C」)
\a  警告(ベル)文字(「\u0007」)
\e  エスケープ文字(「\u001B」)
\cx     xに対応する制御文字
\0n     8進値0nを持つ文字(0 <= n <= 7)
\0nn    8進値0nnを持つ文字(0 <= n <= 7)
\0mnn   8進値0mnnを持つ文字(0 <= m <= 3, 0 <= n <= 7)
\xhh    16進値 0xhhを持つ文字 
\uhhhh  16進値 0xhhhhを持つ文字 
\x{h...h}  16進値0xh...hを持つ文字
\N{name}  Unicode文字の名前が'name'の文字


行末記号

\n      改行文字
\r\n    改行文字+キャリッジ・リターン文字
\r      キャリッジ・リターン文字
\u0085  次行文字
\u2028  行区切り文字
\u2029  段落区切り文字

※UNIX_LINES モードが有効な場合は、改行文字( \n )だけが行末記号として扱われます。



定義済み文字クラス

\d	数字: [0-9]
\D	数字以外: [^0-9]
\h	水平方向の空白文字:
    [ \t\xA0\u1680\u180e\u2000-\u200a\u202f\u205f\u3000]
\H	水平方向以外の空白文字: [^\h]
\s	空白文字: [\t\n\x0B\f\r]
\S	非空白文字: [^\s]
\v	垂直方向の空白文字: [\n\x0B\f\r\x85\u2028\u2029]
\V	垂直方向以外の空白文字: [^\v]
\w	単語文字: [a-zA-Z_0-9]
\W	非単語文字: [^\w]




数量子のメタ文字

・最長一致数量子
?       1または0回
*       0回以上
+       1回以上
{n}     n回
{n,}    n回以上
{n,m}   n回以上、m回以下 (,の後にスペースを入れない)

・最短一致数量子
??      1または0回
*?      0回以上
+?      1回以上
{n}?    n回
{n,}?   n回以上
{n,m}?  n回以上、m回以下

・強欲な数量子(絶対最大指定子)
?+      1または0回
*+      0回以上
++      1回以上
{n}+    n回
{n,}+   n回以上
{n,m}+  n回以上、m回以下



ビット演算子

演算子使用例意味
&a & ba と b の論理積(ビットAND)
|a | ba と b の論理和(ビットOR)
^a ^ ba と b の排他的論理和(ビットXOR)
~~aa のビット反転(ビットNOT)
<<a << na を 左へ n ビットシフト
>>a >> na を 右へ n ビットシフト(符号有り)
>>>a >>> na を 右へ n ビットシフト(符号無し)



シフト演算子

演算子使用例意味
<<a << na を 左へ n ビットシフト
>>a >> na を 右へ n ビットシフト(符号有り)
>>>a >>> na を 右へ n ビットシフト(符号無し)



演算子の結合規則

結合規則演算子
(引数) [配列添字] . ++ --(後置き)
! ~ + -(単項演算子) ++ --(前置き)
new (型変換)
* / %
+ -(算術演算子)
<< >> >>>
> >= < <= instanceof
== !=
&
^
|
&&
||
?:
= += -= *= /= %= <<= >>= >>>= &= |= ^=

*上にある演算子ほど優先順位が高くなっています





演算子 

演算子使用例意味
+=A += BA = A + B と同じ
-=A -= BA = A - B と同じ
*=A *= BA = A * B と同じ
/=A /= BA = A / B と同じ
%=A %= BA = A % B と同じ
&=A &= BA = A & B と同じ
|=A |= BA = A | B と同じ
^=A ^= BA = A ^ B と同じ
<<=A <<= BA = A << B と同じ
>>=A >>= BA = A >> B と同じ
>>>=A >>>= BA = A >>> B と同じ



関係演算子

演算子使用例意味
<A < BAはBより小さい
<=A <= BAはBより小さいか等しい
>A > BAはBより大きい
>=A > BAはBより大きいか等しい
==A == BAとBは等しい
!=A != BAはBは等しくない



論理演算子

演算子使用例意味
&&A && B論理積、AとBが共にtrueならtrue
||A || B論理和、AかBの少なくとも1つがtrueならtrue
!!A否定、Aがtrueならfalse、Aがfalseならtrue






正規表現で利用可能なフラグ

修飾子埋め込みフラグ説明
Pattern.CASE_INSENSITIVE(?i)大文字と小文字を区別しないマッチングを有効にする
Pattern.MULTILINE(?m)複数行モードを有効にする
Pattern.DOTALL(?s)DOTALL モードを有効にする
Pattern.UNICODE_CASE(?u)Unicode に準拠した大文字と小文字を区別しないマッチングを有効にする
Pattern.UNICODE_CHARACTER_CLASS(?U)定義済みの文字クラスとPOSIX文字クラスのUnicodeバージョンを使用可能にする
Pattern.CANON_EQ--正規等価を有効にする
Pattern.UNIX_LINES(?d)Unix ラインモードを有効にする ( \n のみ行末記号として認識
Pattern.LITERAL--パターンのリテラル構文解析を有効にする
Pattern.COMMENTS(?x)パターン内で空白とコメントを使用できるようにする




Unicode バージョンの定義済み文字クラスと POSIX 文字クラス

\p{Lower}  小文字:\p{IsLowercase}
\p{Upper}  大文字:\p{IsUppercase}
\p{ASCII}  すべてのASCII文字: [\x00-\x7F]
\p{Alpha}  英字:\p{IsAlphabetic}
\p{Digit}  10進数の文字:\p{IsDigit}
\p{Alnum}  英数字:[\p{IsAlphabetic}\p{IsDigit}]
\p{Punct}  句読記号:\p{IsPunctuation}
\p{Graph}  表示できる文字: [^\p{IsWhite_Space}\p{gc=Cc}\p{gc=Cs}\p{gc=Cn}]
\p{Print}  プリント可能文字: [\p{Graph}\p{Blank}&&[^\p{Cntrl}]]
\p{Blank}  空白またはタブ: [\p{IsWhite_Space}&&[^\p{gc=Zl}\p{gc=Zp}\x0a\x0b\x0c\x0d\x85]]
\p{Cntrl}  制御文字: \p{gc=Cc}
\p{XDigit} 16進数字: [\p{gc=Nd}\p{IsHex_Digit}]
\p{Space}  空白文字:\p{IsWhite_Space}
\d         数字: \p{IsDigit}
\D         数字以外: [^\d]
\s         空白文字: \p{IsWhite_Space}
\S         非空白文字: [^\s]
\w         単語構成文字: [\p{Alpha}\p{gc=Mn}\p{gc=Me}\p{gc=Mc}\p{Digit}\p{gc=Pc}\p{IsJoin_Control}]
\W         非単語文字: [^\w]


システム・プロパティのキー

キー
java.versionJava Runtime Environmentバージョン
java.version.dateJava Runtime Environmentバージョン日付(「ISO-8601 YYYY-MM-DD」形式)
java.vendorJava Runtime Environmentのベンダー
java.vendor.urlJavaベンダーのURL
java.vendor.versionJavaベンダー・バージョンの(optional)
java.homeJavaのインストール先ディレクトリ
java.vm.specification.versionJava Virtual Machine仕様のバージョン
java.vm.specification.vendorJava仮想マシンの仕様のベンダー
java.vm.specification.nameJava仮想マシンの仕様名
java.vm.versionRuntime.Versionとして解釈されるJava Virtual Machineの実装バージョン
java.vm.vendorJava仮想マシンの実装のベンダー
java.vm.nameJava仮想マシンの実装名
java.specification.versionJava Runtime Environment仕様バージョン
java.specification.vendorJava Runtime Environmentの仕様のベンダー
java.specification.nameJava Runtime Environmentの仕様名
java.class.versionJavaクラスの形式のバージョン番号
java.class.pathJavaクラス・パス
java.library.pathライブラリのロード時に検索するパスのリスト
java.io.tmpdirデフォルト一時ファイルのパス
java.compiler使用するJITコンパイラの名前
os.nameオペレーティング・システム名
os.archオペレーティング・システムのアーキテクチャ
os.versionオペレーティング・システムのバージョン
file.separatorファイル区切り文字(UNIXでは"/")
path.separatorパス区切り文字(UNIXでは":")
line.separator行区切り文字(UNIXでは"\n")
user.nameユーザーのアカウント名
user.homeユーザーのホーム・ディレクトリ
user.dirユーザーの現在の作業ディレクトリ




三角関数

sin(double a) a の正弦(サイン)を返す
cos(double a)   a の余弦(コサイン)を返す
tan(double a)   a の正接(タンジェント)を返す
asin(double a)  a の逆正弦(アークサイン)を返す
acos(double a)  a の逆余弦(アークコサイン)を返す
atan(double a)  a の逆正接(アークタンジェント)を返す
sinh(double x)  x の双曲線正弦(ハイパーボリックサイン)を返す
cosh(double x)  x の双曲線余弦(ハイパーボリックコサイン)を返す
tanh(double x)  x の双曲線正接(ハイパーボリックタンジェント)を返す
atan2(double y, double x) 引数で指定されたの比率のアークタンジェントを返す




カレンダーフィールド

説明
AM_PMHOUR が正午より前であるか後であるかを示します。
DATE月の日を示します。
DAY_OF_MONTH月の日を示します。
DAY_OF_WEEK曜日を示します。
DAY_OF_WEEK_IN_MONTH現在の月の何度目の曜日かを示します。
DAY_OF_YEAR現在の年の何日目かを示します。
DST_OFFSET夏時間のオフセットをミリ秒単位で示します。
ERAユリウス暦の AD または BC などの年代を示します。
HOUR午前または午後の何時かを示します。
HOUR_OF_DAY時刻を示します。
MILLISECONDミリ秒を示します。
MINUTE分を示します。
MONTH月を示すフィールド値です。
SECOND秒を示します。
WEEK_OF_MONTH現在の月の何週目かを示します。
WEEK_OF_YEAR現在の年の何週目かを示します。
YEAR年を示すフィールド値です。
ZONE_OFFSETGMT から直接計算したオフセットをミリ秒単位で示します。



空白文字

Unicodeの空白文字(SPACE_SEPARATOR、LINE_SEPARATOR、PARAGRAPH_SEPARATOR)
\u0009  水平タブ(\t)
\u000A  改行(\n)
\u000B  垂直タブ
\u000C  改ページ(\f)
\u000D  復帰(\r)
\u001C
\u001D
\u001E
\u001F
\u0020  半角スペース



SPACE SEPARATOR:
\u0020  半角スペース SPACE
\u1680  OGHAM SPACE MARK
\u2000 ~ \u200A  EN QUAD..HAIR SPACE
\u205F  MEDIUM MATHEMATICAL SPACE
\u3000  全角スペース IDEOGRAPHIC SPACE

LINE SEPARATOR:
\u2028

PARAGRAPH SEPARATOR:
\u2029
※ SPACE SEPARATOR には他にノーブレークスペース と呼ばれる \u00A0 \u2007 \u202F の 3 つがありますが、 strip メソッドでは取り除かれません。

正規表現における先読みと後読み

パターンA(?=パターンB)     肯定先読み
パターンA(?!パターンB)     否定先読み
(?<=パターンB)パターンA    肯定後読み
(?<!パターンB)パターンA    否定後読み



このブログを検索

人気の投稿


こんにちは。 太陽と月です。 自分が実際に経験して、「これいいね」と感じた物や事を、ご紹介しています。 「これいいね」の連続で、今日も楽しかった♪と思える毎日をお手伝いができたら嬉しいです。

QooQ