常量、变量的定义及分类

  • 什么是常量,什么是变量,对于一个编程小白来说,这个理解起来很简单呀,常量就是不变的量嘛,变量就是变化的量嘛,当然这样说肯定不是很具体,我们得具体准确的描述一下,常量就是在程序编译过程中,其值不会发生变化的量;变量就是在程序编译过程中,其值会发生变化的量,咦嘻嘻
  • 常量的分类
    (1)字面值常量 :字符串常量、整数常量、小数常量、字符常量、布尔常量、空常量。
    (2)自定义常量 (目前等级不够,等数日后升级了再解锁相关内容吧!)
  • 变量的分类
    (1)变量其实就是内存中的一小块区域,我们定义一个变量,其实就时开辟了一个内存空间。对于变量的分类,我们采用不同的数据类型来区分不同的变量。而数据类型大致分为
    a. 基本数据类型
    b.引用数据类型
    (2)基本数据类型还可再细分为以下的几种类型
    a.数值型(整数型有byte型、short型、int型、long型,浮点型有double型和float型)
    b.字符型 char
    c.布尔型 boolean
    注意,整数默认为int型,浮点数默认是double型

两种重要的数据类型转换(隐性数据类型转换和强制类型转换)

java类 常量list_运算符


大家仔细研究这段代码,其中a,b,c,均已正确定义,且赋值运算也没有超出byte型的大小,但是我们来看一下编译结果

java类 常量list_数据类型_02


编译报错显示:从int型到byte型可能会有损失,什么意思呢?Java中的默认转换规则当两个变量进行数学运算时,参与运算的变量会自动进行数据类型提升,也就是我在标题说的隐式类型转换。如上例:

a+b:Byte+ Byte 参与加法运算后,其进行自动类型提升为int型,而c定义为byte型,byte型无法承载int 型的数据(即使未超出byte的表示范围)我们改改上例程序试试

java类 常量list_java类 常量list_03


编译运行一下

java类 常量list_运算符_04

这里的输出结果是正确的

除此之外的其他隐式转换规则还有:

(1): boolean类型不能转换为其他的数据类型

(2): byte,short,char—int—long—float—double

(3): byte,short,char之间不转换,他们参与运算首先转换为int类型

上面的例子我们讲了隐式数据类型转换,接下来我们来看看强制性类型转换:

还是用上面的那个例子

java类 常量list_数据类型_05


在这里我们知道,当ab数学运算后会将自身先提升为int型,然而我们明显可以看到,byte型完全可以容纳a+b的结果。使用int型岂不是太大材小用,这样还浪费了一定的内存空间(虽然这一丢丢空间没什么用,但我总得给我找个理由进行强制类型转换啊,咦嘻嘻)没错,我们就是想要用byte 型来存放c,我们该怎么做呢?

java类 常量list_java类 常量list_06


我给a+b的前面加了(byte),通过这样的语法方式来进行强制类型转换,大家可以看一下结果

java类 常量list_java类 常量list_07


程序是可以正常运行的,通过这样的方式,我们可以实现将一种数据类型强制的转换成为其他指定的数据类型。但其中会有可能会产生一定的精度误差。

运算符的基本用法

  • 什么是运算符
    对常量和变量进行操作的符号我们称之为运算符
  • 运算符的分类
    算数运算符
    赋值运算符
    比较运算符
    逻辑运算符
    位运算符
    三目运算符
    **a.**算术运算符都有: + , - , * , / , % , ++ , –
    让我们来具体使用一下

    输出结果看一下

    **算术运算符++ – 的应用
    A:++,–运算符的作用
    自加(++)自减(–)运算
    ++:自加。对原有的数据进行+1
    –:自减。对原有的数据进行-1

单独使用(见上例):

放在操作数的前面和后面效果一样。

参与运算使用:

放在操作数的前面,先自增或者自减,然后再参与运算。

放在操作数的后面,先参与运算,再自增或者自减。

多说无益 看例子

java类 常量list_运算符_08


输出运行结果如下

java类 常量list_与运算_09

  • 逻辑运算符
    逻辑运算符有
    &(并且) , |(或者) , !(非) , ^(异或) , &&(短路与) , ||(短路或)
    注意事项:
    a:逻辑运算符一般用于连接boolean类型的表达式或者值。
    在Java中我们要表示一个数大于3并且小于6 ,不可以写成3<x<6,应该写成 x>3 & x<6 。
    &逻辑与:有false则false。
    |逻辑或:有true则true。
    ^逻辑异或:相同为false,不同为true。
    !逻辑非:非false则true,非true则false。

看例子:

java类 常量list_运算符_10


输出结果

java类 常量list_java类 常量list_11


就是这样的结果了啦啦啦