栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java中的标识符、变量和数据类型

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java中的标识符、变量和数据类型

Java中的标识符、变量和数据类型

标识符
在java程序当中,使用各种编译工具进行代码编写的时候,
	有一些单词是蓝色,有的是红色,有的绿色,有的是黑色,
    有的是紫色,有的是粉色....
这些不同的颜色代表的含义是什么呢?即不同的标识色
到底什么是标识符呢?
	一句话搞定:'凡是程序员自己有权利命名的单词都是标识符。'
标识符可以标识什么?
可以标识:
		类名
		方法名
		变量名
		接口名
		常量名
		......
标识符命名规则
命名规则属于语法机制,必须遵守,'不遵守命名规则标识不符合语法'
		这样,'编译器会报错。'

	规则1:标识符只能由数字、字母(包括中文)、下划线_、美元符号$组成,
		  不能含有其它符号。

	规则2:标识符不能以数字开头

	规则3:关键字不能做标识符。例如:public class static void 这些
		  都是关键字,关键字是不能做标识符的。附上Java中的关键字图。

	规则4:标识符是严格区分大小写的。大写A和小写a不一样。

	规则5:标识符理论上是没有长度限制的。

命名规范
	规范1:见名知意(这个标识符在起名的时候,最好一看这个单词就知道啥意思。)

	规范2:遵循驼峰命名方式,什么是驼峰(一高一低,一高一低...)
			驼峰有利于单词与单词之间很好的进行分隔
			BiaoShiFuTest,这个很好,一眼就能看出来是4个单词。

	规范3:类名、接口名有特殊要求
			类名和接口名首字母大写,后面每个单词首字母大写。
				StudentTest、UserTest ,这是类名、接口名。

	规范4:变量名、方法名有特殊要求
			变量名和方法名首字母小写,后面每个单词首字母大写。
				nianLing(NianLing这样就不符合了。)
				mingZi(MingZi这样也不符合了。)
		
	规范5:所有'常量'名:全部大写,并且单词和单词之间采用'下划线'衔接。
			USER_AGE :用户年龄
			MATH_PI:固定不变的常量3.1415926.....
命名规则和命名规范有什么区别?
命名规则是语法,'不遵守就会编译报错'

命名规范只是说,'大家尽量按照统一的规范来进行命名,不符合规范也行'
代码是可以编译通过的,但是你的代码风格和大家不一样,这个通常也是不允许的。

		规则类似于:现实世界中的法律。
		规范类似于:现实世界中的道德。

    统一按照规范进行的话,代码的可读性很好。
    代码很容易让其它开发人员理解。
字面量
	软件在处理数据之前需要能够表示数据,在java代码中
	怎么去表示数据呢?在java中有这样的一个概念:字面量。

	注意:在java语言中“数据”被称为“字面量”。
	10
	1.23
	true
	false
	'a'
	"abc"
	以上这些都是数据,在程序中都被叫做“字面量”。

字面量可以分为很多种类:
	整数型字面量:1 2 3 100 -100 -20 ....
	浮点型字面量:1.3 1.2 3.14.....
	布尔型字面量:true、false没有其它值了,表示真true和假false

		字符型字面量:'a'、'b'、'中'
		字符串型字面量:"abc"、"a"、"b"、"中国"

		其中字符型和字符串型都是描述了现实世界中的文字:
			需要注意的是:
				所有的字符型只能使用单引号括起来。
				所有的字符串型只能使用双引号括起来。
			
			字符型一定是单个字符才能成为“字符型”

			在语法级别上怎么区分字符型和字符串型?
				主要看是双引号还是单引号。
				单引号的一定是字符型。
				双引号的一定是字符串型。
变量 什么是变量
1、变量就是系统为程序分配的一块内存单元,这个内存单元是
		有名字且拥有特定的属性的。
2、变量用于存放数据,即变量的值,由于该存储单元的值可以改变,故称为“变量”
3、变量拥有特定的类型,类型决定该存储单元的大小以及变量的值的类型和范围
	本质来讲,变量就是一段可以操作的内存
变量的三要素
对于一个变量来说,包括三要素:
	变量的数据类型
	变量的名字
	变量中保存的值

	类型+名字+值
		类型决定空间的大小。
		起个名字是为了以后方便访问。(以后在程序中访问这个数据是通过名称来访问的。)
		值是变量保存的数据。

变量的声明

变量怎么声明/定义,语法格式是什么?
数据类型 变量名;
例如:
int age;

在java语言中有一个规定,变量必须先声明,再赋值才能访问。(没有值相当于这个空间没有开辟。)

在java语言中怎么给一个变量赋值呢,语法格式是什么?
记住:使用一个运算符,叫做“=”,这个运算符被称为赋值运算符。
赋值运算符“=”的运算特点是:等号右边先执行,执行完之后赋值给左边的变量。

变量可以声明的时候赋值吗?可以的。

变量的分类
1、按照所属的数据类型
	基本数据类型
	引用数据类型
2、按照变量声明的位置(作用域)
	全局变量:在整个类中都能使用,使用static关键字修饰
	
	成员变量:方法外部、类的内部(不赋值会取该变量的默认值)
    	基本数据类型的默认值:
    		数字型 ———— 0 或 0.0
    		字符型 ———— u0000
    		布尔型 ———— false
   		引用数据类型:
    		全为 null
	
	局部变量:方法或者模块内部定义的变量	(必须初始化)
	'注意,类的外边不能声明变量'
数据类型 数据类型有什么用?
数据类型用来声明变量,程序在运行过程中根据不同的数据类型分配不同大小的空间。
int i = 10;
double d = 1.23;
i变量和d变量类型不同,空间大小不同。
数据类型在java语言中包括两种:

第一种:基本数据类型
		基本数据类型又可以划分为4大类8小种:
			第一类:整数型
				byte,short,int,long (没有小数的)
			第二类:浮点型 
				float,double (带有小数的)
			第三类:布尔型
				boolean:只有两个值true和false,true表示真,false表示假
			第四类:字符型
				char:java中规定字符型字面量必须使用单引号括起来。属于文字。

		8小种:
			byte,short,int,long
			float,double
			boolean
			char
			
第二种:引用数据类型
		字符串型String属于引用数据类型。
		String字符串不属于基本数据类型范畴。
		java中除了基本数据类型之外,剩下的都是引用数据类型。
		引用数据类型后期面向对象的时候才会接触。

8种基本数据类型中
	整数型:byte short int long有什么区别?
	浮点型:float和double有什么区别?
	区别:占用的空间大小不同。

	关于计算机存储单位?
		计算机只能识别二进制。(1001101100...)
		1字节 = 8bit(8比特)--> 1byte = 8bit
		1bit就是一个1或0.
		1KB = 1024byte
		1MB = 1024KB
		1GB = 1024MB
		1TB = 1024GB

		byte b = 2; 在计算机中是这样表示的:00000010
		short s = 2; 在计算机中是这样表示的:00000000 00000010
		int i = 2;在计算机中是这样表示的:00000000 00000000 00000000 00000010
		...

		类型			占用字节数量(byte)
		------------------------------------
		byte				1
		short				2
		int					4
		long				8
		float				4
		double				8
		boolean				1  (1byte的1或0,00000001(true)或00000000(false))
		char				2

byte类型的取值范围?		
	byte是 [-128 ~ 127] 共可以标识256个不同的数字。
	byte类型的最大值是怎么计算出来的?
		byte是1个字节,是8个比特位,所以byte可以存储的最大值是:
			01111111
	注意:在计算机当中,一个二进制位最左边的是符号位,当为0时表示正数,
	当为1时表示负数。所以byte类型最大值是:01111111
	那么是不是2的7次方-1呢?
		是不是:10000000(前边是一个二进制) - 1
	
	byte类型最大值是:2的7次方 - 1.

	有几个取值范围需要大家记住:
		(1个字节)byte: [-128 ~ 127]
		(2个字节)short:[-32768 ~ 32767] 可以表示65536个不同的数字
		(4个字节)int: [-2147483648 ~ 2147483647]
		(2个字节)char: [0~65535]  可以表示65536个不同的数字

		short和char实际上容量相同,不过char可以表示更大的数字。
		因为char表示的是文字,文件没有正负之分,所以char可以表示
		更大的数字。

对于8种基本数据类型来说:
	其中byte,short,int,long,float,double,boolean,这7种类型计算机表示起来
	比较容易,因为他们都是数字。其中布尔类型只有两个值true和false,实际上
	true和false分别在C++中对应的是1和0,1为true,false为0。

对于char类型来说计算机表示起来比较麻烦,因为char对应的是文字,每一个国家
的文字不一样,文字不能直接通过“自然算法”转换成二进制。这个时候怎么办?
	字符编码诞生了。

点击进入字符编码简介

序号数据类型字节数位数默认值取值范围栗子
1byte(位)180-2^7 — 2^7-1byte b = 10;
2short(短整数型)2160-2^15 — 2^15-1short s = 10;
3int(整数型)4320-2^31 — 2^31-1int i = 10;
4long(长整数型)8640-2^63 -— 2^63-1long l = 10l;
5float(单精度型)4320-2^31 -— 2^31-1float f = 10.0f;
6double(双精度型)8640-2^63 — 2^63-1double d = 10.0d;
7char(字符型)216null0 — 2^16-1char c = ‘c’;
8boolean(布尔型)18falsetrue、falseboolean b = true;
数据类型转换

第一条:八种基本数据类型中,除 boolean 类型不能转换,剩下七种类型之间都可以进行转换;

第二条:如果整数型字面量没有超出 byte,short,char 的取值范围,可以直接将其赋值给byte,short,char 类型的变量;

第三条:小容量向大容量转换称为自动类型转换,容量从小到大的排序为:
byte < short(char) < int < long < float < double,其中 short和 char
都占用两个字节,但是char 可以表示更大的正整数;

第四条:大容量转换成小容量,称为强制类型转换,编写时必须添加“强制类型转换符”,但运行时可能出现精度损失,谨慎使用;

第五条:byte,short,char 类型混合运算时,先各自转换成 int 类型再做运算;

第六条:多种数据类型混合运算,各自先转换成容量最大的那一种再做运算;

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/727456.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号