主要内容
Java编程起步
第一个程序"Hello World"
定义Java程序,通过记事本进行编写
所有Java程序的后缀都是*.java程序,
建立一个目录(d:\fgqjava)保存所有的程序源代码
建立一个Hello.java的源程序(新建一个文件,改名为Hello.java,注意扩展名要改为.java)
使用editplus或者记事本工具进行编写,与Windows兼容,不会出现问题
范例:
第一个程序代码:
public class Hello {
public static void main(String args[]) {
System.out.println("Hello World !");
}
}
注意arg后的符号"[]",放在前面或者后面都可以,如下
public class Hello {
public static void main(String [] args) {
System.out.println("Hello World !");
}
}
Java程序是需要经过两次处理后才可以正常执行的:
对源代码程序进行编译:javac Hello.java,会出现有一个Hello.class的字节码文件;
利用JVM进行编译,编译出一套与平台无关的字节码文件(*.class)
在JVM上进行程序的解释执行:java Hello
解释的就是字节码文件,字节码文件的后缀是不需要编写的;
---------------------------------------------------------------------------
Windows命令行操作如下:
C:\Users\Administrator>d:
D:\>cd fgqjava
D:\fgqjava>dir
驱动器 D 中的卷是 本地磁盘
卷的序列号是 A6E8-533E
D:\fgqjava 的目录
2019/05/09/周四 14:48 <DIR> .
2019/05/09/周四 14:48 <DIR> ..
2019/05/09/周四 14:48 110 Hello.java
2019/05/09/周四 14:43 0 Hello.java.bak
2 个文件 110 字节
2 个目录 217,989,181,440 可用字节
D:\fgqjava>javac Hello.java
D:\fgqjava>dir
驱动器 D 中的卷是 本地磁盘
卷的序列号是 A6E8-533E
D:\fgqjava 的目录
2019/05/09/周四 14:48 <DIR> .
2019/05/09/周四 14:48 <DIR> ..
2019/05/09/周四 14:48 417 Hello.class
2019/05/09/周四 14:48 110 Hello.java
2019/05/09/周四 14:43 0 Hello.java.bak
3 个文件 527 字节
2 个目录 217,989,181,440 可用字节
D:\fgqjava>java Hello
Hello World !
D:\fgqjava>del Hello.class
主要内容
Java程序的主要结构:针对第一个程序进行完整的解释。
1、在Java程序开发之中最基础的单元是类,所有的程序都必须封装在类中执行,
而类的基本定义语法如下:
[public] class 类名称 {}
在本程序之中定义的类名称为"Hello",而类的定义有两种形式:
"public class 类名称 {}":类名称必须与文件名称保持一致,
一个*.java文件里面只允许有一个public class定义;
"class 类名称 {}":类名称可以与文件名称不一致,
但是编译后的*.class名称是class定义的类名称,要求解析的是生成的*.class文件名称。
在一个*.java文件里面可以有多个class定义,并且编译之后会形成不同的*.class文件;
提示:关于以后源代码定义问题
在以后进行项目开发的时候,很少会出现一个*.java源代码里面定义有多个class的情况;
所以对于以后的开发而言,一个*.java文件里面就定义有一个public class 类就够了;
但在整个课程讲解里面如果要是定义了多个文件会产生混乱,
所以初期会在一个*.java文件中定义有多个类方便学习。
Java语言有着明确的命名要求,以后定义类名称的时候要求每一个单词的首字母必须大写,
例如:HelloWorld、TestDemo等才算是标准。
2、主方法:主方法是所有程序执行的起点,并且一定要定义在类之中,
Java的主方法定义:牢记于心
[public] class 类名称 {
public static void main(String [] args) {
程序的代码由此开始执行 .
}
}
args前面的[]可以放前面或者后面
Java的主方法名称定义非常的长,具体的解释在后续会有所说明。
在以后课程讲解的过程里面,主方法所在的类都统一将其称为"主类",
所有的主类都将采用public class 来定义。主方法就是程序的起点。
3、屏幕打印(系统输出)
可以直接在命令行方式下进行内容的显示,有两类语法形式:
输出之后追加换行:System.out.println(输出内容);
输出之后不追加换行:System.out.print(输出内容)、ln(line、换行);
对于输出语法在后面还会对其做进一步的说明。没有想象的那么简单。
下面的代码是解析二者区别的例子
"public class 类名称 {}":类名称必须与文件名称保持一致,
代码改为:
public class HelloWorld {
public static void main(String args[]) {
System.out.println("Hello World !");
}
}
保存文件,执行代码后,报错如下:
D:\fgqjava>javac Hello.java
Hello.java:1: 错误: 类 HelloWorld 是公共的, 应在名为 HelloWorld.java 的文件中声明
public class HelloWorld {
^
1 个错误
报错原因:使用public class 的类名称必须与文件名称保持一致,
此处的文件名称是Hello.java,类名称是HelloWorld
"class 类名称 {}":类名称可以与文件名称不一致,
但是编译后的*.class名称是class定义的类名称,要求解析的是生成的*.class文件名称。
代码改为:
class HelloWorld {
public static void main(String args[]) {
System.out.println("Hello World !");
}
}
编译成功,且出现了一个名为HelloWorld.class的文件
表明:class 的类名称可以与文件名称不一致
保存文件,执行代码:
D:\fgqjava>dir
驱动器 D 中的卷是 本地磁盘
卷的序列号是 A6E8-533E
D:\fgqjava 的目录
2019/05/09/周四 14:58 <DIR> .
2019/05/09/周四 14:58 <DIR> ..
2019/05/09/周四 15:10 108 Hello.java
2019/05/09/周四 15:02 115 Hello.java.bak
2 个文件 223 字节
2 个目录 217,989,181,440 可用字节
D:\fgqjava>javac Hello.java
D:\fgqjava>dir
驱动器 D 中的卷是 本地磁盘
卷的序列号是 A6E8-533E
D:\fgqjava 的目录
2019/05/09/周四 15:11 <DIR> .
2019/05/09/周四 15:11 <DIR> ..
2019/05/09/周四 15:10 108 Hello.java
2019/05/09/周四 15:02 115 Hello.java.bak
2019/05/09/周四 15:11 422 HelloWorld.class
3 个文件 645 字节
2 个目录 217,989,181,440 可用字节
编译后生成的class文件名与class定义的类名称一致
D:\fgqjava>java HelloWorld
Hello World !
D:\fgqjava>del *.class
---------------------------------------------------------------------------
"class 类名称 {}":在一个*.java文件里面可以有多个class定义,并且编译之后会形成不同的*.class文件;
代码改为:
class HelloWorld {
public static void main(String args[]) {
System.out.println("Hello World !");
}
}
class A{}
class B{}
class C{}
执行代码:
D:\fgqjava>dir
驱动器 D 中的卷是 本地磁盘
卷的序列号是 A6E8-533E
D:\fgqjava 的目录
2019/05/09/周四 15:28 <DIR> .
2019/05/09/周四 15:28 <DIR> ..
2019/05/09/周四 15:28 143 Hello.java
2019/05/09/周四 15:10 108 Hello.java.bak
2 个文件 251 字节
2 个目录 217,989,181,440 可用字节
D:\fgqjava>javac Hello.java
D:\fgqjava>dir
驱动器 D 中的卷是 本地磁盘
卷的序列号是 A6E8-533E
D:\fgqjava 的目录
2019/05/09/周四 15:29 <DIR> .
2019/05/09/周四 15:29 <DIR> ..
2019/05/09/周四 15:29 180 A.class
2019/05/09/周四 15:29 180 B.class
2019/05/09/周四 15:29 180 C.class
2019/05/09/周四 15:28 143 Hello.java
2019/05/09/周四 15:10 108 Hello.java.bak
2019/05/09/周四 15:29 422 HelloWorld.class
6 个文件 1,213 字节
2 个目录 217,989,181,440 可用字节
D:\fgqjava>del *.class
屏幕打印(系统输出)
代码改为:
public class Hello {
public static void main(String args[]) {
System.out.println("Hello World !");
System.out.println("Hello World !");
System.out.println("Hello World !");
}
}
命令行执行:
D:\fgqjava>dir
驱动器 D 中的卷是 本地磁盘
卷的序列号是 A6E8-533E
D:\fgqjava 的目录
2019/05/09/周四 16:28 <DIR> .
2019/05/09/周四 16:28 <DIR> ..
2019/05/09/周四 16:28 192 Hello.java
2019/05/09/周四 15:28 143 Hello.java.bak
2 个文件 335 字节
2 个目录 217,989,181,440 可用字节
D:\fgqjava>javac Hello.java
D:\fgqjava>java Hello
Hello World !
Hello World !
Hello World !
显示都有换行
---------------------------------------------------------------------------
代码改为:
第一个print没有换行,第二个println有换行
public class Hello {
public static void main(String args[]) {
System.out.print("Hello ");
System.out.println("World !");
System.out.println("Hello World !");
}
}
命令行执行:
D:\fgqjava>javac Hello.java
D:\fgqjava>java Hello
Hello World !
Hello World !
总结
语法总结:
主方法定义结构
[public] class 类名称 {
public static void main(String args []) {}
}
两个输出指令
System.out.println(输出内容);
system.out.print(输出内容);
网友评论