java8

1: 以下、\(^o^)/でVIPがお送りします 2014/12/29(月) 13:23:22.49 ID:aDj/zqBFNIKU.net

if文for文使いまくってるのってキモいよな


スポンサードリンク

2: 以下、\(^o^)/でVIPがお送りします 2014/12/29(月) 13:24:15.50 ID:/y8HWckGNIKU.net

じゃあ代わりにswitchとwhile使う


3: 以下、\(^o^)/でVIPがお送りします 2014/12/29(月) 13:24:18.06 ID:afkjonbrNIKU.net

switch


6: 以下、\(^o^)/でVIPがお送りします 2014/12/29(月) 13:25:46.44 ID:5e4wCC7eNIKU.net

3重switchできたった


4: 以下、\(^o^)/でVIPがお送りします 2014/12/29(月) 13:25:07.80 ID:p/fcoiEJNIKU.net

try-catch下手な奴の方がキモい


8: 以下、\(^o^)/でVIPがお送りします 2014/12/29(月) 13:26:34.22 ID:aDj/zqBFNIKU.net

>>4
with resource使って
マルチキャッチとかをしっかり使ってほしいよな


22: 以下、\(^o^)/でVIPがお送りします 2014/12/29(月) 13:49:10.02 ID:ErK/I9r/NIKU.net

>>4
すいません


12: 以下、\(^o^)/でVIPがお送りします 2014/12/29(月) 13:27:44.29 ID:a7ju8lk5NIKU.net

for文とif文何重にも入れ子奴~wwwwww


7: 以下、\(^o^)/でVIPがお送りします 2014/12/29(月) 13:26:12.27 ID:OCkszRCtNIKU.net

いくつまでの入れ子なら許す?


11: 以下、\(^o^)/でVIPがお送りします 2014/12/29(月) 13:27:03.88 ID:aDj/zqBFNIKU.net

>>7
許す許さないは基本的に処理内容による

仕方ない場合もあるからね


9: 以下、\(^o^)/でVIPがお送りします 2014/12/29(月) 13:26:35.75 ID:FsdWziXaNIKU.net

&& ||とか使う do loop使う


14: 以下、\(^o^)/でVIPがお送りします 2014/12/29(月) 13:27:55.29 ID:FKZKuh9BNIKU.net

無駄に凝って圧縮したソースより、単純明快なソースの方が管理が楽


16: 以下、\(^o^)/でVIPがお送りします 2014/12/29(月) 13:29:42.29 ID:YkHuohCPNIKU.net

じゃあ俺は三項演算子と再帰呼び出し使うわ


17: 以下、\(^o^)/でVIPがお送りします 2014/12/29(月) 13:39:32.12 ID:aDj/zqBFNIKU.net

とりあえず軽い問題を出してみる


int[] tmps = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; 

この配列を使って偶数の値のみを表示するプログラムをjavaで作ってみて


21: 以下、\(^o^)/でVIPがお送りします 2014/12/29(月) 13:49:01.20 ID:BUk5G6usNIKU.net

javaは知らんがforでカウント2upしてけばよいんじゃないの?


23: 以下、\(^o^)/でVIPがお送りします 2014/12/29(月) 13:49:11.29 ID:dkrL1bX5NIKU.net

なにいってんだこのアホは


25: 以下、\(^o^)/でVIPがお送りします 2014/12/29(月) 13:50:31.24 ID:BUk5G6usNIKU.net

>>23
ダメでしたか、すみません


24: 以下、\(^o^)/でVIPがお送りします 2014/12/29(月) 13:50:17.71 ID:aDj/zqBFNIKU.net

コード書けよコード


26: 以下、\(^o^)/でVIPがお送りします 2014/12/29(月) 13:50:36.48 ID:PuYBYF+CNIKU.net

filter 書いて2の余りの否定とって乗算すりゃいいんじゃないですかね(適当)


28: 以下、\(^o^)/でVIPがお送りします 2014/12/29(月) 13:52:01.99 ID:aDj/zqBFNIKU.net

>>26
コードかくんだー!


27: 以下、\(^o^)/でVIPがお送りします 2014/12/29(月) 13:51:01.79 ID:vS4+IzWTNIKU.net

これでええやろ
printf tmps[1];
printf tmps[3];
printf tmps[5];
printf tmps[7];
printf tmps[9];


28: 以下、\(^o^)/でVIPがお送りします 2014/12/29(月) 13:52:01.99 ID:aDj/zqBFNIKU.net

>>27
それ言語違うだろ


29: 以下、\(^o^)/でVIPがお送りします 2014/12/29(月) 13:53:32.84 ID:t9qNlT7bNIKU.net

どういうコードを書かせたいのかわからん


32: 以下、\(^o^)/でVIPがお送りします 2014/12/29(月) 13:54:44.57 ID:aDj/zqBFNIKU.net

17を満たすような君なりのコード
とりあず
2
4
6
8
10
って出ればいい


49: 以下、\(^o^)/でVIPがお送りします 2014/12/29(月) 14:19:31.78 ID:YkHuohCPNIKU.net

>>17
System.out.println(tmps.stream().filter(i -> i%2==0 ));


56: 以下、\(^o^)/でVIPがお送りします 2014/12/29(月) 14:24:12.84 ID:aDj/zqBFNIKU.net

>>49
惜しいな
™psにstreamメソッドはない
それにfilterの返却値はstreamなんですが


53: 以下、\(^o^)/でVIPがお送りします 2014/12/29(月) 14:22:11.83 ID:n7NiRgSgNIKU.net

>>17
C#なら、

tmps.Where(x => x % 2 == 0).ForEach(x => Console.WriteLine);

こういうこと?


55: 以下、\(^o^)/でVIPがお送りします 2014/12/29(月) 14:23:52.64 ID:n7NiRgSgNIKU.net

>>53
最後のx=>いらんかったわ


57: 以下、\(^o^)/でVIPがお送りします 2014/12/29(月) 14:25:33.64 ID:aDj/zqBFNIKU.net

>>53
うんいいと思うC#なら


35: 以下、\(^o^)/でVIPがお送りします 2014/12/29(月) 13:57:25.74 ID:9Nt8x9qcNIKU.net

三項演算とか連打してるのって見にくいよね
switchで回避するのも違うと思う

forはなるべく使わないってのは間違いでもないだろうけど
再帰的に描いたほうが綺麗なものも珍しくないだろうし


36: 以下、\(^o^)/でVIPがお送りします 2014/12/29(月) 13:58:52.10 ID:aDj/zqBFNIKU.net

>>35
三項演算子もswitchもできるなら使いたくない
再帰ならまだおkだな


41: 以下、\(^o^)/でVIPがお送りします 2014/12/29(月) 14:01:30.20 ID:RKCXRJICNIKU.net

再帰嫌い


48: 以下、\(^o^)/でVIPがお送りします 2014/12/29(月) 14:18:02.96 ID:vS4+IzWTNIKU.net

お前ら口だけだなw

IDENTIFICATION DIVISION.
ENVIRONMENT DIVISION.
DATA DIVISION
WORKING-STORAGE SECTION.
PROCEDURE DIVISION.
DISPLAY tmps[1]
DISPLAY tmps[3]
DISPLAY tmps[5]
DISPLAY tmps[7]
DISPLAY tmps[9]
STOP RUN.


56: 以下、\(^o^)/でVIPがお送りします 2014/12/29(月) 14:24:12.84 ID:aDj/zqBFNIKU.net

>>48
コボラーか


50: 以下、\(^o^)/でVIPがお送りします 2014/12/29(月) 14:19:37.18 ID:t9qNlT7bNIKU.net

コボラーキタワァ


74: 以下、\(^o^)/でVIPがお送りします 2014/12/29(月) 14:41:49.57 ID:YS8gadTcNIKU.net

//普通に書いてみた


int[] tmps = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; 

for(int tmp : tmps){ 
if(tmp % 2 == 0) 
System.out.println(tmp); 
}


80: 以下、\(^o^)/でVIPがお送りします 2014/12/29(月) 14:44:42.67 ID:aDj/zqBFNIKU.net

>>74
やっとjavaをちゃんとコンパイル通るように書いてくれた人がいた
感謝


60: 以下、\(^o^)/でVIPがお送りします 2014/12/29(月) 14:27:39.17 ID:aDj/zqBFNIKU.net

もうそろそろ俺の解答書くか?


61: 以下、\(^o^)/でVIPがお送りします 2014/12/29(月) 14:27:55.07 ID:9Zzhk5fuNIKU.net

>>60
あくしろ


62: 以下、\(^o^)/でVIPがお送りします 2014/12/29(月) 14:28:18.26 ID:aDj/zqBFNIKU.net


IntStream.of(tmps).filter(i -> i % 2 == 0).forEach(System.out::println); 

以上


64: 以下、\(^o^)/でVIPがお送りします 2014/12/29(月) 14:33:35.76 ID:aDj/zqBFNIKU.net

とりあえず言いたい事は
リストや配列などの複数のデータに対して処理を行う場合はif文for文をなるべく書かないように出来るのです。
for文を使いまくるとネストも深くなり処理が上下するので可読性が下がる可能性があります。

62のようにリストに対して処理を行うようにすればメソッドを順番に読んで行けばいいだけなので読みやすいです。


65: 以下、\(^o^)/でVIPがお送りします 2014/12/29(月) 14:35:56.47 ID:t9qNlT7bNIKU.net

PythonとかRubyとかモダンな言語では一般的な書き方だけど
Javaでも普及してるん?


67: 以下、\(^o^)/でVIPがお送りします 2014/12/29(月) 14:37:37.71 ID:aDj/zqBFNIKU.net

>>65
普及してるかってなると微妙ですが
javaに興味を持ってる人なら知ってる機能ですね

まあ布教も兼ねて


69: 以下、\(^o^)/でVIPがお送りします 2014/12/29(月) 14:38:28.42 ID:t9qNlT7bNIKU.net

>>67
なるほど
ありがとう


68: 以下、\(^o^)/でVIPがお送りします 2014/12/29(月) 14:38:26.76 ID:Ljagif1/NIKU.net

でもforやifを使った方が、後から見たときにやってることが分かりやすいやん?
勿論入れ子多すぎは問題だけど、
何でもかんでもforやifを否定するのもなんだかな


71: 以下、\(^o^)/でVIPがお送りします 2014/12/29(月) 14:40:22.22 ID:aDj/zqBFNIKU.net

>>68
なんでもかんでもではない
もちろんfor ifが必要な場合もある


78: 以下、\(^o^)/でVIPがお送りします 2014/12/29(月) 14:43:51.83 ID:Ljagif1/NIKU.net

結局何を優先するかって事だな

Java8ではじめる「ラムダ式」 (I・O BOOKS)

工学社
売り上げランキング: 259,865

関連:【第2回】java8講座ラムダ式。コードがかなり短くなるぞっ

元スレ:http://hayabusa3.2ch.sc/test/read.cgi/news/1420360529/