Java 基础语法

一个 Java 程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。下面简要介绍下类、对象、方法和实例变量的概念。

  • 对象:对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。

  • :类是一个模板,它描述一类对象的行为和状态。

  • 方法:方法就是行为,一个类可以有很多方法。逻辑运算、数据修改以及所有动作都是在方法中完成的。

  • 实例变量:每个对象都有独特的实例变量,对象的状态由这些实例变量的值决定。


第一个Java程序

下面看一个简单的 Java 程序,它将输出字符串 Hello World

实例

public class HelloWorld {
    /* 第一个Java程序
     * 它将输出字符串 Hello World
     */
    public static void main(String[] args) {
        System.out.println("Hello World"); // 输出 Hello World
    }
}

运行实例 » Java 基础语法

下面将逐步介绍如何保存、编译以及运行这个程序:

  • 打开代码编辑器,把上面的代码添加进去;

  • 把文件名保存为:HelloWorld.java;

  • 打开 cmd 命令窗口,进入目标文件所在的位置,假设是 C:\

  • 在命令行窗口输入 javac HelloWorld.java 按下回车键编译代码。如果代码没有错误,cmd 命令提示符会进入下一行(假设环境变量都设置好了)。

  • 再键输入 java HelloWorld 按下回车键就可以运行程序了

你将会在窗口看到 Hello World

$ javac HelloWorld.java
$ java HelloWorld 
Hello World

如果遇到编码问题,我们可以使用 -encoding 选项设置 utf-8 来编译:

javac -encoding UTF-8 HelloWorld.java 
java HelloWorld 

基本语法

编写 Java 程序时,应注意以下几点:

  • 大小写敏感:Java 是大小写敏感的,这就意味着标识符 Hello 与 hello 是不同的。

  • 类名:对于所有的类来说,类名的首字母应该大写。如果类名由若干单词组成,那么每个单词的首字母应该大写,例如 MyFirstJavaClass

  • 方法名:所有的方法名都应该以小写字母开头。如果方法名含有若干单词,则后面的每个单词首字母大写。

  • 源文件名:源文件名必须和类名相同。当保存文件的时候,你应该使用类名作为文件名保存(切记 Java 是大小写敏感的),文件名的后缀为 .java。(如果文件名和类名不相同则会导致编译错误)。

  • 主方法入口:所有的 Java 程序由 public static void main(String[] args) 方法开始执行。


Java 标识符

Java 所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。

关于 Java 标识符,有以下几点需要注意:

  • 所有的标识符都应该以字母(A-Z 或者 a-z),美元符($)、或者下划线(_)开始

  • 首字符之后可以是字母(A-Z 或者 a-z),美元符($)、下划线(_)或数字的任何字符组合

  • 关键字不能用作标识符

  • 标识符是大小写敏感的

  • 合法标识符举例:age、$salary、_value、__1_value

  • 非法标识符举例:123abc、-salary


Java修饰符

像其他语言一样,Java可以使用修饰符来修饰类中方法和属性。主要有两类修饰符:

  • 访问控制修饰符 : default, public , protected, private

  • 非访问控制修饰符 : final, abstract, static,synchronized 在后面的章节中我们会深入讨论 Java 修饰符。


Java 变量

Java 中主要有如下几种类型的变量

  • 局部变量

  • 类变量(静态变量)

  • 成员变量(非静态变量)


Java 数组

数组是储存在堆上的对象,可以保存多个同类型变量。在后面的章节中,我们将会学到如何声明、构造以及初始化一个数组。


Java 枚举

Java 5.0引入了枚举,枚举限制变量只能是预先设定好的值。使用枚举可以减少代码中的 bug。

例如,我们为果汁店设计一个程序,它将限制果汁为小杯、中杯、大杯。这就意味着它不允许顾客点除了这三种尺寸外的果汁。

实例

class FreshJuice {
   enum FreshJuiceSize{ SMALL, MEDIUM , LARGE }
   FreshJuiceSize size;
}

public class FreshJuiceTest {
   public static void main(String[] args){
      FreshJuice juice = new FreshJuice();
      juice.size = FreshJuice.FreshJuiceSize.MEDIUM  ;
   }
}

注意:枚举可以单独声明或者声明在类里面。方法、变量、构造函数也可以在枚举中定义。


Java注释

类似于 C/C++、Java 也支持单行以及多行注释。注释中的字符将被 Java 编译器忽略。

public class HelloWorld {
   /* 这是第一个Java程序
    * 它将输出 Hello World
    * 这是一个多行注释的示例
    */
    public static void main(String[] args){
       // 这是单行注释的示例
       /* 这个也是单行注释的示例 */
       System.out.println("Hello World"); 
    }
}

Java 空行

空白行或者有注释的行,Java 编译器都会忽略掉。


继承

在 Java 中,一个类可以由其他类派生。如果你要创建一个类,而且已经存在一个类具有你所需要的属性或方法,那么你可以将新创建的类继承该类。

利用继承的方法,可以重用已存在类的方法和属性,而不用重写这些代码。被继承的类称为超类(super class),派生类称为子类(sub class)。


接口

在 Java 中,接口可理解为对象间相互通信的协议。接口在继承中扮演着很重要的角色。

接口只定义派生要用到的方法,但是方法的具体实现完全取决于派生类。


Java 源程序与编译型运行区别

如下图所示:
Java 基础语法

下一节介绍 Java 编程中的类和对象。之后你将会对 Java 中的类和对象有更清楚的认识。

若文章对你有帮助,可以点赞或打赏支持我们。发布者:lyh会员,转载请注明出处:http://61.174.243.28:13541/AY-knowledg-hub/java-%e5%9f%ba%e7%a1%80%e8%af%ad%e6%b3%95/

(0)
lyhlyh会员认证作者
上一篇 2023年 3月 4日 下午9:03
下一篇 2023年 3月 4日 下午9:13

相关推荐

  • tcpdump

    文章目录tcpdump补充说明语法选项实例 tcpdump 一款sniffer工具,是Linux上的抓包工具,嗅探器 补充说明 tcpdump命令 是一款抓包,嗅探器工具,它可以打…

    入门教程 2024年 3月 11日
  • Java switch case 语句

    switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。 文章目录语法实例Test.java 文件代码:Test.java 文件代码:Test.ja…

    2023年 3月 4日
  • printf

    文章目录printf目录内建命令概要主要用途选项参数返回值例子注意外部命令概要主要用途选项参数例子返回值注意 printf 格式化并输出结果。 目录 bash内建命令 GNU co…

    入门教程 2024年 3月 1日
  • HTML 区块

    文章目录HTML <div> 和<span>HTML 内联元素HTML <div> 元素HTML <span> 元素HTML 分组标…

    入门教程 2023年 4月 13日
  • zcat

    文章目录zcat补充说明语法选项参数 zcat 显示压缩包中文件的内容 补充说明 zcat命令 用于不真正解压缩文件,就能显示压缩包中文件的内容的场合。 语法 zcat(选项)(参…

    入门教程 2024年 3月 11日
  • chage

    文章目录chage补充说明语法选项实例 chage 修改帐号和密码的有效期限 补充说明 chage命令 是用来修改帐号和密码的有效期限。 语法 chage [选项] 用户名 选项 …

    入门教程 2023年 12月 7日
  • Helm | Helm 包

    文章目录helm package简介可选项从父命令继承的命令请参阅 helm package 将chart目录打包到chart归档中 简介 该命令将chart打包成一个chart版…

    入门教程 2023年 12月 14日
  • netstat

    文章目录netstat补充说明语法选项实例扩展知识网络连接状态详解 netstat 查看Linux中网络系统状态信息 补充说明 netstat命令 用来打印Linux中网络系统的状…

    入门教程 2024年 1月 10日
  • 协程

    文章目录协程什么是协程?Go协程对比线程的优点如何创建一个协程?开启多个协程 协程 上一节:第二十篇 并发入门下一节:第二十二篇 信道 这是本Golang系列教程的第21篇。 在上…

    2023年 12月 5日
  • zipinfo

    文章目录zipinfo补充说明语法选项参数 zipinfo 用来列出压缩文件信息 补充说明 zipinfo命令 用来列出压缩文件信息。执行zipinfo指令可得知zip压缩文件的详…

    入门教程 2024年 3月 11日
Translate »