LoginSignup
5
6

More than 3 years have passed since last update.

【超基礎】PythonとJavaとJavaScriptを比較します(変数, if文, while文, for文)

Last updated at Posted at 2020-05-16

目的

  • 今週から本配属だった
  • 結局Javaを勉強することになった
  • 記憶が新しいうちにJavaとPythonでちがったことまとめておこう
  • ついでに少し勉強したことがあるJavaScriptも引っ張り出して比較しよう

この記事で比較する内容

  • 変数
  • if文
  • while文
  • for文

変数

Python

  • データ型を宣言する必要はありません
    • 変数の中身によって勝手に型を指定してくれます
  • セミコロンもいりません
asobi.py
py_str = "Python"
py_int = 23
py_float = 23.5

# データ型確認
print(type(py_str))
print(type(py_int))
print(type(py_float))
コンソール
<class 'str'>
<class 'int'>
<class 'float'>
  • 変数のデータ型を書きかえることもできます
asobi.py
py_str = "Python"
py_int = 23

print(type(py_str))

py_str = 10
print(type(py_str))

py_cal = py_str * py_int
print(py_cal)
コンソール
<class 'str'>
<class 'int'>
230

Java

  • データ型を宣言しなければなりません
    • float型もありますが、主にdouble型を使うようです
    • 直接的にデータ型を確認する方法は見つかりませんでした(instanceofというメソッドがあるようですが、intやdoubleには使えません)
    • Javaのデータ型についてはこちらのサイトがわかりやすいです
  • セミコロンを忘れずに
asobi.java
public class asobi {
    public static void main(String[] args) {
        String javaStr = "Java";
        int javaInt = 23;
        double javaFloat = 23.5;
    }
}

JavaScript

  • データ型の宣言は必要ありませんが、変数名の前にvarをつける必要があります
    • int型やfloat型ではなくどちらもnumber型になるんですね…
  • セミコロンもいります
asobi.html
<html>
<script>
var jsStr = "JavaScript";
var jsInt = 23;
var jsFloat = 23.5;

// データ型確認
console.log(typeof(jsStr));
console.log(typeof(jsInt));
console.log(typeof(jsFloat));
</script>
</html>
コンソール
string
number
number

if文

Python

  • if, elif, elseが使われます
  • 条件の末尾に:を付けます
  • 実行する文のインデントは必須です
asobi.py
age = 23

if age >= 65:
    print("定年です")
elif age >= 20:
    print("成人です")
else:
    print("未成年です")

Java

  • if, else if, elseが使われます
  • それぞれの条件を(), 実行する文を{}で囲います
asobi.java
public class asobi {
    public static void main(String[] args) {
        int age = 23;

        if (age >= 65) {
            System.out.println("定年です");
        }else if (age >= 20) {
            System.out.println("成人です");
        }else{
            System.out.println("未成年です");
        }
    }
}

JavaScript

  • if, else if, elseが使われます
  • それぞれの条件を(), 実行する文を{}で囲います
  • if文の形自体はJavaと同じですね
asobi.html
<html>
<script>
var age = 23;

if (age >= 65) {
    console.log("定年です");
}else if (age >= 20){
    console.log("成人です");
}else{
    console.log("未成年です");
}
</script>
</html>

while文

  • それぞれの言語で以下のようにコンソール表示させてみましょう
コンソール
0です
1です
2です
3です
4です

Python

  • int型であるiと文字列をそのままつなげることができないので、iをstr型にします
asobi.py
i = 0

while i < 5:
    print(str(i) + "です")
    i += 1

Java

  • 例によって条件を()、実行文を{}で囲います
  • インクリメントでi++という形を使うことができます
asobi.java
public class asobi {
    public static void main(String[] args) {
        int i = 0;
        while (i < 5){
            System.out.println(i + "です");
            i++;
        }
    }
}

JavaScript

  • 例によってwhile文の形自体はJavaと同じです
asobi.html
<html>
<script>
var i = 0;

while (i < 5){
    console.log(i + "です");
    i++;
}
</script>
</html>

for文

  • それぞれの言語で以下のようにコンソール表示させてみましょう
コンソール
0です
1です
2です
3です
4です

Python

  • iが0から4までの5回の範囲で繰り返されます
asobi.py
for i in range(5):
    print(str(i) + "です")

Java

  • for文の繰り返し条件が(初期値; 範囲; 増減)で表されます
    • 初期値を格納する変数はデータ型を宣言する必要があります
asobi.java
public class asobi {
    public static void main(String[] args) {
        for (int i = 0; i < 5; i++){
            System.out.println(i + "です");
        }
    }
}

JavaScript

  • 例によってfor文の形自体はJavaと同じです
    • 初期値を格納する変数名の前にはvarを付ける必要があります
asobi.html
<html>
<script>
for (var i = 0; i < 5; i++){
    console.log(i + "です");
}
</script>
</html>

感想

  • 複数言語を勉強するとき、比較しながら勉強すると覚えやすい
  • JavaとJavaScript、インドとインドネシア並にちがうといいつつ、書き方結構似てるんだな
  • やっぱりPythonがいちばん書きやすい!
5
6
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
6