• java基础知识


    java基础知识

    •  注释
      • 单行注释://.......
      • 多行注释:/*......*/
      • 文档注释:

            /**

            *.........

            */

    • 标识符
      • Java 中标识符是为方法、变量或其他用户定义项所定义的名称。标识符可以有一个或多个字符。在 Java 语言中,标识符的构成规则如下。
        • 标识符由数字(0~9)和字母(A~Z 和 a~z)、美元符号($)、下划线(_)以及 Unicode 字符集中符号大于 0xC0 的所有符号组合构成(各符号之间没有空格)。
        • 标识符的第一个符号为字母、下划线和美元符号,后面可以是任何字母、数字、美元符号或下划线。
        另外,Java 区分大小写,因此 my 和 My 是两个不同的标识符。
        提示:标识符命名时,切记不能以数字开头,也不能使用任何 Java 关键字作为标识符,而且不能赋予标识符任何标准的方法名。
    • 关键字
      • 关键字(或者保留字)是对编译器有特殊意义的固定单词,不能在程序中做其他目的使用。关键字具有专门的意义和用途,和自定义的标识符不同,不能当作一般的标识符来使用。
      • Java 语言目前定义了 51 个关键字,这些关键字不能作为变量名、类名和方法名来使用。以下对这些关键字进行了分类。
        1. 数据类型:boolean、int、long、short、byte、float、double、char、class、interface。
        2. 流程控制:if、else、do、while、for、switch、case、default、break、continue、return、try、catch、finally。
        3. 修饰符:public、protected、private、final、void、static、strict、abstract、transient、synchronized、volatile、native。
        4. 动作:package、import、throw、throws、extends、implements、this、supper、instanceof、new。
        5. 保留字:true、false、null、goto、const。
    • 数据类型
      • 在java源代码中,每个变量都必须声明一种类型(type)。有两种类型:primitive type和reference type。引用类型引用对象(reference to object),而基本类型直接包含值(directly contain value)。因此,Java数据类型(type)可以分为两大类:基本类型(primitive types)和引用类型(reference types)。primitive types 包括boolean类型以及数值类型(numeric types)。numeric types又分为整型(integer types)和浮点型(floating-point type)。整型有5种:byte short int long char(char本质上是一种特殊的int)。浮点类型有float和double。
      • 如图:

    • 变量

    类变量:独立于方法之外的变量,用 static 修饰。

    实例变量:独立于方法之外的变量,不过没有 static 修饰。

    局部变量:类的方法中的变量。

    • 运算符

    JAVA的运算符,分为四类:

    算数运算符、关系运算符、逻辑运算符、位运算符

    算数运算符(9):+  -  *  /  %  ++  --

    关系运算符(6):==  !=  >  >=  <  <=

    逻辑运算符(6):&&  ||  !  ^  &  |

    位运算符(7):&  |  ~  ^  >>  <<  >>>

    三目运算符:(条件)?(true):(false)

    • 用户交互-》Scanner对象

     

    • 可变参数

    • 递归:就是方法调用自身
      • 由递归头(递归出口)+递归体
    • 数组

     数组指一组数据的集合,数组中的每个数据被称作元素。

     数组类型[] 数组名 = new 数组类型[元素个数或数组长度];

     初始值:

      

      • 稀疏数组  
        • 原数组中存在大量的无效数据,占据了大量的存储空间,真正有用的数据却少之又少

        • 压缩存储可以节省存储空间以避免资源的不必要的浪费,在数据序列化到磁盘时,压缩存储可以提高IO效率

    • 面向对象

        Java 是面向对象的编程语言,对象就是面向对象程序设计的核心。所谓对象就是真实世界中的实体,对象与实体是一一对应的,也就是说现实世界中每一个实体都是一个对象,它是一种具体的概念。对象有以下特点:

      • 对象具有属性和行为。
      • 对象具有变化的状态。
      • 对象具有唯一性。
      • 对象都是某个类别的实例。
      •  一切皆为对象,真实世界中的所有事物都可以视为对象。
    • 构造器

        构造器最大的用处就是在创建对象时执行初始化,当创建一个对象时,系统会为这个对象的实例进行默认的初始化。如果想改变这种默认的初始化,就可以通过自定义构造器来实现。

    • 三大特性   

    1、面向对象有三大特性,分别是:封装、继承和多态。
    2、封装:面向对象的封装就是把描述一个对象的属性和行为的代码封装在一个类中,有些属性是不希望公开的,或者说被其他对象访问的,所以我们使用private修饰该属性,使其隐藏起来;类中提供了方法(用public修饰),常用的是get、set方法,可以操作这些被隐藏的属性,其他类可以通过调用这些方法,改变隐藏属性的值!
    封装是保证软件部件具有优良的模块性的基础,封装的目标就是要实现软件部件的“高内聚、低耦合”,防止程序相互依赖性而带来的变动影响。在面向对象的编程语言中,对象是封装的最基本单位,面向对象的封装比传统语言的封装更为清晰、更为有力。
    3、继承:在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,使用extends关键字实现继承;子类中可以加入若干新的内容,或修改原来的方法使之更适合特殊的需要,这就是继承。继承是子类自动共享父类数据和方法的机制,这是类之间的一种关系,提高了软件的可重用性和可扩展性。
    4、多态:多态就是在声明时使用父类,在实现或调用时使用具体的子类;即不修改程序代码就可以改变程序运行时所绑定的具体代码,让程序可以选择多个运行状态,这就是多态性,多态增强了软件的灵活性和扩展性。这里可以举个例子,比如声明时使用的是动物类,调用时传递的是一个猫类(动物类的子类)的对象,具体执行父类里动物——吃的方法时,实际执行的是猫——吃的方法。

    • 高内聚,低耦合    

        高内聚就是说相关度比较高的部分尽可能的集中,不要分散低耦合就是说两个相关的模块尽可以能把依赖的部分降低到最小,不要让两个系统产生强依赖

          低耦合就是每个模块之间的关联性将到可控范围的最低

    • instanceof、static

         instanceof:判断一个对象是不是属于某一个类型,返回值为boolean

         static:

           1、概念:static修饰的属性和方法被该类的所有对象共享

           2、使用:使用类名直接调用static修饰的代码中不包含this和super非静态的可以直接调用静态的,反之不行静态的可以直接调用静态的 

             3、普通的属性在对象创建才加载内存静态的属性在类加载就立即加载内存

          4、非静态修饰的依赖对象,所以,普通方法看着是对象方法,普通属性属于某个具体对象static修饰的依赖于类,所以,静态的方法和属性使用类名直接调用

     

    • 异常

         异常就是有异于常态,和正常情况不一样,有错误出现。在java中,阻止当前方法或作用域的情况,称之为异常。 

    异常的处理

    抛出异常:throw(方法上),throws(方法内)

    捕获异常:try,catch,finally

  • 相关阅读:
    multilabel-multiclass classifier
    关于zabbix _get返回Could not attach to pid的问题
    python导出环境依赖到req,txt文件中
    inode满的解决方法
    搞定面试官:咱们从头到尾再说一次 Java 垃圾回收
    SpringBoot项目,如何优雅的把接口参数中的空白值替换为null值?
    万万没想到,JVM内存区域的面试题也可以问的这么难?
    万万没想到,面试中,连 ClassLoader类加载器 也能问出这么多问题…..
    npm私服verdaccio报sha错误的解决方案
    配置SQL Server 2016无域AlwaysOn(转)
  • 原文地址:https://www.cnblogs.com/lyt-echso/p/12913214.html
Copyright © 2020-2023  润新知