JAVA的基本语法
一、程序框架
- publicclassHelloWorld
- {
- publicstaticvoidmain(String[] args)
- {
- System.out.println("HelloWorld!");
- }
- }
publicclassHelloWorld
{
publicstaticvoidmain(String[] args)
{
System.out.println("HelloWorld!");
}
}
上面程序中包括 Java的一些基本特征:
· 类(class):上面程序定义了一个类 HelloWorld,该类的名字与 .java 文件的名字相同。
· 方法(method):类的内部定义了该类的一个方法 main,又叫做主函数,java程序的入口。
· 语句(statement):“打印”这个功能是由一个语句实现,即:System.out.println("HelloWorld!");
下面两点有关 Java的书写方式:
· Java中的语句要以;结尾。
· 用花括号{}来整合语句,形成程序块。通过程序块,我们可以知道程序的不同部分的范围,比如类从哪里开始,到哪里结束。
二、java的关键字
Java 的关键字对 java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量名、方法名、类名、包名。
Java 关键字有如下表所列,同学们先有个印象,具体含义我们将在后续的内容中详细讲解:
三、Java标识符
Java 语言中,对于变量,常量,函数,语句块也有名字,我们统统称之为 Java标识符.
标识符是用来给类、对象、方法、变量、接口和自定义数据类型命名的。
Java 标识符由数字,字母和下划线_
,美元符号$
组成。在 Java 中是区分大小写的,而且还要求首位不能是数字。最重要的是,Java关键字不能当作 Java标识符。
在 Java 中,还有一些约定俗成的命名规则,希望同学们在写代码的时候都能遵循这些规则:
1. 类和接口名。每个字的首字母大写,含有大小写。例如,MyClass,HelloWorld,Time等。
2. 方法名。首字符小写,其余的首字母大写,含大小写。尽量少用下划线。例如,myName,setTime等。这种命名方法叫做驼峰式命名。
3. 常量名。基本数据类型的常量名使用全部大写字母,字与字之间用下划线分隔。对象常量可大小混写。例如,SIZE_NAME。
4. 变量名。可大小写混写,首字符小写,字间分隔符用字的首字母大写。不用下划线,少用美元符号。给变量命名是尽量做到见名知义。
5. 命名过程中尽量做到见名知意,方便后期查看和修改代码,也方便其他人员的阅读。
四、变量
还记得我们在上面见到的 Java关键字嘛,在关键字里有一部分便是我们以后会经常用到的数据类型。通常我们在定义变量的时候,便会在变量名前面加上变量所对应的数据类型。
计算机语言通常需要在内存中存放数据,比如 C语言中的变量,Java也有类似的变量。Java和 C 语言都是静态类型的语言。在使用变量之前,要声明变量的类型。
变量(variable)占据一定的内存空间。不同类型的变量占据不同的大小。Java中的变量类型如下:
数据类型 | 默认值 | 存储格式 | 数据范围 |
short | 0 | 2个字节 | -32,768到32767 |
int | 0 | 4个字节 | -2,147,483,648到2,147,483,647 |
byte | 0 | 1个字节 | -128到127 |
char | /u0000 | 2个字节 | Unicode的字符范围 |
long | 0L或0l | 8个字节 | -9,223,372,036,854,775,808到9,223,372,036, 854,775,807 |
float | 0.0F或0.0f | 4个字节 | 32位IEEEE 754单精度范围 |
double | 0.0或0.0D(d) | 8个字节 | 64位IEEE 754双精度范围 |
boolean | false | 1位 | true(1)或false(0) |
在 Java 中,变量需要先声明(declare)才能使用。在声明中,我说明变量的类型,赋予变量以特别名字,以便在后面的程序中调用它。你可以在程序中的任意位置声明变量。比如:
- publicclassTest
- {
- publicstaticvoidmain(String[] args)
- {
- System.out.println("Define a variable a is ");
- int a; //声明变量a
- a = 5;
- System.out.println(a); // 打印一个整数a
- }
- }
上面 a 是变量名。可以在声明变量的同时,给变量赋值,比如 int a = 5;
变量
的概念实际上来自于面向过程的编程语言。在Java中,所谓的变量实际上是基本类型
(premitive type)
。我们将在类的讲解中更多深入。上面的程序还可以看到,Java中,可用//
引领注释。
说到注释,在我们写代码的时候,为了方便理解和阅读,往往会在相关的代码附近添加说明文字,也就是我们的注释。为了防止编译器在编译的时候将我们的注释也一并编译了,导致程序出错,说以在编译的时候,编译器会自动跳过我们编写的注释。
一般在 Java 里有三种注释:
· 行注释//
:只注释一行
· 段注释/*...*/
:注释若干行
· 文档注释/**...*/
:注释若干行,并写入 javadoc文档
五、自动类型转换和强制类型转换
- public class HelloWorld{
- public static void main(String[] args){
- double avg1=79.5;
- int rise=10;
- double avg2=avg1+rise;
- System.out.println("调整前的平均分:"+avg1);
- System.out.println("调整后的平均分:"+avg2);
- }
- }
public class HelloWorld{
public static void main(String[] args){
double avg1=79.5;
int rise=10;
double avg2=avg1+rise;
System.out.println("调整前的平均分:"+avg1);
System.out.println("调整后的平均分:"+avg2);
}
}
在上面的程序中,我们定义了三个变量:avg1、rise、avg2,其中avg1是double类型的变量,而rise是int类型的变量,两种类型不一样的变量加在了一起变成了什么类型了呢?没错,在运算过程中rise被自动转换成了double类型的变量。
在Java程序中,不同的数据类型有些时候需要进行相互转换。数据类型转换就分为了自动类型转换
和强制类型转换
自动类型转换是在程序执行过程中,不需要我们去特殊声明或者操作,变量由于需要而自动转换成了合适的数据类型。
自动类型转换需要满足下面的两个条件:
1. 目标类型与原类型兼容
2. 目标类型的字节数大于等于原类型
六、常量
有时候我们在写程序的时候,并不想因为某些操作而改变一些值,这时候我们就要用到常量这个概念了。所谓常量,我们也可以把它们理解为特殊的变量,只是它们在程序的运行过程中是不允许改变的。
一般常量有两种意思:
1. 第一种意思就是这个值本身,如一个整数9,我们就说是“一个int类型的常量9”。当然还有实数常量3.14,字符常量‘a’等等。
2. 另一种常量便表示不可变的变量,从语法上讲,就是我们在变量声明前加上了 final关键字。比如:final int i
=
0
;那么这个i的值便不能被修改