文字列の連結 文字列処理 CとJAVAからPythonまで5言語比較

スポンサーリンク

文字の連結について

スポンサーリンク

目的とするプログラムの流れ

strA に Hello  を代入する
strB に World を代入する
strC に strAとstrBを連結した文字を代入する

C

char strA[40] = "Hello ";
char strB[] = "World!";
strcat(str1, str2);

strA[40]と言ったように、箱を用意しておかなければならない。作った箱にstrBを入れるイメージ。strBが大きくstrAに入りきらなければ、エラーとなってしまう。

JavaScript

const strA ='Hello ';
let strB ='world!';
var strC = strA + strB;

constは再代入も再宣言もできない。letは再代入はできるが再宣言ができない。varは自由に扱える。

Python

strA ='Hello '
strB ='world!'
strC = strA + strB

Pythonは型を書く必要がない。ただ、存在しないわけではなく文字列にはstrが用意されています。Pythonには複素数型という珍しい型なども用意されている。

JAVA

String strA ="Hello ";
String strB ="World!";
String strC =strA + strB;

他にもStringBuilderクラスを使用する方法があるものの、+演算子による方法はStringBulderクラスを使うよう最適化される。そのため、結局、StringBuilderクラスを使用する方法と変わらない。

Kotlin

val strA:String ="Hello "
val strB:String ="World!"
val strC:String ="$strA$strB" 

strC=strA+strBでも構わない。$を使う書き方はかなり独特です。