zoukankan      html  css  js  c++  java
  • java初级-基本

    1、基本数据类型

      变量就是申请内存来存储值【当创建变量的时候,需要在内存中申请空间】

      Java提供了八种基本类型(内置数据类型):【四个整数型,两个浮点型】

        byte【8】、short【16】、int【32】、long【64】、float【32】、double【64】、char【16】、boolean【表示一位的信息】

      Java提供了引用类型:【所有引用类型的默认值都是null】【一个引用变量可以用来引用任何与之兼容的类型】

        对象、数组

      Java常量:

        不能被修改、使用final关键字来修饰常量、通常用大写

    2、自动类型转换

      低-------------------------------->高

      byte、short、char->int ->long ->float ->double

    3、变量类型

      Java语言支持的变量类型:

        类变量【即静态变量】:独立于方法之外的变量,用static修饰,可以使用ClassName.VariableName方式访问

        实例变量:独立于方法之外的变量,不过没有static修饰,具有默认值、数值默认0、布尔默认false、引用默认null

        局部变量:类的方法中的变量,访问修饰符不能用于局部变量,是在栈上分配,没有默认值、必须经过初始化(设置数值)、才可以使用

    PS:protected不能修饰类(内部类除外)

    PS:被final修饰的实例变量必须显示指定初始值,final修饰符通常与static修饰符一起使用创建类常量

    PS:抽象类不能用来实例化对象,声明抽象类的唯一目的是为了将来对该类进行扩充

    PS:一个类不能同时被abstract和final修饰。如果一个类包含抽象方法,那么该类一定要声明为抽象类,否则将出现编译错误

    PS:任何继承抽象类的子类必须实现父类的所有抽象方法,除非该子类也是抽象类,抽象方法的声明以分号结尾

    PS:synchronized关键字声明的方法同一时间只能被一个线程访问;

    PS:transient包含在定义变量的语句中,用来预处理类和变量的数据类型,序列化的对象包含被 transient 修饰的实例变量时,java 虚拟机(JVM)跳过该特定的变量

    PS:volatile 修饰的成员变量在每次被线程访问时,都强制从共享内存中重新读取该成员变量的值。而且,当成员变量发生变化时,会强制线程将变化值回写到共享内存。这样在任何时刻,两个不同的线程总是看到某个成员变量的同一个值。

    一个 volatile 对象引用可能是 null。

    4、访问控制和继承

      方法继承规则:

        父类中声明为public的方法在子类中也必须为public

        父类中声明为protect的方法在子类中要么声明为protected,要么声明为public,不能声明为private

        父类中声明为private的方法,不能够被继承  

    5、相关语句

    Java增强for循环

      for(声明语句:表达式){

        //代码句子

      }

      声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块中,其值与此时数组元素的值相等

      表达式:是要访问的数组名,或者返回值为数组的方法

    Java中switch case语句:

      switch(expression){

        case value :

          break;

        case value : //语句

          break; //可选

        //你可以有任意数量的case语句

        default : //可选

           //语句

      }

             ps:switch语句中的变量类型可以byte、short、int、char、string

         每个case后面跟一个要比较的值和冒号

           case语句中的值的数据类型必须与变量的数据类型相同,而且只能是常量或者字面常量

           如果case语句块中没有break语句,匹配成功后,从当前case开始,后续所有case的值都会输出,如果后续中有break则会跳出

    6、补充

      valueOf():返回一个Number对象指定的内置数据类型

      abs():返回参数的绝对值

      isUpperCase():是否是大写字母

      isLowerCase():是否是小写字母

    7、Java StringBuffer 和 StringBuilder类

      当对字符串进行修改的时候,需要使用StringBuffer【线程安全】和StringBuilder【不是线程安全,不能同步访问,速度快】类,此类的对象能够被多次修改,并且不产生新的未使用对象

      

           

        

  • 相关阅读:
    OutputStream 和 Writer
    elasticsearch技术解析与实战(一) 入门和索引
    Kafka Consumer API样例
    关于kafka的新的group无法订阅到topic中历史消息的问题
    apache kafka系列之在zookeeper中存储结构
    KafkaConsumer 长时间地在poll(long )方法中阻塞
    问题记录
    java随笔
    Ubuntu18.10下运行blender2.80bate闪退(问题?)
    linux下简单制作iso,img镜像文件
  • 原文地址:https://www.cnblogs.com/sharry/p/11970618.html
Copyright © 2011-2022 走看看