学习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 ...
随机推荐
- 多域名绑定同一IP地址,Node.js来实现
本来打算用Nginx来实现,看了一会Nginx的配置,感觉又要费时间学习,就抱着试试看的心在网上搜,是否可以用Node.js来实现. 没想到,竟然搜到了.想试一下,但国内域名备案时间长达一个月,我肯定 ...
- Dojo第一节:学会使用firebug对js,Dojo进行调适
内容概要: 学会使用firebug的基本功能 1. 简介:Firebug是Firefox的一个插件,用来对js代码进行调适的工具. (官方废话:Firebug是firefox下的一个插件,可以调试全部 ...
- C# 静态构造函数,静态变量执行顺序(精华版)(规正版)
一.成员初始化整体顺序 1.成员赋值初始化先于构造函数: 2.成员赋值初始先从子类再到基类: 3.构造函数初始化先从基类再到子类: 4.静态成员初始化优先于实例成员初始化: 二.对类型静态成员构造的大 ...
- Arcgis api for javascript学习笔记(3.2X版本)-Map图层叠加以及基本操作
1. 不设置默认底图,第一个图层作为底图,然后叠加另外一个图层 先添加图层1,第一个图层1作为默认底图,然后在图层1上叠加图层2,并设置图层2的透明度为50%. <!DOCTYPE html&g ...
- c语言学习笔记(8)——函数
学完c语言的函数可以理解面向过程的语言 函数是c语言的重点 一.为什么需要函数? 1.避免了重复性操作 2.有利于程序的模块化(每一个功能可以用不同函数去实现) 二.什么叫做函数? 逻辑上:能够完成特 ...
- POJ 2954-Triangle(计算几何+皮克定理)
职务地址:POJ 2954 意甲冠军:三个顶点的三角形,给出,内部需求格点数. 思考:就像POJ 1265. #include <stdio.h> #include <math.h& ...
- [LeetCode] Subsets [31]
题目 Given a set of distinct integers, S, return all possible subsets. Note: Elements in a subset must ...
- POCO文档翻译:POCO C++库入门指南
内容目录 介绍 Foundation库 XML库 Util库 Net库 将这些东西组合到一起 介绍 POCO C++库是一组开源C++类库的集合,它们简化及加速了用C++来开发以网络功能为核心的可移植 ...
- crossplatform----文本编辑器工具Atom安装
1.简介 Atom 是 Github 专门为程序员推出的一个跨平台文本编辑器.具有简洁和直观的图形用户界面,并有很多有趣的特点:支持CSS,HTML,JavaScript等网页编程语言.它支持宏,自动 ...
- Windows PowerShell 集成脚本环境 (ISE)
应用场景 有时会遇到一些这样的报错 Exception calling "SetData" with "2" argument(s): "Type ' ...