!!!ある状況において、以下の演算子を使用するELコードを書く:算術演算子、比較演算子、論理演算子 http://java.sun.com/j2ee/1.4/docs/tutorial/doc/JSPIntro7.html#wp71019 !!算術演算子 __加算演算子(+)__ ,式,値,備考 ,${1 + 2},3, ,${1.0 + 2},3.0, ,${"1.0" + 2},3.0,文字列 + 数値 → 演算される ,${"1.0" + "2"},3.0,文字列 + 文字列 → 演算される ,${"1 + 2"},1 + 2,演算子が文字列に含まれると単なる文字列 ,${a + b},0 ,${"a" + "b"},javax.servlet.jsp.el.ELException が発生,String "a" を "java.lang.Long" 型に変換しようとした際に例外が発生しました __減算演算子(-)__ ,式,値,備考 ,${2 - 1},1, ,${2.0 - 1},1.0, __乗算演算子(*)__ ,式,値,備考 ,${3 * 5},15, ,${0.12 * 0.34},0.0408, ,${1e6 * 1},1000000.0, __除算演算子(/ or div)__ ,式,値,備考 ,${1 / 3},0.3333333333333333,整数÷整数でも実数になる(int型どうしの演算なら 0 となる) ,${15 div 3},5.0, 整数÷整数でも実数になる ,${1 div 0},Infinity, Exceptionは発生しない __モジュロ演算子(% or mod)__ ,式,値,備考 ,${10 % 3},1, ,${10 mod 7},7, !!比較演算子 __等号(== or eq)__ ,式,値,備考 ,${2.0 == 2},true, ,${"2.0" == "2"},false,文字列の比較になる? ,${"2.0" == 2.0},true, ,<%= "abc" == (String)pageContext.getAttribute("abc") %>,false, new String("abc") をpageContextにセットし比較 → インスタンスが異なるため、falseとなる ,${"abc" == pageScope.abc},true,文字列の内容比較となる __不等号(!= or ne)__ ,式,値,備考 ,${pageScope.abc != "def"},true, ,${pageScope.abc ne "abc"},false, ,${1.00 ne 1e2},false, __小なり(< or lt)__ ,式,値,備考 ,${"abc" < "def"},true, ,${999 < 123},false, __大なり(> or gt)__ ,式,値,備考 ,${"abc" > "def"},false, ,${999 > 123},true, __小なりイコール(<= or le)__ ,式,値,備考 ,${1 / 3 <= 0.3},false, ,${1 / 2 <= 0.5},true, __小なりイコール(<= or le)__ ,式,値,備考 ,${1 / 3 >= 0.3},true, ,${1 / 2 >= 0.5},true, !!論理演算子 __論理積(&& or and)__ ,式,値,備考 ,${true && true},true, ,${"true" and "false"},false,引用符で囲まれていてもOK ,${pageScope.isXXX and true},true,コンテナに格納されたjava.lang.Boolean 型 ,${a and b},false,宣言していない変数を使用 ,${1 and 0},例外,java.lang.Long 型の値を Boolean 型に変換しようとしています ,${true & false},例外,${true & false} は無効な式を含んでいます __論理和(|| or or)__ ,式,値,備考 ,${true || false},true, ,${pageScope.isXXX or "false"},true, __否定(! or not)__ ,式,値,備考 ,${!true},false, ,${!"true"},false,引用符に囲まれていてもOK ,${"!true"},!true,演算子が引用符に囲まれていれば文字列 ,${not pageScope.isXXX},false, ::三項演算子 __三項演算子__ ,式,値,備考 ,${true && true},1, ,${(10 > 100)?"Yes.":"No."},No., ---- {{amazon 1932394389}} [SCWCD Exam Study Kit: Java Web Component Developer Certification (ペーパーバック)|http://www.amazon.co.jp/dp/1932394389?tag=typea09-22&link_code=as3&creativeASIN=1932394389&creative=3999&camp=767] ---- {{include_html banner_html, "!J2EE"}}