タイトルの通り、Pythonしか知らないひよっこエンジニアがJavaを学習している際に「へぇ~」ってなったPythonとの違いを列挙したいと思います。
目次
前提
- スッキリわかるJava入門(第3版)をベースとする
Javaの学習資料はこちらの書籍を参考に自分なりに改良したものを紹介させていただきます。そのためこの書籍以上のレベルの話はでてきません。 - 章の区切りで一つの投稿を行う
参考書籍の内容が第一部、第二部、第三部(全三部)と分かれているため、各部ごとに理解した段階で投稿したいと思います。すべてをまとめた投稿もするかも。
各種差分
文字列の結合
Javaでは文字列+整数、文字列+配列(アドレス)の結合が可能。
Python
list = [1, 2]
print("Hello" + 123)
print("Hello" + list)
出力結果
TypeError: can only concatenate str (not "int") to str
TypeError: can only concatenate str (not "list") to str
Java
int[] list = {1, 2};
System.out.println("Hello" + 123);
System.out.println("Hello" + list);
出力結果
Hello123
Hello[I@1f32e575
2022/01/07 追記
文字列結合用のライブラリ(StringBuilder)というものが存在し、そちらを使って結合するのが一般的?
配列
Javaでは最初に定義したデータ型のみしか配列に入れることができない。
Python
list = [123, "Hello"]
Java
String[] list = {123, "Hello"};
出力結果
Type mismatch: cannot convert from int to String
2022/01/07 追記
ArrayListを使用することで、いろいろな型(Object型)を入れることができる
import文
Javaではクラス名を省略するためにimport文を使用する。
Java
import java.util.Calender;
Calendar cl = Calendar.getInstance();
// import文無しだと以下の通り、import文有りでも動作する。
Calendar cl = java.util.Calender.getInstance();
おわり
気づいたことがあれば追記していきます。