java 基 础 语 法一个Java程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。下面简要介绍下类、对象、方法和实例变量的概念。
对象:对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。
类:类是一个模板,它描述一类对象的行为和状态。
方法:方法就是行为,一个类可以有很多方法。逻辑运算、数据修改以及所有动作都是在方法中完成的。
实例变量:每个对象都有独特的实例变量,对象的状态由这些实例变量的值决定。
Java运行原理:
标识符:
Java语言中,对于变量,常量,函数,语句块也有名字,我们统统称之为Java标识符标识符是用来给类、对象、方法、变量、接口和自定义数据类型命名的。Java标识符由数字,字母和下划线(_),美元符号($)或人民币符号(¥)组成。在Java中是区分大小写的,而且还要求首位不能是数字。最重要的是,Java关键字不能当作Java标识符。
类的声明与实例化:
类必须先定义才能使用。类是创建对象的模板,创建对象也叫类的实例化。
对象是类的一个实例,创建对象的过程也叫类的实例化。对象是以类为模板来创建的。
在Java中,使用new关键字来创建对象,一般有以下三个步骤:
· 声明:声明一个对象,包括对象名称和对象类型。
· 实例化:使用关键字new来创建一个对象。
· 初始化:使用new创建对象时,会调用构造方法初始化对象。
一个类可以包含以下类型变量:
· 局部变量:在方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。
· 成员变量:成员变量是定义在类中、方法体之外的变量。这种变量在创建对象的时候实例化(分配内存)。成员变量可以被类中的方法和特定类的语句访问。
· 类变量:类变量也声明在类中,方法体之外,但必须声明为static类型。
构造方法:
在类实例化的过程中自动执行的方法叫做构造方法,它不需要你手动调用。构造方法可以在类实例化的过程中做一些初始化的工作。
构造方法的名称必须与类的名称相同,并且没有返回值。
每个类都有构造方法。如果没有显式地为类定义构造方法,Java编译器将会为该类提供一个默认的构造方法。
访问成员变量和方法:
1. // 实例化
2. Dog myDog = new Dog("坤坤", 3);
3. // 通过点号访问成员变量
4. myDog.name;
5. // 通过点号访问成员方法
6. myDog.bark();
变量的声明和使用:
声明语法:
数据类型 变量名 ;
赋值:
变量名 = 值;
函数的声明和使用:
函数是一段可以完成某个独立功能的代码,我们只需要写一次,就可以被多次调用,提高了代码的复用性。
函数设计三要素:
(1)函数名:见名思议,也就是根据功能定名字,按照驼峰写法xxxYyyZzz
(2)参数:调用者传递过来的数据的接收方式,参数可以有多个,也可以没有
(3)返回值类型[void]:返回值类型就是函数执行后要给调用者的数据类型,如果指定了数据类型就必须要有return,如果是void就可以不指定return。
return结果:就要看是否有返回值,如果有返回值的类型,就必须要有一个return被执行,return后面的代码不被执行
函数(方法)的语法:
方法体
[return 结果]
}
<>表示有的时候可以不写
[ ]表示的是定义函数的另外一种情况下的语法
基本数据类型:
Java的基本数据类型有4类8种,
类型分别为:整数型、浮点型、字符型、布尔型;
其中整数型有4种,字节型byte、短整型short、整数型int、长整型long;
浮点型有2种:单精度float、双精度double;
字符型char;
布尔型boolean
运算符:
算术运算符:
赋值运算符:
比较运算符:
逻辑运算符:
条件运算符:
条件运算符( ? : )也称为 “三元运算符”。
语法形式:布尔表达式 ? 表达式1 :表达式2
运算过程:如果布尔表达式的值为 true ,则返回 表达式1 的值,否则返回 表达式2 的值
java关键字:
abstract 抽象方法,抽象类的修饰符
assert 断言条件是否满足
boolean 布尔数据类型
break 跳出循环或者label代码段
byte 8-bit 有符号数据类型
case switch语句的一个条件
catch 和try搭配扑捉异常信息
char 16-bit Unicode字符数据类型
class 定义类
const 未使用
continue 不执行循环体剩余部分
default switch语句中的默认分支
do 循环语句,循环体至少会执行一次
double64-bit双精度浮点数
elseif条件不成立时执行的分支
enum枚举类型
extends 表示一个类是另一个类的子类
final表示一个值在初始化之后就不能再改变了
表示方法不能被重写,或者一个类不能有子类
finally为了完成执行的代码而设计的,主要是为了程序的健壮性和完整性, 无论有没有异常发生都执行代码。
float32-bit单精度浮点数
for for循环语句
goto未使用
if 条件语句
implements 表示一个类实现了接口
import 导入类
instanceof 测试一个对象是否是某个类的实例
int 32位整型数
interface接口,一种抽象的类型,仅有方法和常量的定义
long64位整型数
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中,可以使用访问控制符来保护对类、变量、方法和构造方法的访问。Java 支持 4 种不同的访问权限。
default (即缺省,什么也不写): 在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法。
private : 在同一类内可见。使用对象:变量、方法。 注意:不能修饰类(外部类)
public : 对所有类可见。使用对象:类、接口、变量、方法
protected : 对同一包内的类和所有子类可见。使用对象:变量、方法。 注意:不能修饰类(外部类)
私有访问修饰符是最严格的访问级别,所以被声明为 private 的方法、变量和构造方法只能被所属类访问,并且类和接口不能声明为 private。
声明为私有访问类型的变量只能通过类中公共的 getter 方法被外部类访问。
Private 访问修饰符的使用主要用来隐藏类的实现细节和保护类的数据。