Java的数据类型

本文介绍了Java中的数据类型,包括整型(短整型、整型、长整型)、浮点型(单精度和双精度)、字符类型、字节类型、布尔类型以及字符串类型。强调了各类型的特点,如取值范围、字节数和使用注意事项,同时通过示例代码解释了类型之间的差异和使用场景。
摘要由CSDN通过智能技术生成

在学习一门语言之前,我们不可避免地要知道相关的数据类型,想必在之前大家应该学过C语言吧,Java的数据类型与C语言有很多的相似,但也存在着不同。那么今天我就给大家分享我学习到的关于Java的数据类型。

变量分为整型变量、浮点型变量、字符类型变量、字节类型变量、布尔类型变量与字符串类型变量。接下来我将为大家一一介绍。

目录

整型变量

短整型变量

整型变量

长整型变量

浮点类型

双精度浮点数

单精度浮点数

字符类型变量

字节类型常量

布尔类型变量

字符串类型变量

整型变量

整型变量又分为不同种类,分别是短整型变量、整型变量和长整型变量。

短整型变量

短整型变量的基本语法格式是:short 变量名 = 初始值;

举个例子:

short a = 0;

System.out.println(a);

short占两个字节,所以short类型的取值范围是-2^15~2^15-1,在Java语法中,没有无符号类型,所以统一都是有符号类型。

整型变量

整型变量的基本语法格式是:int 变量名 = 初始值;

例:

int a = 10;

System.out.println(a);

在Java中,不管你在多少位的操作系统中,int类型所占的字节都是4个字节,取值范围是-2^31~2^31-1,这也大大体现了Java语言的可移植性强的特点。如果你想计算出int的取值范围,你也可以通过代码来实现:System.out.println(integer.MAX_VALUE) (这计算的是最大取值范围)

System.out.println(integer.MIN_VALUE) (最小取值范围)。

长整型变量

整型变量的基本语法格式是:long 变量名 = 初始值;

例:

long a = 10L;  //这里定义一个长整型变量,L表明他是整数(L可以是小写,但不能为1)
System.out.println(a);

long占8个字节,取值范围为-2^63~2^63-1,这里也可以用代码来查看long的取值范围,做法跟上面int一样,只是需要把括号里的integer改为Long,我这里就不过多展示了。

这里我们需要注意的是:在C语言中有long long类型,那么在Java中是否也有long long类型呢?答案是没有,这点千万要记住,别搞混了。

浮点类型

浮点类型分为双精度浮点类型和单精度浮点类型。

双精度浮点数

基本语法格式:double 变量名 = 初始值;

例:

double a = 1.0;
System.out.println(a);

我们在定义浮点数的时候,记住初始值后面要有小数点,要不然结果后面的小数很可能被舍弃。

我们来看看下面一段代码:

int a = 1;
int b = 2;
System.out.println(a/b);

结果是不是0.5呢?其实并不是,因为/的两边都是整数,所以得出来的结果也都是整数,也就是说小数部分被舍弃掉了,那么我们要想得到0.5该怎么做呢?这时就轮到我们浮点数发挥作用了:

double a = 1.0;
double b = 2.0;
System.out.println(a/b);

这样我们就能得到我们想要的0.5,是不是觉得挺神奇的呢?那么我们再来看一段代码,看看这段代码运行的结果又会是什么呢?

double a = 1.1;
System.out.println(a*a)

结果会不会是1.21呢?我们来看看执行结果

 是不是又觉得很神奇呢?那么为什么又会出现这种情况呢?因为在小数部分中很难像整数那样表达每一个数字,例如:二进制0.1表示0.5,0.01表示0.25,0.001表示0.125,所以浮点数很难做到绝对的准确,可能会存在有点误差。

单精度浮点数

基本格式格式:float a = 1.0f;

有没有发现不同,这个1.0后面为什么要有f呢,因为你如果不带f,它会被认为是双精度浮点数,所以我们在定义单精度浮点数的时候需要注意后面得加上f,防止出现错误。

字符类型变量

基本格式:char 变量名 = 初始值

例:

char ch = 'a';
System.out.println(a);

那么char所占的字节是多少呢?1个字节吗?不不不,跟C语言不一样,在Java中,char类型所占的字节大小是2个字节大小,取值范围是-2^15~2^15,也就是说我们可以将汉字赋值给char类型的变量,例如:

char ch = '爱';
System.out.println(ch);

但是当我们用cmd执行javac的时候可能会出现以下错误:

 这是为什么呢?因为Java与一般的执行标准不同,一般按照UTF-8标准,而Java则按照Unicode标准,所以我们在执行Javac的时候需要加上-encoding UTF-8。

字节类型常量

基本格式:byte 变量名 = 初始值;

例:

byte a = 0;
System.out.println(a);

字节类型表示的也是整数,它的取值范围是-2^7~2^7-1,字节类型与字符类型是不相干的。

布尔类型变量

基本语法格式:boolean 变量名 = 初始值;

例:

boolean a = true;
System.out.println(a);

注意这里的布尔类型的变量只有两种,一种是true,true表示真,一种是false,false表示假。并且布尔类型不能与int类型的值相互转换,1不能表示true,0不能表示false。布尔类型有些JVM的实现是占一个字节,有些是占有个比特位,这个没有明确规定。

字符串类型变量

基本语法格式:String 变量名 = 初始值;

例:

String name = "zhangsan";
System.out.println(name);

""代表字符串。而’‘则代表字符。这里我们也需要加以辨别。
当我们想要在屏幕上打印"a"该怎么做呢?像这样?

String a = "a";
System.out.println(""a"");

这样很显然是行不通的。因为“会跟最近的”相匹配,所以并不能达到我们的目的。那么我们又该怎么做呢?在这里我们需要了解什么是转义符。转义符有很多,其中常见的有以下几种:

 所以我们可以这样写:

String a = "a";
System.out.println("\"a\"");

字符串的+操作表示字符串的拼接。

String a = "hello";
String b = "world";
String c = a + b;
System.out.println(c);

这段代码的执行结果是helloworld。

那么这一段代码结果是什么呢?

System.out.println("hello"+10+20);

是hello30?不是的答案是hello1020,因为字符串的+结果还是字符串,所以"hello"+10的结果是hello10,然后hello10+20的结果是hello1020。

那么我们要想得到1020hello又该怎么做呢?很简单

System.out.println(10+""+20+"hello");

怎么样学会呢吗?这样以上就是我学到的关于Java数据类型的知识,感谢大家的观看。

  • 17
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 14
    评论
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不能再留遗憾了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值