Java数据类型

Java数据类型

概念

数据类型在数据结构中的定义是一个值的集合以及定义在这个值集上的一组操作

基本数据类型

数值型

整数类型

整数类型默认为int类型.long类型后需要添加L作为标识,如 long a = 19294899L;

类型大小数据范围
byte8位[-128,127]
short16位[-2^15, 2^15-1]
int32位[-2^31 , 2^31-1]
long64位[-2^63 ,2^63-1]
浮点类型

浮点数默认为double类型.float类型后需要添加f作为标识,如 float a = 192.241f;

类型大小数据范围
float32位[-3.4E+38 ,3.4E+38 ]
double64位[-1.7E-308,1.7E+308 ]

字符型

​ char类型是一个单一的 16 位 Unicode 字符

类型大小数据范围
char16位[0,2^16-1]

布尔型

​boolean数据类型表示一位的信息

类型大小数据范围
boolean1位true,false

ps: 在java中,0,1不能代替false及true.

基本数据类型转换

自动转换

小数据类型转大数据类型【存储空间的大小】

强制转换

  1. 大数据类型转小数据类型[存储空间大小]
  2. 相同存储空间,不同类型,表达值范围不一样[例如:char及short均为16位,但是值范围不同]

语法

  基本类型定义:
  
  byte a = 100; //定义一个byte类型变量
  short b = 100; //定义一个short类型变量
  char = 'A'; //定义1个char类型变量,当该变量作为整型或浮点数接收时,表示当前字符对应的ASCII码.
  int c = 100; //定义1个整数类型变量
  float d = 27.231f; //定义1float类型变量
  double e = 374.834; //定义1个double类型变量
  
  

  数据类型转换:
 
  数据类型 变量名 =  (需要转换的类型);
  //float强制转换为int类型
  int c = 100; //定义1个整数类型变量
  float d = 27.231f; //定义1float类型变量
  c = (int) 27.231f; //float强制转换为int类型
  
  //int 强制转换为short
  short b = 100; //定义一个short类型变量
  int c = 100; //定义1个整数类型变量
  b = (short) 100;int 强制转换为short
  
  //double强制转换为float
  double e = 374.834;//定义1个double类型变量
  float d ; //定义1float类型变量
  d = (float) 27.231f;//double强制转换为float

注意事项

  1. short和char,byte和char不能自动互转
  2. short,byte,char作为2个操作数时,自动转换为int
  3. 高转低会导致精度丢失,不同类型的强制转换,可能会导致精度的下降.
  4. 实际开发中,应该要知道被强制转换的数据,是在一个已知的范围;

引用数据类型

接口

数组

概念:数组可以理解成在计算机中的多个连续的存储空间,里面可以按顺序存放多个类型相同的数据。

基本语法

  1. 动态创建

    数组变量名 = new 数据类型[数组长度];
    数组变量名[索引] =;
    
  2. 静态创建

    1.数据类型  []  数组变量名 = new 数据类型{1,2....};
    2.数据类型  []  数组变量名 = {1,2....}
    

JVM存储数据分析

基本数据类型

​ 基本数据类型,打印的时具体的值 因为它的值存放在栈中.

引用数据类型

​ 引用数据类型,打印的时候是一个引用地址 ,因为它具体的存放区域存放堆中 ,String类型除外.

数组特点

  1. 创建以后,长度固定不变
  2. 只能存同一种类型的多个变量值
  3. 常见问题:数组索引越界;空指针错误.

数组语法补充

数组名.length  //需要变量接收,类型为int

遍历数组

class Work{
	/*
		遍历数组的两种方式;
for循环
for-each
	*/
	public static void main(String[] args){
		//定义1个数组
		int[] arr = {1,7,9,13,11,17,15,19};
		//调用方法
		for_method(arr);
		for_each(arr);
	}
	//定义1个方法,for循环遍历数组
	static void for_method(int[] arr1){
		for (int a = 0 ;a <arr1.length ;a++ ){
			System.out.println("for遍历:"+arr1[a]);
		}
	}
	//定义1个方法,for_each循环遍历数组
	static void for_each(int[] arr1){
		for(int a:arr1){
			System.out.println("for-each遍历:"+a);
		}
	}
}

参数传递

  1. 值传递

    基本数据类型,传递的是具体的值.

  2. 引用传递

    引用数据类型传递时引用地址,String除外.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值