zoukankan      html  css  js  c++  java
  • Java基础之常量、变量、数据类型、运算符

    1.常量

    常量是指在java程序中固定不变的数据

    2.变量和数据类型

    变量:常量是固定不变的数据 ,那么在程序中可以变化的量成为变量

    使用变量时的一些注意事项:

    • 如果创建多个变量,那么变量之间的名称不可以重复

    • 对于float和long类型来说,字母后缀F和L不要丢掉

    • 如果使用byte或者short类型的变量,那么右侧的数据值不能超过左侧类型的范围

    • 没有赋值的变量不能直接使用:一定要赋值之后才能使用

    • 变量使用不超过作用域范围 【作用域】:从定义变量的一行开始,一直到所属大括号结束为止

    • 可以通过一个语句来创建多个变量,但是一般不推荐这样写

    基本数据类型

    • 整数型:byte short int long

    • 浮点型:float double

    • 字符型:char

    • 布尔型:Boolean

    Java中的默认类型:整数类型是int、浮点类型是double

    引用数据类型**:

    • 字符串、数组、类、接口、lambda

    注意事项:

    1. 字符串不是基本类型,而是引用类型

    2. 浮点型可能只是一个近似值,并非精确的值

    3. 数据范围与字节数不一定相关,例如float数据范围比long更加广泛,但是float是4字节,long是8字节

    4. 浮点数当中默认是double,如果一定要使用float类型,需要加上一个后缀F。如果是整数,默认是int类型,如果一定要使用long类型,需要加上一个后缀L,推荐使用大写字母后缀

    3.数据类型转换

    3.1自动转换

    一个 int 类型变量和一个 byte 类型变量进行加法运算, 结果会是什么数据类型?

    public static void main(String[] args) { 
        int i = 1; 
        byte b = 2; // byte x = b + i; // 报错 //int类型和byte类型运算,结果是int类型 int j = b + i; System.out.println(j); 
    }

    运算结果,变量的类型将是 int 类型,这就是出现了数据类型的自动类型转换现象。

    自动转换:将 取值范围小的类型 自动提升为 取值范围大的类型 。

    同样道理,当一个 int 类型变量和一个 double 变量运算时, int 类型将会自动提升为 double 类型进行运算。

    转换规则:范围小的类型向范围大的类型提升, byte、short、char 运算时直接提升为 int 。

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

    3.2强制转换

    将 1.5 赋值到 int 类型变量会发生什么?产生编译失败,肯定无法赋值。

    double 类型内存8个字节, int 类型内存4个字节。 1.5 是 double 类型,取值范围大于 int 。可以理解为 double 是8升的水壶, int 是4升的水壶,不能把大水壶中的水直接放进小水壶去。 想要赋值成功,只有通过强制类型转换,将 double 类型强制转换成 int 类型才能赋值。

    强制类型转换:将 取值范围大的类型 强制转换成 取值范围小的类型 。

    转换格式: 数据类型 变量名 = (数据类型)被转数据值;

    将 1.5 赋值到 int 类型,代码修改为:

    // double类型数据强制转成int类型,直接去掉小数点。 会发生精度丢失
    int i = (int)1.5;

    注意:

    • 当数据类型不一致时,将会发生数据类型转换

    • 自动类型转换(隐式)

      1. 特点:代码不需要特殊处理,自动完成

      2. 规则:数据范围从小到大.

    • 强制类型转换(显式)

      1. 特点:代码需要进行特殊的格式处理,不能自动完成

      2. 格式:范围小的数据类型 范围小的变量名 = (范围小的类型) 原本范围大的数据

    • 注意事项:

      1. 强制类型转换一般不推荐使用,因为有可能发生精度损失、数据溢出

      2. byte/short/char 这三种类型都可以发生数学运算,例如加法

      3. byte/short/char 这三种类型在运算的时候,都会被先提升称为int类型,然后再计算

      4. boolean类型不能发生任何数据类型的转换

    3.3 ASCII码表

    public static void main(String[] args) {
       char c = 'a';
       int i = 1;
       System.out.println(c + i); // 输出结果为98
    }

     

    4.运算符

    4.1 算术运算符

    自增运算符: ++ 自减运算符: --

    基本含义:让一个变量涨一个数字1,或者让变量降一个数字1 使用格式:写在变量名称之前,或者写在变量名称之后。例如:num++ 或者 ++num 使用方式: 1.单独使用:不和其他任何操作混合,自己独立成为一个步骤 2.混合使用:和其他操作混合,例如与赋值混合 使用区别: 1.再单独使用的时候,前++和后++没有任何区别 2.在混合使用的时候,有重大区别: A:如果是前++,那么变量立刻马上+1,然后拿着结果进行使用 先加后用 B: 如果是后++,那么首先使用变量本来的数值,再让变量+1 先用后加

    注意事项: 只有变量才能使用自增、自减运算符,常量不可以发生改变,所以不能使用

    4.2 赋值运算符

    4.3 比较运算符

    4.4 逻辑运算符

    4.5 三元运算符

    格式:数据类型 变量名 = 布尔类型表达式?结果1:结果2

    public static void main (String[] args) {
        int i = 1==2 ? 100 : 200;
        System.out.println(i);
    }

     

     

  • 相关阅读:
    Java 签名(SHA1WithRSA、SHA256WithRSA、SHA256withECDSA)
    记一次用WireShark抓包摆脱Si服后台限制的过程
    反向代理Nginx
    对于新能源Can数据、电池BMS等字节和比特位的解析
    WireShark抓包命令
    .NET下寄宿于控制台的HTTPS监听
    RSA等非对称加密为什么要用公钥加密,而用私钥解密?
    FTP、SFTP与FTPS
    Python打包方法——Pyinstaller
    [Python爬虫]煎蛋网OOXX妹子图爬虫(1)——解密图片地址
  • 原文地址:https://www.cnblogs.com/guoruijie/p/13294572.html
Copyright © 2011-2022 走看看