Java基础之变量以及基本数据类型

java中数据类型

  java中变量按照数据类型分类有两种:

        (1)基本数据类型:(byte,short,int,long)整数类型,(float,double)浮点类型,char(字符型),boolean(布尔型)

        (2)引用型数据类型:(class)类,其中字符串在类中,属于引用类型;interface(接口);数组[ ]类型

 

public void dataType() {
		//定义各种类型基础数据类型
		byte a = 90;
		short b= 189;
		int c = 123;
		long h = 123L;
		double d = 12.34;
		float e = 123.44F;
		char f= 'f';
		char f1='\t';
		char f2='中';
		boolean g = true;
		System.out.println(f2);
	}

基本数据类型

数据类型关键字内存占用(大小)取值范围
字节型byte1个字节-128至127
短整型short2字节-32768至32767
整型int4个字节-2^31至2^31-1
长整型long8个字节-2^63至2^63-1
单精度浮点数float4个字节1.4013E-45 至 3.4028E+38
双精度浮点数double8个字节4.9E-324 至 1.7977E+308
字符型char2个字节0至2^16-1
布尔类型boolean一个字节true,false

 

2.基本数据类型的转换

  • 首先来看一个例子,一个int类型和一个byte类型的变量进行加法,结果是什么数据类型?

    public class DateType01 { 
      public static void main(String[] args) {
           byte i = 6;
           int j = 4;
           byte k = i+j;//报错,说明k的类型不是byte
           int z = i+j;//编译正常,说明返回结果是int类型
       }
     }

    java在进行数据运算的过程中是是会自动提升运算的数据类型的。

    • 自动转换的规则:将取值范围小的类型自动提升为取值范围大的类型

       

  • 转换规则

    • 范围小的数据类型会自动向范围大的数据类型提升,byte,short,char运算时会直接提升为int类型

  • 强制转换

    • 将数据范围大的类型转换为数据小的类型

      int s = 20; 
      double d = 28.88; 
      int result = s+ (int)d;//将d强制转换为int类型的数据

       

    • 注意

      • 浮点转成整数,直接取消小数点,可能造成数据损失精度。

      • int 强制转成short 砍掉2个字节,可能造成数据丢失。

 

变量的概念

     变量存储在内存中的一个区域,该区域有自己的名称(变量名)和类型(数据类型),并且在该区域内的数据可以在同一类型范围内不断变化。

     在java中变量必须先声明,然后才能使用。

       使用变量时应注意:变量的作用于在一个{ }之间有效变量需要初始化值

       定义变量的格式: 数据类型  变量名 = 初始化值。  例如: int  num = 10 ;

            变量是通过变量名访问一块区域。

 

public class Variable {
	public static void main(String[] args) {
		//声明一个int 类型 的变量 num1   int num1 = 10 ; 
		//变量必须先声明再赋值。
		int num1 = 10;
		System.out.println("num1"+"="+num1);
	}

	public void test() {
		//变量不能跨作用于使用
		//System.out.println(num1);
	}
}



     java中变量按照位置来分分为成员变量和局部变量

      变量声明在类内部,方法外部,称为成员变量

      变量声明在方法内部,称为局部变量。

 

public class Variable {
	//声明一个成员变量,成员变量可以不初始化。成员变量作用域在整个类中,局部变量作用域只有自己的代码中
	 int num ;
	public static void main(String[] args) {
		//局部变量 num1,局部变量必须初始化,且局部变量不能重复
		int num1 = 10;
		//int num1 =23;
		
		System.out.println("num1"+"="+num1);
	}
	
}

 

 

 


   

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值