Edited at

VBからJAVAに移行する際の書き方、注意点

More than 1 year has passed since last update.


はじめに

VBからJAVAに移行する時に、自分が調べたVBの処理や、注意点を書いていきます。


if文

基本的にjavaと違いはありません。

三項演算子はIIfを使います。(IIf(条件式,true,false))


'変数宣言'
Dim test As Integer

test = 10

If test = 10 then

End If

test2 = IIf(test = 10, "true", "false")

javaソース


if (test == 10) {
}

test2 = test ? "true" : "false";


for文

TOの前が初期値、TO後が終了値(TOで「5」が指定されていた場合「5」以降になるまで繰り返します)、stepが増加値です。

stepは省略可能で、stepが無い場合、ループされるたびに初期値が+1されます。

stepにマイナスの数字が入っていた場合、初期値が終了値を下回るまでループします。

VBソース


' ①加算'
For test = 2 TO 6 step 2
' test値を2ずつ加算する '
Next

' ②減算'
For test = 10 TO 6 step -2
' testの値を2ずつ減算する'
Next

javaソース


// ①加算
for (int test = 2; test <= 6; i+=2) {
}

// ②減算
for (int test = 2; test >= 10; i-=2) {
}


format

VBのフォーマットをjavaに置き換えるときは基本的にはDecimalFormatを使うことでそのまま置き換えることが出来ます。

ただし、「/」はDecimalFormatでは使えないのでSimpleDateFormatを使います。

VBソース


' 10000を10,000で表示'
format(10000, "###,###")

' 20180426を2018/04/26で表示'
format(20180426, "####/##/##")

javaソース


DecimalFormat df = new DecimalFormat("###,###");

// 10000を10,000で表示
df.format(10000);

SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");

SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy/MM/dd");

Date date = sdf.parse("20180426");

// 20180426を2018/04/26で表示
sdf2.format(date)


改行

VBは改行したい場合は「vbCrLf」を使います。


まとめ

VBもJAVAも基本的な考え方は一緒です。

しかし、VB側は機能が豊富ため、ソースコードをそのままJAVAに置き換えるときに、java側で新しく処理を書かないといけなくなる時があるので、注意が必要です。