学习Java,值得你留意的问题(1)更名为《学习Java,容易被你忽略的小细节(1)》
记得大二快要结束的时候,有个女孩子突然问我“你会Java吗,帮我做大作业好吗?” 实话说,那个女孩真的很漂亮,我当时也非常想帮她。但是我从来没有接触过Java,让我在短短的几天内完成Java程序设计课程的结业作业,真心伤不起啊。最后我没有答应她,也错失一次在她面前好好表现的机会,对此我曾经懊悔不止几个月。
现在大三了,课程也少了许多,我终于有时间可以简简单单地看看Java了。
其实在我看来,作为一名软件工程师没有必要需要对每一门编程语言都学到精通的地步。有时侯,只需要简简单单地了解一门编程语言的优缺点和适合的场景即可。至于语法规则做到大概了解,等到实际使用的时候再认真的学习就好了。
现在闲话少说,接下来我就在这里向大家展示学习Java,容易被你忽略的小细节(1)。
阅读下面代码段
public static int funtion(int x){
System.out.println("The funtion has run successfully!");
return x;
}
这是一个返回值int类型的函数,非常的简单。
常规的调用方法就当作处理一个值。
public static void main(String[] args){
int num = funtion(5);
System.out.println(num);
}
但是请仔细阅读下面代码段
public class TestDemo1{
public static int funtion(int x){
System.out.println("The funtion has run successfully!");
return x;
}
public static void main(String[] args){
funtion(5);
}
}
运行结果:
我们可以看到funtion方法竟然成功的被调用了。(我原本以为这是一种错误语法呢!!!)
学习Java,容易被你忽略的小细节(1):
在Java中,返回值类型非void的方法也可以当作语句调用。这种情况下,调用函数简单地忽略了返回值。
(ps:有博友问我,类似的函数调用在什么语言中会出错。实话说,这个问题我真没想过。我立刻尝试过C,C++等语言,发现真的没有语法错误,在这里我真心觉得自己才疏学浅。并且我还尝试问了一些同学,但是大多数同学都说“应该问语法错误吧?”。我希望所有和我一样对Java,C,C++语言函数调用机制掌握不是特别清晰的同学,能够对我这样丢脸的行为引以为戒,避免自己也犯错误。这样我写博客的目的就实现了。)
适用场景:
在编写Java程序时,如果调用者对返回值不感兴趣,并且知道调用操作一定会成功的时候,既可使用上面调用方法。尽管如此,最好把油返回值的方法当作值调用,以避免程序出错。
上面就是学习Java,容易被你忽略的小细节(1)。
欢迎继续关注本博更多新鲜动向,博主QQ:2584451009,有什么建议和忠告欢迎评论或留言。
学习Java,值得你留意的问题(1)更名为《学习Java,容易被你忽略的小细节(1)》的更多相关文章
- 学习Java,容易被你忽略的小细节(2)
昨天心情真的太糟糕了,写完<学习Java,值得注意你注意的问题(1)>之后,迎来些许的支持以后就是一片片的谴责.我的主页上涌现出许许多多Java方面的牛人,谴责我水平太低,写的问题太初级. ...
- 学习Java,容易被你忽略的小细节(3)
在<学习Java,容易被你忽略的小细节(2)>中我们已经深入讨论过String类中equals()方法的使用,在本文中我们将进一步讨论equals()方法在其他境况下的使用方法. 首先,我 ...
- [转] java书籍(给Java程序猿们推荐一些值得一看的好书 + 7本免费的Java电子书和教程 )
7本免费的Java电子书和教程 1. Thinking in Java (Third Edition) 本书的作者是Bruce Eckel,它一直都是Java最畅销的免费电子书.这本书可以帮助你系统的 ...
- 大神为你分析 Go、Java、C 等主流编程语言(Go可以替代Java,而且最小化程序员的工作量,学习比较容易)
本文主要分析 C.C++98.C++11.Java 与 Go,主要论述语言的关键能力.在论述的过程中会结合华为各语言编程专家和华为电信软件内部的骨干开发人员的交流,摒弃语言偏好或者语言教派之争,尽量以 ...
- Java 打印金字塔 or 打印带数字的金字塔 (Java 学习中的小记录)
Java 打印金字塔 or 打印带数字的金字塔 (Java 学习中的小记录) 作者:王可利(Star·星星) 效果图: 代码如下: class Star8 { public static void m ...
- 根据实践经验,讲述些学习Java web能少走的弯路,内容摘自java web轻量级开发面试教程
在和不少比较上进的初级程序员打交道的过程中,我们总结出了一些能帮到合格程序员尽快进阶的经验,从总体上来讲,多学.多实践不吃亏.本文来是从 java web轻量级开发面试教程从摘录的. 1 哪些知识点 ...
- Java源码阅读的真实体会(一种学习思路)
Java源码阅读的真实体会(一种学习思路) 刚才在论坛不经意间,看到有关源码阅读的帖子.回想自己前几年,阅读源码那种兴奋和成就感(1),不禁又有一种激动. 源码阅读,我觉得最核心有三点:技术基础+强烈 ...
- java注解学习(1)注解的作用和三个常用java内置注解
今天,记录一下自己学习的关于注解方面的知识. Annotation是从JDK5.0开始引入的新技术 Annotation的作用: -不是程序本身,可以对程序做出解释(这一点和注释没什么区别) -可以被 ...
- Java:有关try、catch和finally的学习(供自己参考)
Java:有关try.catch和finally的学习 在看到书本的时候对finally的介绍是:不论是否在try块中产生异常,都会执行finally.当时对这句话的理解不够深,误以为在try...c ...
随机推荐
- jquery大事-resize()办法
为了形成用于电流大小的缩放对象构造监控事件. JQuery提供resize大事.在每一个匹配元素的resize函数到事件绑定,让我们适应窗口大小.对齐等.,档窗体改变大小时触发 这里有两种监听方式,一 ...
- 采用API将AR应收账款未知未核销状态变成黄金
DECLARE p_api_version NUMBER; p_init_msg_list VARCHAR2(200); p_commit VARCHAR2(200); p_validation_le ...
- 面试问题:Vista与XP的Session 0与Session X的区别
面试问题:Vista与XP的Session 0与Session X的区别 在XXXXX的一次面试中,笔试问题的题目曾提到Session 0.Session 1在Vista和Xp中的区别?现在把答案发上 ...
- C#中的interface没那么简单
最近在园子里闲逛看到一篇文章“(抽象)类和接口细节分析”,尽管作者很细心很细致.可事实上C#里面的interface没那么简单,interface有着大量不为人知的小秘密的说. 1.值类型也能实现接口 ...
- 深入了解Java虚拟机
一.垃圾收集 Java虚拟机堆不停的运转java由程序创建的所有对象.当一个对象不再被引用,它使用堆空间能够被回收,以便兴许的新对象所使用. 垃圾收集器必须能够断定哪些对象是不再被引用的,而且能够把它 ...
- hdu - 4971 - A simple brute force problem.(最大权闭合图)
题意:n(n <= 20)个项目,m(m <= 50)个技术问题,做完一个项目能够有收益profit (<= 1000),做完一个项目必须解决对应的技术问题,解决一个技术问题须要付出 ...
- C#中HttpWebRequest与HttpWebResponse的使用方法
关键字:C# HttpWebRequest HttpWebResponse HTTP GET POST 请求 这个类是专门为HTTP的GET和POST请求写的,解决了编码,证书,自动带Cookie等问 ...
- 漫步Unity3D(三)
八.预制(Prefab) 仅此一点提出,由于它使用过于频繁. 还Unity 一中的核心要素.原本Unity你拖放模型到场景中的一个对象,或者,创建一个几何.或浅的地形.个物体的偏移.旋转和缩放.然后绑 ...
- Python抓取框架:Scrapy的架构
最近在学Python,同时也在学如何使用python抓取数据,于是就被我发现了这个非常受欢迎的Python抓取框架Scrapy,下面一起学习下Scrapy的架构,便于更好的使用这个工具. 一.概述 下 ...
- 如何自定义WPF项目的Main函数
原文:如何自定义WPF项目的Main函数 与Winform项目不同,WPF项目的Main函数在项目生成的时候,系统自动在后台为我们生成.根据项目生成方式的不同,其文件位于obj/Debug/App.g ...