CodeGym/Java 博客/China/Java 语法:编程语言简要介绍
作者
Vasyl Malik
Senior Java Developer at CodeGym

Java 语法:编程语言简要介绍

已在 China 群组中发布
个会员

什么是 Java 语法?

Java 语法是语言的基础,这是编写编译器和计算机“理解”的程序的所有主要规则、命令、结构。每种编程语言都有其语法和人类语言。 本文重点介绍 Java 编程语言的基本语法,适用于新手开发人员或了解其他编程语言的人员。初学者可能不清楚某些知识点。如果是这样,最好跳过这些知识点并专注于研究示例。与学习其他所有知识一样,最好循环学习编程语言,逐渐便对某些概念有更深入的理解。每个 Java 程序都是一堆的对象,它们通过数据(变量)和行为(函数或方法)相互关联。 Java 程序也是一个类或几个类。对象是类的实例。你可以将类理解为模型,例如,饼干模子和像饼干之类的物体。或者类为抽象的“Java 程序员”,对象为“Java 程序员约翰”或“Java 程序员艾薇”。

Java 中的对象

Java 中的对象具有状态和行为。 示例:一只猫有这些状态:它的名字是富尔,颜色是红色,所有者是约翰;猫也有行为,现在富尔正在睡觉。他还可能发出咕噜声、走路等等。对象是类的实例。

Java 中的类

是对象的模型、模板或蓝图。类描述了其类型的对象所支持的行为和状态。例如,Cat 类有它的名字、颜色、所有者;猫也有行为,例如吃东西、发出咕噜声、走路、睡觉等行为。

Java 中的方法

方法用于描述逻辑、操纵数据和执行所有操作。每个方法都定义了行为。类可以包含许多方法。例如,我们可以为 Cat 类(要睡觉)编写方法 sleep(),或者编写 purr() 发出咕噜声。

Java 中的实例变量

每个对象都有一组唯一的实例变量。对象状态通常由分配给这些实例变量的值生成。例如猫的名字或年龄可以是变量。我们将从最简单的 Java 程序开始。通过这个例子,我们将了解 Java 语法的基本概念,然后再深入研究。

简单的 Java 程序你好,Java!

下面是一个简单的 Java 程序:
class HelloJava {
   public static void main(String[] args) {
       System.out.println("Hello, Java!");
   }
}
}该程序会输出字符串“你好,Java!” 到控制台。 我建议安装 JDK 和 IntelliJ IDEA 并尝试编写你在上面看到的代码。或者第一次尝试找一个在线 IDE 来做同样的事情。 现在让我们逐行研究这个程序,但省略一些初学者不需要的细节。
class HelloJava
Java 中的每个程序都是一个类,而更常见的是每个程序有多个类。class HelloJava 这一行的意思是我们在这里新建了一个类,它的名字是 HelloJava。如上面的定义,类是一种模板或蓝图,它描述了类对象的行为和状态。对于新手程序员来说可能很难,稍后你将了解这个概念。现在,HelloJava 类只是你的程序的开始。 你可能已经注意到同一行和整个文本中的花括号 {。一对花括号 {} 表示一个块,即一组被视为一个单元的编程语句。其中 { 表示单元的开头,} 表示单元结尾。块可以相互嵌套,也可以是顺序排列。 上述程序中有两个嵌套块。外部嵌套块包含类 Hello 的主体。内部嵌套块包含 main() 方法的主体。
public static void main (String args []) {
这里是 main 方法的开始。方法是一种行为,或允许你在程序中执行操作的命令序列。例如 2 个数字相乘或输出一个字符串。换句话说,方法就是函数。在其他一些编程语言中,方法通常被称为“函数”。方法,就像 Java 程序的所有元素一样,位于类中。每个类可以有一个、多个方法,也可以没有方法。 Java 语法:编程语言简要介绍 - 1public 是一个访问修饰符。标记 public 修饰符的变量、方法或类可从程序中的任意位置访问。Java 中有四个访问修饰符:public、private、protected 和 default(空)。我们稍后再谈。第一步,最好将所有方法设为 public。 void 是方法的返回类型。void 表示它不返回任何值。 main 代表程序的起点。这是方法的名称。 String[] argsmain 方法参数。现在知道几乎每个 Java 程序都有 main 方法就够了,它启动程序并声明诸如 public static void main(String[] args) Static 方法等是用于类的方法。在声明中使用 static 关键字的方法只能直接使用局部变量和静态变量。
System.out.println("Hello, Java!");
这一行执行 out 对象的 println 方法。out 对象在 OutputStream 类中声明,并在 System 类中静态初始化。然而,对于完全新手来说,这有点复杂。初学者只要知道这一行输出“Hello, Java!”到控制台就够了。 因此,如果你在 IDE 中运行该程序,你将在控制台中获得输出: Java 语法:编程语言简要介绍 - 3

Java 基本语法规则

使用 Java 编程时需要遵循一些主要的语法规则:
  • 文件名必须与类名相同;
  • 大多数情况下,每个类都在一个带有 .java 扩展名的单独文件中。类文件通常分组到文件夹中。这些文件夹称为包;
  • 字符区分大小写。String 不等于 string
  • Java 程序处理起始总是从 main 方法开始:public static void main (String [] args)main () 方法是任何 Java 程序的必要组成部分;
  • 方法(过程、函数)是一系列命令。方法定义了对象的行为;
  • 程序文件中方法的顺序没有要求;
  • 请记住,类名的第一个字母是大写的。如果你使用多个词,每个词的首字母使用大写(“MyFirstJavaClass”);
  • Java 语法中所有方法的名称都以小写字母开头。使用多个词时,后面词的首字母大写(“public void myFirstMethodName ()”);
  • 文件以类名和 .java 扩展名保存(“MyFirstJavaClass.java”);
  • 在 Java 语法中,分隔符“{...}”表示一个代码块和一个新的代码区域;
  • 每个代码语句都必须以分号结尾。
Java 变量和数据类型变量是用于存储数据的特殊实体。任何数据。在 Java 中,所有数据都存储在变量中。你可能会说变量是一个保留位置或一个放置变量的盒子。 每个变量都有它的数据类型、名称(标识符)和值。数据类型可以是原始类型、非原始类型或引用类型。 原始数据类型可以是:
  • 整数:byte、short、int 和 long
  • 小数:float 和 double
  • 逻辑值:boolean
  • 符号值(用于表示字母和数字):char

Java 变量示例:

int s;
s = 5;
char myChar = ‘a’;
在这段代码中,我们创建了一个整数变量 s(一个空容器),然后将值 5 放入其中。 名为 myChar 的变量与此相同。我们使用 char 数据类型进行创建并将其定义为字母 a。在这种情况下,我们创建了一个变量并同时为其赋值。 Java 语法允许你这样做。引用类型是一些保留对值或其他对象的引用的对象。该类型还可以包含对 null 的引用。null 是一个特殊值,表示缺少值。 引用类型包括字符串、数组和你需要的每个类。如果你有一个 Violin 类,你可以创建该类的变量。 Java 引用类型变量示例:
String s = “my words”;
Violin myViolin;
稍后你将了解更多关于它们的信息。请记住,非原始类型的变量从大写字母开始,而原始类型的变量从小写字母开始。 示例:
int i = 25;
String s =Hello, Java!;

Java 数组

数组是存储多个相同类型变量的对象。但是,数组本身是堆上的对象。我们将在接下来的章节中研究如何声明、构造和初始化。 数组示例:
int[] myArray = {1,7,5};
这里我们得到一个包含三个整数(1、7 和 5)的数组

Java 枚举

除了原始数据类型之外,Java 还具有 enum 即枚举等类型。枚举表示逻辑相关常量的集合。枚举是使用 enum 运算符声明的,后跟枚举的名称。接着是逗号分隔的枚举元素列表:
enum DayOfWeek {
     MONDAY,
     TUESDAY,
     WEDNESDAY,
     THURSDAY,
     FRIDAY,
     SATURDAY,
     SUNDAY
}
枚举实际上代表了一种新类型,因此我们可以定义该类型的变量并进行使用。下面是一个使用枚举的示例。

Java 枚举示例

public class MyNum{
    public static void main(String[] args) {

        Day myDay = DayOfWeek.FRIDAY;
        System.out.println(myDay);	//print a day from the enum
}
}
enum DayOfWeek{

    MONDAY,
    TUESDAY,
    WEDNESDAY,
    THURSDAY,
    FRIDAY,
    SATURDAY,
    SUNDAY
}
如果你运行该程序,则会在控制台中打印 FRIDAY。你可以将 Enum 和 MyNum 类代码放在一个文件中,但最好创建两个单独的文件:一个放 MyNum 类,另一个放 Day enum。IntelliJ IDEA 允许你在创建时选择 enum。 Java 语法:编程语言简要介绍 - 4

在 Java 中声明变量

实际上,我们已经在上面声明了一些变量,甚至进行了标识。声明是为某种类型的变量分配内存并命名它的过程。像如下所示:
int i;
boolean boo;
我们还可以声明使用赋值运算符 (=) 来初始化变量。这表示我们将一个特定的值放入分配的内存中。我们可以在声明时赋值,也可以稍后赋值。

声明变量示例

String str;
int i = 5;
Str = “here is my string”;
如果你声明变量但未初始化,该变量都会获得默认值。对于 int,此值为 0,对于 String 或任何其他引用类型,它是一个特殊的 null 标识符。

Java 标识符

标识符只是 Java 组件(类、变量和方法)的名称。所有 Java 组件都应该有名称。
Class Violin {
int age;
String masterName;
}
Violin 是类标识符。agemasterName 是变量标识符。下面是一些 Java 标识符规则:
  • 所有标识符都以拉丁字母(A 到 Z 或 a 到 z)、货币字符 ($) 或下划线 (_) 开头。
  • 在第一个字符之后,标识符可以使用任意字符组合。
  • Java 关键字不能是标识符(稍后你会了解关键字)。
  • 标识符区分大小写。

标识符示例

合法标识符:java、$mySalary、_something 非法标识符:1stPart、-one

Java 修饰符

修饰符是 Java 语言的特殊词,可用于修改元素(类、方法、变量)。Java 有两类修饰符:访问修饰符和非访问修饰符。

访问修饰符示例

Java 有 4 个访问修饰符:
  • public。public 元素可从类、类外、包的内外进行访问。
  • 具有默认(空)修饰符的元素只能在包内访问
  • protected 修饰符可以通过子类在包内外访问
  • private 元素仅在它声明的类中可用。

非访问修饰符示例

非访问修饰符为 7 个。
  • static
  • final
  • abstract
  • synchronized
  • transient
  • volatile
  • native

Java 关键字

Java 关键字是在 Java 中用作代码键的特殊词。这些关键字也被称为保留字:你不能将它们用作变量、方法、类等的标识符。关键字如下所示:
  • abstract:声明抽象类的关键字。
  • boolean:Java boolean 关键字用于将变量声明为布尔类型。此列变量只有真和假。
  • break:使用 Java break 关键字来中断循环或 switch 语句。
  • byte:用于声明一个 byte 整数变量的 Java byte 关键字。
  • case:用于与 switch 语句一起标记文本块。
  • catch:用于在 try 块之后捕获异常。
  • char:字符变量的 Java char 关键字。它可以保存无符号的 16 位 Unicode 字符。
  • class:用于声明类的 Java class 关键字。
  • continue:继续循环的 Java 关键字。
  • default:Java default 关键字,用于指定 switch 语句中的默认代码块。
  • do:用于 do-while 循环构造。
  • double:Java double 关键字用于声明数字变量。它可以保存 8 byte 的浮点数。
  • else:你可以在 else-if 条件语句中使用它。
  • enum:用于定义一组固定的常量。
  • extends:Java extends 关键字表示一个类继承了另一个类(是另一个类的子类)。
  • final:关键字表示变量是常量。
  • finally:标记无论是否处理异常都将执行的代码块。
  • float:保存 4 字节浮点数的变量。
  • for:启动 for 循环的关键字。该关键字用于在某些条件为真时重复执行一组指令。
  • if:检查条件的关键字。如果条件为真,它将执行代码块。
  • implements:实现接口的关键字。
  • import:Java import 关键字用于导入包、类或接口。
  • instanceof:检查对象是否是特定类或接口的实例。
  • int:可以保存 4 字节有符号整数的变量。
  • interface:Java interface 关键字用于声明接口。
  • long:可以保存 8 字节有符号整数的变量。
  • native:指定是否使用 JNI(Java 本机接口)在本机代码中实现方法。
  • new:用于创建新对象的 Java new 关键字。
  • package:为 Java 类的文件声明 Java 包(文件夹)。
  • private:表示方法或变量可能仅在其声明的类中可见的访问修饰符。
  • protected:表示可以通过子类访问包内外的方法或变量访问修饰符。
  • public:表示可以随地访问元素的访问修饰符。
  • return:返回方法执行的结果。
  • short:可以保存 2 字节有符号整数的变量。
  • static:表示变量或方法是类,而不是对象、方法。
  • strictfp:限制浮点计算。
  • super:引用父类对象。
  • switch:选择要执行的代码块(或其中许多)。
  • synchronized:非访问修饰符。它指定方法一次只能由一个线程访问。
  • this:引用方法或构造方法中的当前对象。
  • throw:用于显式抛出异常。
  • throws:声明异常。
  • transient:无法序列化瞬态数据片段。
  • try:启动一个将检查异常的代码块。
  • void:指定方法不返回值。
  • volatile:表示变量可以异步更改。
  • while:开始 while 循环。当条件为真时,多次迭代程序的一部分。

Java 中的注释

Java 支持单行和多行注释。任何注释中可用的所有字符,Java 编译器会将其忽略。开发人员使用注释来解释代码或回忆某些事情。 注释示例:
//single-line comment
/*here we have a multi-line comment. As you can see it uses slash and asterisks from both sides of it.*/
public class HelloJava {
   /* this program was created to demonstrate comments in Java. This one is a multi-line comment.
   You can use such comments anywhere in your programs*/
   public static void main(String[] args) {
       //here is a single-line comment
       String j = "Java"; //This is my string
       int a = 15; //here I have an integer
       System.out.println("Hello, " + j + " " + a + "!");
       int[] myArray = {1,2,5};
       System.out.println(myArray.length);
   }
}
Java 语法:编程语言简要介绍 - 4

Java 中的字面量

Java 中的字面量是分配给变量的一些常量值。字面量可以是数字或文本,也可以是其他表示值的东西。
  • 整数字面量
  • 浮点字面量
  • 字符字面量
  • 字符串字面量
  • 布尔字面量

Java 字面量示例

int i = 100; //100 is an integral  literal
double d = 10.2;//10.2 is a floating point literal
char c = ‘b’; //b is a char literal
String myString =Hello!;
boolean bool = true;
注意:null 也是字面量。

Java 的基本运算符

运算符有不同的类型: 算术
  • +(数字加法和字符串串联)
  • –(减法)
  • *(乘法)
  • /(除法)
  • %(模数或余数)
比较
  • <(小于)
  • <=(小于或等于)
  • >(大于)
  • >=(大于或等于)
  • ==(等于)
  • !=(不等于)
逻辑
  • &&(与)
  • ||(或)
  • !(非)
  • ^(异或)
我们已经了解了数据类型、变量、方法和运算符。现在举一个简单的代码示例,但比第一个 Java 程序要复杂一些。 现在创建名为 NumberOperations 的类
public class NumbersOperations {
   int a;
   int b;
   public static int add(int a,int b){
       return a+b;
   }
   public static int sub (int a, int b){
       return a-b;
   }
   public static double div (double a, int b){
       return a/b;
   }
}
在这里,我们创建了一个有三个方法并操纵 2 个数字的类。你可以尝试编写第 4 个方法 int mul (int a, int b) 在此程序中将 2 个数字相乘。 我们再创建一个类来演示 NumberOperations 工作:
public class NumberOperationsDemo {
   public static void main(String[] args) {
       int c = NumbersOperations.add(4,5);
       System.out.println(c);
       double d = NumbersOperations.div(1,2);
       System.out.println(d);
   }
}
如果你运行 NumberOperationsDemo,将得到下列输出:
9 0.5

结论

上面的内容只是 Java 语言的基础知识,许多事情可能会令人困惑。需要大量编程才能掌握知识。这是你学习这门语言的唯一方法 — 通过练习。现在开始编码,尝试完成 CodeGym 实践 Java 课程的第一个目标。祝你 Java 学习顺利!
评论
  • 受欢迎
你必须先登录才能发表评论
此页面还没有任何评论