一、第一个JAVA程序
public class lianxi
{
public static void main (String args[])
{
System.out.println("Hello World!");
}
}
运行的结果如下:
二、JAVA程序要素概览
JAVA程序的框架
1.大括号、段及主体
将类名称定出之后,就可以开始编写类的内容。左大括号“{”为类的主体开始标记,而整个类的主体至右大括号“}”结束。每个命令语句结束时,都必须以分号“;”做结尾。当某个命令语句不止一行时,必须以一对大括号“{}”将这些语句包括起来,形成一个程序段(segment)或是块(block)
2.程序运行的起始点——main()方法
JAVA程序是由一个或一个以上的类组合而成,程序起始的主体也是被包含在类之中。这个起始的地方称为main(),用左右大括号将属于main()段的内容包围起来,称之为“方法”。
光由文字表达不是很好理解,所以由以下例子来帮助理解:
public class lianxi2
{
public static void main(String args[])
{
int x;
for (x =1; x <4; x++) {
System.out.println(x +"*" + x +"=" + x * x);
}
}
}
运行结果:
在上面的程序中,可以看到main()方法的主体以左右大括号“{}”包围起来;for循环中的语句不止一行,所以使用大括号“{}”将属于for循环的段内容包围起来;类lianxi2的内容又被第一个左大括号“{”和最后一个右大括号“}”包围,这个块属于public类lianxi2所有。此外应注意每个语句结束时,都是以分号“;”作为结尾。
标识符
JAVA中的包(package)、类、方法、参数和变量的名称,可由任意顺序的大小写字母、数字、下划线(_)和美元符号($)等组成,但这些名称的标识符不能以数字开头,也不能是JAVA保留的关键字。
下面是合法的标识符:
yourname your_name _yourname $yourname
下面是非法的标识符:
class 6num23 abc@sina x+y
非法的原因分别是:class是JAVA的保留关键字;6num23的首字母为数字;abc@sina中不能包含@等特殊字符;x+y不能包含运算符。
注意:标识符的命名规则是强制性的,不然编译时会报错。
关键字的含义
abstract:表明类或者成员方法具有抽象属性
assert:断言,用来进行程序调试
boolean:基本数据类型之一,声明布尔类型的关键字
break:提前跳出一个块
byte:基本数据类型之一,字节类型
case:用在switch语句之中,表示其中的一个分支
catch:用在异常处理中,用来捕捉异常
char:基本数据类型之一,字符类型
class:声明一个类
const:保留关键字,没有具体含义
continue:回到一个块的开始处
default:默认,例如,用在switch语句中,表明一个默认的分支
do:用在do-while循环结构中
double:基本数据类型之一,双精度浮点数类型
else:用在条件语句中,表明当条件不成立时的分支
enum:枚举
extends:表明一个类型是另一个类型的子类型,这里常见的类型有类和接口
final:用来说明最终属性,表明一个类不能派生出子类,或者成员方法不能被覆盖,或者成员域的值不能被改变,用来定义常量
finally:用于处理异常情况,用来声明一个基本肯定会被执行到的语句块
float:基本数据类型之一,单精度浮点数类型
for:一种循环结构的引导词
goto:保留关键字,没有具体含义
if:条件语句的引导词
implements:表明一个类实现了给定的接口
import:表明要访问指定的类或包
instanceof:用来测试一个对象是否是指定类型的实例对象
int:基本数据类型之一,整数类型
interface:接口
long:基本数据类型之一,长整数类型
native:用来声明一个方法是由与计算机相关的语言(如C/C++/FORTRAN语言)实现的
new:用来创建新实例对象
package:包
private:一种访问控制方式:私用模式
protected:一种访问控制方式:保护模式
public:一种访问控制方式:共用模式
return:从成员方法中返回数据
short:基本数据类型之一,短整数类型
static:表明具有静态属性
strictfp:用来声明FP_strict(单精度或双精度浮点数)
super:表明当前对象的父类型的引用或者父类型的构造方法
switch:分支语句结构的引导词
synchronized:表明一段代码需要同步执行
this:指向当前实例对象的引用
throw:抛出一个异常
throws:声明在当前定义的成员方法中所有需要抛出的异常
transient:声明不用序列化的成员域
try:尝试一个可能抛出异常的程序块
void:声明当前成员方法没有返回值
volatile:表明两个或者多个变量必须同步地发生变化
while:用在循环结构中
注释
单行注释:在注释内容前加双斜线(//),JAVA编译器会忽略这部分信息。
int num; //定义一个整数
多行注释:在注释内容的前面以单斜线加一个星形标记(/*)开头,并在注释内容末尾以一个星形标记加单斜线(*/)结束。当注释内容超过一行时,一般可采用这种方法。
/*
int c=10;
int x=5;
*/
变量
1.变量的声明
int num; //声明num为整数变量
int num1,num2,num3; //声明三个变量num1,num2,num3,用逗号隔开
int num1;int num2;int num3; //声明三个变量,用分号隔开
2.变量名称
可根据个人喜好来决定变量的名称,但是这些变量的名称不能使用JAVA的关键字。通常在符合变量命名规则的前提下,尽量对变量做到“见名知意”,如:num表示数字,length表示长度等。
3.变量的赋值
在声明变量时赋值
int num=2; //声明变量时直接赋值
声明后再赋值
int num1,num2;
char ch;
num1=3;
num2=5;
ch='z';
在程序的任何位置声明并赋值
int num;
......
unm=1;
总结
由于JAVA的数据类型与之前学过的C语言的数据类型相同,故没有记下JAVA的数据类型。虽然该部分的知识很基础且很冗杂,但是从之前学习语言的经验来看,基础知识特别重要。坚固的基础知识可以帮助加快你在后续的编程速度以及发现错误的速度,减少语法错误率。打牢坚实的基础会让你在后续的学习中更加得心应手。