Java 基础语法

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

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

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

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

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


第一个Java程序

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

实例

package cn.fage.demo2;

/**
* @author lin
* @version 1.0
* @date 2020-06-12 9:07
* @Description TODO
*/
public class HelloWorld {

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

运行实例 »

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

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

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

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

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

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

你将会在窗口看到 Hello World

C : > javac HelloWorld.java
C : > java HelloWorld
Hello World

Gif 图演示:


基本语法

编写 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。

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

实例

package cn.fage.demo2;

/**
* @author lin
* @version 1.0
* @date 2020-06-12 9:09
* @Description TODO
*/
public class FreshJuiceTest {
   public static void main(String[] args) {
       FreshJuice juice = new FreshJuice();
       juice.size = FreshJuice.FreshJuiceSize.MEDIUM;
       System.out.println(juice);
  }
}

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

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


Java 关键字

下面列出了 Java 关键字。这些保留字不能用于常量、变量、和任何标识符的名称。

类别 关键字 说明
访问控制 private 私有的
protected 受保护的  
public 公共的  
default 默认  
类、方法和变量修饰符 abstract 声明抽象
class  
extends 扩充,继承  
final 最终值,不可改变的  
implements 实现(接口)  
interface 接口  
native 本地,原生方法(非 Java 实现)  
new 新,创建  
static 静态  
strictfp 严格,精准  
synchronized 线程,同步  
transient 短暂  
volatile 易失  
程序控制语句 break 跳出循环
case 定义一个值以供 switch 选择  
continue 继续  
default 默认  
do 运行  
else 否则  
for 循环  
if 如果  
instanceof 实例  
return 返回  
switch 根据值选择执行  
while 循环  
错误处理 assert 断言表达式是否为真
catch 捕捉异常  
finally 有没有异常都执行  
throw 抛出一个异常对象  
throws 声明一个异常可能被抛出  
try 捕获异常  
包相关 import 引入
package  
基本类型 boolean 布尔型
byte 字节型  
char 字符型  
double 双精度浮点  
float 单精度浮点  
int 整型  
long 长整型  
short 短整型  
变量引用 super 父类,超类
this 本类  
void 无返回值  
保留关键字 goto 是关键字,但不能使用
const 是关键字,但不能使用  
null  

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),派生类称为子类(subclass)。


接口

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

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


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

如下图所示:

Java 基础语法

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

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

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

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

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


第一个Java程序

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

实例

package cn.fage.demo2;

/**
* @author lin
* @version 1.0
* @date 2020-06-12 9:07
* @Description TODO
*/
public class HelloWorld {

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

运行实例 »

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

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

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

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

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

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

你将会在窗口看到 Hello World

C : > javac HelloWorld.java
C : > java HelloWorld
Hello World

Gif 图演示:


基本语法

编写 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。

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

实例

package cn.fage.demo2;

/**
* @author lin
* @version 1.0
* @date 2020-06-12 9:09
* @Description TODO
*/
public class FreshJuiceTest {
   public static void main(String[] args) {
       FreshJuice juice = new FreshJuice();
       juice.size = FreshJuice.FreshJuiceSize.MEDIUM;
       System.out.println(juice);
  }
}

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

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


Java 关键字

下面列出了 Java 关键字。这些保留字不能用于常量、变量、和任何标识符的名称。

类别 关键字 说明
访问控制 private 私有的
protected 受保护的  
public 公共的  
default 默认  
类、方法和变量修饰符 abstract 声明抽象
class  
extends 扩充,继承  
final 最终值,不可改变的  
implements 实现(接口)  
interface 接口  
native 本地,原生方法(非 Java 实现)  
new 新,创建  
static 静态  
strictfp 严格,精准  
synchronized 线程,同步  
transient 短暂  
volatile 易失  
程序控制语句 break 跳出循环
case 定义一个值以供 switch 选择  
continue 继续  
default 默认  
do 运行  
else 否则  
for 循环  
if 如果  
instanceof 实例  
return 返回  
switch 根据值选择执行  
while 循环  
错误处理 assert 断言表达式是否为真
catch 捕捉异常  
finally 有没有异常都执行  
throw 抛出一个异常对象  
throws 声明一个异常可能被抛出  
try 捕获异常  
包相关 import 引入
package  
基本类型 boolean 布尔型
byte 字节型  
char 字符型  
double 双精度浮点  
float 单精度浮点  
int 整型  
long 长整型  
short 短整型  
变量引用 super 父类,超类
this 本类  
void 无返回值  
保留关键字 goto 是关键字,但不能使用
const 是关键字,但不能使用  
null  

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),派生类称为子类(subclass)。


接口

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

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


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

如下图所示:

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

2、Java 基础语法标识符、修饰符、变量、 数组、枚举、关键字的更多相关文章

  1. JAVA基础语法——标识符、修饰符、关键字(个人整理总结)

    JAVA基础语法——标识符.修饰符.关键字 一 . 标识符 1.1    什么是标识符 就是程序员在定义java程序时,自定义的一些名字,例如helloworld 程序里关键字class 后跟的Dem ...

  2. Java基础——protected访问修饰符探讨

    Java基础——protected访问修饰符探讨 根据官方说法:(如图) protected修饰符是可以修饰其他包中的子孙类的,但是我做了个实验,结果发现了一个有趣的现象! 具体请往下看: packa ...

  3. 2020重新出发,JAVA入门,标识符&修饰符

    标识符(Identifier ) 标识符是程序员用来命名变量,方法,类或标签的单词,其实就是我们在开发过程中凡是自己可以命名的一些单词就是标识符 标识符命名规则 标识符由字母(a-z,A-Z),数字( ...

  4. Java基础语法(第1章变量)

    今日内容介绍 1.变量 2. 运算符   变量 1.1.变量概述 前面我们已经学习了常量,接下来我们要学习变量.在Java中变量的应用比常量的应用要多很多.所以变量也是尤为重要的知识点! 什么是变量? ...

  5. java基础 关于final修饰符

    final作为一个修饰符,可以修饰类.变量.函数. 1.被final修饰的类不可以被继承(保护封装性),为了避免被继承,被子类复写: 2.被final修饰的函数不可以被复写 3.被final修饰的变量 ...

  6. 26.Java基础_状态修饰符

    状态修饰符: final(最终态),static(静态) final关键字: 修饰类: 修饰局部变量: static关键字: 修饰变量:   修饰函数:

  7. Java基础语法(上篇)

                     Java基础语法(上篇) 知识概要: (1)关键字的表示与规范       (2)标示符              (3)注释                (4 ...

  8. Java基础语法(基本语句)

    Java基础语法 标识符在程序中自定义的一些名称.由26个英文字母大小写,数字:0-9符号:_&组成定义合法标识符规则:1.      数字不可以开头2.      不可以使用关键字Java中 ...

  9. 第2天 Java基础语法

    第2天 Java基础语法 今日内容介绍 变量 运算符 变量 变量概述 前面我们已经学习了常量,接下来我们要学习变量.在Java中变量的应用比常量的应用要多很多.所以变量也是尤为重要的知识点! 什么是变 ...

随机推荐

  1. web 部署专题(九):Nginx 前后端分离中csrf_token 认证的实现

    1. 思路 参考:https://stackoverflow.com/questions/20826201/simple-csrf-protection-using-nginx-alone?r=Sea ...

  2. SQLAlchemy(二):SQLAlchemy对数据的增删改查操作、属性常用数据类型详解

    SQLAlchemy02 /SQLAlchemy对数据的增删改查操作.属性常用数据类型详解 目录 SQLAlchemy02 /SQLAlchemy对数据的增删改查操作.属性常用数据类型详解 1.用se ...

  3. linux专题(九):磁盘管理

    http://dwz.date/UDf 概述 Linux磁盘管理好坏直接关系到整个系统的性能问题. Linux磁盘管理常用命令为 df.du. df :列出文件系统的整体磁盘使用量 du:检查磁盘空间 ...

  4. 数据可视化之PowerQuery篇(十一)使用Power BI进行动态帕累托分析

    https://zhuanlan.zhihu.com/p/57763423 上篇文章介绍了帕累托图的用处以及如何制作一个简单的帕累托图,在 PowerBI 中可以很方便的生成,但若仅止于此,并不足以体 ...

  5. hihoCoder 1114 小Hi小Ho的惊天大作战:扫雷·一 最详细的解题报告

    题目来源:小Hi小Ho的惊天大作战:扫雷·一 解题思路:因为只要确定了第一个是否有地雷就可以推算出后面是否有地雷(要么为0,要么为1,如果不是这两个值就说明这个方案行不通),如果两种可能中有一种成功, ...

  6. [apue] Linux / Windows 系统上只能建立不超过 PATH_MAX / MAX_PATH 长度的路径吗?

    问题的提出 在处理文件系统路径的时候,我们一般会先开辟一块内存区,用来接收路径.或者拼接好路径传递给系统调用.这是因为路径在各个系统上都有最大长度限制,在 Windows 上这个值是 MAX_PATH ...

  7. (2)简单理解和使用webpack-dev-server

    webpack-dev-server能做什么? 每次打包都得像之前一样使用webapck 入口文件 -o 出口文件,每次修改都得打包一次过于麻烦,可以使用webpack-dev-server实现自动打 ...

  8. Spirngboot-自定义Starter

    一.Spring Boot Starter简介 Starter是Spring Boot中的一个非常重要的概念,Starter相当于模块,它能将模块所需的依赖整合起来并对模块内的Bean根据环境( 条件 ...

  9. 浅谈工业4.0背景下的空中数据端口,无人机3D 可视化系统的应用

    前言 近年来,无人机的发展越发迅速,既可民用于航拍,又可军用于侦察,涉及行业广泛,把无人机想象成一个“会飞的传感器”,无人机就成了工业4.0的一个空中数据端口,大至地球物理.气象.农业数据.小至个人位 ...

  10. QTimer

    目录 简述 详细说明 精度 替代QTimer 成员函数 信号 示例 简述 QTimer类提供了重复和单次触发信号的定时器. QTimer类为定时器提供了一个高级别的编程接口.很容易使用:首先,创建一个 ...