【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是大小写敏感的,这就意味着标识符Hello与hello是不同的。
  • 类名首字母大写:如果类名由若干单词组成,那么每个单词的首字母应该大写,例如 MyFirstJavaClass 。
  • 驼峰命名方法名:例如:myFristJavaMethod()
  • 源文件名必须和类名相同:。当保存文件的时候,你应该使用类名作为文件名保存(切记Java是大小写敏感的),文件名的后缀为.java。(如果文件名和类名不相同则会导致编译错误)。
  • 主方法入口:所有的Java 程序由public static void main(String []args)方法开始执行。

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, strictfp

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关键字

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

关键字描述
abstract抽象方法,抽象类的修饰符
class定义类
interface接口,一种抽象的类型,仅有方法和常量的定义
new分配新的类实例
package一系列相关类组成一个包
const未使用
extends表示一个类是另一个类的子类
final表示一个值在初始化之后就不能再改变了
表示方法不能被重写,或者一个类不能有子类
finally为了完成执行的代码而设计的,主要是为了程序的健壮性和完整性,无论有没有异常发生都执行代码。
implements表示一个类实现了接口
import导入类
instanceof测试一个对象是否是某个类的实例
assert断言条件是否满足
native表示方法用非java代码实现
enum枚举类型
boolean布尔数据类型
byte8-bit 有符号数据类型
short16位数字
int32位整型数
long64位整型数
char16-bit Unicode字符数据类型
float32-bit单精度浮点数
double64-bit双精度浮点数
continue不执行循环体剩余部分
defaultswitch语句中的默认分支
do循环语句,循环体至少会执行一次
whilewhile循环
switch选择语句
caseswitch语句的一个条件
break跳出循环或者label代码段
if条件语句
elseif条件不成立时执行的分支
forfor循环语句
goto未使用
try表示代码块要做异常处理或者和finally配合表示是否抛出异常都执行finally中的代码
throw抛出异常
throws定义方法可能抛出的异常
catch和try搭配扑捉异常信息
private表示私有字段,或者方法等,只能从类内部访问
protected表示字段只能通过类或者其子类访问,子类或者在同一个包内的其他类
public表示共有属性或者方法
return方法返回值
static表示在类级别定义,所有实例共享的
strictfp浮点数比较使用严格的规则
super表示基类
synchronized表示同一时间只能由一个线程访问的代码块
this表示调用当前实例,或者调用另一个构造函数
transient修饰不要序列化的字段
void标记方法不返回任何值
volatile标记字段可能会被多个线程同时访问,而不做同步

Java注释

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

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

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

继承

在Java中,一个类可以由其他类派生。如果你要创建一个类,而且已经存在一个类具有你所需要的属性或方法,那么你可以将新创建的类继承该类。
利用继承的方法,可以重用已存在类的方法和属性,而不用重写这些代码。
被继承的类称为超类(super class),派生类称为子类(subclass)。

接口

在Java中,接口可理解为对象间相互通信的协议。接口在继承中扮演着很重要的角色。
接口只定义派生要用到的方法,但是方法的具体实现完全取决于派生类。

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

如下图所示:
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值