首页 > 代码库 > Java基本语法
Java基本语法
Java 基本语法
实验介绍
在本章我们就来学习一下 Java 基本语法里的关键字、标识符、注释、变量和常量的相关知识。
一、开发第一个 Java 程序
还记得上一节课的 Hello World 吗?这一节课,我们还是先来看一看这一段代码。
public class HelloWorld
{
public static void main(String[] args)
{
System.out.println("Hello World!");
}
}
上面程序中包括 Java 的一些基本特征:
-
类(class):上面程序定义了一个类 HelloWorld,该类的名字与 .java 文件的名字相同。
-
方法(method):类的内部定义了该类的一个方法 ,其中main 被叫做主函数,是java程序的入口。
-
语句(statement):“打印”这个功能是由一个语句实现,即:
System.out.println("Hello World!");
下面两点有关 Java 的书写方式:
-
Java 中的语句要以
;
结尾 。 -
用花括号
{}
来整合语句,形成程序块。通过程序块,我们可以知道程序的不同部分的范围,比如类从哪里开始,到哪里结束。
二、Java 关键字
Java 的关键字对 java 的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量名、方法名、类名、包名。
Java 关键字有如下表所列,同学们先有个印象,具体含义我们将在后续的内容中详细讲解:
三、Java 标识符
Java 语言中,对于变量,常量,函数,语句块也有名字,我们统统称之为 Java 标识符.
标识符是用来给类、对象、方法、变量、接口和自定义数据类型命名的。
Java 标识符由数字,字母和下划线_
,美元符号$
组成。在 Java 中是区分大小写的,而且还要求首位不能是数字。最重要的是,Java 关键字不能当作 Java 标识符。 下面的标识符是合法的:
shiYanlou, Shi_Yanlou, $money, _Java_learning, OK, _3th, _3_
下面的标识符是非法的:
#shiyan,25years,class,&name,if
在 Java 中,还有一些约定俗成的命名规则,希望同学们在写代码的时候都能遵循这些规则:
-
类和接口名。每个字的首字母大写,含有大小写。例如,MyClass,HelloWorld,Time 等。
-
方法名。首字符小写,其余的首字母大写,含大小写。尽量少用下划线。例如,myName,setTime 等。这种命名方法叫做驼峰式命名。
-
常量名。基本数据类型的常量名使用全部大写字母,字与字之间用下划线分隔。对象常量可大小混写。例如,SIZE_NAME。
-
变量名。可大小写混写,首字符小写,字间分隔符用字的首字母大写。不用下划线,少用美元符号。给变量命名是尽量做到见名知意。
-
命名过程中尽量做到见名知意,方便后期查看和修改代码,也方便其他人员的阅读。
四、变量
还记得我们在上面见到的 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)才能使用。在声明中,说明变量的类型,赋予变量以特别名字,以便在后面的程序中调用它。你可以在程序中的任意位置声明变量。 比如:
public class Test
{
public static void main(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);
}
}
在上面的程序中,我们定义了三个变量:avg1、rise、avg2,其中avg1是double类型的变量,而rise是int类型的变量,两种类型不一样的变量加在了一起变成了什么类型了呢?没错,在运算过程中rise被自动转换成了double类型的变量。
在Java程序中,不同的数据类型有些时候需要进行相互转换。数据类型转换就分为了自动类型转换
和强制类型转换
自动类型转换是在程序执行过程中,不需要我们去特殊声明或者操作,变量由于需要而自动转换成了合适的数据类型。
自动类型转换需要满足下面的两个条件:
-
目标类型与原类型兼容
-
目标类型的字节数大于或等于原类型字节数
六、常量
有时候我们在写程序的时候,并不想因为某些操作而改变一些值,这时候我们就要用到常量这个概念了。所谓常量,我们也可以把它们理解为特殊的变量,只是它们在程序的运行过程中是不允许改变的。
一般常量有两种意思:
-
第一种意思就是这个值本身,如一个整数9,我们就说是“一个int类型的常量9”。当然还有实数常量3.14,字符常量‘a’等等。
-
另一种常量便表示不可变的变量,就是我们在变量声明前加上了 final 关键字。比如:
final int i=0
;那么这个i的值便不能被修改。
Java基本语法