Java基本知识点之变量和数据类型
Java中的变量和基本数据类型:
写完第一个java程序之后,我们对Java也有了初步的了解,现在我们再来继续认识一下Java中的基本知识点——变量和数据类型。
那么我们该怎样来认识变量和数据类型呢,在这里,我们首先来认识一下内存,我们日常生活中的计算机体系中内存主要分为内存储器和外存储器,比如说我们平常看我们电脑配置的时候,都会看到8G+256G这样的标志,其中的8G就是所说的内存储器(RAM),而256G也就是外存储器,诸如磁盘,u盘,光盘等,这里我们就不详细的研究了。我们定义的变量占用的就是内存储器,它的本质就是一段实际连续存储空间,而数据类型则代表数据需要占用的存储空间大小。数据类型的作用就是告诉编译器当前这个变量需要占用多少内存。Java中的数据类型分为基本数据类型和引用数据类型,基本数据类型一共有八个,现在我们就先来认识一下这八个基本数据类型。
整型
public class Test { public static void main (String[]args) { int a = 10;//int 代表整型 int b = 5; System.out.println("a的值是:"+a); System.out.println("b的值是:"+b); } }
注:整型在内存中占用四个字节,不管是32位还是64位,和操作系统没有关系,一个字节=八个bit位,所以整型在内存中占三十二个bit位,一个bit位代表一个二进制数字,第一个bit位代表的是符号位,后面的三十一个bit位代表数值位,总共有2^31 种状态,正数有2^31-1 种可能,负数的范围是-2^31 —— 1,所以我们可以求出整形的取值范围:-231-231-1
public class TestB { public static void main(String[] args) { int a =10; System.out.println(Integer.MAX_VALUE); System.out.println(Integer.MIN_VALUE); } }
这里我们可以用int的包装类Integer来验算取值范围结果
注:①整型的最大值+1就变成了最小值,相当于一个圆一样在一直循环
长整型
public class TestC { public static void main(String[] args) { long a = 10L; long b = 5L; System.out.println("a的值是:"+a); System.out.println("b的值是:"+b); } }
注意:长整型在Java中占八个字节,64个bit位,一个符号位,63个数值位,同样的计算方法,它的取值范围是:-263-263-1
public class TestD { public static void main(String[]args) { long a = 10L; System.out.println("最大值:"+Long.MAX_VALUE);//“+”是拼接的意思 System.out.println("最小值:"+Long.MIN_VALUE); } }
这里我们也可以用long的包装类Long来验证
短整型
public class TestH { public static void main (String[]args) { short a = 2; short b = 4; System.out.println(a); System.out.println(b); } }
短整型占两个字节,取值范围也就是-2^ 16——2^15-1
同样的我们也可以用short的包装类Short来验证:
public class TestI { public static void main(String[]args) { short a = 10; System.out.println("最大值:"+Short.MAX_VALUE); System.out.println("最小值:"+Short.MIN_VALUE); } }
单精度浮点型
public class TestJ { public static void main(String[]args) { float f = 11.5f; //小数默认为是双精度,所以要加一个f float f1= 6.3f; System.out.println(f); System.out.println(f1); } }
注:单精度浮点型占四个字节,我们同样可以计算出它的取值范围为-231-231-1。小数默认为是双精度类型,所以在定义的时候需要在后面加一个"f",这也体现了java的安全性
public class TestK { public static void main(String[]args) { float f = 1.6f; System.out.println(Float.MAX_VALUE); System.out.println(Float.MIN_VALUE); } }
我们同样可以用float的包装类Float来验证
双精度浮点型
public class TestO { public static void main(String[]args) { double d = 11.5; double d1 = 14.73; System.out.println(d); System.out.println(d1); } }
注:double占八个字节,同样可以用double的包装类Double来计算取值范围。只要是小数默认都是双精度类型,所以写程序有小数的时候建议都用double,当进行两个整数相除结果是小数的时候,需要把其中一个整数定义为double类型,比如 double d = 1.0;
public class TestP { public static void main(String[]args) { double d = 1.6; System.out.println(Double.MAX_VALUE); System.out.println(Double.MIN_VALUE); } }
字符数据类型:字符数据类型
public class TestQ { public static void main(String[]args) { char ch = 'A';//可以是一个汉字,汉字也占两个字节,也可以是数字,打印出来的将会是在Unicode码中对应的符号 System.out.println(ch); } }
字符数据类型占两个字节,不同的是这里不可用char的包装类Character计算它的取值范围,因为它的取值对应的是Unicode码中的符号
字节类型
public class TestR { public static void main(String[]args) { byte a = 102; byte b = 1; byte c = (byte)(a+b);//小于四个字节的类型计算时会提升为整型计算,所以需要强制转换为字节类型 System.out.println(c); } }
字节类型占1个字节,计算初取值范围为-128——+127,需要注意的是,小于四个字节的类型在进行计算时会整型提升,所以需要强制转换为字节型
public class TestS { public static void main (String[] args) { byte a = 12; System.out.println(Byte.MAX_VALUE); System.out.println(Byte.MIN_VALUE); } }
同样可以用byte的包装类Byte验证
8.布尔类型
public class TestT { public static void main(String[]args) { boolean flg = false; System.out.println(flg); } }
布尔类型在java中没有明确大小,并且它只有两个取值,true/false,java中的真/假只有true/false,没有所谓的0是假,非0是真。布尔类型对应的包装类是Boolean
除去以上这八大基本数据类型,在Java中还有一种叫引用数据类型,如:类 String 数组,抽象类 接口 枚举等等,下面我们再来认识一下String
字符串数据类型:
public class TestU { public static void main(String[]args) { String str ="hello";//字符串用双引号 String str1 = "hello"+"world"; System.out.println(str); System.out.println(str1);//用"+"可以把两个字符串拼接起来,任意数据类型和字符串拼接后都是字符串 } }
认识完以上几种数据类型,我们对变量也有了大概的了解,在变量的命名中,有一下几种规则:
①:只能包含数字字母下划线
②:数字不能开头
③:推荐使用小驼峰,numMax,也就是初了第一个单词首字母,其他都要首字母大写
java中除了变量,还有一种叫做常量,顾名思义,也就是只能被初始化一次,并且使用的时候要记住一定要初始化,常量又分为两种:
①:字面常量:像10,"abc"这种
②:被final修饰的变量: final int MAXNUM = 10 ;此时的maxNum是常量,并且字母全部大写。
学到这里,我们对Java中的数据类型和变量也有了一定的认识,更加期待后面的学习!!!
总结
到此这篇关于Java基本知识点之变量和数据类型的文章就介绍到这了,更多相关Java变量和数据类型内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!