小怡分享之Java数据类型与变量

前言:

       🌈✨之前小怡带大家大概了解一下Java这门语言,今天要给大家分享的是Java的数据类型和变量。

1.字面常量

常量即程序运行期间,固定不变的量成为常量。

接下来,小怡用代码来让大家更清楚的了解常量。

public class Demo {
    public static void main(String[] args) {
        System.out.println("hello world");//字符型常量,被“”括起来的
        System.out.println(100);//整型常量,直接写的数字,没小数点
        System.out.println(3.14);//浮点数常量,直接写的小数
        System.out.println('A');//字符常量,用单引号括起来的单个字符
        System.out.println(true);//布尔常量,只有true和false
        System.out.println(false);
    }
}

        还有一种叫空常量:null(后面讲) 。

被final修饰的变量叫常量,不能再修改了。

final int a=1;

        注:字符串、整型、浮点型、字符型以及布尔型,在Java中都称为数据类型。

        那知道了字面常量,这些常量能用来干什么呢,小怡带你接着往下看数据类型。 

2.数据类型

         在Java中数据类型主要分为两类:基本数据类型引用数据类型

基本

数据

类型

数据类型关键字内存占用范围
字节型byte1字节-128~127
短整型short2字节-32768~32767
整型int4字节-2^31~2^31-1
长整型long8字节-2^63~2^63-1
单精度浮点数float4字节有范围,一般不关注
双精度浮点数double8字节有范围,一般不关注
字符型char2字节0~65535
布尔型boolean没有明确规定true和false
引用数据类型数组、类、接口、String......

在Java里,不管是多少位系统,数据类型占用的字节数是一定的。

优点:可移植性高。

注意:

  • 不论是在16位系统还是32位系统,int都占用4个字节,long都占用8个字节。 
  • 整型和浮点型都是带有符号的。
  • 整型默认为int型,浮点型默认为double。
  • 字符串属于引用类型。

 小怡在这里给大家补充这些单位和进制哦

嘿嘿,有一个好记的方法:程序员节是10月24日 

3.变量

3.1    变量概念 

       在Java中,对于那些经常改变的内容,称为变量。而数据类型就是用来定义不同种类变量的。

3.2    语法格式 

     定义变量的语法格式为: 

数据类型  + 变量名=初始值

例如: 

        int a=1;
        double d=3.14;
        char c='A';
        boolean b=true;

也可以

a=1;

       在这里,a是变量,a中的值是可以修改的,注意:=  在Java中表示赋值,即把1赋给a,a中保存的值就是1。

  

在一行代码中也可以定义多个相同类型的变量。例如:

int a1=1,a2=2,a3=3;

3.3    整型变量 

3.3.1  整型变量

方式一:在定义时给出初始值

方式二:在定义时没有给初始值,但使用前必须设置初始值

使用方式二定义后,如果在使用前没有赋值,则会报错

int型变量所能表示的范围:

这里的Integer,术语:包装类

                         通俗理解:int的plus版本 

注意:在定义int型变量时,所赋值不能超过int的范围,否则编译时会报错。

注意事项:

  1. int无论是在任何系统下都是4个字节。
  2. 推荐使用方式一定义,如果没有合适的初始值,可以设置为0;
  3. 在给变量设置初始值时,值不能超过int的表示范围,否则会导致溢出。
  4. 变量在使用之前必须赋值,否则编译报错。
  5. int的包装类为Integer。 

3.3.2  长整型变量 

这里是long定义的长整型变量

一般建议用大写L

long型变量所能表示的范围:这个数据范围远超过int的表示范围,足够绝大部分的工程场景使用。 

注意事项:

  1. 长整型变量的初始值后加L或者l,推荐加大写L;
  2. 长整型不论在哪个系统下都占8个字节;
  3. 长整型的表示范围为:-2^63~2^63-1;
  4. long的包装类型为Long。 

3.3.3  短整型变量

short型变量所能表示的范围: 

注意事项:

  1. short在任何系统下都占2个字节
  2. short的表示范围为:-32768~32767
  3. 使用时注意不要超过范围(一般使用比较少)
  4. short的包装类型为Short 

3.3.4   字节型变量 

byte型变量所能表示的范围: 

 

注意事项:

  1. byte在任何系统下都占1个字节
  2. byte的范围:-128~127
  3. 字节的包装类型为Byte 

为什么byte、short、int、long都可以定义整型变量,要给出四种呢?

因为这就好像买衣服时候选尺码,要选合适的 

3.4   浮点型变量

3.4.1  双精度浮点型 

         先给大家看一个神奇的代码:

 

          大家猜猜会输出0.5吗?答案实际上是这样的:

 

          因为在Java中,int除以int的值仍然是int(会直接舍弃小数部分),如果想得到0.5,需要使用double类型计算。

 

             再给大家看一个神奇的代码:

 

它的结果不是1.21,而是:

 

             小数点是不能精确表示每一位的,只能说精确到小数点后几位。

注意事项:

  1. double在任何系统下都占8个字节;
  2. 浮点数和整数在内存中的存储方式不同,不能单纯的使用2的n次方的形式来计算;
  3. double的包装类型是Double;
  4. double类型的内存布局遵守IEEE 754标准(和C语言一样),尝试使用有限的内存空间表示可能无限的小数,比会存在一定的精度误差,因此浮点数是个近似值,并不是精确值。 

3.4.2   单精度浮点数 

注:如果不加F/f会被认为是double。 

       float类型在Java中占四个字节,同样遵守IEEE754标准。由于表示的数据精度范围较小,一般在工程上用到浮点数都优先考虑double,不太推荐float。float的包装类型为Float。

3.5   字符型变量 

   在Java中,字符可以存放整型。

注意事项:

  1. Java中使用 单引号+单个字母 的形式表示字符字面值。
  2. 计算机中的字符本质上是一个整数。在C语言中使用ASCII表示字符,而Java中使用Unicode表示字符。因此一个字符占用两个字节,表示对字符种类更多,包括中文。
  3.  char的包装类型为Character。

int的包装类型为Integer,char的包装类型为Character,其余的都是首字母大写。 

3.6   布尔型变量 

 

注意事项:

  1. boolean类型的变量只有两种取值,true表示真,false表示假;
  2. Java的boolean类型和int类型不能相互转换,不存在1表示true,0表示false这样的用法。
  3. boolean的包装类型为Boolean。 

 

🌈✨今天的分享到这里结束啦,小怡和大家一起进步,“学如逆水行舟,不进则退”,让我们一起努力加油吧!

 

  • 10
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值