Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
楼主: wkd

其实你应该这样学java(连载)

[复制链接]

该用户从未签到

 楼主| 发表于 2012-11-12 11:28:24 | 显示全部楼层
1.4.2  继续提高
A博士:“你想成为程序员,在自己感兴趣的岗位上工作,从事自己喜欢的工作,要求并不高。上面的就够了。但你要想成为一个合格的软件设计师,而不仅仅满足于做个程序员,那你还应该在以下几个方面继续完善。”
1.对计算机的硬件系统有一定了解
知道计算机组成原理,网络结构等,有助于你写出正确的Java应用程序。比如你知道了冯•诺依曼体系,你就知道了内存在系统中处于核心地位,也就知道了为什么信息从内存到硬盘要使用输出流的原因。
2.对计算机的软件系统要熟悉
操作系统的操作你应当熟练,多媒体的格式你应当知道一些,还有图形图像、常见的信息管理系统等。因为Java Applet小程序是嵌入到网页中的,所以网页设计你也应该掌握。
3.能塌下心来做事
进入开发岗位后,你可能要考虑很多事情,例如团队的合作、任务的分析、算法的选择、方法的设计等。如果这时不能安心就会感觉了无头绪,也极容易出现错误。要是写的代码比较多,那出了错误想查找到也很费时间和精力。所以在开始学习和编码时就养成良好习惯,安心做事,争取写出高质量的代码。
4.要多写程序
一般而言,写的程序行数和你的能力及待遇基本成正比。写的越多,你就会越熟练。你能累计写个五六万行,年薪五六万基本没问题。越熟练越精深,每行代码的价值就越高。有付出就会有回报,这是绝对的真理。
5.保持团队合作能力
任何个人的能力和时间都是有限的。小的程序能写的都被别人写过了,而大的可用程序往往又不是一个人能完成的。Java就是由无数开发者不断完善而成,Linux也是聚集了众人的智慧,Windows核心开发人员都有上千名。在公司中开发商品化应用程序,需要许多人、许多部门协同工作。这就需要你有团队合作的能力。
6.面向对象的思维能力
掌握以对象为基本要领的面向对象分析、设计和实现的思想,这是Java开发必须具备的。你还需要不断学习,不断实践才能更好地理解它。
7.英语能力
企业对开发人员的英语能力要求不高,能读懂文档就行。但对于我们一般的同学而言,还是有一定差距,需要提高英语水平。
8.谦虚谨慎
当编程能力达到一定水平后,切忌浮夸自满,感觉什么都会了,不再继续深入。这样不仅会使你的水平再难提高,也会使人不愿听从指挥,无法协同工作。
9.学习和总结
在开发中不断总结,发扬优点,汲取教训,才能不断完善。
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2012-11-12 11:29:14 | 显示全部楼层
1.4.3  成长路线
A博士:“对于很多想从事软件开发的人来说,不知道自己将来该怎样发展,就走一步看一步。这样布恩那个做长远打算,没有发展后劲。我就以我所见到的许多软件开发高手为例,给你讲一下他们的成长路线吧!”
1.技术路线
        首先,学好JavaSE,也就是标准开发平台上的Java程序开发
这需要掌握Java 面向对象思想及核心API(应用编程接口)、多线程编程、IO(输入输出)、GUI(图形界面设计)、数据库设计及SQL编程、网络编程等。这些东西看起来好多,但学起来却不难,几个月时间就足够了。
学到这一阶段,算是入门级程序员了。代码量应该有上万。能够编写基本的Java应用程序,开发一个网络程序或信息管理系统应该没问题了。
        之后,学习Java Web开发
掌握JSP、JavaBean、MVC模式框架、Ajax等知识。到了这一阶段,代码量应该有几万行,已经可以作为骨干参与中型项目的开发。
接下来,就看个人爱好,是往JavaME方向发展还是往JavaEE方向发展了。
        如果是JavaME方向
掌握JavaME基本结构,嵌入式设备的基本原理,推荐使用Android手机开发平台,进行手机应用的开发。
        如果是JavaEE方向
掌握企业级开发的框架和技术。JavaEE的核心是EJB3.0,提供了更加高效方便的企业级应用框架。
        继续深入
要想在技术上更上一层楼,需要具备更深厚的专业技术能力以及英语能力、沟通能力等,在大型项目上积累经验,不断成长。
2.职业路线
        程序员
刚入行的新手,一般是从程序员做起。程序员熟悉一两种开发语言和开发工具,能够按照项目经理的要求编写程序,是负责程序实现的最基础开发人员。程序员门槛低,很多人培训几个月就能成为基本合格的程序员。
        设计师
这一层次包括了软件设计师、信息系统监理师、电子商务设计师、软件评测师、数据库系统工程师、嵌入式系统设计师、信息系统管理工程师、信息技术支持工程师等,根据专长各有岗位。到了这一级别,对软件开发的分析、设计和实现的方法有了更深的了解,能够按照面向对象的思想设计项目。设计的项目交由程序员完成。
        分析师
这一层次包括系统分析师、系统构架设计师、信息系统项目管理师等,是公司的技术负责人。分析师主要进行项目整体的分析,要具有良好的沟通能力、技术能力和管理能力,负责整个项目从模型到开发再到部署等整个流程。
这里有一张图,清楚地表明了软件开发人员的职业成长路线。
A博士:“其实Java的层次没有尽头。且长江后浪推前浪,一代更比一代强。努力提高自己,不是目的。很多开发者,所体会到的是每一次新应用的实现。如同攀登上一座座高峰,攀登的过程就很享受。入门很容易,继续发展空间也很大。希望你能够坚持,一步步走下去,不断超越自己,也实现自己的价值。”
小Q:“我记住了,我一定会努力的。谢谢老师!”

回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2012-11-12 11:29:27 | 显示全部楼层
1.5  小结
恭喜你已经入门了!
你应该已经选择了Java。在今天的谈话中,我们知道了Java的基本概貌。
无论在交叉学科中,还是在软件开发中,Java都将对你有极大用处。Java以简单易用的表现形式,被大多数程序员作为首选语言,门槛低而层次高。Java的学习需要你打好理论基础,结合实践操作,以深刻理解及灵活运用。
程序设计语言经历了几个时代:
        机器语言
        汇编语言
        面向过程的高级语言
        面向对象的高级语言
它们在程序设计史上都起到了重要的作用。
自1995年Java出生以来,至今已经是Java7版本了。现在的Java平台包含JavaSE,JavaME和JavaEE,分别应用于不同的方向。
Java语言的Java语言的最大特点是“Write once,run anywhere”。另外还具有:
        简单易学
        面向对象
        跨平台
        解释型
        高性能
        安全性高
        动态
        健壮
        多线程
        分布式
等。正因为有如此多的优点,Java才能迅速发展的广泛接受,被称为具有开创性和革命性的新一代计算机程序设计语言。
若想入门很容易。但若想进一步提高则须付出努力。
在技术路线上,应掌握Java的基本概念和语法,逐步熟悉JavaSE,JavaWeb,JavaME和JavaEE等内容。
在职业路线上,应逐步遵循程序员→设计师→分析师的道路,努力提高自己的专业技术和综合素质能力。
在今后的日子中,我们将伴随小Q一起成长。
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2012-11-12 11:32:04 | 显示全部楼层
第6章  向左走,向右走:选择语句

A博士继续带领小Q前进。这时前方出现一个分叉路口,旁边立着一块石碑,显现几个大字:朋友,欢迎你来到这里-智慧之路驿站。前方的路途充满未知。为你着想,如果你能解答出以下几个问题,请往左走,前方有好客的部落迎接你;否则还是请往右走回家再修炼修炼吧!
果然下面刻着几行小字:
第一关:有一个整数n=123,判断是否为3的倍数。如是请输出“YES”,如否请输出“NO”。
第二关:判断任意给定的一个年份year=2012,是否为闰年。
第三关:已知某个学生的成绩score。老师要对学生的成绩按五级评分制评定。如果score在90或以上要写“优秀”;在80或以上要写“良好”; 在70或以上要写“中等”; 在60或以上要写“及格”; 在60以下要写“不合格”。试编写程序帮助老师实现成绩的五级评分制输出。
“这可难不倒我,我学过数学的!”小Q坐在地上算起来。
“第一道题,123除以3,商是…商是41,余数是0!YES!第二道题也能算出来嘛!第三道题更简单了!”
“这几道题好像是比较简单。但每道题都可以用任意整数判断,那改个数字你再试一下,比如123456,还能这么轻松算出来吗?能找出通用的办法吗?” A博士问道。
“那就麻烦了。怎么办?”
“我们不是有计算机吗?我们让它来实现!”
“好耶!你快教我吧!”
“OK!只要你愿意学就行!今天我就教你用程序自动实现分支判断。”
“在以上几个例子中,其共同点是需要进行选择。如同行人走到了十字路口,需要根据已知条件进行判断,之后只选择一条路走下去。我们首先要明确判断条件,和相应的输出结果。然后将程序或指令输入告知计算机。这样计算机就可以根据你已设定好的条件进行判断,自动执行相应语句。这就是我现在要讲述的主要内容。”
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2012-11-12 11:32:16 | 显示全部楼层
6.1  该选那条路?
我们在工作和生活中经常遇到各种各样的判断:
今天早晨该怎么锻炼身体?如果天气好就跑步;否则就在室内做简单活动。
周末该去做什么?如果时间足够就去爬山;否则就去看书。
……
经常遇到各种选择的情况。该选哪个?看你的情况和条件要求了。通过归纳,可以得知以下规律:

由此看出,只要初始情况和判断条件确定,就可以做出正确选择。因为这个过程严格而清晰,所以可交由计算机自动完成。
条件语句又称分支语句,是解决此类问题的重要方法。条件语句的作用在于进行自动判断。当然前提条件是程序的编写者需要知道判断条件和各种条件下结果,这样,一旦遇到需要判断的地方,计算机就会根据已有条件进行自动分析和执行。从这点上来看,计算机和计算机程序其实类似于人脑的扩展,一些简单而机械化的分析,由计算机完成非常合适。
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2012-11-12 13:07:34 | 显示全部楼层
6.2  if:简单的分支选择
小Q越听越有滋味,急切问道:“既然计算机能做分支判断,我要跟它说什么它才能看懂?”
A博士笑道:“你直接说当然不行啦!它只有看见if和switch,才知道要分支判断。if适合双分支选择,switch适合多分支选择。像前面第一道题和第二道题,使用if分支语句,进行简单的双分支判断和选择非常管用。”
提示:其实啊,if-见名知意,就是“如果”的意思,在程序中意味着“如果…,那么…”。即if表达式正确,就执行语句,不正确则不执行。其实,Java中的很多特定关键字命令都是和其英文原意差不多。类似的还有default,break等等。

“我真想现在就试试它!”
“别着急,听我慢慢道来。”
if语句的使用格式有如下几种:
(1)if(表达式)
                语句块1;
(2)if(表达式)
                语句块1;
        else
                语句块2;
(3)if(表达式1)
                语句块1;
else  if(表达式n)
                语句块n;
else
                语句块n+1;
好像看不明白?
不用着急。下面就分别对每一种形式进行详细分析了。
6.2.1  最简单的if形式
最简单的if条件语句形式为:
if(表达式)
        语句块1;
其中:
“表达式”— 结果必须为boolean类型的变量或语句。即表达式的结果只能为true或false。
“语句块1”— 语句块可以是一条语句;也可以是多条用 {  } 包括起来的语句。
该语句的独特作用:
if语句控制是否执行“语句块1”。
在if语句中,如果“表达式”的值为真,则执行“语句块1”,然后执行“语句块1”后面的程序;如果“表达式”的值为假,不执行“语句块1”,而是直接执行“语句块1”后面的程序。程序的执行如图6.1所示。

图6.1  if语句最简单的形式
现在就来看看if的功能。先来解决个简单问题吧!
【应用1】求任意数的绝对值。
首先分析下:该题目中数据为正或为负时要执行不同操作。若为负数,取其相反值输出;若为正数,则不用取其相反值直接输出。明白这一点,就可以演示了。
程序完整范例如下:
//Example0601.java
public class Example0601   //主类
{
  public static void main(String[] args)  //主方法
  {
          int a= -10;       //定义变量a
          if(a<0)                //条件判断语句。如果a<0成立则执行a=-a;       
        a=-a;                       
          System.out.println("a的绝对值是"+a);
  }
}
该程序中使用if判断a是否为负值。
如果a为负值,a<0为真,则执行取反的语句块 a= -a; 。如果a<0为假,则忽略语句块 a= -a; 。
输出语句System.out.println("a的绝对值是"+a); 始终不受影响。
小Q看到了计算机给出的运行结果,如图6.2所示。

图6.2  绝对值程序运行结果
以上是最简单的if语句的表达形式及使用实例。通过该程序,可以知道if语句在程序的控制判断方面具有明显效果。
A博士:“明白了吧?”
小Q:“好像明白了……”
“那好,举一反三考考你。若a初始取值为0和10时,if语句会执行吗?结果会怎样?”
“当a为0时,a<0为假,a= -a不执行。输出a的绝对值是0。”
“当a为10时,a<0为假,a= -a不执行。输出a的绝对值是10。”
“对了!那再扩展一下。看看这两个程序,你分析下运行结果,看计算机会得出什么?”
【扩展思考程序一】
//Example0602.java
public class Example0602
{
  public static void main(String[] args)
  {
          int a= 1;
          if(a<0)
        {
          a++;
        a--;
        }
          System.out.println("a的值是"+a);
  }
}
【扩展思考程序二】
//Example0603.java
public class Example0603
{
  public static void main(String[] args)
  {
          int a= 1;
          if(a<0)
          a++;
        a--;
          System.out.println("a的值是"+a);
  }
}
小Q开始分析:“因为if条件语句只能控制之后的一个语句块,第一个程序a++不会执行;第二个程序a++和a—都不会执行。所以两个程序的运行结果分别为0和1。”
“完全正确!看来你已经对计算机更熟悉了!”
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2012-11-12 13:10:03 | 显示全部楼层
6.2.2  if - else 语句
学会了简单的if语句,我们再来看看最常用的if语句形式,称作“if – else 语句”。与简单的if语句相比,多了一个else分支。
if – else 语句的基本形式为:
if(表达式)
        语句块1;
else
        语句块2;
该控制语句的作用:
“语句块1”和“语句块2”二选其一。如果“表达式”的值为真,执行“语句块1”,不执行“语句块2”,然后执行if – else结构后面的程序;如果“表达式”的值为假,执行“语句块2”,不执行“语句块1” ,然后执行if – else结构后面的程序。其程序执行如图6.3所示。

图6.3  if-else语句结构图
学会该语句,我们就能求解小Q在路口所遇见的几个问题了。
【应用2】有一个整数n=123,判断是否为3的倍数。如是请输出“YES”,如否请输出“NO”。
先来分析下。要解决该问题,主要看n除以3后的余数。求余数可用%运算符。即是求n%3==0是否为真。为真则是3的倍数,为假则不是。
程序完整范例如下:
//Example0604.java
public class Example0604
{
  public static void main(String[] args)
  {
          int n = 123;                //定义变量n
          if(n%3==0)                // n能被3整除时执行之下的语句
                  System.out.println("YES");
          else                                // n不能被3整除时执行之下的语句
                  System.out.println("NO");
          System.out.println("运行完成!");        // 输出结果
  }
}
该程序中第6行n%123= =0值为真,所以执行第7行,输出“YES”,不执行else控制的语句块。然后执行if – else结构后面的语句块,即第10行,输出“运行完成!”
计算机显示的运行结果如图6.4所示。

图6.4  判断是否为3的倍数的程序运行结果
A博士又说话了:“你看这个程序,只要输入给计算机,计算机就立马告诉你答案。你要想求其它数据是不是也能被3整除,只要修改n的值就可以了。例如,要你判断123456是不是3的倍数,程序运行结果会怎样?
小Q将n赋值为123456,然后看到运行结果,如图6.5所示。

图6.5  判断123456是否为3的倍数
小Q惊喜地说道:“果然好用!”
“那是当然!”
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2012-11-12 13:11:11 | 显示全部楼层
6.2.3  if – else if – else 语句
除了以上两种形式,还有一种if语句也偶尔会用到,就是if – else if - else 语句。该语句的基本形式为:
        if(表达式1)
                语句块1;
        else if(表达式2)
                语句块2;
        else if(表达式n)
                语句块n;
        ……
        else
                语句块n+1;
该语句结构的作用:
该语句结构是一个多分支语句,该结构依次判断“表达式1”到“表达式n”。如果某个“表达式”首先为真,则执行该表达式后的“语句块”,而结构中其他语句块都不执行。如果所有表达式都不成立,则执行“语句块n+1”。然后退出该结构。
该结构的典型应用如下。
【应用3】判断某一个年份year(例如year=2012),是否为闰年。
分析:首先介绍闰年的计算方法。按照公历,闰年遵循的一般规律为:年数能被4整除则为闰年,但100的整除年份不是闰年;然而400的整除年份又算闰年。
本题中应该计算年份year%400==0是否为真,若是则一定为闰年;否则计算year%100==0是否为真,若是则不为闰年;然后则计算year%4==0是否为真,若是则为闰年;若以上都不是,则不为闰年。
了解了思路后,小Q试着写出了程序:
//Example0605.java
public class Example0605
{
  public static void main(String[] args)
  {
          int  year= 2012;                //定义变量year
          if(year%400==0)                //使用if – else if - else 语句
                  System.out.println(year+"是闰年");
          else if(year%100==0)
                System.out.println(year+"不是闰年");
          else if(year%4==0)
                System.out.println(year+"是闰年");
        else
                  System.out.println(year+"不是闰年");       
  }
}
小Q给计算机输入程序,结果如图6.6所示。

图6.6  闰年程序运行结果
小Q高兴地说道:“哈哈!运行成功!2012是闰年,我能多休息一天了。”
“好!既然做对了,那多出来的一天:批准你好好玩吧!”
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2012-11-12 13:31:38 | 显示全部楼层
6.3  switch:多分支语句
理解了if分支。小明问道:“用if语句实现多分支稍显麻烦些。能不能有更好的办法进行多分支的控制?”
“问得好。如果是多分支,我们可以用switch实现。”A博士答道。
switch语句是典型的多分支语句。其一般格式如下:
switch(表达式)
{
case 常量1:语句块1;
case 常量2:语句块2;
……
case 常量n:语句块n;
default:语句块n+1;
}
作用:
switch(表达式)作为判断分支的枢纽,其“表达式”的结果必须为整形或字符型的数值。
case子句中的常量值应各不相同。case作为具体的分支,如果“表达式”的结果与“常量i”匹配,就执行该常量的后的“语句块i”。
当所有分支都不成立时,执行default语句。default子句也可以没有,若有则一般放在最后。
switch语句的功能也可以用if-else语句来实现,但有时使用switch语句更简洁。
我们来看一个应用实例吧!
【应用4】n的值可能取值为{1,2,3}。判断n的值,如果是1,请输出“A”;如果是2,请输出“B”;如果是3,请输出“C”。
分析:本题使用switch实现该程序。其判断的表达式即为n。
小Q自告奋勇:“这个简单,我来告诉计算机怎么判断。”
接着小Q写出程序完整范例如下:
//Example0606.java
public class Example0606
{
  public static void main(String[] args)
  {
          int n=1;
          switch(n)                        //使用switch语句
          {
                  case 1: System.out.println("A");       
                  case 2: System.out.println("B");
                  case 3: System.out.println("C");
          }       
  }
}
运行结果如图6.7所示。

图6.7  程序初步运行结果
小Q疑惑了:“为何程序的结果不是A,而是输出A、B、C?”
注意:switch多分支语句与if多分支语句不同!switch语句不能做到只执行一条分支,而是可以依次执行多条语句。switch只指明分支的入口,没有声明如何中途退出该分支结构。程序会在入口处开始执行,直到该结构的末尾。
原因在于程序未指定中途何时退出该结构。如要实现仅执行一条语句,而不是执行多项,则应使用break声明何时退出。
提示:break语句用来声明执行完一个case分支后,跳出switch语句结构,即终止switch语句的执行。如果某个case分支后没有break语句,程序将会运行下面的分支。

“哦,我明白了。博士,你看一下是不是这样修改?”
添加break语句:
//Example0607.java
public class Example0607
{
  public static void main(String[] args)
  {
          int n=1;
          switch(n)
          {
                  case 1: System.out.println("A");  break;        //添加break;
                  case 2: System.out.println("B");  break;        //添加break;
                  case 3: System.out.println("C");                        //此处不用break也会退出结构体
          }       
  }
}
这时,计算机屏幕的显示如图6.8所示。

图6.8  最终运行结果
程序符合要求。
由此,我们得知,switch语句的最精简结构为“switch-case”形式;最完全结构为“switch-case-break-default”形式。完整形式的流程图如图6.9所示。

图6.9  switch流程形式
A博士接着说:“为让你进一步理解switch语句的使用,你再试着实现下面这个例子。”
【应用5】已知某个学生的成绩score。老师要对大量的成绩进行整理,按五级评分制评定。如果score在90或以上要写“优秀”;在80或以上要写“良好”; 在70或以上要写“中等”; 在60或以上要写“及格”;在60以下要写“不合格”。试编写程序帮助老师实现成绩的五级评分制输出。
分析:本题建议使用switch实现。其判断的表达式只能为整形或字符型的数值,且也应尽量精简。所以使用score/10来比较score的范围。
程序完整范例如下:
//Example0608.java
public class Example0608
{
  public static void main(String[] args)
  {
          int score=60;
          switch(score/10)        //使用switch语句
          {
                  case 10:                
//如果成绩为满分100分,则一定为优秀;如果90分以上也是优秀;
//此处可以不添加break语句,使用case 9的语句。
                  case 9: System.out.println("优秀"); break;                //如果值为10或9输出"优秀"并退出
                  case 8: System.out.println("良好"); break;               
                  case 7: System.out.println("中等"); break;               
                  case 6: System.out.println("及格"); break;
                  default: System.out.println("不合格");
          }       
  }
}
小Q看到了结果,如图6.10所示。

图6.10  判断成绩的程序运行结果
扩展思考:
请用if语句实现上述应用5的程序。
程序实现如下:
//Example0609.java
public class Example0609
{
  public static void main(String[] args)
  {
          int score=60;
          if(score>=90)                        //使用if- else if- else语句结构体实现多分支功能
                System.out.println("优秀");
          else if(score>=80)
                System.out.println("良好");
          else if(score>=70)         
                System.out.println("中等");
          else if(score>=60)         
                  System.out.println("合格");
          else
                  System.out.println("不及格");         
  }
}
运行结果同上题一致。但是看得出来,使用switch语句比if语句要简单些。
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2012-11-12 13:33:00 | 显示全部楼层
6.4  嵌套的条件语句
A博士继续讲到:“如果程序较复杂,可以使用嵌套的条件语句,一般使用嵌套的if条件语句较多。所谓嵌套,就是在一个if条件中包含着另一个if条件语句。”
先来看下面的例子。
【应用6】判断数值n的正负。若n的值为正数,请输出“正数”;为0,请输出“为0”;为负数,请输出“负数”。
分析:本题可以使用if – else if – else实现,也可以使用嵌套的if语句实现。为了说明嵌套的if语句的使用形式,现在用该方法实现。程序如下:
//Example0610.java
public class Example0610
{
  public static void main(String[] args)
  {
          double n=0.1;
          if(n>0)                //如果n为正数执行if语句块
          {
                  System.out.println("正数");
          }
          else                        //n不为正数时执行else语句块。包含两种情况:为0和为负数
          {
                  if(n==0)        //n为0时
                        System.out.println("为0");
                else         //n为负数时
                        System.out.println("负数");
          }        
  }
}
运行结果如图6.11所示。

图6.11  嵌套if语句的程序运行结果
小Q问道:“ok!但是嵌套的if语句都可以使用if – else if –else语句代替吗?”
A博士答道:“可以。但最好根据不同情况选择合适的语法形式。”
“哦,我明白了。”
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

GMT+8, 2024-5-29 12:41 , Processed in 0.330908 second(s), 31 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表