自学JAVA知识点总结 - 初级

编程语言5天前更新 AaronHzy
142 0

数据类型与运算符 - 注释、标识符、关键字

注释

  • 注释的作用:为了方便阅读,也为了防止隔天就忘了自己写的代码是什么意思,用来说明的的文字就叫做注释,注释不会被编译,Java编译器会自动略过注释语句。
  • 单行注释:使用 // 开头,// 所在行后面的所有语句均为注释。
    //这是单行注释
  • 多行注释:使用 /* 开头以 */ 结尾,/* 和 */ 中间的内容都是注释,可以多行。
    /*这是多行注释
    这是多行注释
    这是多行注释*/
  • 文档注释:使用 /** 开头以 */ 结尾,/** 和 */ 中间的内容都是注释,注释中包含一些说明性的文字及一些JavaDoc标签(后期写项目时,可以直接生成项目的API)
    /**这是文档注释
     * 这是文档注释
     * 这是文档注释*/

标识符

  • 标识符的作用:标识符是用来给变量、常量、类、方法以及包进行命名。
  • 标识符规则:
    • 标识符必须以“Unicode字母”、“下划线_”或“美元符号$”开头。
    • 标识符其他部分可以是“Unicode字母”、“下划线_”、“美元符号$”和“数字”的组合。
    • Java对标识符大小写敏感,长度无限制。
    • 标识符不可是Java关键字,如“class”、“package”、“new”等。
  • 标识符的使用规范:
    • 表示类名单词首字母大写,如“Man”、“AaronHzy”。
    • 表示方法和变量的标识符,采用“驼峰原则”:首单词小写,第二个单词开始首字母大写,如“eatFood()”、"takeYourHeart()"、“int zheShiBianLiang”。
    • 表示常量,大写字母和下划线组合,如“MAX_VALUE”、"TEST_CONSTANT"。
      Java采用的是Unicode字符集,只要是Unicode支持的字符都可以作为标识符,也就是说不仅仅支持英文,中文也是支持的。
  • 标识符演示:
    //合法的标识符
    int Test = 233;
    int _123 = 233;
    int $12a = 233;
    int 变量1 = 233;
    
    //不合法的标识符
    int 1a = 233; //不能使用数字开头
    int a# = 233; //不能包含#这样的特殊符号
    int int = 233; //不能使用Java关键字

Java关键字(保留字)

关键字含义
abstract表明类或者成员方法具有抽象属性
assert断言,用来进行程序调试
boolean基本数据类型之一,布尔类型
break提前跳出一个块
byte基本数据类型之一,字节类型
case用在switch语句之中,表示其中的一个分支
catch用在异常处理中,用来捕捉异常
char基本数据类型之一,字符类型
class声明一个类
continue回到一个块的开始处
default默认,例如,用在switch语句中,表明一个默认的分支
do用在do-while循环结构中
double基本数据类型之一,双精度浮点数类型
else用在条件语句中,表明当条件不成立时的分支
enum枚举
extends表明一个类型是另一个类型的子类型,这里常见的类型有类和接口
final用来说明最终属性,表明一个类不能派生出子类,或者成员方法不能被覆盖,或者成员域的值不能被改变,用来定义常量
finally用于处理异常情况,用来声明一个基本肯定会被执行到的语句块
float基本数据类型之一,单精度浮点数类型
for一种循环结构的引导词
if条件语句的引导词
implements表明一个类实现了给定的接口
import表明要访问指定的类或包
instanceof用来测试一个对象是否是指定类型的实例对象
int基本数据类型之一,整数类型
interface接口
long基本数据类型之一,长整数类型
native用来声明一个方法是由与计算机相关的语言(如C/C++/FORTRAN语言)实现的
new用来创建新实例对象
package
private一种访问控制方式:私用模式
protected一种访问控制方式:保护模式
public一种访问控制方式:共用模式
return从成员方法中返回数据
short基本数据类型之一,短整数类型
static表明具有静态属性
strictfp用来声明FP_strict(单精度或双精度浮点数)表达式遵循IEEE 754算术规范 [1] 
super表明当前对象的父类型的引用或者父类型的构造方法
switch分支语句结构的引导词
synchronized表明一段代码需要同步执行
this指向当前实例对象的引用
throw抛出一个异常
throws声明在当前定义的成员方法中所有需要抛出的异常
transient声明不用序列化的成员域
try尝试一个可能抛出异常的程序块
void声明当前成员方法没有返回值
volatile表明两个或者多个变量必须同步地发生变化
while用在循环结构中
goto保留关键字,在C/C++中可以实现程序的跳转,但会降低可读性,所以Java将其禁用
const保留关键字,与goto类似
  • this关键字:本质代表“创建好的对象的地址”,由于在构造方法调用前对象已创建,因此在构造方法中可以使用this代表“当前对象的地址”,this常用的用法:
    • 在程序中产生二义性之处,应使用this来指明当前对象;普通方法中,this总是指向调用该方法的对象。构造方法中,this总是指向正要初始化的对象
    • 使用this关键字调用重载的构造方法,可避免相同的初始化代码,但只能在构造方法中用,并且必须位于构造方法的第一句
    • this不能用于static方法中
      public class Test{
        int a, b, c;
        
        test(int a, int b){
          // 当变量发生二义性,可使用this来区分局部变量和成员变量
          this.a = a; //当前构造方法的a=成员变量a
          this.b = b;
        }
        
        test(int a, int b, int c){
          // 构造函数调用必须是构造函数中的第一个语句
          this(a,b); //直接调用,在构造器中调用另一个构造器,需要使用this
          this.c = c;
        }
        
        void sing(){
          System.out.println("我是sing方法,我被调用啦!");
        }
        
        void eat() {
          this.sing(); //调用本类中的sing();方法
          System.out.println("你妈喊你回家吃饭!");
        }
        public static void main(String[] args) {
          test hi = new test(2, 3);
          hi.eat();
        }
      }
  • static关键字:在类中,用static声明的成员变量为静态成员变量,也称为类变量。 类变量的生命周期和类相同,在整个应用程序执行期间都有效。它有如下特点:
    • 为该类的公用变量,属于类,被该类的所有实例共享,在类被载入时被显式初始化
    • 对于该类的所有对象来说,static成员变量只有一份。被该类的所有对象共享
    • 一般用“类名.类属性/方法”来调用(也可以通过对象引用或类名(不需要实例化)访问静态成员)
    • 在static方法中不可直接访问非static的成员
      static修饰的成员变量和方法,从属于类;普通变量和方法从属于对象的。public class Test{
        int id;
        String name,pwd;
        static String company = "测试,我被调用啦"; //赋值静态成员变量company
        
        public static void main(String[] args) {
          test t = new test(001, "黄泽雨"); //创建对象并赋值
          test.printCompany(); //调用printCompany();方法
          
          test.company = "测试信息2"; //修改变量company
          test.printCompany(); //重新打印
          System.out.println(t);
        }
        
        // 构造方法
        public test(int id, String name) {
          this.id = id; //当前构造方法的id=成员变量id
          this.name = name;
        }
        
        public void login() {
          System.out.println("登录账号:"+name);
        }
        
        public static void printCompany() {
          System.out.println(company); //输出静态成员变量company
        }
      }
    • static静态初始化块:构造方法用于对象的初始化;静态初始化块,用于类的初始化;在静态初始化块中不能直接访问非static成员,注意事项:
    • 上溯到Object类,先执行Object的静态初始化块,再向下执行子类的静态初始化块,直到我们的类的静态初始化块为止
    • 构造方法执行顺序和上述顺序一样
      public class Test{
        int id;
        String name, pwd;
        static String company;
        
        public static void main(String[] args) {
          test  t = new test();
        }
        
        // 用static修饰的静态块,类初始化时执行
        static {
          System.out.println("执行类的初始化工作");
          company = "测试内容"; //给静态变量company赋值
          printCompany(); //执行printCompany方法
        }
        
        public static void printCompany(){
          System.out.println(company);
        }
      }

© 版权声明

相关文章