持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第16天。
今天开始学习 java,这个是很久以前打算学的,在经历里无数次学了又放弃的循环中,终于再次鼓起勇气学习到底。计划将 java 知识分类整理学习,感谢掘金的活动,让我有了学习的动力,加油吧!!!
今天首先学习 java 的基础语法。这里略掉了环境安装的过程,需要的同学请自行查阅吧。
基本概念
- 类:可以理解为一个模板,用来描述一类对象的状态和行为
- 对象:类的实例,有状态和行为。比如汽车是一个对象,状态包括:品牌、颜色、油耗等等。
- 方法:就是一个定义在对象或类中的函数,也就是行为,一个类可以有很多方法。如逻辑运算、数据修改以及所有动作实现都是在方法中。
基本规则
- 大小写敏感
- 类名:首字母大写,遵循大驼峰命名法,比如:ClassName
- 方法名:小写字母开头,遵循小驼峰命名法,比如:runQuick
- 源文件名:这点比较重要,小白容易犯错。源文件必须与类名同名,否则会导致编译错误
- 主方法入口:public static void main(String[] arg)
- 空白行或有注释的行,java 编译器都会忽略
注释
/****/ 单行或多行注释
// 单行注释
接口
接口可以理解为对象间相互通信的协议,只定义方法名,具体的实现取决于派生类。
变量
变量就是申请内存来存储值,内存管理系统会根据变量的类型分配存储空间,而分配的空间只能用来存储该类型的数据。
根据存储方式可以分为:
- 内置数据类型:八种基本类型(数字:byte、short、int、long、float、double 布尔:boolean 字符:char)
- 引用数据类型:存储的是指针,指向一个对象,一旦声明,类型不可修改。包括:对象、数组
按声明位置主要分为以下三种:
(1)局部变量:类方法中的变量
- 声明在方法、构造方法或语句中
- 语句执行时创建,执行完之后销毁
- 只在声明它的方法、构造方法或语句块内可见,不可用方位修饰符
- 局部变量没有默认值,声明时必要有初始值方可用。
public class Test{
public void pupAge(){
int age; // 因为没有初始值,所以会出现编译错误
age = age + 7;
System.out.println("小狗的年龄是 : " + age);
}
public static void main(String[] args){
Test test = new Test(); test.pupAge();
}
}
(2)类变量(静态变量/常量):用 static 修饰,独立与方法之外
- 以 static 关键字声明,必须在方法之外
- 无论一个类创建了多少个对象,类只拥有类变量的一份拷贝
- 静态变量初始化之后,不可修改
- 第一次访问时创建,程序结束时销毁
- 可以通过 ClassName.VariableName 的方式访问
- 静态变量名称建议使用 大写字母
public class Employee {
//salary是静态的私有变量
private static double salary;
// DEPARTMENT是一个常量
public static final String DEPARTMENT = "开发人员";
public static void main(String[] args){
salary = 10000;
System.out.println(DEPARTMENT+"平均工资:"+salary);
}
}
(3)成员变量/实例变量:无 static 修饰,独立与方法之外
- 定义在类中,但在方法、构造方法和语句块之外
- 当对象被实例化之后,每个实例变量的值也跟着被确定
- 实例变量的值,至少被引用一次
- 可以声明在使用前或使用后
- 一般情况下要把实例变量设为私有,再通过访问修饰符取值
- 实例变量有默认值
public class Employee{
// 这个实例变量对子类可见
public String name;
// 私有变量,仅在该类可见
private double salary;
//在构造器中对name赋值
public Employee (String empName){ name = empName; }
//设定salary的值
public void setSalary(double empSal){ salary = empSal; }
// 打印信息
public void printEmp(){
System.out.println("名字 : " + name );
System.out.println("薪水 : " + salary);
}
public static void main(String[] args){
Employee empOne = new Employee("RUNOOB");
empOne.setSalary(1000.0); empOne.printEmp();
}
}