运算符,顾名思义就是用于运算的符号,比如最简单的+-*/,这些运算符可以用来进行数学运算,举个最简单的栗子:
已知长方形的长为3cm,高为4cm,求长方形的面积。
好,我们先新建一个项目,命名为Rectangle。
然后右键src文件夹,新建一个package,命名为pers.frank.rectangle。
这里补充说明一下包的命名规则,相信很多人都知道,包命名的时候用去www域名反写,加上项目名称,但实际上,那一般是用于公司项目的命名方式,对于不同项目,有着不同的命名规则。
indi :个体项目,指个人发起,但非自己独自完成的项目,可公开或私有项目,copyright主要属于发起者。
包名为“indi.发起者名.项目名.模块名.……”。
pers :个人项目,指个人发起,独自完成,可分享的项目,copyright主要属于个人。
包名为“pers.个人名.项目名.模块名.……”。
priv :私有项目,指个人发起,独自完成,非公开的私人使用的项目,copyright属于个人。
包名为“priv.个人名.项目名.模块名.……”。
onem :与“indi”相同,推荐使用“indi”。
team :团队项目,指由团队发起,并由该团队开发的项目,copyright属于该团队所有。
包名为“team.团队名.项目名.模块名.……”。
com :公司项目,copyright由项目发起的公司所有。
包名为“com.公司名.项目名.模块名.……”。
package主要用于将完成不同功能的类分门别类,放在不同的目录(包)下,方便类的管理。我们这个项目中只需要用到一个类,所以不需要用到四级包名。前面教程说的有点快,包名设置成了HelloWorld,是不符合规则的,这里说明一下。(这是一个错误的演示,秘制尴尬。。。)
然后在package中新建一个class,右键选择即可,命名为Recrangle。
代码如下:
package pers.frank.rectangle;public class Rectangle { public static void main(String[] args){ int length = 3; int width = 4; int area = length * width; System.out.println("Area:"+area); }}
因为长宽都是整数,所以用int类型即可。接下来,我们运行一下。
这样就得到了我们想要的结果。
这时候也许你就要问了,这个结果口算都能算的出来,为什么还要大费周章去写代码呢?我说了只是举一个最简单的栗子嘛,要是算长宽分别为1.234567和2.345678,你还能口算吗?你也许会说,按下计算器就好了。那如果是求十个矩形中面积最大的一个呢?如果是求斐波拉契数列的第1234项呢?你还能用计算机按出来吗?由此可见,问题越是复杂,越能体现出编程的优越性。当你还在苦逼的按着计算器的时候,我已经得出来结果,在召唤师峡谷遨游了。
也许你对于这段代码还有一些不理解的地方。别急,容我一句一句来解读。
第一行,package pers.frank.rectangle; 这里是说明一下当前这个类是属于这个包的,如果不写,也可以运行,但是这样的话,类就会被划分到默认的包中。而且带包名和不带包名时的编译方式是不一样的。
第二行,public class Rectangle,这是在声明一个类,public表示该类的访问权限为公开访问,class关键词表示这是一个类,Rectangle则是类名。后面花括号里的内容则是类的定义。
第三行,public static void main(String[] args),这是主入口函数的声明。每一个程序都要有一个入口函数,即第一个被执行的函数,编译器会先找到并加载包含入口函数的类,然后再加载其他相关的类,由于是第一个被执行的函数,在此之前没有类的实例化对象,所以需要用static修饰,小括号里为参数列表,String[]表示参数为一个字符串数组,args即为参数名,这里暂时不做详细介绍,现在不理解没关系,只需要知道入口函数长这样就行了。
第四五行即定义两个int型变量,length和width,并分别初始化。
第六行定义了一个int型变量area,并把表达式 (length + width) * 2 的值赋值给了它。
第七行即输出语句,输出的具体用法之后再详细介绍,这里只需要知道它可以这么用就好了。
这样,对我们的代码是不是又多了几分了解。
那除了这几个最基本的符号,还有哪些运算符呢?
1、自增、自减运算符。
在Java中,也像C++一样,有着自增自减运算符,效果就是让变量增加1,或者减少1,。直接看代码:
package pers.frank.test;import java.lang.System;public class Test { public static void main(String[] args){ int n = 10; n++; System.out.println(n); n--; n--; System.out.println(n); }}
你会得到11跟9两个数字,这分别是n自增一次,然后自减两次的结果。怎么样,是不是很简单?别高兴的太早,来看看这段代码,你知道结果是多少吗?
package pers.frank.test;import java.lang.System;public class Test { public static void main(String[] args){ int n = 10; int m = 10 * n++; int i = m++ * --n; int j = ++i + ++m - n--; System.out.printf("n:%d, m:%d, i:%d, j:%d