Quantcast
Channel: C#タグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 9297

五言語 基礎文法比較(C#,Java,Python,Ruby,Kotlin)

$
0
0

五言語 基礎文法比較
(C#,Java,Python,Ruby,Kotlin)

目次

コンソール出力

C# 
//Systemは省略可能System.Console.Write("Hello ");Console.Write("World");>>>HelloWorldConsole.WriteLine("Hello ");Console.WriteLine("Workd");>>>HelloWorld


Java
System.out.print("Hello ");System.out.print("World");>>>HelloWorldSystem.out.println("Hello ");System.out.println("World");>>>HelloWorld


Python
print("Hello")print("World")>>>HelloWorldprint("Hello ",end="")print("World")>>>HelloWorld


Ruby
print'Hello 'print'World'>>>HelloWorldputs'Hello'puts'World'>>>HelloWorld


Kotlin
print("Hello ");print("World");>>>HelloWorldprintln("Hello ");println("Workd");>>>HelloWorld



変数宣言

C# 
Stringstra="a";stringstrb="b";intnum=1;Booleantr=true;boolfa=false;


Java
Stringstr="a";intnum=1booleanbool=true


Python

型の宣言は不要

str="a"#String
num=1#int
tr=True#Boolean


Ruby

型の宣言は不要

Boolean型は存在しません

str="a"#Stringnum=1#int


Kotlin
valstr="a"//String//valで宣言した変数は変更不可varnum=1//int//varで宣言した変数は変更可能num=2vartr=True//Boolean



条件分岐

C# 
///ifif(条件A){処理A}elseif(条件B){処理B}else{//上記の条件に当てはまらない場合処理C}//switchswitch(変数){case条件A:処理Abreak;case条件B:処理Bbreak;default://上記の条件に当てはまらない場合処理Cbreak;}


Java
//ifif(条件A){処理A}elseif(条件B){処理B}else{//上記の条件に当てはまらない場合処理C}//switchswitch(変数){case条件A:処理Abreak;case条件B:処理Bbreak;default://上記の条件に当てはまらない場合処理Cbreak;}


Python
if条件A:処理Aelif条件B:処理Belse:処理C

※Pythonにはswitch文はありません


Ruby
#ifif条件Athen処理Aelsif条件Bthen処理Belsethen//上記の条件に当てはまらない場合処理Cend#casecase変数when条件Athen処理Awhen条件Bthen処理Belse//上記の条件に当てはまらない場合処理Cend


Kotlin
//ifif(条件A){処理A}elseif(条件B){処理B}else{//上記の条件に当てはまらない場合処理C}//whenwhen(変数){条件A->{処理A}条件B->{処理B}else->{処理C}//whenは直接 変数==条件 等の式を入れても判定できますwhen{条件式A->{処理A}条件式B->{処理B}else->{処理C}}



繰り返し処理

例1:1から100までの数字を出力

C# 
for(inti=1;i<=100;i++){Console.WriteLine(i);}


Java
for(inti=1;i<=100;i++){System.out.println(i);}


Python
foriinrange(1,101):print(i)


Ruby
#3種類puts[*1..100]100.times{|n|printlnn+1}1.upto(100){|n|pn}


Kotlin
for(iin1..100)println(i)



例2:配列の中身をすべて出力

C# 
int[]array=newint[10]{1,2,4,8,16,32,64,128,256,512};foreach(intninarray){Console.WriteLine(n);}


Java
int[]array={1,2,4,8,16,32,64,128,256,512};for(intn:array){System.out.println(n);}


Python
array=[1,2,4,8,16,32,64,128,256,512];forninarray:print(n)
Ruby
array=Array[1,2,4,8,16,32,64,128,256,512];forninarraydoputs(n)end


Kotlin
valarr=arrayOf(1,2,4,8,16,32,64,128,256,512)for(ninarr){println(n)}



コレクション

配列

C# 
int[]ary={1,10,100};


Java
int[]ary={1,10,100};


Python
#Pythonではarrayはインポートしないと使えない
importarrayary=array.array('i',[1,10,100])#array.array(型,[値1,値2,値3])   


Ruby
array=[1,10,100]//Rubyの配列は変更可能array.push(200)array[2]=50parray>>[1,10,50,200]


Kotlin
// [1, 2, 3]を作るvallist=arrayOf(1,2,3)// nullで埋められたサイズ3の配列を作るvararr:Array<Int?>=arrayOfNulls(3)



リスト

C# 
//宣言varlist=newList<string>();//var オブジェクト名 = new List<型>(要素数);//追加list.Add("Tokyo");list.Add("Osaka");list.Add("Nagoya");//削除      list.Remove("Osaka");//出力      Console.WriteLine("[{0}]",string.Join(", ",list));Console.WriteLine(list[1]);//出力結果>>>[Tokyo,Nagoya]Nagoya


Java
importjava.util.ArrayList;importjava.util.List;//宣言List<String>list=newArrayList<String>();//List<リストに入れる物の型> オブジェクト名 = new Listの型<リストに入れる物の型>(要素数)//追加list.add("Tokyo");list.add("Osaka");list.add("Nagoya");//削除list.remove("Osaka");//出力System.out.println(list);System.out.println(list.get(1));//出力結果>>>[Tokyo,Nagoya]Nagoya


Python
list=["Hello",1,"world",2,"!"]#追加
list.append(5)#削除
list.remove(1)#出力
print(list)print(list[3])#出力結果
>>>['Hello','world',2,'!',5]!


Ruby

RubyはArrayがListと同じ役割をするためListはありません

Kotlin
// List<Int> を作る。Listは中身を変更できない。vallist=listOf(1,2,3,4,5)// MutableList<Int> を作る。こっちは中身を変更可能valmlist=mutableListOf(1,2,3,4,5)//追加mlist.add(6)//削除mlist.remove(3)//出力println(mlist[0])println(mlist)>>>1    [1, 2, 4, 5,6]



キーによる管理

C# 
Dictionary<int,String>dict=newDictionary<int,String>();//Dictionary<Keyの型名, Valueの型名> オブジェクト名 = new Dictionary<Keyの型名, Valueの型名>()//追加dict.Add(1,"aaa");dict.Add(2,"bbb");dict.Add(3"ccc");//削除dict.Remove(2)//出力Console.WriteLine(dict[3])>>>ccc//全件出力foreach(KeyValuePair<int,string>itemindict){Console.WriteLine("[{0}:{1}]",item.Key,item.Value);}>>>[1:aaa][2:bbb]


Java
importjava.util.HashMap;importjava.util.Map;//宣言Map<Integer,String>map=newHashMap<Integer,String>();//Map<Keyの型名, Valueの型名> オブジェクト名 = new Mapの型<Keyの型名, Valueの型名>()//追加map.put(1,"aaa");map.put(2,"bbb");map.put(3,"ccc");//削除map.remove(2);//出力System.out.println(map.get(3));>>ccc//全件出力for(intkey:map.keySet()){System.out.println(key+":"+map.get(key));}>>>1:aaa3:ccc


Python
#宣言(初期化)
dict={1:"aaa",2:"bbb",3:"ccc","ddd":4}#オブジェクト名 = {key:value , key;value}
#追加
dict["peach"]=5#削除
dict.pop(2)#出力
print(dict[3])print(dict["ddd"])>>>ccc4#全件出力
print(dict)>>>{1:'aaa',3:'ccc','ddd':4,'peach':5}


Ruby
#Hashオブジェクトを使うhash={1=>"aaa",2=>"bbb",3=>"ccc","ddd"=>4}#オブジェクト名 = { key => value}#追加hash[5]="eee"#削除hash.delete[2]#出力putshash["ddd"]>>>4#全件出力putshash.inspect>>>{:1=>aaa,:3=>cccc:ddd=>4:5=>eee}


Kotlin
//Map<Int,String>を作る、変更できないvalmap=mapOf(1to"aaa",2to"bbb")// val オブジェクト名 = mapOf(key to value)// MutableMap<Int, String> を作る、変更できるvalmmap=mutableMapOf(1to"aaa",2to"bbb")mmap[1]="ccc"//追加mmap[3]="ddd"//削除mmap.remove(2)//出力println(list[1])>>>ccc//全件出力for((key,value)inmap)println("${key} to ${value}")>>>1toccc3toddd




Viewing all articles
Browse latest Browse all 9297

Trending Articles