QQ登录

只需一步,快速开始

登录 | 立即注册 | 找回密码

主题

帖子

荣誉

VIP至尊会员

Rank: 15Rank: 15Rank: 15

积分
2175
查看: 3002|回复: 39

[系列教程] 【Java 教程(原创)】003.Java程序的开发步骤和基本结构以及注释

[复制链接]
最佳答案
42 
累计签到:938 天
连续签到:1 天
零度非安全 发表于 2016-12-16 22:36:42 300239 | 显示全部楼层 |阅读模式

马上注册加入鱼C,享用更多服务吧^_^

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 零度非安全 于 2017-2-10 22:05 编辑

【Java 教程(原创)】索引帖

        在上一期中大家跟着非安全了解了下JDK的安装过程,那么接下来为大家讲下Java程序的开发步骤和基本结构以及注释。在下一节的下一节(也就是第5节)开始我们的第一个Java程序的编写,是不是很激动很兴奋呀?因为这3节以及下一节的【编码风格】是开始编写Java第一个程序前的准备工作,鱼油们上车咯!


                               
登录/注册后可看大图


Java程序的开发步骤如下图所示: 0.png
1.编写源文件
通常使用一个文本编辑器(如Notepad++或记事本)来编写源文件,不可使用非文本编辑器,例如Word编辑器。然后将编好的源文件保存起来,源文件的扩展名必须是.java。

2.编译源文件
使用Java编译器(javac.exe)编译源文件,得到字节码文件。

3.运行程序
使用Java SE平台中的Java解释器(java.exe)来解释、执行字节码文件。


                               
登录/注册后可看大图


Java应用程序的基本结构
一个Java应用程序(也称为一个工程)是由若干个类构成,这些类可以在一个源文件中,也可以分布在若干个源文件中,如下图所示:
1.png

       Java应用程序有一个主类,即含有main方法的类,Java应用程序从主类的main方法开始执行。在编写一个Java应用程序时,可以编写若干个Java源文件,每个源文件在编译后产生一个类的字节码文件,因此,经常需要进行以下操作:
       1>将应用程序涉及到的Java源文件保存在相同的目录中,分别编译通过,得到Java应用程序所需要的字节码文件。
       2>运行主类

        当使用解释器运行一个Java应用程序时,Java虚拟机将Java应用程序需要的字节码文件加载到内存,然后再由Java的虚拟机解释、执行,因此,可以事先单独编译一个Java应用程序所需要的其他源文件,并将得到的字节码文件和主类的字节码文件存放在同一个目录中。如果应用程序的主类的源文件和其他源文件在同一目录中,也可以只编译主类的源文件,Java系统会自动先编译主类需要的其他源文件。
        
       Java程序以类为“基本单位”,即一个Java程序由若干个类所构成。一个Java程序可以将它使用的各个类分别存放在不同的源文件中,也可以将它使用的类存放在一个源文件中。一个源文件中的类可以被多个Java程序使用,从编译角度看,每个源文件都是一个独立的编译单位,当程序需要修改某个类时,只需要重新编译该类所在的源文件,不必重新编译其他类所在的源文件,这非常有利于系统的维护。从软件设计角度看,Java语言中的类是可复用代码,编写具有一定功能的可复用代码是软件设计中非常重要的工作。


                               
登录/注册后可看大图


在下面的例子中一共有3个Java源文件,其中,MainClass.java是含有主类的Java应用程序的源文件
1.Circle.java
  1. public class Circle{
  2.         void printArea(double r){
  3.                 System.out.println(r * r * 3.1416926);
  4.         }
  5. }
复制代码
2.Rectangle.java
  1. public class Rectangle{
  2.         void printArea(double a,double b){
  3.                 System.out.println(a * b);
  4.         }
  5. }
复制代码
3.MainClass.java
  1. public class MainClass{
  2.         public static void main(String args[]){
  3.                 Circle circle = new Circle();
  4.                 circle.printArea(100);
  5.                 Rectangle rect = new Rectangle();
  6.                 rect.printArea(100,65);
  7.         }
  8. }
复制代码
      假设上述3个源文件都保存在D:\FishC_Java中,在命令行窗口中进入上述目录,并编译MainClass.java:
       javac MainClass.java

       在编译MainClass.java的过程中,Java系统会自动地编译Circle.java和Rectangle.java,这是因为应用程序要使用Circle.java和Rectangle.java源文件产生的字节码文件。编译通过后,在D:\FishC_Java目录中会有Circle.class、Rectangle.class源文件产生的字节码文件。编译通过后,在D:\FishC_Java目录中将会有Circle.class、Rectangle.class和MainClass.class3个字节码文件。
FishC_Java_MainClass.png
使用Java编译器和解释器编译、运行主类的效果如下图所示。
MainClass.png
        如果需要编译某个目录下的多个Java源文件,在使用javac时,也可以将javac要编译的多个源文件用空格分隔。例如编译D:\FishC_Java下的Car.java和Person.java,如下所示:
        D:\FishC_Java\javac Car.java Person.java

        如果需要编译某个目录下的所有Java源文件,比如D:\FishC_Java目录,可以在进入该目录后,使用通配符*代表各个源文件的名字来编译所有的源文件,如下所示:
        D:\FishC_Java\javac *.java


                               
登录/注册后可看大图


注释
        编译器忽略注释内容,添加注释的目的为了便于代码的维护和阅读,因此,给代码添加注释是一个良好的的编程习惯。Java支持两种格式的注释,即单行注释和多行注释。

单行注释使用“//”表示注释的开始,即该行中从“//”开始的后续内容为注释,例如:
  1. class Hello                                                        //类说明
  2. {                                                                  //类体的左大括号
  3.         public static void main(String args[])
  4.         {
  5.                 int sum = 0,i = 0,j = 0;
  6.                 for(i = 1;i <= 100;i++)                            //循环语句
  7.                 {
  8.                         sum = sum + i;
  9.                 }
  10.                 System.out.println(sum);                          //输出sum
  11.         }
  12. }                                                                 //类体的右大括号
复制代码
多行注释使用“/*”表示注释的开始,以“*/”表示注释结束,例如:
  1. class Hello{
  2.         /* 以下是一个main方法,
  3.                 Java虚拟机首先执行该方法
  4.         */
  5.         public static void main(String args[]){
  6.                 System.out.println("你好");
  7.         }
  8. }
复制代码


【特别注意】贴子中的栗子希望鱼油们能自觉的手动敲上去,不要单纯的复制粘贴保存,然后编译运行。



本帖被以下淘专辑推荐:

楼层
跳转到指定楼层
最佳答案
11 
累计签到:410 天
连续签到:1 天
Kotori 发表于 2016-12-17 08:34:27 | 显示全部楼层
赞!祝版主考试顺利,拿个好成绩!

评分

参与人数 1鱼币 +5 收起 理由
零度非安全 + 5 热爱鱼C^_^

查看全部评分

最佳答案
0 
累计签到:144 天
连续签到:1 天
fsd82ht 发表于 2016-12-18 21:22:34 | 显示全部楼层
呵呵 ,又学了一些知识。

评分

参与人数 1鱼币 +5 收起 理由
零度非安全 + 5 热爱鱼C^_^

查看全部评分

最佳答案
42 
累计签到:938 天
连续签到:1 天
零度非安全  楼主| 发表于 2016-12-18 22:23:18 | 显示全部楼层
fsd82ht 发表于 2016-12-18 21:22
呵呵 ,又学了一些知识。

每天学点,以后学其它的就容易了
最佳答案
42 
累计签到:938 天
连续签到:1 天
零度非安全  楼主| 发表于 2016-12-18 22:23:44 | 显示全部楼层
Kotori 发表于 2016-12-17 08:34
赞!祝版主考试顺利,拿个好成绩!

谢谢!!!
最佳答案
0 
累计签到:270 天
连续签到:1 天
白鹿洞书院 发表于 2016-12-22 16:02:44 | 显示全部楼层
版主 有没有详细Java视频?
最佳答案
42 
累计签到:938 天
连续签到:1 天
零度非安全  楼主| 发表于 2016-12-22 17:46:44 | 显示全部楼层
白鹿洞书院 发表于 2016-12-22 16:02
版主 有没有详细Java视频?

毕向东的还有韩顺平的,这两个讲的不错
最佳答案
0 
累计签到:270 天
连续签到:1 天
白鹿洞书院 发表于 2016-12-23 13:16:45 | 显示全部楼层
零度非安全 发表于 2016-12-22 17:46
毕向东的还有韩顺平的,这两个讲的不错

好的 努力学习
最佳答案
0 
累计签到:99 天
连续签到:1 天
464318257 发表于 2017-1-22 09:41:59 | 显示全部楼层
javadoc文档注释

非安全欧巴,这篇没有彩蛋,你不能这样子做哦
最佳答案
42 
累计签到:938 天
连续签到:1 天
零度非安全  楼主| 发表于 2017-1-22 10:31:41 | 显示全部楼层
464318257 发表于 2017-1-22 09:41
javadoc文档注释

非安全欧巴,这篇没有彩蛋,你不能这样子做哦

我觉得彩蛋对 VIP 用户好像没什么新鲜感,刮刮卡倒是不错
最佳答案
0 
累计签到:9 天
连续签到:1 天
hyj57555 发表于 2017-1-29 18:17:14 | 显示全部楼层
还等着C语言的视频更新呢

评分

参与人数 1鱼币 +5 收起 理由
零度非安全 + 5 热爱鱼C^_^

查看全部评分

最佳答案
0 
累计签到:11 天
连续签到:1 天
21102982315 发表于 2017-2-9 09:42:11 | 显示全部楼层
public class MainClass{
        public static void main(String args[]){
                Circle circle = new Circle();
                circle.printArea(100);
                Rectangle rect = new Rectangle();
                rect.printArea(100,65);
        }
}

评分

参与人数 1鱼币 +8 收起 理由
零度非安全 + 8 热爱鱼C^_^

查看全部评分

最佳答案
42 
累计签到:938 天
连续签到:1 天
零度非安全  楼主| 发表于 2017-2-9 11:52:17 | 显示全部楼层
hyj57555 发表于 2017-1-29 18:17
还等着C语言的视频更新呢

看来是个勤奋的孩纸
最佳答案
42 
累计签到:938 天
连续签到:1 天
零度非安全  楼主| 发表于 2017-2-9 11:52:58 | 显示全部楼层
21102982315 发表于 2017-2-9 09:42
public class MainClass{
        public static void main(String args[]){
                Circle cir ...

这个哥们以后代码发布要用代码格式发布哟 ^_^!!!
最佳答案
0 
累计签到:26 天
连续签到:1 天
hanlenry 发表于 2017-2-10 21:54:38 | 显示全部楼层
360截图20170210215254551.jpg
这个应该是D盘吧

评分

参与人数 1荣誉 +5 收起 理由
零度非安全 + 5 已修正

查看全部评分

最佳答案
42 
累计签到:938 天
连续签到:1 天
零度非安全  楼主| 发表于 2017-2-10 22:06:24 | 显示全部楼层
hanlenry 发表于 2017-2-10 21:54
这个应该是D盘吧

编辑帖子难免有错误哈,希望谅解!
最佳答案
0 
累计签到:37 天
连续签到:1 天
西瓜小刚 发表于 2017-2-20 12:59:49 | 显示全部楼层
支持 支持  
最佳答案
42 
累计签到:938 天
连续签到:1 天
零度非安全  楼主| 发表于 2017-2-20 13:01:18 | 显示全部楼层

加油,么么哒,爱你!!!
最佳答案
0 
累计签到:4 天
连续签到:1 天
凸凸凸兔 发表于 2017-2-22 15:59:04 From FishC Mobile | 显示全部楼层
好好学习,天天向上!
最佳答案
0 
累计签到:4 天
连续签到:1 天
凸凸凸兔 发表于 2017-2-22 16:03:12 From FishC Mobile | 显示全部楼层
对了,毕向东,韩顺平的java视频在哪儿看呀。

发表回复

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

本版积分规则

关闭

小甲鱼强烈推荐 上一条 /1 下一条

    移动客户端下载(未启用)
    微信公众号

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备11014136号

Copyright 2018 鱼C论坛 版权所有 All Rights Reserved.

Powered by Discuz! X3.1 Copyright
© 2001-2018 Comsenz Inc.    All Rights Reserved.

小黑屋|手机版|Archiver|鱼C工作室 ( 粤公网安备 44051102000370号 | 粤ICP备11014136号

GMT+8, 2017-11-23 15:24

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