﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-码农往事-随笔分类-Java</title><link>http://www.blogjava.net/rockblue1988/category/54571.html</link><description>我的代码为什么这么丑?一定是因为我长的不好看</description><language>zh-cn</language><lastBuildDate>Mon, 18 Apr 2016 11:01:45 GMT</lastBuildDate><pubDate>Mon, 18 Apr 2016 11:01:45 GMT</pubDate><ttl>60</ttl><item><title>一道小题的陷阱</title><link>http://www.blogjava.net/rockblue1988/archive/2016/01/25/429203.html</link><dc:creator>Jimi</dc:creator><author>Jimi</author><pubDate>Mon, 25 Jan 2016 09:16:00 GMT</pubDate><guid>http://www.blogjava.net/rockblue1988/archive/2016/01/25/429203.html</guid><wfw:comment>http://www.blogjava.net/rockblue1988/comments/429203.html</wfw:comment><comments>http://www.blogjava.net/rockblue1988/archive/2016/01/25/429203.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/rockblue1988/comments/commentRss/429203.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/rockblue1988/services/trackbacks/429203.html</trackback:ping><description><![CDATA[说有一个屋里有多个桌子，有多个人？ 如果3个人一桌，多2个人。 如果5个人一桌，多4个人。 如果7个人一桌，多6个人。 如果9个人一桌，多8个人。 如果11个人一桌，正好。 请问这屋里多少人?<br />
最近比较闲，逛论坛看到随手做了．<br />
最小答案是<br />
代码如下:<br />
<div style="font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all; background-color: #eeeeee;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
-->&nbsp; &nbsp;&nbsp;public&nbsp;static&nbsp;void&nbsp;main(String[]&nbsp;args)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(int&nbsp;i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt;&nbsp;Integer.MAX_VALUE;&nbsp;i++)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;long&nbsp;value&nbsp;=&nbsp;i&nbsp;*&nbsp;11;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(value&nbsp;%&nbsp;3&nbsp;==&nbsp;2&nbsp;&amp;&amp;&nbsp;value&nbsp;%&nbsp;5&nbsp;==&nbsp;4&nbsp;&amp;&amp;&nbsp;value&nbsp;%&nbsp;7&nbsp;==&nbsp;6&nbsp;&amp;&amp;&nbsp;value&nbsp;%&nbsp;9&nbsp;==&nbsp;8)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("i:"&nbsp;+&nbsp;i&nbsp;+&nbsp;",value:"&nbsp;+&nbsp;value);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;}</div>
计算出来的结果是：i:229,value:2519<br />
转念一想，结果可能不止一个，于是换个写法：<br />
<div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
-->&nbsp; &nbsp;&nbsp;public&nbsp;static&nbsp;void&nbsp;main(String[]&nbsp;args)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;count&nbsp;=&nbsp;0;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;long&nbsp;value;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;long&nbsp;valueMax&nbsp;=&nbsp;0;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;long&nbsp;iMax&nbsp;=&nbsp;0;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;long&nbsp;pram&nbsp;=&nbsp;11;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(int&nbsp;i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt;&nbsp;Integer.MAX_VALUE;&nbsp;i++)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;value&nbsp;=&nbsp;i&nbsp;*&nbsp;pram;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(value&nbsp;%&nbsp;3&nbsp;==&nbsp;2&nbsp;&amp;&amp;&nbsp;value&nbsp;%&nbsp;5&nbsp;==&nbsp;4&nbsp;&amp;&amp;&nbsp;value&nbsp;%&nbsp;7&nbsp;==&nbsp;6&nbsp;&amp;&amp;&nbsp;value&nbsp;%&nbsp;9&nbsp;==&nbsp;8)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;count++;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(iMax&nbsp;&lt;&nbsp;i)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iMax&nbsp;=&nbsp;i;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(valueMax&nbsp;&lt;&nbsp;value)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;valueMax&nbsp;=&nbsp;value;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("count:"&nbsp;+&nbsp;count);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("iMax:"&nbsp;+&nbsp;iMax);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("valueMax:"&nbsp;+&nbsp;valueMax);<br />
&nbsp;&nbsp;&nbsp;&nbsp;}</div>
当i在Integer.MAX_VALUE范围内的计算结果：<br />
<div>count:6817408</div>
<div>iMax:2147483434</div>
<div>valueMax:23622317774</div>
这边遇到了一个问题，当代码中的pram声明为int类型时计算的结果会与声明为long类型发生极大偏差，貌似是因为Java乘法对于int类型越界处理的问题，具体原因待查．<br />
如果你用如下代码执行：<br />
<div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
-->&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;count&nbsp;=&nbsp;0;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;(<span style="color: #0000FF; ">int</span>&nbsp;i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt;&nbsp;Integer.MAX_VALUE;&nbsp;i++)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">long</span>&nbsp;value&nbsp;=&nbsp;i&nbsp;*&nbsp;11;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;(value&nbsp;%&nbsp;3&nbsp;==&nbsp;2&nbsp;&amp;&amp;&nbsp;value&nbsp;%&nbsp;5&nbsp;==&nbsp;4&nbsp;&amp;&amp;&nbsp;value&nbsp;%&nbsp;7&nbsp;==&nbsp;6&nbsp;&amp;&amp;&nbsp;value&nbsp;%&nbsp;9&nbsp;==&nbsp;8)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("i:"&nbsp;+&nbsp;i&nbsp;+&nbsp;",value:"&nbsp;+&nbsp;value);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;count++;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("count:"&nbsp;+&nbsp;count);</div>
最后数行看到的结果是这样：<br />
<div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
-->i:2147475704,value:2147396264<br />
i:2147476019,value:2147399729<br />
i:2147476334,value:2147403194<br />
i:2147476649,value:2147406659<br />
i:2147476964,value:2147410124<br />
i:2147477279,value:2147413589<br />
i:2147477594,value:2147417054<br />
i:2147477909,value:2147420519<br />
i:2147478224,value:2147423984<br />
i:2147478539,value:2147427449<br />
i:2147478854,value:2147430914<br />
i:2147479169,value:2147434379<br />
i:2147479484,value:2147437844<br />
i:2147479799,value:2147441309<br />
i:2147480114,value:2147444774<br />
i:2147480429,value:2147448239<br />
i:2147480744,value:2147451704<br />
i:2147481059,value:2147455169<br />
i:2147481374,value:2147458634<br />
i:2147481689,value:2147462099<br />
i:2147482004,value:2147465564<br />
i:2147482319,value:2147469029<br />
i:2147482634,value:2147472494<br />
i:2147482949,value:2147475959<br />
i:2147483264,value:2147479424<br />
i:2147483579,value:2147482889<br />
count:3718586</div>
问题产生的原因应该是Java对于int的乘法结果大于上限的情况，自动截取了前10位．<br />
-----------------------------------------------------------------------------------------------------------------之前的理解不正确．<br /><br />根据Java的基础类型的变窄转换（Narrowing&nbsp;primitive&nbsp;conversion）规则，对于运算结果超出int范围的，将超出部分全部丢弃，只保留低３２位的．<img src ="http://www.blogjava.net/rockblue1988/aggbug/429203.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/rockblue1988/" target="_blank">Jimi</a> 2016-01-25 17:16 <a href="http://www.blogjava.net/rockblue1988/archive/2016/01/25/429203.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>IntelliJ IDEA 使用心得与常用快捷键</title><link>http://www.blogjava.net/rockblue1988/archive/2014/10/24/418994.html</link><dc:creator>Jimi</dc:creator><author>Jimi</author><pubDate>Fri, 24 Oct 2014 04:49:00 GMT</pubDate><guid>http://www.blogjava.net/rockblue1988/archive/2014/10/24/418994.html</guid><wfw:comment>http://www.blogjava.net/rockblue1988/comments/418994.html</wfw:comment><comments>http://www.blogjava.net/rockblue1988/archive/2014/10/24/418994.html#Feedback</comments><slash:comments>14</slash:comments><wfw:commentRss>http://www.blogjava.net/rockblue1988/comments/commentRss/418994.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/rockblue1988/services/trackbacks/418994.html</trackback:ping><description><![CDATA[那种酸爽，根本说不出来&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; by: Jimi没有<span style="color: #333333; font-family: arial, 宋体, sans-serif; line-height: 24px; text-indent: 28px; background-color: #ffffff;">Bond<br /></span>Jimi是谁？ 就是洒家啊！<br /><br />刚开始学习写Java的时候，用的eclipse，正式工作后，主要用的myeclipse，去年初在前辈的推荐下，在2折的时候买了正版的 IntelliJ IDEA 和 Pycharm，12.0版终生使用，一年更新。<br />使用前早就久闻其名，据说是最好的Java开发工具。<br />起先用的非常不习惯，但是花了钱的，硬着头皮用了下去。<br />短短一个礼拜，彻底爱上了它！就是辣么酸爽！--------------------------------------------------------------谨以此文献给对于拥抱IDEA还存在疑虑的筒子们<br /><br />JetBrains（这个公司的名称翻译过来就是&#8220;大脑喷射？&#8221;） 公司的宣传语是这么说的：Develop with pleasure！（带着快乐开发！）<br /><br />Why?<br />他们咋这么有信心呢？<br />这到底是怎样的一个工具？<br /><br />跟我一起来数数IDEA特别长的地方：<br /><br /><span style="font-size: 14pt;">一.黑色主题 Darcula</span><br /><br />眼睛舒服，最重要的是酷！<br />设置方式：FILE--Settings--Edit--Colors&amp;Fonts--Scheme name<br /><br /><img src="http://www.blogjava.net/images/blogjava_net/rockblue1988/idea.jpg" width="1439" height="846" alt="" /><br /><br /><span style="font-size: 14pt;">二.智能提示</span><br /><br />创建或引入项目的时候，会自动引入缺少的包，真找不着的还可以search in the net<br />键入代码的时候，区分大小写的智能提示，自动引入包，如果有重名的会列出所有选择，但是比 myeclipse 的更聪明，至于怎么个聪明法，你自个儿试试就知道了<br /><br /><span style="font-size: 14pt;">三.工具集成</span><br /><br />基本上正式开发的常用工具基本都集成了，而且基本都在你非常容易触到的位置。<br />说说我比较常用的：<br /><br />1.ant <br />你懂的<br /><br />2.maven<br />你也懂的<br /><br />3.SVN<br />相比之下，IDEA的SVN的提交提供了更多的选项和功能<br />提交的界面两侧会显示当前文件和修改的部分对比，可以非常方便地检查和修改文件。<br />提交前：<br />(1).可选择自动格式化<br />(2).可选择自动忽略没有使用的imports<br />(3).可选择分析代码<br />(4).检查是否有TODO<br />提交后甚至可以选择将改变上传到特定的目录<br /><img src="http://www.blogjava.net/images/blogjava_net/rockblue1988/sub.jpg" width="252" height="382" alt="" /><br /><br />4.系统终端<br />有了这个东西，你就不必频繁地切换窗口了<br />打开方式：Tools--Open Terminal<br />快捷键：Alt+F12<br /><br />5.SSH工具<br />打开方式：Tools--Start SSH session<br /><br />6.数据库连接工具<br />打开方式：View--Tool Windows--Database<br /><br />7.IDEA talk<br />神奇的东西，你可以联系局域网内其它的IDEA使用者，可以方便地把你的代码show给你的同事<br />打开方式：View--Tool Windows--IDEA talk<br /><br />8.Changes<br />非常方便的changes视图，它会变色显示你所有改动过的文件，而且可以方便的与 本地历史 或 线上历史 做对比<br />打开方式：View--Tool Windows--Changes<br /><br />还有git、github、cvs、groovy consle以及等等，真没有的你还可以：<br />FILE--Settings--Plugins<br /><br /><span style="font-size: 14pt;">四.强大的绘图工具</span><br /><br />读源码看不懂项目结构？写文章画类图好麻烦？<br />右键diagram帮助你<br /><img src="http://www.blogjava.net/images/blogjava_net/rockblue1988/diagram.png" width="294" height="435" alt="" /><br />上个例图：<br /><img src="http://www.blogjava.net/images/blogjava_net/rockblue1988/player.png" width="485" height="387" alt="" /><br />右键选择 Show Categories 有惊喜，什么值域、方法、构造器、内部类统统有<br /><br /><span style="font-size: 14pt;">五.无缝接入eclipse和myeclipse</span><br /><br />IDEA可以直接打开有.project文件的项目，也可以将自身项目导出成eclipse的项目。<br />而且因为IDEA的项目配置文件为1个.iml文件加一个独立文件夹.idea，<br />所以只要你将两者放入ignore目录，即使在你个人使用IDEA而团队使用其他IDE的情况下，也并不会对其他人造成麻烦。<br /><br />导出方法：FILE--Export to eclipse<br /><br /><span style="font-size: 14pt;">六.更小的体积，更快的速度</span><br /><br />用过myeclipse的你明白的<br /><br />综上，我想你应该能够明白，为啥用IDEA写代码，就是那么愉快，就是那么酸爽，就是那么令人停不下来！<br /><br /><br />接着分享开发中我比较常用的一些快捷键：<br /><br /><span style="font-size: 14pt;">一.找文件找代码找引用相关</span><br /><br />1.双击shift <br />&nbsp;在项目的所有目录查找，就是你想看到你不想看到的和你没想过你能看到的都给你找出来<br /><br />2.ctrl+f <br />当前文件查找特定内容<br /><br />3.ctrl+shift+f<br /> 当前项目查找包含特定内容的文件<br /><br />4.ctrl+n <br />查找类<br /><br />5.ctrl+shift+n<br /> 查找文件<br /><br />6.ctrl+e <br />最近的文件<br /><br />7.alt+F7<br />非常非常频繁使用的一个快捷键，可以帮你找到你的函数或者变量或者类的所有引用到的地方<br /><br /><span style="font-size: 14pt;">二.编辑相关</span><br /><br />1.shift+enter<br />另起一行<br /><br />2.ctrl+r<br />当前文件替换特定内容<br /><br />3.ctrl+shift+r<br />当前项目替换特定内容<br /><br />4.shift+F6<br />非常非常省心省力的一个快捷键，可以重命名你的类、方法、变量等等，而且这个重命名甚至可以选择替换掉注释中的内容<br /><br />5.ctrl+d<br />复制当前行到下一行<br /><br />6.ctrl+x<br />剪切当前行<br /><br />7.ctrl+c \ ctrl+v&nbsp;<br />大家都懂的<br /><br />8.ctrl+z<br />撤销<br /><br />9.ctrl+shift+z<br />取消撤销<br /><br />10.ctrl+k<br />提交代码到SVN<br /><br />11.ctrl+t<br />更新代码<br /><br />12.alt+insert<br />非常非常以及相当方便的一个组合键，不信您往下看<br />在类中使用：<br /><img src="http://www.blogjava.net/images/blogjava_net/rockblue1988/insert.png" width="225" height="258" alt="" /><br /><br />可以自动生成构造器、getter/setter等等常用方法<br />在项目目录上使用：<br /><img src="http://www.blogjava.net/images/blogjava_net/rockblue1988/insert2.png" width="183" height="370" alt="" /><br /><br />可用于新建各种文件。<br /><br />13.alt+enter<br />又是一个大杀器，有多杀？<br />例1：<br />发现代码很&#8220;黄&#8221;怎么办？<br /><img src="http://www.blogjava.net/images/blogjava_net/rockblue1988/yellow.png" alt="" /><br />鼠标移上去喵一下：<br /><img src="http://www.blogjava.net/images/blogjava_net/rockblue1988/yellow2.png" alt="" /><br />试试alt+enter：<br /><img src="http://www.blogjava.net/images/blogjava_net/rockblue1988/yellow3.png" width="249" height="147" alt="" /><br />选择simplify看看<br /><img src="http://www.blogjava.net/images/blogjava_net/rockblue1988/yellow4.png" alt="" /><br />我勒个去，代码简洁了有木有啊！<br /><br />PS:黄色警告编译可以通过，不影响程序的正常运行，一般都是一些对于代码优化的建议，我遇到过的有：<br />(1).can be simplify<br />代码可以简化<br />(2).Variable is never use<br />声明的变量从未被使用<br />(3)unnecessary boxing<br />不必要的声明包装<br /><br />以及等等等，多留意下，对于编码的某些细节能够更了解。<br /><br />例2：<br />写个类实现某个接口，加上 implements Runnable 后你就会发现这条红色的波浪线：<br /><img src="http://www.blogjava.net/images/blogjava_net/rockblue1988/error.png" width="325" height="28" alt="" /><br />咱试试在这行上来个 alt+enter:<br /><img src="http://www.blogjava.net/images/blogjava_net/rockblue1988/enter.png" width="176" height="165" alt="" /><br />感动地哭了有木有？你想到的没想到的IDEA都帮你想到了。<br />看到代码里提示的各种红XX，就试试alt+enter吧！什么未抛异常啊没有try catch啊都能搞得定。<br /><br />14.ctrl+alt+L<br /><br />自动格式化代码，我已经养成了写完代码就来一发的习惯。<br />你可以个性化设置你自己的代码风格：File--<span style="font-family: georgia, verdana, Arial, helvetica, sans-seriff; font-size: 12px; line-height: 26px; background-color: #ffffff;">Settings--CodeStyle<br /></span><br />&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;切&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;切&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;切&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;切&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;切&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br /><br />凡事有利有弊，IDEA同样是把双刃剑，最后说说它不好的地方<br /><br />1.最重要的就是&#8220;贵&#8221;！<br />专业版个人许可2折可以接受，5折小贵，不打折桑不起！！！囧RZ～<br />美刀的消费水准令国内大多在屌丝线上挣扎的猿类们望而却步。<br />好在JetBrains是有社区版的，最近对于学生也有免费的Key。<br />对于使用破解版的小伙伴，建议自己用用就好了，不必太声张。<br /><br />用户养成良好的软件付费习惯，才能让我们的工作变得越来越有价值。<br /><br />2.集成太完善了<br />集成的工具完全能够应付大多数的工作需求，对于不求甚解又偷懒的筒子们，直接使用，可能很多工具的细节，你都不会了解，也不会再去了解了。<br />比如：maven,ant<br /><br />3.不自带JDK<br />不是缺点的缺点，myeclipse是集成的<br /><br /><br />差不多了，该撸代码了。<br />以上这些，就是我使用IDEA一年半来几乎所有的心得了。<br />能力有限，砖头轻拍。<br />如果你有杀伤力更强大的手段，欢迎交流。<br /><br /><span style="color: #ff0000;">后记：最近偶然发现，这篇文章被人转载了，而且没注明出处，令人蛋疼。</span><br /><span style="color: #ff0000;">在此重申下，转载，请注明出处。</span><br />来自：http://www.blogjava.net/rockblue1988/archive/2014/10/24/418994.html&nbsp;<br /><br /><br /><br /><img src ="http://www.blogjava.net/rockblue1988/aggbug/418994.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/rockblue1988/" target="_blank">Jimi</a> 2014-10-24 12:49 <a href="http://www.blogjava.net/rockblue1988/archive/2014/10/24/418994.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>