首页 > 代码库 > 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 中,还有一些约定俗成的命名规则,希望同学们在写代码的时候都能遵循这些规则:

  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)才能使用。在声明中,说明变量的类型,赋予变量以特别名字,以便在后面的程序中调用它。你可以在程序中的任意位置声明变量。 比如:

    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程序中,不同的数据类型有些时候需要进行相互转换。数据类型转换就分为了自动类型转换强制类型转换

  自动类型转换是在程序执行过程中,不需要我们去特殊声明或者操作,变量由于需要而自动转换成了合适的数据类型。

自动类型转换需要满足下面的两个条件:

  1. 目标类型与原类型兼容

  2. 目标类型的字节数大于或等于原类型字节数

六、常量

  有时候我们在写程序的时候,并不想因为某些操作而改变一些值,这时候我们就要用到常量这个概念了。所谓常量,我们也可以把它们理解为特殊的变量,只是它们在程序的运行过程中是不允许改变的。

一般常量有两种意思:

  1. 第一种意思就是这个值本身,如一个整数9,我们就说是“一个int类型的常量9”。当然还有实数常量3.14,字符常量‘a’等等。

  2. 另一种常量便表示不可变的变量,就是我们在变量声明前加上了 final 关键字。比如:final int i=0;那么这个i的值便不能被修改。

Java基本语法