任务:你所在的公司是一家美国的服装设计和制造公司,现在这家公司打算进入欧洲市场,于是需要一个将英制单位(英寸)换算为公制单位(厘米)的程序。已知1英寸=2.54厘米,该程序输入以英寸为单位的长度,显示该长度对应的厘米数。例如:输入英寸:2.5,输出:2.5英寸=6.35厘米。

package com.lovo;import java.util.Scanner;public class MyConverter {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.print("输入英寸: ");double inch = sc.nextDouble();System.out.println(inch + "英寸 = " + inch * 2.54 + "厘米");sc.close();}
}

上面是用Java语言书写的完成任务一的代码。Java是在1995年的5月23日诞生的一种面向对象的编程语言。1991年的时候,SUN公司(太阳微系统公司[美国],2009年被Oracle公司[美国]收购)成立了一个名为Green的项目组致力于机顶盒(实现视频点播)的开发,但是机顶盒的概念在当时过于超前不被大众所接受,项目并没有取得预期的成功。虽然项目失败了,然而在项目开发过程中使用的一种运行于虚拟机上的新语言Oak却被保留下来,这就是后来的Java(因为Oak已经被美国的另外一家公司进行了商标注册)。1996年,Java的第一个版本正式发布,此后Java受到了极大的关注和追捧,因为从一开始它就是一个和互联网一起成长起来的语言,而且是一项自由(free)的技术。从2004年到2013年,Java一直占据着TIOBE发布的编程排行榜第一名的位置( TIOBE官网)。

下面是Java语言的编年史:

• 1995:Java诞生
• 1996:第一个正式版本JDK 1.0发布
• 1998:JDK 1.2发布,称之为Java 2,引入Swing
• 1999:JDK 1.3发布,Java平台分为标准版(J2SE)/ 企业版(J2EE) / 微缩版(J2ME)
• 2000:JDK 1.4,引入断言、NIO
• 2001:Nokia推出首款支持Java的手机
• 2004:JDK1.5发布,称为Java 5,引入了很多重要的语言特性
• 2006:Java 6发布,Java SE / Java EE  / Java ME
• 2009:SUN公司被Oracle收购
• 2011:Java 7发布
• 2014:Java 8发布

在上面的代码中,我们创建了一个名为MyConverter的类(class),在面向对象的程序设计中,类是最为重要的程序构件。MyConverter类以左花括号开始,右花括号结束,其中定以了一个名为main的方法,该方法被称为可执行程序的入口,也就意味着,程序从main方法开始执行,直到main方法结束,这一点跟C和C++(另外两种占据统治地位的编程语言)一致。main方法也是以左花括号开始,到右花括号结束,中间的部分被称为方法体。在方法体中,首先创建了一个Scanner(扫描器)对象sc,该对象用来读取用户从键盘输入的内容;接下来,通过System类(这个类是Java中自带的类,提供了很多有用的属性和方法)的out成员的print方法在控制台打印“输入英寸:”给用户以提示;然后,我们定义了一个double类型的变量inch(相当于在内存中预留了一个可以存储小数的区域),并将从Scanner中读取到的小数(通过Scanner对象的nextDouble方法获得)存储到该变量中;接下来通过乘法运算可以计算出英寸对应的厘米,然后再次使用System.out.println方法将计算的结果打印在控制台,打印的是一个字符串,这个字符串由多个部分构成,因此用+将多个字符串拼接在一起;最后用Scanner对象的close方法关闭扫描器,程序结束。

注意:main方法的前面有三个修饰符,分别是public、static和void。其中,public表示该方法是公开的,主要是为了让Java虚拟机(之前我们提到了Java是一种运行在虚拟机中的语言,虚拟机是一台假想的计算机,它有自己的处理器、内存等虚拟硬件并定义了相应的程序指令,然后可以执行这些程序指令)中的对象都能够访问它,而static表示main方法在内存中是唯一的(因为程序的入口只有一个),而void则表明main方法执行结束后不需要向它的调用者反馈任何信息。当然,如果你暂时不能理解这几个修饰符也不要紧,后面的章节会有更详细的讲解。另外,程序的第一个行package是建包语句,意思是创建com文件夹和lovo子文件夹并将类放在文件夹(包)中管理起来,这是一种管理类以及避免名字冲突(在不同的包中可以有同名的类)的有效手段。下面的import则是导入某个包中的类,由于程序中使用的Scanner类并不在java.lang包(唯一一个不需要显式导入的包)中,而是在java.util包中,因此需要用import先导入,后面才能使用它。

在上面的代码中,为了保存用户输入的小数,我们定义了一个double类型的变量。除了double类型,Java中还定义了其他七种基本数据类型(byte、short、int、long、float、char、boolean),用来表示最常用的整数、小数、字符和布尔值(只有true和false两种取值,分别表示逻辑真和假)。除了这八种基本数据类型,其他的基本都是对象类型,例如上面程序中的Scanner,对象类型可以用来引用一个对象,后面的代码中我们会看到更多的对象类型,毕竟Java是面向对象的程序设计语言。

好了,还没有告诉大家如何运行上面的这段代码。作为一个Java的开发者,你需要JDK(Java开发者工具),JDK可以通过Oracle公司的官网获得。不管你使用哪种操作系统,安装完成后,你都可以在JDK的安装目录下找到一个bin目录,该目录中包括了Java的编译器和解释器,当然还有其他很多重要的开发工具。Java是一种先编译再解释执行的语言,我们刚才书写的那段内容称为Java的源程序,我将它命名为MyConverter.java。Java有一个要求就是文件名必须跟被public修饰的类的类名完全保持一致,包括大小写。通过Java的编译器(javac命令),可以将MyConverter.java编译生成MyConverter.class类文件,类文件中是一种被称为字节码(byte-code)的中间代码,这种中间代码人类无法理解,计算机也无法理解(因为计算机只认识0和1组成的指令),但是Java虚拟机可以读懂它,于是通过启动Java虚拟机(java命令)来解释执行刚才的字节码就可以看到程序运行的结果。如果源程序中存在错误,那么在编译时编译器会给出错误提示;通过编译的程序在运行的时候仍然可能出现意想不到的问题,这时可以使用调试器(jdb)去调试程序,发现并修复程序中的bug(程序中的缺陷通常被称为bug,因为计算机历史上的第一次运行故障是由一个臭虫(bug)让电子管烧毁所引发的)。关于程序的调试,我们在后面再为大家详细介绍。

下面的图为大家展示了用JDK提供的工具编译和运行上面的代码的情况:

为了在命令行可以使用javac和java命令,需要在安装JDK之后配置环境变量,具体的安装和配置方法你可以谷歌一下或者百度一下,so easy。如果不清楚javac和java的具体用法以及命令参数,也可以问一下谷老师和百老师。

当然,为了提高开发效率,我们不可能一直使用这种方式来编译和运行Java程序,我们可以使用IDE(集成开发环境)。在所有的Java IDE中,最有名和使用率最高的两款IDE应该是IBM重金打造并送给开源社区的Eclipse以及JetBrains开发的IntelliJ,如下图所示:

Eclipse:

IntelliJ:

[连载]Java程序设计(01)---任务驱动方式:英制单位转换成公制单位相关推荐

  1. [连载]Java程序设计(02)---任务驱动方式:个人所得税计算器

    在上一章,我们开发了一个将英制单位转换成公制单位的程序,如果我们希望该程序更实用一些,实现英制单位(英寸)和公制单位(厘米)的互换,那么代码又该如何编写呢?有一点可以肯定,我们需要在程序中设置决策条件 ...

  2. java非负整数怎么设_使用JAVA将非负十进制整数n转换成b进制,递归方法与非递归方法...

    使用JAVA将非负十进制整数n转换成b进制,递归方法与非递归方法 使用JAVA将非负十进制整数n转换成b进制,递归方法与非递归方法 一.题目要求 将非负十进制整数n转换成b进制.(其中b=2~16) ...

  3. Java将16进制字符串,转换成字符串

    Java将16进制字符串,转换成字符串 前段时间遇到同事给了我一串16进制的字符串,让我把它给转成正常的字符串. 16进制字符串: c8:ed:cc:bd:d5:eb 转换后正常的字符串: 软探针 解 ...

  4. python英寸与厘米交互_运用python实现英制单位英寸与公制单位厘米互换

    python能实现的东西有很多,其中就有运用python来实现英制单位英寸与公制单位厘米互换,那么具体应用怎么换算呢?下面羽忆教程网为你提供运用python实现英制单位英寸与公制单位厘米互换的教程. ...

  5. 【简单易懂】Java字符串应用场景:数字金额转换成大写汉字金额【金额转换】

    Java字符串应用场景:数字金额转换成汉字金额 文章目录 Java字符串应用场景:数字金额转换成汉字金额 前言 一.String简单介绍 二.字符串在开发中的应用场景 三.金额转换 3.1解题思路 3 ...

  6. java如何将char类型的数字转换成int型的数字

    java如何将char类型的数字转换成int型的数字 public class CharToIntConverter {public static void main(String[] args) { ...

  7. 流程控制之分支结构:英制单位英寸与公制单位厘米互换

    """ 英制单位英寸和公制单位厘米互换 """ def cmin(value,unit): ''':param value:长度, :par ...

  8. java二维码编码生成并转换成流传入前端页面

    java二维码编码生成并转换成流传入前端页面 这里主要用了com.google.zxing的依赖,这个依赖主要可以完成图片叠加.二维码生成和图片加文字等功能. ①添加依赖 <dependency ...

  9. JAVA程序设计(01)-----英制公制,单位转换

    1.先做了英尺转换成公尺的 import java.util.Scanner; public class Test06 { public static void main(String[] args) ...

最新文章

  1. 计算开机时间c语言编程,计算电脑开机时间的代码
  2. 【高薪】阿联酋起源人工智能研究院诚邀优秀人才(博士)
  3. 目录服务技术介绍——ADSI(三)
  4. HTTP与HTTPS对访问速度(性能)的影响
  5. Compound Interest Calculator4.0
  6. 不同虚拟局域网Vlan配置DHCP服务器
  7. Nacos的服务注册表结构是怎样的?
  8. c#与api类型对照表
  9. python如何编辑pdf_python3.6 导入并编辑pdf 错误在哪里啊
  10. 肇东一中2021高考成绩查询,肇东一中2018高考喜报成绩
  11. PLSQL_动态语句的解析(概念)
  12. DSP芯片的基本结构
  13. 计算机课程总结800字,计算机课程心得体会范文800字(通用5篇)
  14. 2023年天津天狮学院专升本市场营销专业《管理学》考试大纲
  15. 我在阿里工作的这段时间里,都学到了哪些东西
  16. IBM X3650 M4服务器数据恢复成功案例
  17. Win10亮度调节无效
  18. 用 AsyncDisplayKit 開發響應式 iOS App
  19. android 视频剪切,安卓手机视频剪辑app 将视频某一段截取下来,或者删除视频中某一部分...
  20. 人工智能驾驶奥运会 Duckietown AI Driving Olympics

热门文章

  1. wepy框架踩坑日记-逆战
  2. C#实现C++的SYSTEMTIME类型
  3. 棋盘覆盖问题 java_Java基于分治算法实现的棋盘覆盖问题示例
  4. 怎么不让计算机不自动装驱动,如何让电脑不自动安装驱动程序的图文方法介绍...
  5. 单元测试不止 Junit
  6. The books which are worth reading for me
  7. opencv下imread函数返回值
  8. Dreamweaver 8代码大全
  9. 货车定位服务器维护是什么,什么是汽车快修,汽车快修是做什么的_故障维修_车主指南...
  10. datepart()函数的使用