++C++; // 未確認飛行 C 連載:次世代技術につながるSilverlight入門 C#たんと学ぶ/わりと硬派なソフトウェア開発講座 第3回「Webアプリケーション」(前編)

Top総合 目次C# によるプログラミング入門

Java 開発者向けチート シート

このエントリーをはてなブックマークに追加

目次

キーワード

概要

キーワードや演算子の対訳表。

参考: Moving to C# and the .NET Framework, for Java Developers

キーワード

JavaC#関連記事
abstractabstract抽象化
assertなしキーワードではなく、Debug.Assert メソッドとして提供。
breakbreakwhile 文
casecaseswitch 文
catchcatch例外処理構文
classclassクラス定義
continuecontinuewhile 文
defaultdefaultswitch 文」 「既定値
dododo-while 文
elseelseif 文
enumenum列挙型とは
extends:クラスの継承
falsefalse論理値型
finalsealedsealed
finallyfinally例外処理構文
forfor / foreachfor 文」 「foreach文
ififif 文
implements:C# のインターフェース
importusing名前空間の使い方
instanceofisダウンキャスト
interfaceinterfaceC# のインターフェース
nativeextern外部エイリアス
newnewクラスの利用
nullnullクラスの利用
packagenamespace名前空間の使い方
privateprivateアクセスレベル
protected protected アクセスレベル
public public アクセスレベル
returnreturn関数定義
staticstatic静的変数・静的の使い方
strictfpなし
superbase基底クラスのコンストラクタを明示的に呼び出す
switchswitchswitch 文
synchronizedlocklock 文
thisthisコンストラクター
throwthrow例外処理構文
throwsなし
transientなし [Nonserialized] 属性 を利用。
truetrue論理値型
trytry例外処理構文
...paramsparams キーワード
voidvoid引数が複数ある関数、引数のない関数、戻り値のない関数
volatilevolatilevolatile
whilewhilewhile 文

Java にないキーワード

Java にはないか、あっても少し挙動の違うキーワードの一覧です。

キーワード説明関連記事
checked / unchecked 整数演算のオーバーフロー時に例外を発生させるかどうかを選択する。 checked キーワード」 「unchecked キーワード
const 定数を作る。 Java はキーワードの予約のみで、実際は機能を持っていません。 const
delegate メソッドを参照するための型を作る。 デリゲートの定義
event イベント ハンドラーの登録口を作る。 event キーワード
explicit / implicit キャスト演算子用。暗黙の型変換を認めるかどうかを指定する。 演算子のオーバーロードの方法
goto いわゆる goto 文(無条件ジャンプ)。 Java はキーワードの予約のみで、実際は機能を持っていません。 goto 文
in / out ジェネリクスの共変性/反変性を指定する。 ジェネリックの共変性・反変性
new (new 演算子の他に) 基底クラスのメンバーを隠して再実装するために使う。 基底クラスのメンバーの隠蔽
operator 演算子をオーバーロードする。 演算子のオーバーロードの方法
out / ref メソッドの引数を参照渡しする。 参照渡し」 「出力引数
override C# では、仮想メソッドをオーバーライドする際に override 修飾子を付けます。 (スペル ミスによるオーバーライド失敗を検出できるように。) 仮想メソッド
protected Java の protected メンバーは、派生クラス内からだけでなく、パッケージ内の他のクラスから参照できます(C# で一番近いのは protected internal)。 C# の protected メンバーはクラス内、もしくは派生クラス内からのみ参照できます。 アクセスレベル
readonly 読み取り専用メンバーを作る。 Java でいうところの、フィールドに対して final を付けた時と同様の挙動になります。 readonly
struct 値型を作る。 構造体とは
unsafe unsafe コードを有効にする。 unsafe コード
virtual Java では全てのメソッドが仮想メソッドになりますが、 C# では virtual 修飾子を付けたものだけが仮想メソッドになります。 仮想メソッド

Java にないコンテキスト キーワード

C# のいくつかのキーワードはコンテキスト キーワードになっていて、特定の文脈でのみキーワード扱いされます。

キーワード説明関連記事
add / remove イベントのハンドラー追加/削除用のアクセサーを定義。 event キーワード
dynamic 動的な変数を定義。 動的型付け変数
get / set / value プロパティ/インデクサーのアクセサーを定義。 プロパティとは
from / select /where など クエリ式。 クエリ式
partial 部分クラスを作る。 クラスの分割定義
var 変数を定義(型推論)。 暗黙的型付け
where ジェネリクスの型制約を付ける。 制約条件
yield イテレーター ブロック中で値を返す。 イテレータブロック

演算子

JavaC#説明関連記事
x.yx.y メンバー参照。 クラスの利用
f(x)f(x) メソッド呼び出し。 関数
a[x]a[x] 配列の要素参照。 配列
++, --++, -- インクリメント/デクリメント。 インクリメント・デクリメント
newnew インスタンス生成。 クラスの利用
instanceofis インスタンスの型を調べる。 ダウンキャスト
+, -+, - (単項)数値の符号反転 /(2項)数値の加減算 / 文字列の連結。 算術演算子
++ 文字列の連結。 文字列連結
!! 論理否定。 論理演算子
&&, ||&&, || 論理積 / 論理和(短絡評価版)。 論理演算子
&, |, ^&, |, ^ 論理積 / 論理和 / 排他的論理和。 論理演算子
~~ 補数(ビット反転)。 論理演算子
<<, >><<, >> 左右シフト。 シフト
>>>なし C# では、符号付き整数の右シフト(>>)は算術シフトに、 符号なし整数の右シフトは論理シフトになります。 シフト
*, /, %*, /, % 数値の乗除算、剰余。 算術演算子
==, !===, != 等値比較。 関係演算
<, <=, >, >=<, <=, >, >= 大小比較。 関係演算
x ? y : zx ? y : z 条件演算子。 条件演算子
== 代入。 代入演算

Java にない演算子

演算子説明関連記事
?? 値が null の時に別の値に置き換える。 null 合体演算子
=> ラムダ式を作る。 ラムダ式
as 例外を投げる代わりに null を返す型変換。 ダウンキャスト
checked / unchecked 整数演算のオーバーフロー時に例外を発生させるかどうかを選択する。 checked キーワード」 「unchecked キーワード
default(T) T 型の規定値(値型なら 0 や false、参照型なら null)を返す。 ジェネリクスで利用。 既定値
sizeof(T) T 型のサイズを返す。 unsafe コード限定機能
stackalloc スタック上に配列を確保する。 unsafe コード限定機能
typeof(T) T 型の型情報を取得。 実行時型情報の取得

基礎的な型

参考: 「組込み型

種類JavaC#注釈
論理型booleanbool
符号付き
整数
1bytebytesbyteJava の整数型は符号付きのみ。
2byteshortshort
4byteintint
8bytelonglong
符号なし
整数
1bytebyte
2byteushort
4byteuint
8byteulong
浮動小数
点数
4bytefloatfloatいずれも IEEE 754 形式
8bytedoubledouble
デシマルなしdecimal Java の場合は BigDecimal クラスを利用。 C# の decimal は IEEE 754-2008 形式ではない。
文字charcharUTF-16
文字列Stringstringいずれも不変なオブジェクト。
オブジェクト型 Object object
Date DateTime 扱える範囲が異なるので注意。 Java は1970年1月1日以降(上限は未定義)。 C# は1年1月1日から9999年12月31日まで。

[お問い合わせ](q)