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

【Java入门】数据类型、常量、变量、基本数据类型转换

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

【Java入门】数据类型、常量、变量、基本数据类型转换

文章目录
  • 学习目标
  • 一、常量
  • 二、数据类型
  • 三、变量
  • 四、基本数据类型转换


学习目标
  • 掌握常量的定义和分类
  • 重点掌握八大基本数据类型
  • 必须掌握变量的定义和赋值
  • 掌握基本数据类型的自动转换
  • 掌握基本数据类型的自动提升
  • 掌握基本数据类型的强制转换

提示:以下是本篇文章正文内容,下面案例可供参考

一、常量

常量,程序运行过程中固定不变化的值。

常量分类:

  • 字面量: 就表示直接给出的一个值(可以是整数、小数等),也有人称之为直接量。如整数常量1,2,3,小数常量3.14等。
  • 使用final定义的变量 用final修饰的成员变量表示常量,只能被赋值一次,赋值后值无法改变
二、数据类型

数据类型分为基本数据类型和引用数据类型,注意:String是引用类型,不是基本数据类型

人为地把8个二进制位称为1个字节。(1 byte = 8 二进制位)

		1个二进制位 可以存储 0  或者  1
		2个二进制位 可以存储 00 或者 01 或者 10 或者 11
		3个二进制位 可以存储  000 / 001 / 010 / 011 / 100 / 101 /  110 / 111
		...
		1字节 = 8 个二进制位  可以存储2的8次方个数, 范围是[0,255] , 共256个数,
		如果都是表示整数,范围是[0,255],如果也可以表示负数,那么把256个数均分,
		一半是[-128,-1] ,一半是[0,127] 

8种基本数据数据类型的范围和占内存大小(了解):

NO数据类型栈内存字节数所能表示的数据范围
1byte1-128 ~ 127
2short2-32768 ~ 32767
3int4-231 ~ 231-1 约21亿
4long8-263 ~ -263 - 1
5float4-3.4 x 1038 ~ 3.4 x 1038
6double8-1.7 x 10308 ~ 1.7 x 10308
7char20 ~ 216 - 1
8boolean1位true 、 false
提醒:开发者需要明确记住每个类型所占字节数(内存大小)。

整数类型常量

在 java 中,没有被定义的整数类型的常量JVM默认使用 int 类型来存储 。

public class IntType {
    public static void main (String[] args) {
        // 控制台输出10,这个10是一个常量,默认使用int存储。
        System.out.println(10);
        
        // 控制台输出20,这个20如果想以long类型存储,需要加L
        System.out.println(20L);
    }
}

所以,如果要存储long类型常量,要加L或者l,建议加L。常用的整数类型是int和long,byte和short基本不用。

小数类型常量

在 java 中,没有被定义的小数类型的常量JVM默认使用 double 类型来存储 。

public class DoubleType {
    public static void main (String[] args) {
		// 控制台输出3.14,这个3.14是一个小数常量,默认使用double存储。
		System.out.println(3.14);
        
        // float类型常量,使用F/f后缀
		System.out.println(3.14f);
    }
}

如果要存储 float 类型常量,要加f或者F。

float类型又被称作单精度类型,尾数可以精确到6-7位有效数字,在很多情况下,float类型的精度很难满足需求,double更常用,double表示小数的数值精度是float类型的两倍,又被称作双精度,绝大部分应用程序都采用double类型。尾数可以精确到15-16位有效数字.

不管是float 类型和double类型在有效数字内都存在精确问题。

// float 类型只能精确到6-7,
// 其中第六位是一定可以精确到的,第7可能精确到,也可能精确不到。
System.out.println(3.141592653f); // 其结果为 3.1415927

所以,实际开发过程中,小数类型一定要在有限数字范围内使用。

字符类型常量

字符表示Unicode(万国码)编码表中的每一个符号,每个符号使用单引号引起来,其中前128个符号和ASCII表相同,如下图。

这张表要记住的几个符号,A在码表的顺序是65,a在码表的顺序是97。

public class CharType {
    public static void main(String[] args) {
        char x = 65;
        char y = 97;
        System.out.println(x); // 结果是 A
        System.out.println(y); // 结果是 a
    }
}

布尔类型常量

boolean 类型只有两个值,true 和 false , 在未来的开发中用于逻辑判断。

字符串类型

所谓字符串就是多个字符合在一起,使用双引号引起来。例如 : 我们在开发中要输出一个用户的名字就可以使用字符串了,因为一个用户的名字是由多个字符构成的。

public class _05_Operation {
    public static void main(String[] args) {
        String name = "张三";
        System.out.println(name);
    }
}

注意:字符串类型不是八大基本类型

不同数据类型的常量:

  • 整数常量,所有整数,如1、2、3、100、200等
  • 小数常量,所有小数,如1.2、2.7、3.14等
  • 字符常量,0~65535之间的整数或用单引号括起来的符号如,‘A’、‘a’、‘龙’ 等
  • 布尔常量,只有true和false,分别表示对与错
  • 字符串常量,使用双引号括起来的内容如:“HelloWorld”、“张三”等
三、变量

变量指在程序运行过程中,值可以发生变化的量。

变量表示一个存储空间,可用来存放某一类型的常量,没有固定值,并可以重复使用。变量是内存中一块区域,可以往该区域存储数据,修改里面的数据,也可以获取里面的数据。


变量声明的语法:

数据类型 变量名 [= 初始值];

变量的特点

  • 占据着内存中的某一块存储区域

  • 该区域有自己的名称(变量名)和类型(数据类型)

  • 可以被重复使用

  • 该区域的数据可以在同一类型范围内不断变化

使用变量注意:

  • 变量必须先声明,并且初始化后才能使用

  • 定义变量必须有数据类型

  • 变量从开始定义到所在的花括号结束之内可以使用,离开花括号就不能使用了

  • 同一作用域内,变量名不能重复定义

四、基本数据类型转换

自动类型转换

自动类型转换,也称为“隐式类型转换,就是把范围小的数据类型直接转换成范围大的数据类型。

  • 转换规则:byte、short、char—>int—>long—>float—>double
  • 注意事项:byte、short、char相互之间不转换,他们参与运算首先转换为int类型

自动类型提升

当一个算术表达式中,包含多个基本数据类型的常量或变量(boolean除外)时,整个算术表达式的结果类型将在出现自动提升,其最后的结果就是内存占用大的数据类型

规则:

  • 所有的byte、short、char类型被自动提升到int类型,再参与运算

  • 整个表达式的最终结果类型,被提升到表达式中类型最高的类型

强转类型转换

强制类型转换,也称为“显式类型转换”,就是把范围大的数据类型强制转换成范围小的数据类型。

注意: 一般情况下不建议使用强转,因为强转有可能损失精度

暑期编程PK赛 得CSDN机械键盘等精美礼品!
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1016946.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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