Enviar pesquisa
Carregar
Operator's Side
•
0 gostou
•
311 visualizações
Takumi Murano
Seguir
第23回アルゴリズム勉強会(https://sites.google.com/site/algorithmhokuriku/)での発表資料
Leia menos
Leia mais
Tecnologia
Vista de apresentação de diapositivos
Denunciar
Compartilhar
Vista de apresentação de diapositivos
Denunciar
Compartilhar
1 de 26
Baixar agora
Baixar para ler offline
Recomendados
Swift入門おさらい
Swift入門おさらい
GMO TECH 株式会社
学ロボの制御
学ロボの制御
Kotaro Yoshimoto
第2回iOSアプリ勉強会
第2回iOSアプリ勉強会
Daisuke Tsukagoshi
Char型
Char型
hcuprogramming
きつねさんでもわかるLLVM読書会amagasaki.rb第5章
きつねさんでもわかるLLVM読書会amagasaki.rb第5章
Takayuki Kurosawa
C++14言語編
C++14言語編
Mitsuru Kariya
Internet Docentes
Internet Docentes
Loren Golczer
Kriptografi - Watermarking
Kriptografi - Watermarking
KuliahKita
Recomendados
Swift入門おさらい
Swift入門おさらい
GMO TECH 株式会社
学ロボの制御
学ロボの制御
Kotaro Yoshimoto
第2回iOSアプリ勉強会
第2回iOSアプリ勉強会
Daisuke Tsukagoshi
Char型
Char型
hcuprogramming
きつねさんでもわかるLLVM読書会amagasaki.rb第5章
きつねさんでもわかるLLVM読書会amagasaki.rb第5章
Takayuki Kurosawa
C++14言語編
C++14言語編
Mitsuru Kariya
Internet Docentes
Internet Docentes
Loren Golczer
Kriptografi - Watermarking
Kriptografi - Watermarking
KuliahKita
Интервю с Маруся Евтимова - iBroker на месец юни
Интервю с Маруся Евтимова - iBroker на месец юни
iBrokers Plus/ iБрокерс Плюс Недвижими имоти
Jika memimpin jangan
Jika memimpin jangan
Cimta Abadi
Bedste Hypnose uddannelse (kursus) i Danmark
Bedste Hypnose uddannelse (kursus) i Danmark
Jacob Strachotta
Lista de exerc+¡cios 1 castigliano
Lista de exerc+¡cios 1 castigliano
Rogerio Ribeiro Ramos
Colegios y distritos privados
Colegios y distritos privados
gabitachica
Al Fazl - international 25th July 2014
Al Fazl - international 25th July 2014
muzaffertahir9
GRUPO B
GRUPO B
canalvecinalancud
Почему цены на сайты такие разные?
Почему цены на сайты такие разные?
itua_development
Entzuixu!! 8.zkia. 2014ko abuztua.
Entzuixu!! 8.zkia. 2014ko abuztua.
Entzuixu! EAJ-PNV Lekeitio
地図を自分で作る時代
地図を自分で作る時代
Jyun Tanaka
Silabus Kimia SMA kls X Kurikulum 2013
Silabus Kimia SMA kls X Kurikulum 2013
almansyahnis .
Thema 1 les 3 - iemand stelt zich voor
Thema 1 les 3 - iemand stelt zich voor
Ive Hapers
雲端藥物開發2:預測作用機轉
雲端藥物開發2:預測作用機轉
ribowsone
Software Educativo Organizar Recursos1
Software Educativo Organizar Recursos1
Sisifo08
Microsoft windows,,,,
Microsoft windows,,,,
eddie nataren
Edu 2
Edu 2
อรวรรณ วรชิน
Proyecto 2° parte
Proyecto 2° parte
Liliana Aguilera
31 july sab ki khabren
31 july sab ki khabren
Santosh Tiwari
Báo cáo thực tập tuần 5 - Phạm Tiến Quân
Báo cáo thực tập tuần 5 - Phạm Tiến Quân
Quân Quạt Mo
Intelijensia buatan - 01 Apa Itu Intelijensia Buatan
Intelijensia buatan - 01 Apa Itu Intelijensia Buatan
KuliahKita
プログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズム
Takuya Akiba
C言語講習会2
C言語講習会2
odenhadengaku
Mais conteúdo relacionado
Destaque
Интервю с Маруся Евтимова - iBroker на месец юни
Интервю с Маруся Евтимова - iBroker на месец юни
iBrokers Plus/ iБрокерс Плюс Недвижими имоти
Jika memimpin jangan
Jika memimpin jangan
Cimta Abadi
Bedste Hypnose uddannelse (kursus) i Danmark
Bedste Hypnose uddannelse (kursus) i Danmark
Jacob Strachotta
Lista de exerc+¡cios 1 castigliano
Lista de exerc+¡cios 1 castigliano
Rogerio Ribeiro Ramos
Colegios y distritos privados
Colegios y distritos privados
gabitachica
Al Fazl - international 25th July 2014
Al Fazl - international 25th July 2014
muzaffertahir9
GRUPO B
GRUPO B
canalvecinalancud
Почему цены на сайты такие разные?
Почему цены на сайты такие разные?
itua_development
Entzuixu!! 8.zkia. 2014ko abuztua.
Entzuixu!! 8.zkia. 2014ko abuztua.
Entzuixu! EAJ-PNV Lekeitio
地図を自分で作る時代
地図を自分で作る時代
Jyun Tanaka
Silabus Kimia SMA kls X Kurikulum 2013
Silabus Kimia SMA kls X Kurikulum 2013
almansyahnis .
Thema 1 les 3 - iemand stelt zich voor
Thema 1 les 3 - iemand stelt zich voor
Ive Hapers
雲端藥物開發2:預測作用機轉
雲端藥物開發2:預測作用機轉
ribowsone
Software Educativo Organizar Recursos1
Software Educativo Organizar Recursos1
Sisifo08
Microsoft windows,,,,
Microsoft windows,,,,
eddie nataren
Edu 2
Edu 2
อรวรรณ วรชิน
Proyecto 2° parte
Proyecto 2° parte
Liliana Aguilera
31 july sab ki khabren
31 july sab ki khabren
Santosh Tiwari
Báo cáo thực tập tuần 5 - Phạm Tiến Quân
Báo cáo thực tập tuần 5 - Phạm Tiến Quân
Quân Quạt Mo
Intelijensia buatan - 01 Apa Itu Intelijensia Buatan
Intelijensia buatan - 01 Apa Itu Intelijensia Buatan
KuliahKita
Destaque
(20)
Интервю с Маруся Евтимова - iBroker на месец юни
Интервю с Маруся Евтимова - iBroker на месец юни
Jika memimpin jangan
Jika memimpin jangan
Bedste Hypnose uddannelse (kursus) i Danmark
Bedste Hypnose uddannelse (kursus) i Danmark
Lista de exerc+¡cios 1 castigliano
Lista de exerc+¡cios 1 castigliano
Colegios y distritos privados
Colegios y distritos privados
Al Fazl - international 25th July 2014
Al Fazl - international 25th July 2014
GRUPO B
GRUPO B
Почему цены на сайты такие разные?
Почему цены на сайты такие разные?
Entzuixu!! 8.zkia. 2014ko abuztua.
Entzuixu!! 8.zkia. 2014ko abuztua.
地図を自分で作る時代
地図を自分で作る時代
Silabus Kimia SMA kls X Kurikulum 2013
Silabus Kimia SMA kls X Kurikulum 2013
Thema 1 les 3 - iemand stelt zich voor
Thema 1 les 3 - iemand stelt zich voor
雲端藥物開發2:預測作用機轉
雲端藥物開發2:預測作用機轉
Software Educativo Organizar Recursos1
Software Educativo Organizar Recursos1
Microsoft windows,,,,
Microsoft windows,,,,
Edu 2
Edu 2
Proyecto 2° parte
Proyecto 2° parte
31 july sab ki khabren
31 july sab ki khabren
Báo cáo thực tập tuần 5 - Phạm Tiến Quân
Báo cáo thực tập tuần 5 - Phạm Tiến Quân
Intelijensia buatan - 01 Apa Itu Intelijensia Buatan
Intelijensia buatan - 01 Apa Itu Intelijensia Buatan
Semelhante a Operator's Side
プログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズム
Takuya Akiba
C言語講習会2
C言語講習会2
odenhadengaku
Effective Modern C++ Item 24: Distinguish universal references from rvalue re...
Effective Modern C++ Item 24: Distinguish universal references from rvalue re...
mooopan
kagami_comput2015_4
kagami_comput2015_4
swkagami
わんくま東京#38 LT 「Func<> と ref / out 小咄」
わんくま東京#38 LT 「Func<> と ref / out 小咄」
Takeshi Kiriya
ソフトウェア工学2023 12 コードフォーマット
ソフトウェア工学2023 12 コードフォーマット
Toru Tamaki
Semelhante a Operator's Side
(6)
プログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズム
C言語講習会2
C言語講習会2
Effective Modern C++ Item 24: Distinguish universal references from rvalue re...
Effective Modern C++ Item 24: Distinguish universal references from rvalue re...
kagami_comput2015_4
kagami_comput2015_4
わんくま東京#38 LT 「Func<> と ref / out 小咄」
わんくま東京#38 LT 「Func<> と ref / out 小咄」
ソフトウェア工学2023 12 コードフォーマット
ソフトウェア工学2023 12 コードフォーマット
Mais de Takumi Murano
モダンな感じでChrome Extension作ってみた
モダンな感じでChrome Extension作ってみた
Takumi Murano
Dockerぐらし!
Dockerぐらし!
Takumi Murano
金大アルゴリズム勉強会#007資料
金大アルゴリズム勉強会#007資料
Takumi Murano
金大アルゴリズム勉強会#006資料
金大アルゴリズム勉強会#006資料
Takumi Murano
金大アルゴリズム勉強会#005資料
金大アルゴリズム勉強会#005資料
Takumi Murano
金大アルゴリズム勉強会#004資料
金大アルゴリズム勉強会#004資料
Takumi Murano
金大アルゴリズム勉強会#003資料
金大アルゴリズム勉強会#003資料
Takumi Murano
金大アルゴリズム勉強会#002資料
金大アルゴリズム勉強会#002資料
Takumi Murano
金大アルゴリズム勉強会#001資料
金大アルゴリズム勉強会#001資料
Takumi Murano
Lombok java
Lombok java
Takumi Murano
Mais de Takumi Murano
(10)
モダンな感じでChrome Extension作ってみた
モダンな感じでChrome Extension作ってみた
Dockerぐらし!
Dockerぐらし!
金大アルゴリズム勉強会#007資料
金大アルゴリズム勉強会#007資料
金大アルゴリズム勉強会#006資料
金大アルゴリズム勉強会#006資料
金大アルゴリズム勉強会#005資料
金大アルゴリズム勉強会#005資料
金大アルゴリズム勉強会#004資料
金大アルゴリズム勉強会#004資料
金大アルゴリズム勉強会#003資料
金大アルゴリズム勉強会#003資料
金大アルゴリズム勉強会#002資料
金大アルゴリズム勉強会#002資料
金大アルゴリズム勉強会#001資料
金大アルゴリズム勉強会#001資料
Lombok java
Lombok java
Operator's Side
1.
Operator s Side @第23回アルゴリズム勉強会 t_murano
2.
演算子に着目しよう! ※都合によりJavaに限定
3.
※注意事項
4.
この発表を参考にした 可読性の悪いコードの生産に対しての 一切の責任を負いかねます
5.
演算子とは? ! “ In computer
programming and at the command line, an operator is an object that is capable of manipulating a value or operator. ” 引用元 : http://www.computerhope.com/jargon/o/operator.htm
6.
なぜ演算子なのか? • ほぼ必ず使う要素 • 様々な演算子を知っていると簡潔に書けるかも •
よく知らずに使うと思わぬ挙動が…
7.
演算子の種類 • 算術演算子 • 比較演算子 •
論理演算子 • ビット演算子 • 代入演算子 明確な定義があるわけではないけど だいたいこんな感じに分けられるはず
8.
いくつかピックアップ
9.
/ (除算) • 左の値を右の値で割る演算子
10.
突然ですが問題です 次のうち浮動小数点型の値を返すのはどれ? • 1 /
2 • 1.0 / 2 • 1 / 2.0 • 1.0 / 2.0
11.
答え 除数 or 被除数が浮動小数点型のもの •
1.0 / 2 • 1 / 2.0 • 1.0 / 2.0
12.
またまた問題です 次のうち例外(ArithmeticException)が発生するの はどれ? • 0 /
0 • 1 / 0 • 0 / 0.0 • 1.0 / 0
13.
答え 除数 and 被除数が整数型のもの
(除数は0) • 0 / 0 • 1 / 0
14.
ちなみに 浮動小数点型には、NaN(非数)とInfinity(無限大) が用意されている • 0 /
0.0 -> NaN • 1.0 / 0 -> Infinity
15.
++ -- • インクリメント,
デクリメント • 前置 と、後置 が存在 • for文とかでよく使いますよね
16.
前置と後置を比較 ! int a =
0; int b = a++; // b -> 0 ! Code: 0: iconst_0 1: istore_1 2: iload_1 3: iinc 1, 1 6: istore_2 ! int a = 0; int b = ++a; // b -> 1 ! Code: 0: iconst_0 1: istore_1 2: iinc 1, 1 5: iload_1 6: istore_2
17.
単体で使う場合 int a =
0; ! a++; ++a; a += 1; Code: 0: iconst_0 1: istore_1 2: iinc 1, 1 5: iinc 1, 1 8: iinc 1, 1 内部ではどれも一緒っぽい
18.
論理演算子 • & (AND),
¦ (OR), ^ (XOR), ! (NOT) • &&, ¦¦ (左から短絡評価) • boolean型に使用 • & ¦ ^ は整数型にも使用できる
19.
短絡評価 • && は左の式の結果が
false だったら右の式を 評価しない • ¦¦ は左の式の結果が true だったら右の式を評価 しない
20.
短絡評価の利用 // array.length ==
10 とする for (int i = 0; i < 20; i++) if (i < 10 && array[i] % 2 == 0) { /* 処理 */ } ! i が 10未満の場合のみ array[i] にアクセスする
21.
int型での利用 • a が奇数かどうか評価 int
a = 11; // 0b1011 if ((a & 1) == 1) • LSBが1かどうか評価している 0b1011 AND ) 0b0001 0b0001
22.
複合代入演算子 • 自己代入を行う演算子 • +=,
-=, *=, /=, %=, <<=, >>=, >>>=, &=, ¦=, ^= • a += 1; -> a = a + 1; • b /= c - 2; -> b = b / (c - 2);
23.
instanceof • Javaの特殊な演算子 • オブジェクトが指定したクラスかどうか判定 •
プリミティブ型は使用できない • foo instanceof String -> true
24.
優先順位 • 四則計算のようにプログラミングの演算子にも 優先順位がある • 同じ優先度の演算子は左から順に評価 •
各自で調べてください (スライドに収めるのが面 倒だった)
25.
まとめ • 演算子にも色々ある (多分Javaは少ない方) •
同じ演算子でも型によって挙動が異なる • 細かい仕様を理解して、正確にコードを読み書 きしよう!
26.
参考URL • Java演算子・式の評価 :
http://www.ne.jp/asahi/hishidama/home/ tech/java/expression.html • Javaの道 > Java基本 : http://www.javaroad.jp/index_basic.htm • バイトコード : http://www.ne.jp/asahi/hishidama/home/tech/ java/bytecode.html • Java入門 ¦ Byte Code : http://msugai.fc2web.com/java/perform/ byte.html
Baixar agora