|
|
| 317行目: |
317行目: |
| | ---- | | ---- |
| | {{amazon|1932394389}} | | {{amazon|1932394389}} |
| − | | [[http://www.amazon.co.jp/dp/1932394389?tag=typea09-22&link_code=as3&creativeASIN=1932394389&creative=3999&camp=767 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 SCWCD Exam Study Kit: Java Web Component Developer Certification (ペーパーバック)]] | |
| | | | |
| | | | |
| | ---- | | ---- |
| | {{include_html banner_html, "!J2EE"}} | | {{include_html banner_html, "!J2EE"}} |
2020年2月15日 (土) 08:33時点における版
ある状況において、以下の演算子を使用する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.
|
|
[SCWCD Exam Study Kit: Java Web Component Developer Certification (ペーパーバック)] |
テンプレート:Include html banner html, "!J2EE"