本文最后更新于 1020 天前,其中的信息可能已经有所发展或是发生改变。
基本语法
组成Java程序的四大模块:类、变量、方法、对象,接下来我们一起来逐个了解它们。(以下分点将在后续的教程中逐个地详细介绍,这里先了解它们的基本概念)
组成Java的四大模块
变量
顾名思义,变量就是可变的量,与我们在中学阶段学到的函数变量有相似点,同样地也是一个变量对应一个值。
方法(函数)
这个函数和f(x)一样,传入x、y等变量,就可以得到一个结果。
例如f(3)=1,这里传入了3,得到的返回值是1。
我们把函数的变量叫做参数,函数的结果叫做返回值。
对象
此对象非彼对象,万物皆对象。
什么是对象?举个例子,大到星球小到一棵草都可以作为一个对象,对象有基本信息也有行为。
下面用人(Human)来举例。
基本信息
一个人的基本信息包括:名字、性别、年龄、血型等,同时还可能有一些穿戴品,这些人都共有的东西可以被当做对象的基本信息。
行为
同上,人共有的行为:进食、睡觉、行走等都可以作为对象的行为。
我们把对象的基本信息叫做类变量或实例变量(这两个有区别,日后再谈),把对象的行为叫做方法(函数)。
类
类可以被当做是对象的模板,如同工厂的模板一样,既可以用来记录生产对象的信息,也可以被当做模板,日后需要可以拿出来复制一份,填好信息就可以使用。
注意:类的里面还可以继续嵌入类
修饰符与关键字
修饰符
在Java中有两种修饰符:访问修饰符与非访问修饰符,下面我们来初步了解一下。
访问修饰符
- default:默认,即什么都不用写
- public:公开,对所有类可见
- private:私有,在同类内可见
- protected:对同一包内的所有类和子类可见
非访问修饰符
- static:静态,用来修饰类方法和类变量。
- final:这个final的作用有三个 ①被修饰的类不可被继承 ②被修饰的方法不可被重新定义 ③被修饰的变量是常量,不可更改
- abstract:,用来声明抽象类和抽象方法。
- synchronized 与 volatile :主要用于线程的编程。
关键字
关键字就是Java语言预先设定好的、具有特殊意义的标识符(也称保留字),这些关键字对于编译器来说有特殊含义,所以它们不能被作为类名、变量名、方法名、包名、参数。
下表是Java中的所有关键字。
关键字有很多,但你并不需要特别背诵并避开它们,其实在写代码的过程中我们就已经在积累这些关键字。
如同汉字一般,一个普通的高中生大概可以认识4000-5000个汉字,这确实是一个令人震惊的数字。有这些文字储备,我们就已经可以阅读95%的内容,但如果要你列出其中1000个汉字,这是基本不可能的,但在阅读过程中这些汉字就会被挖掘出来。
因此熟记下表并不是什么难事,更何况还有强大的IDE帮你识别。
如同汉字一般,一个普通的高中生大概可以认识4000-5000个汉字,这确实是一个令人震惊的数字。有这些文字储备,我们就已经可以阅读95%的内容,但如果要你列出其中1000个汉字,这是基本不可能的,但在阅读过程中这些汉字就会被挖掘出来。
因此熟记下表并不是什么难事,更何况还有强大的IDE帮你识别。
abstract | assert | boolean | break | byte |
case | catch | char | class | const |
continue | default | do | double | else |
enum | extends | final | finally | float |
for | goto | if | implements | import |
instanceof | int | interface | long | native |
new | package | private | protected | public |
return | strictfp | short | static | super |
switch | synchronized | this | throw | throws |
transient | try | void | volatile | while |
代码结束的标志:分号
我们写完一句(并非一行)代码,必须使用分号作为结尾,标志着这一句代码的结束。
例如:int a = 1; int b = 2;
命名规则
类名、方法名、变量名等不能以数字开头,也不能用-
等符号,只允许字母、数字、下划线。
实际体验
现在我们已经了解了四大模块,接下来我们按照上面的思路,来看一看Human类的具体实现(这里只需要你观察一下下面的代码,无需搞明白具体语法):
public class Human {
public String name; // 名字
public String sex; // 性别
public String blood_type; // 血型
public String age; // 年龄
public void eat() {
// 进食
}
public void walk() {
// 行走
}
public void sleep() {
// 睡觉
}
}