「7.3 演算子を使用するELコード (算術演算子、比較演算子、論理演算子)」の版間の差分
ナビゲーションに移動
検索に移動
(ページの作成:「==ある状況において、以下の演算子を使用するELコードを書く:算術演算子、比較演算子、論理演算子== http://java.sun.com/j2ee/1.4…」) |
|||
| (同じ利用者による、間の3版が非表示) | |||
| 1行目: | 1行目: | ||
==ある状況において、以下の演算子を使用するELコードを書く:算術演算子、比較演算子、論理演算子== | ==ある状況において、以下の演算子を使用するELコードを書く:算術演算子、比較演算子、論理演算子== | ||
| − | http://java.sun.com/j2ee/1.4/docs/tutorial/doc/ | + | http://java.sun.com/j2ee/1.4/docs/tutorial/doc/[[JSP]]Intro7.html#wp71019 |
===算術演算子=== | ===算術演算子=== | ||
| 131行目: | 131行目: | ||
| | | | ||
|- | |- | ||
| − | | | + | |<%= "abc" == (String)pageContext.getAttribute("abc") %> |
|false | |false | ||
| new String("abc") をpageContextにセットし比較 → インスタンスが異なるため、falseとなる | | new String("abc") をpageContextにセットし比較 → インスタンスが異なるため、falseとなる | ||
| 161行目: | 161行目: | ||
|} | |} | ||
| − | __小なり( | + | __小なり(< or lt)__ |
{|class="wikitable" | {|class="wikitable" | ||
!式 | !式 | ||
| 167行目: | 167行目: | ||
!備考 | !備考 | ||
|- | |- | ||
| − | |${"abc" | + | |${"abc" < "def"} |
|true | |true | ||
| | | | ||
|- | |- | ||
| − | |${999 | + | |${999 < 123} |
|false | |false | ||
| | | | ||
| 177行目: | 177行目: | ||
|} | |} | ||
| − | __大なり( | + | __大なり(> or gt)__ |
{|class="wikitable" | {|class="wikitable" | ||
!式 | !式 | ||
| 183行目: | 183行目: | ||
!備考 | !備考 | ||
|- | |- | ||
| − | |${"abc" | + | |${"abc" > "def"} |
|false | |false | ||
| | | | ||
|- | |- | ||
| − | |${999 | + | |${999 > 123} |
|true | |true | ||
| | | | ||
| 193行目: | 193行目: | ||
|} | |} | ||
| − | __小なりイコール( | + | __小なりイコール(<= or le)__ |
{|class="wikitable" | {|class="wikitable" | ||
!式 | !式 | ||
| 199行目: | 199行目: | ||
!備考 | !備考 | ||
|- | |- | ||
| − | |${1 / 3 | + | |${1 / 3 <= 0.3} |
|false | |false | ||
| | | | ||
|- | |- | ||
| − | |${1 / 2 | + | |${1 / 2 <= 0.5} |
|true | |true | ||
| | | | ||
| 209行目: | 209行目: | ||
|} | |} | ||
| − | __小なりイコール( | + | __小なりイコール(<= or le)__ |
{|class="wikitable" | {|class="wikitable" | ||
!式 | !式 | ||
| 215行目: | 215行目: | ||
!備考 | !備考 | ||
|- | |- | ||
| − | |${1 / 3 | + | |${1 / 3 >= 0.3} |
|true | |true | ||
| | | | ||
|- | |- | ||
| − | |${1 / 2 | + | |${1 / 2 >= 0.5} |
|true | |true | ||
| | | | ||
| 309行目: | 309行目: | ||
| | | | ||
|- | |- | ||
| − | |${(10 | + | |${(10 > 100)?"Yes.":"No."} |
|No. | |No. | ||
| | | | ||
| 321行目: | 321行目: | ||
---- | ---- | ||
| − | {{include_html banner_html, "!J2EE"}} | + | {{include_html [[banner_html]], "!J2EE"}} |
2020年2月16日 (日) 04:21時点における最新版
ある状況において、以下の演算子を使用する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"}}
© 2006 矢木浩人