2022-03-22
一.编写“Hello World”程序
1>.编写源代码
任何文本编辑起都可以编写Java源代码。Java代码的文件的命名格式规定是以“*.java”结尾。
2>.编译
编译时使用javac命令。用法:javac + 源文件
3>.运行
运行时使用Java命令。Java后面跟的是类名或是字节码文件的文件名。
二.“Hello World”程序说明
1 /* 2 @author :yinzhengjie 3 Blog:http://www.cnblogs.com/yinzhengjie/tag/GO%E8%AF%AD%E8%A8%80%E7%9A%84%E8%BF%9B%E9%98%B6%E4%B9%8B%E8%B7%AF/ 4 EMAIL:y1053419035@qq.com 5 */ 6 7 class Hello{ 8 public static void main(String[]args){ 9 System.out.println("Hello World!"); 10 } 11 }1>.Java程序都必须定义在类中,编写Java程序的过程就是不断定义类的过程;
2>.使用class来定义一个类;
3>.Hello是程序员气的一个类名;
4>.类中的内容需要使用一对大括号括起来;
5>.程序要运行,必须编写main方法,并且main方法的写法是固定的;
6>.pubic表示公共的;
7>.static表示静态的;
8>.void表示main方法没有返回值;
9>.main是一个方法名;
10>.main后面的小括号是方法的参数;
11>.string[]args 是定义了一个字符串类型的数组;
12>.main方法的方法体也需要使用一对大括号括起来;
13>.“System.out.println("Hello World!");”是一条语句,Java语句使用英文半角分好结束;
14>.上一条语句的作用是在屏幕上打印一行信息,就是双引号引起来的内容会打印到屏幕上;
15>.System是sun公司定义的一个类,表示系统类;
16>. System.out 代表的是系统的标准输出设备,默认为显示器;
17>.println() 是一个方法,其作用就是在屏幕上打印一行信息;
注意:在Java中的符号都是英文半角!!!
三.Java源文件与类
1>.定义的类必须存储在Java源文件中。
2>.一般情况下,Java源文件名与类名相同。
3>.如果类名与源文件名不同:
a>.javac编译时,跟的是源文件名;
b>.生成的字节码文件,字节码文件名与类名相同。
4>.一般情况下,一个Java源文件中只定义一个类。
5>.在Java源文件中可以定义多个类:
a>.编译后,每个类都会生成一个对应的字节码文件
6>.同一个源文件中不同的类,都可以有main方法:
a>.一个类是否需要定义main方法,根据这个类是否需要被运行来决定
7>.类可以使用public修饰为公共类:
a>.你可能会问为什么要定义公共类,这就不得步说一下包的概念,包是用来管理类的,如果A包中的类想要使用B保重的类,在B包中被使用的类必须定义为public公共类;
b>.公共类的类名必须和文件名一致;
四.Java编码规范
1>.存储规范
a>.Java源文件的路径中尽量不要含有空格(dos命令行默认是以空格区分命令与参数)和中文(可以避免字符编码导致的问题)。
b>.Java源文件名不能有空格,尽量不要有中文。
2>.命名规范
程序源在开发程序时,会给类,变量,方法,常量起一些名字,在起名时要符合命名规范,常见的命名规范如下:
a>.类名一般每个单词首字母都大写;
b>.变量名,是名词,第一个单词小写,其它每个单词的首字母大写;
c>.方法名,是动词,第一个单词小写,其它每个单词的首字母大写;
d>.final常量名,一般每个字母都大写;
1 D:\10.Java\JavaSE\Day1>dir 2 驱动器 D 中的卷是 学习资料 3 卷的序列号是 0006-071A 4 5 D:\10.Java\JavaSE\Day1 的目录 6 7 2018/03/27 周二 上午 08:26 . 8 2018/03/27 周二 上午 08:26 .. 9 2018/03/27 周二 上午 08:21 417 Demo01.java 10 2018/03/26 周一 下午 11:17 416 Hello.class 11 2018/03/26 周一 下午 10:55 99 Hello.java 12 3 个文件 932 字节 13 2 个目录 460,338,917,376 可用字节 14 15 D:\10.Java\JavaSE\Day1> 16 D:\10.Java\JavaSE\Day1>type Demo01.java 17 /* 18 @author :yinzhengjie 19 Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/ 20 EMAIL:y1053419035@qq.com 21 */ 22 23 class MyClass{ 24 final double PI = 3.14; //final常量每个字母都大写 25 public static void main(String[] args){ 26 int dogAge = 5; //定义一个变量,dogAge是一个变量名 27 System.out.println("尹正杰"); 28 } 29 30 public static int getYear(){ //getYear()是方法名 31 return 2018; 32 } 33 } 34 D:\10.Java\JavaSE\Day1>javac Demo01.java 35 36 D:\10.Java\JavaSE\Day1>dir 37 驱动器 D 中的卷是 学习资料 38 卷的序列号是 0006-071A 39 40 D:\10.Java\JavaSE\Day1 的目录 41 42 2018/03/27 周二 上午 08:26 . 43 2018/03/27 周二 上午 08:26 .. 44 2018/03/27 周二 上午 08:21 417 Demo01.java 45 2018/03/26 周一 下午 11:17 416 Hello.class 46 2018/03/26 周一 下午 10:55 99 Hello.java 47 2018/03/27 周二 上午 08:26 551 MyClass.class 48 4 个文件 1,483 字节 49 2 个目录 460,338,917,376 可用字节 50 51 D:\10.Java\JavaSE\Day1>java MyClass 52 尹正杰 53 54 D:\10.Java\JavaSE\Day1> 55 D:\10.Java\JavaSE\Day1> DOS命令行案例展示3>.书写规范
在编写代码时,要进行适当的换行与缩进。
4>.注释规范
a>.什么是注释
注释是对代码进行解释说明;
注释是给人看的,不参与编码,不影响程序的结构;
注释的作用就是为了提高代码的可读性;
b>.Java文档中的注释分类
单行注释,使用"//"(双斜杠)开始的注释
多行注释,使用"/**/"标识的注释
文档注释,使用“/** 文档注释*/”进行的注释,文档注释可以生成相应的文档。
五.文档注释的生成
1>.文档注释一般用来注释类,方法,成员变量
即在类的前面,在方面的前面,在成员变量的前面可以有文档注释。
2>.类必须使用public修饰为公共的才可以生成相应的文档
方法,变量可以使用public修饰,也可以使用protected修饰。
3>.工具类说明书的制作
a>.写一个完整的工具类,类要用public修饰;
b>.类名上加author(指定作者,可以用中文),version(指定发行版本,如1.0版本)标签;
c>.方法上加param(对形参列表进行说明的关键字),return(对返回值的类型进行说明)标签;
d>.注意,方法上标签中不用加类型;
4>.文档注释可以使用javadoc命令生成相应的文档
命令行常用编译参数说:
a>.“-author”,表示包含包含 @author 段。
b>.“-version”,表示包含 @version 段。
c>.“encoding”,指定源文件的编码格式。
如果想要了解更多参数可以查看帮助信息:“javadoc -help”。
1 D:\10.Java\JavaSE\Java\DAY1> 2 D:\10.Java\JavaSE\Java\DAY1>type Demo.java 3 /** 4 @author 尹正杰 5 @version 1.0 6 */ 7 8 public class Demo{ 9 /** 10 文档注释对成员变量进行注释时,可以使用public/protected修饰。 11 */ 12 protected int password = 123; //成员变量 13 14 /** 15 * 文档注释,对方法进行注释,方法需要使用public/protected修饰。 16 * 17 * @param args main 方法的参数是一个字符串数组 18 */ 19 public static void main(String[] args){ 20 int age = 18; //定义一个变量保存一个人的年龄。 21 System.out.println("yinzhengjie"); 22 } 23 } 24 D:\10.Java\JavaSE\Java\DAY1> 25 D:\10.Java\JavaSE\Java\DAY1>javadoc -d ./mydoc -author -version Demo.java 26 正在加载源文件Demo.java... 27 正在构造 Javadoc 信息... 28 正在创建目标目录: "./mydoc\" 29 标准 Doclet 版本 9.0.4 30 正在构建所有程序包和类的树... 31 正在生成.\mydoc\Demo.html... 32 正在生成.\mydoc\package-frame.html... 33 正在生成.\mydoc\package-summary.html... 34 正在生成.\mydoc\package-tree.html... 35 正在生成.\mydoc\constant-values.html... 36 正在构建所有程序包和类的索引... 37 正在生成.\mydoc\overview-tree.html... 38 正在生成.\mydoc\index-all.html... 39 正在生成.\mydoc\deprecated-list.html... 40 正在构建所有类的索引... 41 正在生成.\mydoc\allclasses-frame.html... 42 正在生成.\mydoc\allclasses-frame.html... 43 正在生成.\mydoc\allclasses-noframe.html... 44 正在生成.\mydoc\allclasses-noframe.html... 45 正在生成.\mydoc\index.html... 46 正在生成.\mydoc\help-doc.html... 47 48 D:\10.Java\JavaSE\Java\DAY1> javadoc -d ./mydoc -author -version -encoding GBK Demo.java六.反编译操作
1 D:\10.Java\JavaSE\Day1>dir 2 驱动器 D 中的卷是 学习资料 3 卷的序列号是 0006-071A 4 5 D:\10.Java\JavaSE\Day1 的目录 6 7 2018/03/27 周二 上午 10:38 . 8 2018/03/27 周二 上午 10:38 .. 9 2018/03/27 周二 上午 08:40 417 Demo01.java 10 2018/03/27 周二 上午 08:40 562 Demo02.java 11 2018/03/27 周二 上午 08:49 402 Demo03.java 12 2018/03/27 周二 上午 10:38 doc 13 2018/03/27 周二 上午 10:33 572 Dome04.java 14 2018/03/26 周一 下午 10:55 99 Hello.java 15 5 个文件 2,052 字节 16 3 个目录 460,333,453,312 可用字节 17 18 D:\10.Java\JavaSE\Day1> 19 D:\10.Java\JavaSE\Day1>javac Dome04.java 20 21 D:\10.Java\JavaSE\Day1>dir 22 驱动器 D 中的卷是 学习资料 23 卷的序列号是 0006-071A 24 25 D:\10.Java\JavaSE\Day1 的目录 26 27 2018/03/27 周二 上午 10:41 . 28 2018/03/27 周二 上午 10:41 .. 29 2018/03/27 周二 上午 08:40 417 Demo01.java 30 2018/03/27 周二 上午 08:40 562 Demo02.java 31 2018/03/27 周二 上午 08:49 402 Demo03.java 32 2018/03/27 周二 上午 10:38 doc 33 2018/03/27 周二 上午 10:41 467 Dome04.class 34 2018/03/27 周二 上午 10:33 572 Dome04.java 35 2018/03/26 周一 下午 10:55 99 Hello.java 36 6 个文件 2,519 字节 37 3 个目录 460,333,453,312 可用字节 38 39 D:\10.Java\JavaSE\Day1> 40 D:\10.Java\JavaSE\Day1>javap -c Dome04 41 Compiled from "Dome04.java" 42 public class Dome04 { 43 protected int password; 44 45 public Dome04(); 46 Code: 47 0: aload_0 48 1: invokespecial #1 // Method java/lang/Object."": 49 ()V 50 4: aload_0 51 5: bipush 123 52 7: putfield #2 // Field password:I 53 10: return 54 55 public static void main(java.lang.String[]); 56 Code: 57 0: bipush 18 58 2: istore_1 59 3: getstatic #3 // Field java/lang/System.out:Ljava/ 60 io/PrintStream; 61 6: ldc #4 // String yinzhengjie 62 8: invokevirtual #5 // Method java/io/PrintStream.printl 63 n:(Ljava/lang/String;)V 64 11: return 65 } 66 67 D:\10.Java\JavaSE\Day1> 68 D:\10.Java\JavaSE\Day1> 反编译操作:“javap -c Dome04”冲呀饼干人王国游戏下载v2.1.1 安卓版
经营养成 1.79G
下载尘白禁区手游官方版下载v2.4.0.98 安卓版
射击枪战 737.6M
下载合金弹头觉醒手游正版下载v1.15.0 官方安卓版
射击枪战 1.80G
下载qq飞车手游腾讯游戏下载v1.47.0.60405 安卓最新版
赛车竞速 1.99G
下载qq飞车手机版官方正版下载v1.47.0.60405 安卓版
赛车竞速 1.99G
下载腾讯游戏全民冠军足球最新版下载v1.0.3250 安卓版
体育运动 1.69G
下载剑侠世界3腾讯版下载v1.6.23488 安卓版
角色扮演 1.98G
下载世界启元手游下载v1.68.9807 安卓版
策略塔防 1.85G
下载海岛奇兵百度版最新版下载v54.2.1 安卓版
下载
传奇世界盛大正版手游下载v7.11.3.6 安卓版
下载
qq华夏手游官方最新版下载v5.9.0 安卓版
下载
网易永劫无间手游测试服下载v1.0.291536 安卓试玩版
下载
三国志幻想大陆官方正版下载v5.4.1 安卓最新版
下载
谁是卧底online苹果版下载v5.17.41 iphone版
下载
宝宝学汉字苹果app下载v9.80.2032 iphone版
下载
宝宝巴士电视版下载v8.7.30 安卓最新版
下载