与c语言一样,java也有各种各样的数据结构类型,不过在许多的小细节上二者仍有很大的差距那么接下来就有小编我来带大家梳理一下吧
目录
一、数据类型
java的数据类型主要分为 基本数据类型 和 引用数据类型 两类
这篇文章我们先来探讨基本数据类型的应用,引用数据类型就留到下一篇文章来分析咯
如下图所示,基本数据类型主要有四类:即 整型、浮点型、字符型和布尔型:
而四类又可以细分成以下八种:
注意:
1、int不管在多少位的操作系统中都占4个字节
2、与c语言不同,java中有字符串数据类型,不过属于引用类型
3、整型与浮点型都是带符号的
二、变量
1、变量存在的意义
在程序的运行中不是所有的量都像常量一样是一成不变的,许多的量要随着程序的运算输入的变化等因素而发生改变,如公式的运算,人的身高年龄等都会不断发生变化
而为了应对这些随时变化的量,就需要以变量的形式存储在程序中
数据类型存在的基本意义就是用来应对各种各样的变量类型
2、变量的定义
定义变量的语法格式为
数据类型 变量名 = 初始值
注意:
变量名不是可以随便取的,主要遵循以下几个原则:
- 1、变量名必须以字母、数字、下划线或$组成
- 2、变量名不能以数字开头,且一般不以$开头
- 3、变量名不能是java关键字
- 4、除了下划线、$之外,不包括任何其他特殊字符
3、变量分类
(1)整型
<1>整型变量
public class Text {
public static void main(String[] args) {
/*
4个字节
32个bit 1符号位 31个数值位
-2^31 到 2^31-1
*/
//在定义的时候给出初始值
int a=10;
System.out.println(a);
//在定义的时候没给初始值,但之后有专门赋值
int b;
b=20;
System.out.println(b);
System.out.println(Integer.MIN_VALUE);
System.out.println(Integer.MAX_VALUE);
}
}
注意:
1、最好在定义时就给出初始值,在没有特殊要求的情况下可以先统一初始化为0
2、如果在没有设定初始值的情况下使用变量会导致程序编译报错
3、在给整型变量赋值千万不要超过其存储范围,否则会导致数据溢出,影响程序运行结果
4、int的包装类型为integer,在以后的文章中会具体分析
<2>长整型变量
public class Text {
public static void main(String[] args) {
/*
8个字节
64个bit 1符号位 63个数值位
-2^63 到 2^63-1
*/
long a = 10L;//说明 当前这个10 是一个long类型的数据
System.out.println(a);
System.out.println(Long.MAX_VALUE);
System.out.println(Long.MIN_VALUE);
}
}
注意:
1、可以在赋值时在数值后加上L来说明其是一个long类型的数据
2、long类型的包装类型为Long
<3>短整型变量
public class Text {
public static void main(String[] args) {
/*
2个字节
-2^15 到 2^15-1
*/
short s = 10;
System.out.println(s);
System.out.println(Short.MAX_VALUE);
System.out.println(Short.MIN_VALUE);
}
}
注意:
1、short类型由于存储范围较小,数值容易溢出,因此一般使用int类型居多
2、short类型的包装类型为Short
<4>字节型变量
public class Text {
public static void main(String[] args) {
/*
1个字节
-128 到 127
*/
byte b = 100;
System.out.println(b);
System.out.println(Byte.MAX_VALUE);
System.out.println(Byte.MIN_VALUE);
}
}
注意:
1、由于字符型变量存储范围极小,一般只在特殊情况下使用
2、字符型变量的包装类型时Byte
(2)浮点型变量
<1>单精度浮点型
public class Text {
public static void main(String[] args) {
//4个字节
float c=12.0f;//也可写做12.0F
System.out.println(c);
}
}
注意:
1、精度有限,在一些精细计算中容易导致结果误差偏大
2、float型变量包装类型为Float
<2>双精度浮点型
public class Text {
public static void main(String[] args) {
//8个字节
double d=12.0;
System.out.println(d);
}
}
注意:
1、double类型变量精度更高,运算时结果误差相对较小,因此在没有明确要求的情况下一般使用double类型变量居多
2、double型变量的包装类型为Double
3、由于浮点型存储空间有限导致精度有限,因此计算机中存储的小数一般都是近似值,势必存在误差,不会是精确值,但是可以精确到小数点后几位
(3)布尔型变量
public class Text {
public static void main(String[] args) {
/*
JVM没有明确他的大小
Oracle公司的虚拟机实现中占一个字节
不能和其他类型进行转化
不存在1表示true,0表示false的用法
包装类型Boolean
*/
boolean flg=true;
System.out.println(flg);
}
}
注意:
1、JVM没有明确布尔类型的大小
2、布尔类型不能和其它类型进行转换
3、与c语言不同,java中的布尔类型不能直接用1表示true,0表示false
4、布尔类型的包装类型为Boolean
(4)字符型变量
public class Text {
public static void main(String[] args) {
/*
2个字节
unicode字符集-> 阿拉伯 汉字……
char的包装类Character
int的包装类Integer
*/
char ch='a';
char ch1='好';
char ch2=97;
System.out.println(ch);
System.out.println(ch1);
System.out.println(ch2);
}
}
注意:
1、与c语言不同,java中字符型变量可以用汉字和阿拉伯数字赋值
2、赋值的数字表示对应字符的ASCII码值
3、字符型变量的包装类型为Character
结尾
那么本篇文章就到此为止了,如果觉得这篇文章对你有帮助的话,可以点一下关注和点赞来支持作者哦。作者还是一个萌新,如果有什么讲的不对的地方欢迎在评论区指出,希望能够和你们一起进步✊