[Java 学习]:基础语法

135 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 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(); 
    } 
}