Java 根底语法
在线运行工具 也能够搜寻 JSRUN 理解更多常识
一个 Java 程序能够认为是一系列对象的汇合,而这些对象通过调用彼此的办法来协同工作。上面简要介绍下类、对象、办法和实例变量的概念。
- 对象:对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:色彩、名字、种类;行为有:摇尾巴、叫、吃等。
- 类:类是一个模板,它形容一类对象的行为和状态。
- 办法:办法就是行为,一个类能够有很多办法。逻辑运算、数据批改以及所有动作都是在办法中实现的。
- 实例变量:每个对象都有独特的实例变量,对象的状态由这些实例变量的值决定。
第一个 Java 程序
上面看一个简略的 Java 程序,它将打印字符串 Hello World
public class MyFirstJavaProgram {
/* 第一个 Java 程序.
* 它将打印字符串 Hello World
*/
public static void main(String []args) {System.out.println("Hello World"); // 打印 Hello World
}
}
上面将逐渐介绍如何保留、编译以及运行这个程序:
- 关上 Notepad,把下面的代码增加进去;
- 把文件名保留为:MyFirstJavaProgram.java;
- 关上 cmd 命令窗口,进入指标文件所在的地位,假如是 C:
- 在命令行窗口键入 javac MyFirstJavaProgram.java 按下 enter 键编译代码。如果代码没有谬误,cmd 命令提示符会进入下一行。(假如环境变量都设置好了)。
- 再键入 java MyFirstJavaProgram 按下 Enter 键就能够运行程序了
你将会在窗口看到 Hello World
C : > javac MyFirstJavaProgram.java
C : > java MyFirstJavaProgram
Hello World
根本语法
编写 Java 程序时,应留神以下几点:
- 大小写敏感:Java 是大小写敏感的,这就意味着标识符 Hello 与 hello 是不同的。
- 类名:对于所有的类来说,类名的首字母应该大写。如果类名由若干单词组成,那么每个单词的首字母应该大写,例如 MyFirstJavaClass。
- 办法名:所有的办法名都应该以小写字母结尾。如果办法名含有若干单词,则前面的每个单词首字母大写。
- 源文件名:源文件名必须和类名雷同。当保留文件的时候,你应该应用类名作为文件名保留(切记 Java 是大小写敏感的),文件名的后缀为.java。(如果文件名和类名不雷同则会导致编译谬误)。
- 主办法入口:所有的 Java 程序由 public static void main(String[] args) 办法开始执行。
Java 标识符
Java 所有的组成部分都须要名字。类名、变量名以及办法名都被称为标识符。
对于 Java 标识符,有以下几点须要留神:
- 所有的标识符都应该以字母(A- Z 或者 a -z), 美元符($)、或者下划线(_)开始
- 首字符之后能够是任何字符的组合
- 关键字不能用作标识符
- 标识符是大小写敏感的
- 非法标识符举例:age、$salary、_value、__1_value
- 非法标识符举例:123abc、-salary
Java 修饰符
像其余语言一样,Java 能够应用修饰符来润饰类中办法和属性。次要有两类修饰符:
- 访问控制修饰符 : default, public , protected, private
- 非访问控制修饰符 : final, abstract, static,synchronized 和 volatile
在前面的章节中咱们会深刻探讨 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 关键字
上面列出了 Java 保留字。这些保留字不能用于常量、变量、和任何标识符的名称。
关键字 | 形容 |
---|---|
abstract | 形象办法,抽象类的修饰符 |
assert | 断言条件是否满足 |
boolean | 布尔数据类型 |
break | 跳出循环或者 label 代码段 |
byte | 8-bit 有符号数据类型 |
case | switch 语句的一个条件 |
catch | 和 try 搭配捕获异样信息 |
char | 16-bit Unicode 字符数据类型 |
class | 定义类 |
const | 未应用 |
continue | 不执行循环体残余局部 |
default | switch 语句中的默认分支 |
do | 循环语句,循环体至多会执行一次 |
double | 64-bit 双精度浮点数 |
else | if 条件不成立时执行的分支 |
enum | 枚举类型 |
extends | 示意一个类是另一个类的子类 |
final | 示意一个值在初始化之后就不能再扭转了示意办法不能被重写,或者一个类不能有子类 |
finally | 为了实现执行的代码而设计的,次要是为了程序的健壮性和完整性,无论有没有异样产生都执行代码。 |
float | 32-bit 单精度浮点数 |
for | for 循环语句 |
goto | 未应用 |
if | 条件语句 |
implements | 示意一个类实现了接口 |
import | 导入类 |
instanceof | 测试一个对象是否是某个类的实例 |
int | 32 位整型数 |
interface | 接口,一种形象的类型,仅有办法和常量的定义 |
long | 64 位整型数 |
native | 示意办法用非 java 代码实现 |
new | 调配新的类实例 |
package | 一系列相干类组成一个包 |
private | 示意公有字段,或者办法等,只能从类外部拜访 |
protected | 示意字段只能通过类或者其子类拜访子类或者在同一个包内的其余类 |
public | 示意共有属性或者办法 |
return | 办法返回值 |
short | 16 位数字 |
static | 示意在类级别定义,所有实例共享的 |
strictfp | 浮点数比拟应用严格的规定 |
super | 示意基类 |
switch | 抉择语句 |
synchronized | 示意同一时间只能由一个线程拜访的代码块 |
this | 示意调用以后实例或者调用另一个构造函数 |
throw | 抛出异样 |
throws | 定义方法可能抛出的异样 |
transient | 润饰不要序列化的字段 |
try | 示意代码块要做异样解决或者和 finally 配合示意是否抛出异样都执行 finally 中的代码 |
void | 标记办法不返回任何值 |
volatile | 标记字段可能会被多个线程同时拜访,而不做同步 |
while | while 循环 |
Java 正文
相似于 C /C++,Java 也反对单行以及多行正文。正文中的字符将被 Java 编译器疏忽。
public class MyFirstJavaProgram{
/* 这是第一个 Java 程序
* 它将打印 Hello World
* 这是一个多行正文的示例
*/
public static void main(String []args){
// 这是单行正文的示例
/* 这个也是单行正文的示例 */
System.out.println("Hello World");
}
}
Java 空行
空白行,或者有正文的的行,Java 编译器都会疏忽掉。
继承
在 Java 中,一个类能够由其余类派生。如果你要创立一个类,而且曾经存在一个类具备你所须要的属性或办法,那么你能够将新创建的类继承该类。
利用继承的办法,能够重用已存在类的办法和属性,而不必重写这些代码。被继承的类称为超类(super class),派生类称为子类(subclass)。
接口
在 Java 中,接口可了解为对象间互相通信的协定。接口在继承中扮演着很重要的角色。
接口只定义派生要用到的办法,然而办法的具体实现齐全取决于派生类。