数据类型、变量、运算符

数据类型、变量、运算符,第1张


一、数据类型

  • 基本数据类型:

    • 数值类型:

      • 整数类型:byte(1个字节:-128~127)、short(2个字节:-32768~32767)、int(4个字节)、long(8个字节);

      • 浮点类型:float(4个字节)、double(8个字节);

      • 字符类型:char(2个字节)

    • Boolean类型:1位,true/false

  • 引用数据类型:类、接口、数组

类型转换的优先级

低到高:byte,short,char—>int—>long—>float—>double

进制

二进制0b 八进制0 十进制 十六机制 0x

银行项目:

使用精准数据:BigDecimal数学工具类;浮点数有限且精度存在问题;


二、变量、常量

变量:

  • Java是强类型语言,每个变量都必须声明使用。


    变量包含:变量名、变量类型(基本类型/引用类型)、作用域;每个声明都必须以";"结尾。


  • 作用域:

    • 类变量:static静态,就是类变量的标识;可以修饰成员变量(方法外部,类内部)和成员方法。


      在修饰成员变量、方法时,会被这个类的所有对象共享。


      用"类名. “。


      只要在该类中可以直接使用,不需要new对象,随着类的加载而存在。


    • 实例变量:成员(实例)变量,随着对象的存在而存在,只可以被对象调用相比类变量没有static。


    • 局部变量:只能在局部使用,使用之前必须声明和初始化值。


      在方法中。


           class A{
           static int a = 1;  //静态(类)变量,随着类的加载而存在,可以被对象和类名调用
           int b = 3; //成员(实例)变量,随着对象的存在而存在,只可以被对象调用
           class B{
               int a = 2; //局部变量:使用之前必须声明和初始化值
               sout(a);  //2
             sout(this.a); //1
               A aa = new A();
             aa.b; //成员(实例)变量
           }
       }
    • 规范:所有方法名、变量名都是利用”首字母小写和驼峰原则“

常量:

  • 定义:不可以改变的,使用final修饰。


    通常变量名为大写。


    以下划线隔开。


    USER_NAME


三、运算符

  • Math(数学类):其中有幂运算(pow)、绝对值(abs)等数学运算。


  • &&(与):两个为真才为true;与的前面如果为false则后面(短路)的不会执行;

  • ||(或):一个为真就为true;

  •  /**
            * 位运算(二进制):
            * a=1100 0100
            * b=0101 0110
            *--------------------------------------------
            * a&b=0101 0110
            * a|b=1101 0110
            * a^b=1001 0010(异或:如果两个相同则为0,不同则为1)
            * ~a=0011 1011
            * --------------------------------------------
            *
            * 面试题:2*8二进制怎么计算?
            * <<:左移== *2
            * >>:右移== /2
            * 2*8=2*2*2*2,就等于二进制往前移3位。


            * 2:10;4:100;8:1000;16:10000;         */

  •  //字符串连接符:
     int a = 10;
     int b = 20;
     sout(""+a+b);//结果为1020,字符串在前则输出字符串
     sout(a+b+"");//结果为30,整型在前则输出整型
  • 三元运算符:x ? y : z;如果x为true则输出z,否则输出y;


四、Scanner

  • next和nextLine的区别:

    • next:不能接收带有空白符的字符串,以空白为结束符;

    • nextLine:以enter(换行)为结束符;


五、可变参数

 public void test(int j,int ... i){} //可变参数必须放在最后面,可以多个赋值。


源码中可见

用于自己知识的总结,如果有错误欢迎指出。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/607578.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-14
下一篇 2022-04-14

发表评论

登录后才能评论

评论列表(0条)

保存