变量与数据类型--一文搞懂Java数据类型

一、标识符与关键字

  1.1标识符的概念:是指在程序中,我们自己定义的名称,比如对变量、数组、方法和类等进行命名,都是标识符。
  1.2标识符的命名规则:以数字、字母、下划线(_)、美元符号($)组成,不能以数字开头,不能是关键字。例:

  • 合法标识符:date、$2011、date、D$date 等。
  • 不合法的标识符:123.com、2com、for、if 等。

  1.3关键字:是指在程序中,Java已经定义好的单词,具有特殊含义。
在这里插入图片描述
  上面这张图是不需要同学们去记住的,只需要明白有这个概念就好了。HelloWorld案例中,出现的关键字有 public 、 class 、 static 、 void 等,这些单词已经被 Java定义好,全部都是小写字母,关键字一般在编辑器中会变成特殊颜色。
在这里插入图片描述

二、变量与常量

  2.1声明变量的方式

	//定义单个变量并赋初值
	int a = 1; 
	//定义单个变量不赋初值
	int a;
	//定义多个变量
	int a,b,c;

注意:没有赋值不能使用,变量名不能重复

  2.2变量的有效范围

名称 作用域
成员变量 类中可用
局部变量 当前方法中可用

  2.3常量:是指在Java程序中固定不变的数据。

  • final 类型 常量名 = 初值;
  • 常量命名通常全大写,单词之间用_隔开;

三、数据类型分类

  3.1Java数据类型主要是分为基本数据类型和引用数据类型两类,如下图所示,8大基本数据类型分别为byte、short、int、long、boolean、char、float、double。引用数据类型包括类、数组、集合、接口和String等
在这里插入图片描述
  3.2八大基本数据类型的长度及取值说明
在这里插入图片描述
代码示例:

	byte b1 = 127;//取值范围-128~127
	short s1 = 1;//取值范围-32768~32767
	int i1 = 2034567890;//取值范围约正负21亿
	long l1 = 1l;//可加l/L,也可不加
	float f1 = 1.1f;//单精度浮点型,要加F/f
	double d1 = 2.2;//双精度浮点型
	char c1 = 'a';//放单个字符
	boolean b2 = true;//只有true/false

记忆口诀:
一、二、四、八
byte、short、int、long
一、二、四、八
boolean、char、short、double

四、数据类型转换

  Java数据类型转换分为自动类型转换和强制类型转换两种。同学们看下面两段代码有什么区别?会不会报错?
  4.1自动类型转换,小转大

	int a = 1;
	long b = a;

  4.2强制类型转换,大转小

	long a = 1;
	int b = a;

  是的,强制类型转换中long类型的字节长度是8,比int类型的要大,这个时候把long类型的变量a的值赋值给b,那么b有可能会程序溢出,毕竟在变量接收之前,我不能确定是不是我能够接收的范围,解决方式如下:

	long a = 1;
	int b = (int) a;

小贴士:
  ①Java的数据类型整型默认是int类型,浮点型默认是double类型,所以定义float类型的变量时一定要加后缀f/F,但是整型不需要做特殊说明。
  ②同样是4个字节的int和float类型到底谁的范围更大呢?当然是float,毕竟正负21亿也就42个数,但是期间的小数可不知道有多少呢,所以int a = 1; float b = a;是可以直接编译通过的哦

猜你喜欢

转载自blog.csdn.net/qq_41250372/article/details/125053223