##はじめに
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側で新しく処理を書かないといけなくなる時があるので、注意が必要です。