4.java-常量与变量
# 6.3 常量与变量
## 常量
```
	概念:表示不能变化的数值
	java中常量的分类
		1.整数常量,所有整数
		2.小数常量,所有小数
		3.布尔特常量。较为特有,只有两个数值,true、false  
		4.字符常量,将一个数字字母或者符号用单引号('')标识。
		5.字符串常量,将一个或者多个字符用双引号("")标识。
		6.null常量,只有一个数值,就是null
	对于整数,java有三种表现形式。
		十进制:0-9 满10进1
		八进制:0-7 满8进1,用0开头
		十六进制:0-9,A-F 满16进1,用0x开头表示
		二进制:0-1,满2进1
	规律:进制越大,表现形式越短
```
## 变量
```
		概念:内存中的一个存储区域
			  该区域有自己的名称(变量名)和类型(数据类型)。
			  该区域的数据可以在同一类型范围内不断变化。
			  
		为什么要定义变量?
			用来不断的存放同一类型的常量,并可以重复使用
			
		使用变量注意
			变量的作用范围(一对{}之间有效)
			初始化值
			
		定义变量的格式
			数据类型 变量名 = 初始化值
			注:格式是固定的,记住格式,以不变应万变。
			
		理解:变量就如同数学中的未知数。
```
>java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存中分配了不同大小的内存空间。
## 数据类型
```
		基本数据类型
			数值型
				整数类型:
					byte :字节,以8个二进制位表示一个字节,取值范围:-2的7次方 到  2的7次方 -1 (-128~127)
					sbort :短整型,以16个二进制字节表示短整型  取值范围:-2的15次方 到  2的15次方 -1  (-32768~32767)
					int :整型  以32个二进制字符表示一个整型 取值范围:-2的31次方 到 2的31次方-1 ()
					long :长整型 以64个二进制字符表示一个long,取值范围:-2的63次方 到 2的63次方-1 ()
					
				浮点类型:带小数点的
					float :单精度,以4个8位占据一个。
					double :双精度,以8个8位占据一个
					
			字符型
				char :取值范围:(0~6535)
				
			布尔型
				boolean :只有两个(true false) 
				
		引用数据类型
			类 class 
			接口 interface
			数组 []
	整数默认:int 小数默认:double
```
	
## 变量格式:
```
		//数据类型  变量名 = 初始化值
		     int  x = 4;
		//再次定义
				x = 10;
	
	自动类型准换(也叫隐式类转换)
	强制类型转换(也叫显式型转换)
	类型转换的原理
```
**什么时候要用强制类型转换?**
>所有的byte型、short型和char型的值将被提升到int型。
		如果一个操作数是long型,计算结果就是long型。
		如果一个操作数是float型,计算结果就是float型;
		如果一个操作数double型,计算结果就是double型。
**示例**
```java
public class bianliang {
	/**
	 * 变量
	 * @param args
	 */
	public static void main(String[] args) {
		//数据类型 变量名称 = 初始化值;
		int x = 4;
		System.out.println(x);
			x = 10;
		System.out.println(x);
		int m = 5;
		 m = m + 5;
		 
		 System.out.println(m);
		
		//演示其他数据类型
		byte b = 2; //-128~127
		
		byte b = 3;
		b = (byte)(b+2);	//强制转换。
		
		//byte b1 = 128;
		
		short s = 3000;
		
		long l = 41;
		
		float f = 2.3f;  //f 表示使用单精度的,不加f会报错。
		
		double d = 34.34; 
				
		char ch = 'q';
		
		char ch1 = '+';
		char ch2 = ' ';
		
		boolean bc = true;
		boolean bu = false;
		
			
	//强制转换
		double q = 115.33;
		q = (byte)(q + 1);
		System.out.println(q);
		
	}
		
		/*
		 * 	什么时候定义变量?
		 * 	当数据不确定的时候,需要对数据进行存储时。
		 * 就定义一个变量来完成操作
		 */
		
	}
}
```
 
                    
                     
                    
                 
                    
                 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号