Java的数据类型

如果你不相信努力和时光,那么成果就会是第一个选择辜负你的。不要去否定你自己的过去,也不要用你的过去牵扯你现在的努力和对未来的展望。不是因为拥有希望你才去努力,而是去努力了,你才有可能看到希望的光芒。Java的数据类型,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

在学习一门语言之前,我们不可避免地要知道相关的数据类型,想必在之前大家应该学过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呢?我们来看看执行结果

Java的数据类型

 是不是又觉得很神奇呢?那么为什么又会出现这种情况呢?因为在小数部分中很难像整数那样表达每一个数字,例如:二进制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的数据类型

 这是为什么呢?因为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"");

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

Java的数据类型

 所以我们可以这样写:

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数据类型的知识,感谢大家的观看。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/192671.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!