什么是 Java 语法?
Java语法(Java Syntax)是语言的基础,是编写编译器和计算机“理解”的程序的所有基本规则、命令和构造。每种编程语言都有自己的语法,就像我们用来相互交流的自然语言一样。本文涵盖了 Java 编程语言的基本语法,面向学习 Java 的人、有抱负的开发人员或了解其他编程语言的人。有些方面对于初学者来说可能不太清楚。如果您遇到这种情况,我们建议您跳过困难的部分并专注于示例。与其他一切一样,最好周期性地学习编程语言,逐渐加深对某些概念的理解。每个 Java 程序本质上都是对象的集合,其中包括数据(变量)和行为(函数或方法)。另外,Java程序是一个类或几个类。对象是类的实例。类是一个模型,例如饼干模具,对象是饼干。或者,比方说,类是抽象的“Java 程序员”,对象是“Java 程序员 Ivan”或“Java 程序员 Alice”。Java 中的对象
Java 中的对象具有状态和行为。这是一个例子。这只猫有一笔财富:他的名字是Barsik,他的颜色是红色,他的主人是Ivan。猫也有行为:现在 Barsik 正在睡觉。他还可以发出呼噜声、行走等。对象是类的实例。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!");
}
}
该程序在控制台中显示字符串“Hello, Java!”。我建议您安装 JDK 和 IntelliJ IDEA 并尝试编写此示例中的代码。或者第一次,直接找一个在线IDE来做就可以了。现在我们将逐行分析该程序,但我们将省略一些初学者不需要的细节。
class HelloJava
每个 Java 程序都是一个类,或者更常见的是一组类。class HelloJava行意味着我们正在创建一个名为HelloJava的新类。如上所述,类是一种模板或蓝图;它描述了类中对象的行为和状态。这对于新程序员来说可能很困难,但不用担心:稍后您会学到这个概念。现在,HelloJava类只是程序的开始。您可能已经注意到同一行和整个文本中的大括号{ 。一对大括号{}表示一个块,一组被视为单个单元的可编程语句。其中{表示块的开始,}表示块的结束。块可以相互嵌套,也可以是连续的。上面的程序中有两个嵌套块。外层包含Hello类的主体。内部块包含main()方法的主体。
public static void main (String args []) {
这是 main方法 的开始。方法是允许在程序中执行操作的行为或命令序列。例如,将两个数字相乘或打印一个字符串。换句话说,方法就是函数。在其他一些编程语言中,方法通常称为“函数”。与 Java 程序的所有元素一样,方法位于类内部。每个类可以有一个、多个方法,或者根本没有方法。 public——访问修饰符。可以从程序中的任何位置访问标有public修饰符的变量、方法或类。在 Java 中,有四种:公共、私有、受保护和默认- 默认情况下(空)。我们稍后再讨论它们。首先,最好将所有方法公开。 void是方法的返回类型。void意味着它不返回任何值。 main代表程序的起点。这是方法的名称。 String[] args是该方法的主要参数。现在,知道几乎每个 Java 程序都有一个main方法就足够了:它运行程序并声明为public static void main(String[] args)。 静态方法(static)被设计为与类一起使用。在声明中 使用static关键字的方法只能直接操作局部变量和静态变量。
System.out.println("Hello, Java!");
形式上,该行执行out对象的println方法。out对象在OutputStream类中声明,并在System类中静态初始化。然而,对于初学者来说,这似乎有点困难。如果您刚刚学习,知道这一行打印“Hello, Java!”就足够了。在控制台中。因此,如果您在开发环境 (IDE) 中运行该程序,您将得到如下输出:
基本 Java 语法规则
使用 Java 编程时需要遵循一些基本语法规则:- 文件名必须与类名匹配;
- 大多数情况下,每个类都位于一个扩展名为.java的单独文件中。类文件通常分组到文件夹中。这些文件夹称为包;
- 字符区分大小写。字符串不等于字符串;
- 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
- 小数:浮点数和双精度数
- 布尔值:布尔值
- 字符值(代表字母和数字):char
Java 中的变量示例:
int s;
s = 5;
char myChar = ‘a’;
在这段代码中,我们创建了一个整型变量s(一个空容器),然后将值 5 放入其中。与myChar变量相同的故事。我们使用char数据类型创建它并将其定义为字母a。在本例中,我们创建了一个变量并同时为其赋值。Java 语法允许您这样做。引用类型是一些包含对值或其他对象的引用的对象。它们还可能包含对 null 的引用。Null 是一个特殊的值,意味着没有值。引用类型包括String、Arrays和任何您想要的Class 。如果您有小提琴类(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 枚举)
除了原始数据类型之外,Java 还有一种称为 enum 或枚举的类型。枚举是逻辑上相关的常量的集合。枚举是使用 enum 语句后跟枚举名称来声明的。然后是枚举元素列表,以逗号分隔:enum DayOfWeek {
MONDAY,
TUESDAY,
WEDNESDAY,
THURSDAY,
FRIDAY,
SATURDAY,
SUNDAY
}
枚举实际上是一种新类型,因此我们可以定义该类型的变量并使用它。这是使用枚举的示例。
Java 中枚举的示例(Java Enum)
public class MyNum{
public static void main(String[] args) {
Day myDay = DayOfWeek.FRIDAY;
System.out.println(myDay); //напечатать день из enum
}
}
enum DayOfWeek{
MONDAY,
TUESDAY,
WEDNESDAY,
THURSDAY,
FRIDAY,
SATURDAY,
SUNDAY
}
如果运行该程序,控制台将显示 FRIDAY。您可以将Enum和MyNum类的代码放在一个文件中,但最好创建两个单独的文件:一个用于MyNum类,另一个用于列出一周中的日子 (Day)。IntelliJ IDEA 允许您在创建枚举时选择它。
在 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;
}
小提琴- 类别标识符。 Age和masterName是变量标识符。以下是一些 Java 标识符规则:
- 所有标识符均以拉丁字母(A 到 Z 或 a 到 z)、货币符号 ($) 或下划线 (_) 开头;
- 在第一个字符之后,标识符可以具有任意字符组合;
- Java 关键字不能是标识符(稍后您将了解关键字);
- 标识符区分大小写。
标识符示例
有效标识符:java、$mySalary、_something 无效标识符:1stPart、-oneJava 中的修饰符
修饰符是 Java 语言中的特殊单词,可用于更改元素(类、方法、变量)。Java 中有两类修饰符:访问修饰符和其他修饰符。访问修饰符的示例
Java中有四种访问修饰符:- 民众_ 打开元素。可以从类内、类外、包内、包外访问;
- 带有default修饰符——default(空)——的元素只能在包内访问;
- protected修饰符——可以通过子类在包内部和外部访问;
- private - 该元素只能在它声明的类中访问。
其他修饰符的示例
还有其他七个修饰符(用于类、字段、方法、接口等):- 静止的
- 最终的
- 抽象的
- 同步的
- 短暂的
- 易挥发的
- 本国的
Java关键字
Java 关键字是 Java 中使用的特殊单词,充当代码的关键字。这些也称为保留字:它们不能用于变量、方法、类等的标识符。它们是:- Abstract:用于声明抽象类的关键字;
- boolean :Java 中需要使用boolean关键字来声明布尔类型的变量。这些变量只能是 true 或 false;
- break :Java中的break关键字用于中断循环或switch语句;
- 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字节浮点数;
- else:可用于条件 else-if 语句;
- enum:用于定义一组固定的常量;
- extends :Java中的extends关键字用于表示一个类扩展了另一个类(是另一个类的子类);
- Final:关键字,表示该变量是常量;
- finally:标记无论是否处理异常都将执行的代码块;
- float:包含 4 字节浮点数的变量;
- for: ключевое слово для запуска цикла for. Он используется для многократного выполнения набора инструкций, пока выполняются некоторые условия;
- if: ключевое слово для проверки условия. Он выполняет блок, если condition истинно;
- implements: ключевое слово для реализации интерфейса;
- import: ключевое слово import в Java используется для импорта пакета, класса or интерфейса;
- instanceof: проверяет, является ли an object экземпляром определенного класса or интерфейса;
- int: переменная, которая может содержать 4-byteовое целое число со знаком;
- interface: ключевое слово interface в Java используется для объявления интерфейса;
- long: переменная, которая может содержать 8-byteовое целое число со знаком;
- native: указывает, что метод реализован в нативном codeе с использованием JNI (Java Native Interface);
- new: ключевое слово new используется в Java для создания новых an objectов;
- package: объявляет пакет (папку) Java для файлов классов Java;
- private: модификатор доступа указывает, что метод or переменная могут быть видны только в классе, в котором они объявлены;
- protected: модификатор доступа, который указывает, что доступ к методу or переменной можно получить внутри и снаружи пакета через дочерний класс;
- public: модификатор доступа указывает, что элемент доступен в любом месте;
- return: возвращает результат выполнения метода;
- short: переменная, которая может содержать 2-byteовое целое число со знаком;
- static: указывает, что переменная or метод является классом, а не an objectом, методом;
- strictfp: ограничивает вычисления с плавающей точкой;
- super: относится к an objectу родительского класса;
- switch: выбирает блок codeа (or несколько из них) для выполнения;
- synchronized: другой видм модификатора. Он указывает, что метод может быть доступен только одному потоку за раз;
- this: ссылается на текущий an object в методе or конструкторе;
- throw: используется для явного создания исключения;
- throws: объявляет исключение;
- transient (переходный) фрагмент данных не может быть сериализован;
- try: запускает блок codeа, который проверяется на наличие исключений;
- void: указывает, что метод не возвращает meaning;
- volatile: указывает, что переменная может изменяться асинхронно;
- while: запускает цикл while. Повторяет часть программы несколько раз, пока condition истинно.
Комментарии в Java
Java支持单行和多行注释。所有字符在任何注释中都可用,并且会被 Java 编译器忽略。开发人员使用它们来解释代码或记住某些内容。评论示例://однострочный комментарий
/*а вот многострочный комментарий. Как видите, в нем используются слеши и звездочки в начале и в конце.*/
public class HelloJava {
/* эта программа создана для демонстрации комментариев в Java. Это многострочный комментарий.
Вы можете использовать такие комментарии в любом месте вашей программы*/
public static void main(String[] args) {
//а вот однострочный комментарий
String j = "Java"; //Это моя строка
int a = 15; //Здесь у меня целое число
System.out.println("Hello, " + j + " " + a + "!");
int[] myArray = {1,2,5};
System.out.println(myArray.length);
}
}
Java 中的文字
Java中的文字是分配给变量的常量值。这些可以是数字、文本或任何其他代表意义的东西。- 整数文字
- 浮点文字
- 字符文字
- 字符串文字
- 布尔文字
Java 中的文字示例
int i = 100; //100 – целочисленный литерал
double d = 10.2;//10.2 – литерал с плавающей точкой
char c = ‘b’; //b – символьный литерал
String myString = “Hello!”;
boolean bool = true;
请注意:null也是一个文字。
Java 中的基本运算符
有不同类型的运算符: 算术:- +(数字加法和字符串连接)
- –(减或减)
- *(乘法)
- /(分配)
- %(模数或余数)
- <(小于)
- <=(小于或等于)
- >(超过)
- >=(大于或等于)
- ==(等于)
- !=(不等于)
- &&(和)
- || (或者)
- !(不是)
- ^(异或)
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;
}
}
这里我们有一个带有树方法的类,用于处理两个数字。您可以尝试编写第四种方法int mul(int a, int b)来在此程序中将两个数字相乘。我们还创建一个类来演示NumberOprations 的工作原理:
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
GO TO FULL VERSION