Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Aya Ebata
2,692 views
Java初心者がJava8のラムダ式をやってみた
2015.11.15 Java女子部 Java8自由研究
Engineering
◦
Read more
5
Save
Share
Embed
Embed presentation
Download
Downloaded 11 times
1
/ 38
2
/ 38
3
/ 38
4
/ 38
5
/ 38
6
/ 38
7
/ 38
8
/ 38
9
/ 38
10
/ 38
11
/ 38
12
/ 38
13
/ 38
14
/ 38
15
/ 38
16
/ 38
17
/ 38
18
/ 38
19
/ 38
20
/ 38
21
/ 38
22
/ 38
23
/ 38
24
/ 38
25
/ 38
26
/ 38
27
/ 38
28
/ 38
29
/ 38
30
/ 38
31
/ 38
32
/ 38
33
/ 38
34
/ 38
35
/ 38
36
/ 38
37
/ 38
38
/ 38
More Related Content
PDF
Jvm言語とJava、切っても切れないその関係
by
yy yank
PDF
JavaとRubyのすてきな関係
by
garden_tree
PDF
モダンJavaScript環境構築一歩目
by
大樹 小倉
PDF
JavaのテストGroovyでいいのではないかという話
by
disc99_
PPTX
Js async
by
Shunji Makino
PDF
Phpのレガシーコードをrubyで焼き変えてみた
by
Akira Kaneda
PDF
むずかしくないJavaScriptのやさしい話 jQueryからの次のステップ #ndsmeetup8
by
civic Sasaki
PDF
Javascriptのあれやこれやをまとめて説明してみる
by
Shunji Konishi
Jvm言語とJava、切っても切れないその関係
by
yy yank
JavaとRubyのすてきな関係
by
garden_tree
モダンJavaScript環境構築一歩目
by
大樹 小倉
JavaのテストGroovyでいいのではないかという話
by
disc99_
Js async
by
Shunji Makino
Phpのレガシーコードをrubyで焼き変えてみた
by
Akira Kaneda
むずかしくないJavaScriptのやさしい話 jQueryからの次のステップ #ndsmeetup8
by
civic Sasaki
Javascriptのあれやこれやをまとめて説明してみる
by
Shunji Konishi
What's hot
PDF
Javaで1から10まで書いた話(sanitized)
by
Tokuhiro Matsuno
PDF
JavaScriptユーティリティライブラリの紹介
by
Yusuke Hirao
PDF
簡単!Groovy入門
by
Lee Choong Geun
PDF
【こっそり始める】Javaプログラマコーディングマイグレーション
by
yy yank
PDF
JobStreamerではじめるJavaBatchのクラウド分散実行
by
Yoshitaka Kawashima
PDF
「プログラミングGroovy」入門(公開用)
by
orange clover
PDF
LaravelとMVCの先へ
by
Yuuki Takezawa
PDF
Javaのログ出力: 道具と考え方
by
Taku Miyakawa
PDF
プログラミング言語Clojureのニャンパスでの活用事例
by
sohta
PDF
Java script関数コールの追跡
by
Keiichi Kobayashi
PDF
大規模なJavaScript開発の話
by
terurou
PDF
クラスローダーについて
by
Suguru ARAKAWA
PDF
JavaScript MVC入門
by
大樹 小倉
PPTX
JavaScriptで味わう! 関数型プログラミングのメリット!!
by
Keigo Magami
PPTX
Play frameworkについて
by
Shinobu Okano
PDF
「愛されたい!」と思ったときにJavaで書くRubyクラス
by
Koichiro Ohba
PDF
laravel websocket(use redis pubsub) [Laravel meetup tokyo]
by
Yuuki Takezawa
PDF
モジュール開発におけるぼくの試行錯誤
by
karupanerura
PPT
play framework 勉強会 in 関西
by
Shinichi Kozake
PDF
continuatioN Linking
by
Kouji Matsui
Javaで1から10まで書いた話(sanitized)
by
Tokuhiro Matsuno
JavaScriptユーティリティライブラリの紹介
by
Yusuke Hirao
簡単!Groovy入門
by
Lee Choong Geun
【こっそり始める】Javaプログラマコーディングマイグレーション
by
yy yank
JobStreamerではじめるJavaBatchのクラウド分散実行
by
Yoshitaka Kawashima
「プログラミングGroovy」入門(公開用)
by
orange clover
LaravelとMVCの先へ
by
Yuuki Takezawa
Javaのログ出力: 道具と考え方
by
Taku Miyakawa
プログラミング言語Clojureのニャンパスでの活用事例
by
sohta
Java script関数コールの追跡
by
Keiichi Kobayashi
大規模なJavaScript開発の話
by
terurou
クラスローダーについて
by
Suguru ARAKAWA
JavaScript MVC入門
by
大樹 小倉
JavaScriptで味わう! 関数型プログラミングのメリット!!
by
Keigo Magami
Play frameworkについて
by
Shinobu Okano
「愛されたい!」と思ったときにJavaで書くRubyクラス
by
Koichiro Ohba
laravel websocket(use redis pubsub) [Laravel meetup tokyo]
by
Yuuki Takezawa
モジュール開発におけるぼくの試行錯誤
by
karupanerura
play framework 勉強会 in 関西
by
Shinichi Kozake
continuatioN Linking
by
Kouji Matsui
Similar to Java初心者がJava8のラムダ式をやってみた
PDF
社内Java8勉強会 ラムダ式とストリームAPI
by
Akihiro Ikezoe
PDF
【社内勉強会#9】(今更ながら)java8触ってみた~ラムダ式篇~
by
目黒 のぞみ
PPTX
Java8勉強会
by
賢太郎 前多
PPTX
Introduction to lambda calculation
by
relipmoc101
PPTX
【java8 勉強会】 怖くない!ラムダ式, Stream API
by
dcomsolution
PDF
60分で体験する Stream / Lambda ハンズオン
by
Hiroto Yamakawa
PPTX
HDCLT
by
Daigaku Ando
PDF
HiroshimaJUG の「Java8 Lambda ハンズオン with すごい広島」を5分で振り返る
by
tsudaa
PPTX
Java8から始める関数型プログラミング
by
stylefreeslide
PDF
Material
by
_TUNE_
PPTX
Project lambda
by
Appresso Engineering Team
PDF
Java8 lambdas chapter1_2
by
yo0824
PDF
The Why and How of Java8 at LINE Fukuoka
by
Youhei Nitta
PPTX
第1回Java講義資料
by
XMLProJ2014
社内Java8勉強会 ラムダ式とストリームAPI
by
Akihiro Ikezoe
【社内勉強会#9】(今更ながら)java8触ってみた~ラムダ式篇~
by
目黒 のぞみ
Java8勉強会
by
賢太郎 前多
Introduction to lambda calculation
by
relipmoc101
【java8 勉強会】 怖くない!ラムダ式, Stream API
by
dcomsolution
60分で体験する Stream / Lambda ハンズオン
by
Hiroto Yamakawa
HDCLT
by
Daigaku Ando
HiroshimaJUG の「Java8 Lambda ハンズオン with すごい広島」を5分で振り返る
by
tsudaa
Java8から始める関数型プログラミング
by
stylefreeslide
Material
by
_TUNE_
Project lambda
by
Appresso Engineering Team
Java8 lambdas chapter1_2
by
yo0824
The Why and How of Java8 at LINE Fukuoka
by
Youhei Nitta
第1回Java講義資料
by
XMLProJ2014
More from Aya Ebata
PDF
GraalVMに入門してみた
by
Aya Ebata
PDF
JSRとJEPとJBSの見方や調べ方について
by
Aya Ebata
PDF
Swiftをやってみた!
by
Aya Ebata
PDF
Javaの好きなところ
by
Aya Ebata
PDF
「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜
by
Aya Ebata
PDF
Androidに入門してみた( 'ω'-)
by
Aya Ebata
PPTX
E2D3ハンズオン
by
Aya Ebata
PDF
Java女子部 コミュニティ紹介 ロングバージョン
by
Aya Ebata
GraalVMに入門してみた
by
Aya Ebata
JSRとJEPとJBSの見方や調べ方について
by
Aya Ebata
Swiftをやってみた!
by
Aya Ebata
Javaの好きなところ
by
Aya Ebata
「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜
by
Aya Ebata
Androidに入門してみた( 'ω'-)
by
Aya Ebata
E2D3ハンズオン
by
Aya Ebata
Java女子部 コミュニティ紹介 ロングバージョン
by
Aya Ebata
Java初心者がJava8のラムダ式をやってみた
1.
Java初心者が Java8のラムダ式をやってみた 2015.11.15 Java女子部 Java8自由研究 @aya_122 えばた あや
2.
えばた あや Twitter: @aya_122 お仕事:
Groovy(フレームワークはGrails)、javascript Java歴: 学校の授業でちょっとやったのと、 仕事の研修でちょっとやったくらいの初心者 好きな食べ物: ラーメン 苦手な事: 人前で発表すること← 自己紹介(´ω` )
3.
登壇するのはじめてで緊張…((((;゜Д゜)))
4.
Java初心者な自分がラムダ式をやってみて 学んだ事について話します!
5.
目次 1. ラムダ式の概要 2. ラムダ式の書き方 3.
おわりに
6.
1. ラムダ式の概要
7.
何故ラムダ式? 始める前: Java8なにそれ → Java8って何があるの? →
ふむふむ… → あ!これ、javascriptとかで似たの見た事ある!! → ………クロージャか!!!!!!! (実際違うとも言われるけど←) ってなわけで、 一番身近に感じたのでラムダ式を選びました(^ω^) 選んだ理由 とか(^ω^)
8.
Java8で導入された新たな表記法 ・Java8で導入された新機能と組み合わせて使うのに最適 ・関数型インターフェース ・特に、Stream API ラムダ式とは
9.
Java8で導入された新たな表記法 ・Java8で導入された新機能と組み合わせて使うのに最適 ・関数型インターフェース ・特に、Stream API ラムダ式とは 記述の簡素化
10.
2. ラムダ式の書き方
11.
書き方 ラムダ式の基本的な書き方として、 ( 引数 )
-> { 処理 } と表します。
12.
引数部分の書き方 引数部分についての書き方の基本形は、 ・引数が0個の場合 ( ) ->
{ 処理 } ・引数が1個の場合 ( int n ) -> { 処理 } ・引数が2個の場合 ( String s, int n ) -> { 処理 } のように表します。
13.
引数部分の書き方 ・引数の型を推論することが出来る場合、 型を省略することが可能 ( int n
) -> { 処理 } ( n ) -> { 処理 } ・引数が1個の場合、カッコを省略することが可能 ( n ) -> { 処理 } n -> { 処理 } 省略可能!! 省略 省略
14.
処理部分の書き方 処理部分についての書き方の基本形は、 ( 引数 )
-> { 何か処理; return 戻り値; } のように表します。 もちろん、処理部分でも省略が可能です!!
15.
処理部分の書き方 ・戻り値がvoid、または処理が1個の場合、 returnを省略することが可能 ( 引数 )
-> { 何か処理; } ・処理が1個しかない場合、カッコを省略することが可能 ( 引数 ) -> 処理 こっちも省略 可能(´ω` )
16.
ラムダ式を書いてみる 実際に、引数部分と処理部分に値を入れて書いてみると、 ( String s
) -> { System.out.println( “string: ” + s ); }
17.
でも…
18.
どうせなら、 さっき説明した省略した書き方 使いたいよね(´∀`)
19.
省略して書いてみる 引数部分で一番簡単な書き方と、 処理部分で一番簡単な書き方を合わせて書くと、 s -> System.out.println(“string:
” + s) こんなにシンプルに書けます★ (処理が2つ以上の場合は、{ }つける書き方で!) じゃじゃん! ( `ω´ )
20.
実際に使ってみる その前に!以前の書き方で書いてみると… List<String> food =
new ArrayList<String>(); food.add("アイス"); food.add("ラーメン"); food.add("もつ鍋"); for ( String s : food ) { System.out.println(“好きな食べ物: ” + s); } <出力結果> 好きな食べ物: アイス 好きな食べ物: ラーメン 好きな食べ物: もつ鍋 Listの値を 1つずつ出力
21.
実際に使ってみる ラムダ式を使うと!! List<String> food =
new ArrayList<String>(); food.add("アイス"); food.add("ラーメン"); food.add("もつ鍋"); food.forEach(s -> System.out.println("好きな食べ物: " + s)); Java8な 書き方(‾∀‾ ) <出力結果> 好きな食べ物: アイス 好きな食べ物: ラーメン 好きな食べ物: もつ鍋
22.
注意点 int n =
1; Runnable runner = () -> { n++; }; runner.run(); ちなみに、このように書くと…
23.
注意点 int n =
1; Runnable runner = () -> { n++; }; runner.run(); コンパイル エラー ラムダ式の外側で定義された変数に、 ラムダ式の内側から値を代入すると コンパイルエラー
24.
3. おわりに
25.
感想 ・つい最近までJavaが8になってたなんて知らなかった けど、これを機会にJava8について知ることができた ・ラムダ式は他のJava8の機能と相性が良いので、他の Java8の機能といろいろ組み合わせてもっともっと使って みたくなった
26.
ありがとうございました(^ω^)
27.
と、見せかけて。
28.
時間が余ったので、
29.
問題だします!!!!!
30.
問題 この中でコンパイルエラーにならないものはどれでしょう? 1. Object object
= () -> System.out.println("abc"); 2. int n = 1; Runnable runner = () -> System.out.println(n); n++; runner.run(); 選択肢、続く…
31.
問題 続き… 3. List<String> list
= new ArrayList<>(); list.add("a"); list.add("b"); list.forEach(_ -> System.out.println(_)); 4. Runnable runner = () -> System.out.println(this); runner.run();
32.
答え
33.
答え 正解は、 4. Runnable runner
= () -> System.out.println(this); runner.run(); です! Runnable runner = () -> System.out.println(toString()); runner.run(); と同じ出力結果が得られる
34.
解説 1. Object object
= () -> System.out.println("abc"); ラムダ式がどの関数型インターフェースのものなのか 分からない為、コンパイルエラー Object object = (Runnable)() -> System.out.println("abc"); こう書くことでエラーから抜け出せます。
35.
解説 2. int n
= 1; Runnable runner = () -> System.out.println(n); n++; runner.run(); 変数に再代入する場所がラムダ式の外でもコンパイルエラー
36.
解説 3. List<String> list
= new ArrayList<>(); list.add("a"); list.add("b"); list.forEach(_ -> System.out.println(_)); ラムダ式の引数名には、アンダーバーのみのものが使えない ため、コンパイルエラー → 文字列等を使うこと
37.
今度こそ、
38.
ありがとうございました(^ω^)
Download