*言語別比較 [#o770c344] 適当。~ C/C++結構忘れてるなぁ・・・~ 書いてて、なんか微妙な感じのものもあるけど気にしないw #contents **型・宣言 [#iba56cc7] -PHPの型 --PHPは型を自動判定します。明示的にキャストすることで、型変換が可能です。 -JavaScriptの型 --JavaScriptの型JavaScriptは型を自動判定します。 | |C |C++ |Java |PHP |JavaScript |C# |備考|h |真偽値 | | |boolean |bool | |bool | | |~| | |Boolean | | | |ラップクラス| |キャラ型 |char |char |char | | |char | | |~| | |Character | | | |ラップクラス| |整数型 | | |byte | | |byte | | |~| | |Byte | | | |ラップクラス| |~| | | | | |sbyte | | |~| | |short | | |short | | |~| | |Short | | | |ラップクラス| |~| unsigned short|unsigned short| | | |ushort | | |~| int |int |int |integer | |int | | |~| | |Integer | | | |ラップクラス| |~| unsigned int |unsigned int | | | |uint | | |~| long |long |long | | |long | | |~| | |Long | | | |ラップクラス| |~| unsigned long |unsigned long | | | |ulong | | |実数型 |float |float |float |float | |float | | |~| | |Float | | | |ラップクラス| |~| double |double |double | | |double | | |~| | |Double | | | |ラップクラス| |~| | | | | |decimal | | |~| | |Decimal | | | | | |文字列 | | |String |string | |string |C++に関して言えばSTLのstringがある。((STLをC++の一部としてみるのは議論が分かれるところですね)) | |ポインタ |型* 変数 |型* 変数 | | | | |Javaはポインタはない((Javaは参照渡しなので、ポインタ型はないが、ポインタ知ってないと痛い目を見るかも))| |参照 |&変数 |&変数 | | | | |Javaは参照渡しになる((参照私なので、渡した先で値が変わるよ))| |参照 |&変数 |&変数 | | | | |Javaは参照渡しになる((参照渡しなので、渡した先で値が変わるよ))| |列挙型 |enum |enum |enum | | | |Javaのenumはよく言えば拡張性が高い| |構造体 |struct |struct | | | | |・Javaには構造体がない。&br;・C++の構造体にはメソッドを宣言できる| |配列 |型[] |型[] |型[] |array |Array | | | |null |0 |0 |null |NULL |null | | | **演算 [#jf0e4067] | |C |C++ |Java |PHP |JavaScript |C# |備考|h |加算 |+ |+ |+ |+ |+ |+ | | |減算 |- |- |- |- |- |- | | |乗算 |* |* |* |* |* |* | | |余算 |/ |/ |/ |/ |/ |/ | | |余り |% |% |% |% |% |% | | |インクリメント|++ |++ |++ |++ |++ |++ |変数の前か後ろで演算のタイミングが変わります。| |ディクリメント|-- |-- |-- |-- |-- |-- |変数の前か後ろで演算のタイミングが変わります。| |文字列結合 |strcat |strcat |+ |. |+ |+ |Javaでは+演算子での文字列結合は推奨されない((java言語規定の[[文字列結合>http://www.y-adagio.com/public/standards/tr_javalang/15.doc.htm#39990]]を読むとわかる)) | **代入演算子 [#qbc1b772] | |C |C++ |Java |PHP |JavaScript |C# |備考|h |代入演算子 |= |= |= |= |= |= | | |~| += |+= |+= |+= |+= |+= | | |~| | | | |.= | | | |~| -= |-= |-= |-= |-= |-= | | |~| *= |*= |*= |*= |*= |*= | | |~| /= |/= |/= |/= |/= |/= | | |~| %= |%= |%= |%= |%= |%= | | |~| &= |&= |&= |&= |&= |&= | | |~| |= ||= ||= ||= ||= ||= | | |~| ^= |^= |^= |^= |^= |^= | | |~| <<= |<<= |<<= |<<= |<<= |<<= | | |~| >>= |>>= |>>= |>>= |>>= |>>= | | |~| | | |>>>= | | | | **比較演算子 [#nc3d4e53] | |C |C++ |Java |PHP |JavaScript |C# |備考|h |比較演算子 |== |== |== |== |== |== | | |~| | | |=== | | | | |~| < |< |< |< |< |< | | |~| > |> |> |> |> |> | | |~| <= |<= |<= |<= |<= |<= | | |~| >= |>= |>= |>= |>= |>= | | |~| != |!= |!= |!= |!= |!= | | |~| | | |<> | | | | |~| | | |!== | | | | |~| && |&& |&& |&& |&& |&& | | |~| || ||| ||| ||| ||| ||| | | |文字列比較 |strcmp() |strcmp() |equals() |strcmp() |== |== | | |~| | | | | |CompareTo() | | **ビット演算 [#ta794d44] | |C |C++ |Java |PHP |JavaScript |C# |備考|h |ビットシフト |>> |>> |>> |>> |>> |>> | | |~| << |<< |<< |<< |<< |<< | | |~| | |>>> | |>>> | | | |論理和 |値1|値2 |値1|値2 |値1|値2 |値1|値2 |値1|値2 |値1|値2 | | |論理積 |値1&値2 |値1&値2 |値1&値2 |値1&値2 |値1&値2 |値1&値2 | | |排他的論理和 |値1^値2 |値1^値2 |値1^値2 |値1^値2 |値1^値2 |値1^値2 | | |否定 |~値 |~値 |~値 |~値 |~値 |~値 | | **生成と解放 [#q8d4c781] | |C |C++ |Java |PHP |JavaScript |C# |備考|h |確保 |malloc() |new 型 |new 型 |new 型 |new 型 | |・malloc()はC++でも使用可能。&br; ただし、コンストラクタは呼び出されないので注意。| |解放 |release() |delete | | | | |・release()はC++でも使用可能。&br; ただし、デストラクタは呼び出されないので注意。&br;・JavaはGCにより自動解放| ---- #comment