式と演算子

(ex:num = 10・100+10・akaji = uriage - keihi)

 

演算子

=・+・ーのような記号

プログラミングでの「=」は代入の意味

オペランド(operand)

演算の対象となるデータ

※式は演算子オペランドで構成される

 

リテラル

「Hello」のような文字列。「30」のような数など、プログラムに直接書くデータ

<基本型>

整数 long 末尾にLまたはl (ex:100L・0l)

   int 小数点なし (ex:−3・32100)

   short  ー 

   byte  ー

小数 double 小数点つき (ex:3.14・5.0)

   float 小数点つきで末尾にFまたはf (ex:3.14F・5.0f)

真偽値 boolean trueかfalse

文字 char ’ ’で囲む (ex:’5’・’五’)

 

<参照型>

文字列 Stirng ” ”で囲む (ex:”あいう”・” ”)

 

リテラルの中には書けない文字

「文字列は”で囲みます」と表示したい場合

(”文字列は”で囲みます”)としてしまうとエラーになってしまう

””で区切られてしまうため後ろが処理されなくなる

→(”文字列は¥”で囲みます”);

とするとエラーにならない

 

エスケープシーケンス

¥マークと他の字を組み合わせて1つの文字を表す

¥マークは文字の左側

¥”→”

¥’→’

¥¥→¥

¥n→改行

¥t→水平タブ(tabキーを押した時と同じ表示になる)

プログラムの中で改行するとエラーになってしまう

 

優先順位と結合規則

優先順位

「+やー」より「×や÷」を先に計算するルール

結合規則

同じ演算子がある場合左右どちらを先に計算するかのルール

基本的には左結合(左が先)・例外あり

 

演算子の種類

算術演算子

+ 足し算

ー 引き算

* 掛け算

/ 割り算

% 割り算の余り

 

文字列結合演算子

+ 文字列の結合

書き方

”山田” + ”太郎”

9 + ”時に集合”

結果

山田太郎

9時に集合

どちらかが文字列でない場合は自動的に文字列に変換してから結合する

(”3+4=”+3+4)

→3+4=34と表示される

”3+4=”+3が先にString型に変換されてしまう

+の優先順位がこのままだと同じなので

(”3+4=”+(3+4))とすると

3+4=7と表示される

→()をつけて優先順位をあげる

 

代入演算子

             書き方  代入される値

=  左に右を代入    num=10; 10

+= 左+右を代入    num+=5; num+5

ー= 左ー右を代入    num-=5; numー5

*= 左×右を代入    num*=5; num*5

/= 左÷右を代入    num/=5; num/5

%= 左÷右の余りを代入 num%=5; num%5

※「num+=5;」は「num=num+5;」と同じ

 

インクリメント・デクリメント演算子

変数に入っている値を1だけ増やす(または減らす)

++ 値を1増やす num++; num+1

ーー 値を1減らす numーー; numー1

単行演算子・・・オペランドが1つしかない演算子

二項演算子・・・オペランドが2つある演算子

 

型の変換

代入時の自動型変換

大きい型=小さい型;という代入は自動的に型を変換してくれる

double>float>lomg>int>short>byte

小さい型=大きい型や数値動詞でないもの(int型にString型を代入)などはエラーになる

小数型は整数型より大きいという決まりになっている

 

強制的な型変換

int num=3.14;

は小さい型=大きい型なのでエラーになる

int型では「.14」が入らない

小数点以下を切り捨ててint型に代入したい時は

キャスト演算子を使い、強制的に型変換する

int num=(int)3.14;

数値同士でないものはエラーになる

 

演算時の自動型変換

左右の型が違う場合、キャストしなくても自動的に

大きい型に左右を合わせる

というルールがある

算術演算ははint型以上の型で計算する

数値同士以外でも基本型を文字型に自動変換する

 

命令実行の文(クラスライブラリ)

1 画面出力の命令

System.ou.println(①);

()の中に書くデータのことを引数(ひきすう)またはパラメータという

 

2 改行せずに画面表示する命令

System.out.print(①);

1と似ているがprintlnではなくprint

println(①)は表示した後改行する

print(①)は改行しない

※ ln・・・lineの略

 

3 2つの値を比較して大きい方の値を代入する

num=Math.max(①,②);

①と②のうち大きな数をnumに代入する

代入先mp変数と①・②のデータ型は合わせておく

(ex:int num=Math.max(5,-3);

System out.println(num);

→5)

 

4 文字列をint型に変換する命令

int num=Integer.parseInt(①);

(ex:int→String(文字列結合演算子

String str=10+"  "; で自動変換)

(ex:String str="2" + "5";

int num=Integer.parseInt(str);

System.out.println(num*2);

→numの中身は25なので50が表示される)

 

5 乱数を生み出す命令

int num = new.java.util.Random()nextInt(①);

①に1以上の整数を指定する

→「0以上①で指定した数未満」のランダムな数が代入される

(ex:5を入れると、0〜4の数が代入される)

0から始まるということに注意!!

 

6 キーボードから1行の入力を受け取る命令

String line =new java.util.Scanner(System.in).nextLine();

int num =new java.util.Scanner(System.in).nextInt();