Java基础语法之数据类型

Java数据类型与转换精讲
本文深入解析Java中的数据类型,包括基本数据类型如整数、浮点数、字符和布尔型,以及引用数据类型如类、接口和数组。详细介绍了每种类型的特点、内存占用及变量定义方式。此外,还探讨了数据转换机制,包括默认转换和强制转换的过程与注意事项。

第二章 Java基础语法

2.6 数据类型

2.6.1 概述

Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,不同类型的数据在内存中分配了不同大小的内存空间

2.6.2 分类

分为两个大类:基本数据类型引用数据类型

2.6.2.1 基本数据类型(4类8种)
  1. 整数型

字节——byte(占用1个字节)
短整型——short(占用2个字节)
整型——int(占用4个字节)
长整型——long(占用8个字节)

  1. 浮点型

单精度——float(占用4个字节)
双精度——double(占用8个字节)

数值型

思考:表数范围怎么来的?
  1. 字符型

char(占用2个字节)

  1. 布尔型

boolean(一般来说占用1个字节)

2.6.2.2 引用数据类型(后面补充)
  1. 类(class)
  2. 接口(interface)
  3. 数组( [ ] )

2.6.3 不同数据类型的变量定义

变量定义格式:数据类型 变量名 = 初始化值;
变量的数据类型案例
字节(byte)byte b = 10; System.out.println(b); //输出结果为10
短整型(short)short s = 100; System.out.println(s);//输出结果为100
整型(int)int i = 1000; System.out.println(i);//输出结果为1000
长整型(long)long h = 1000000000000L;System.out.println(h); //输出结果为1000000000000
编译的时候,整数默认为int类型
首先检测数值是否在int的表数范围内,
不在则报错:过大的整数(eg:long h = 1000000000000;);
否则继续检测是否在要定义的数据类型范围里
超出则报错:不兼容的类型,会损失精度(eg:byte b = 128;);
否则继续运行。
变量的数据类型案例
单精度(float)float f = 12.345F;System.out.println(f); //输出结果12.345(不加F报错)
双精度(double)double d = 12.345;System.out.println(d); //输出结果12.345
字符变量(char)char ch = ‘a’;System.out.println(ch); //输出结果为a
布尔变量(boolean)boolean flag = true;System.out.println(falg);//输出结果为true
注意:
A:整数默认int,浮点数默认double
B:长整型的值(long)建议使用L或l标记。如果不标记一旦初始值超出int范围就会报错
C:单精度的值(float)要使用F或f标记

关于作用域
变量定义在哪一级大括号中,那个大括号的范围就是这个变量的作用域
相同的作用域中不能定义两个同名变量

关于初始值
没有初始化值的变量不能直接使用

关于代码习惯
建议在一行上只定义一个变量
int a,b;//代码正确,但不建议
int a,int b;//代码错误

2.7 数据转换

2.7.1 默认转换

在参与运算时,如果有byte、short、char类型的数据,首先转换为int类型再参与运算
byte、short、char相互之间不转换

转换顺序(从小到大):byte,short,char—int—long—float—double
  • 字符(char数据类型)参与运算

首先根据ASCII码表找出字符对应的数字值,再与其他数据做运算

常见char运算符:
‘a’:97
‘A’:65
‘0’:48 -

字符串参与运算
字符串数据与其他类型数据做+,结果为字符串,此时的+为字符串连接符

2.7.2 强制转换

从大的数据类型转换到小的数据类型

格式:目标类型 变量名=(目标类型)(被转换的数据);

隐含了精度损失问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值