当前位置:

首页 > 编程开发 > Java数据类型如何定义与使用

Java数据类型如何定义与使用

标识符和关键字标识符读音biaozhifu什么是标识符包、类、变量、方法…等等,只要是起名的地方,那个名字就是标识符标识符的定义规则四个可以:可以是数字、字母、下划线(_)、美元符号($),我们一般起名尽量使用英文字母。两个不可以:不可以以数字开头,不可以使用java中的关键字。见名知意:使读者能通过名字就能明白是干什么的,比如:冒泡排序(bubble_Sort),我们就能清楚的知道这个方法是冒泡排序。驼峰命名:类名:首字母大写,其余遵循驼峰命名方法名/变量名:首字母小写,其余遵守驼峰命名包

本文目录

    标识符和关键字

    标识符

    读音 biao zhi fu

    什么是标识符

    包、类、变量、方法…等等,只要是起名的地方,那个名字就是标识符

    标识符的定义规则

    四个可以:可以是数字、字母、下划线(_)、美元符号($),我们一般起名尽量使用英文字母。

    两个不可以:不可以以数字开头,不可以使用java中的关键字。

    见名知意:使读者能通过名字就能明白是干什么的,比如:冒泡排序(bubble_Sort),我们就能清楚的知道这个方法是冒泡排序。

    驼峰命名:

    • 类名:首字母大写,其余遵循驼峰命名

    • 方法名/变量名:首字母小写,其余遵守驼峰命名

    • 包名:全部小写

    长度限制:长度没有限制,但是不建议太长

    关键字

    • 被Java语言赋予了特殊含义,用作专门用途的单词

    • 特点:Java中所有的关键字都为小写

    官网:https://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html

    Java数据类型如何定义与使用

    Java数据类型如何定义与使用

    常量和变量

    常量

    常量分为两种:

    常量通常指的是一个固定的值,例如:1、2、3、’a’、’b’、true、false、”helloWorld”等。

    在Java语言中,主要是利用关键字final来定义一个常量。 常量一旦被初始化后不能再更改其值。

    为了更好的区分和表述,一般将1、2、3、’a’、’b’、true、false、”helloWorld”等称为字面常量,而使用final修饰的PI等称为符号常量(字符常量)。

    字面常量的类型:

    整型常量: 123 23

    实型常量: 3.1415926

    字符常量: ‘a’ ‘b’

    逻辑常量: true false

    字符串常量: “helloworld”

    注意:逻辑常量就两个值,一个是true,一个是false

    变量

    变量本质上就是代表一个可操作的存储空间,空间位置是确定的,但是里面放置什么值不确定。我们可通过变量名来访问对应的存储空间”,从而操纵这个存储空间存储的值。

    Java是一种强类型语言,每个变量都必须声明其数据类型。变量的数据类型决定了变量占据存储空间的大小。 比如,int a=3; 表示a变量的空间大小为4个字节。变量作为程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。变量在使用前必须对其声明, 只有在变量声明以后,才能为其分配相应长度的存储空间。

    变量的声明格式

    数据类型  变量名 = 初始值, 变量名 = 初始值 …;

    例如:

    public class TestCode01{
            public static void main(String[] args){
                int a=3,b=4,c=5;
                //也可以先定义不赋值
                int a,b,c;                        
            }
    }
    变量的声明
    • 如果你只定义一个变量,没有给变量进行赋值的话,那么其实这个变量相当于没有定义;

    • 变量如果没有进行赋值的话,那么使用的时候会出错,告诉你:尚未初始化变量;

    public class TestCode01{
            public static void main(String[] args){
                int a;
                System.out.println(a);//会报错,未初始化变量a
            }
    }

    变量的赋值

    int a=10;//直接定义并赋值
    int b;//先定义在赋值
    b=20;

    变量不可以重复定义

    Java数据类型如何定义与使用

    基本数据类型

    整数类型

    整型数据类型:

    Java数据类型如何定义与使用

    下面以代码为例:

    public class TestCode01{
            public static void main(String[] args){
                    //定义整数类型的变量:
                    //给变量赋值的时候,值可以为不同进制的:
                    int num1 = 12 ;//默认情况下赋值就是十进制的情况
                    System.out.println(num1);
                    int num2 = 012;//前面加上0,这个值就是八进制的
                    System.out.println(num2);
                    int num3 = 0x12;//前面加上0x或者0X,这个值就是十六进制的
                    System.out.println(num3);
                    int num4 = 0b10;//前面加上0x或者0B,这个值就是二进制的
                    System.out.println(num4);
                    
                    //定义byte类型的变量:
                    byte b = 126;//定义了一个byte类型的变量,名字叫b,赋值为12
                    System.out.println(b);
                    //注意:超范围的赋值会报错。
                    short s = 30000;
                    System.out.println(s);
                    int i = 1234;
                    System.out.println(i);
                    //整数类型默认就是int类型的,所以12345678910是一个int类型的数,对于int类型来说,它超出范围了
                    //要想把一个数给long类型变量,那么后面加上L(推荐)或者l就可以了
                    long num5 = 12345678910L;
                    System.out.println(num5);
                    //注意:只有这个数超出int类型的范围了后面才需要加上L,否则无需加L也可以赋值给long类型:
                    long num6 = 12;
                    System.out.println(num6);
                    
            }
    }

    浮点类型

    浮点类型常量

    (1)十进制数形式,例如: 3.14 314.0 0.314

    (2)科学记数法形式,例如:

    //314e2      314E2 (E的大小写没有区分)    314E-2
    double  f = 314e2;   //31410^2-->31400.0
    double  f2 = 314e-2; //31410^(-2)-->3.14
    浮点类型变量

    float类型又被称作单精度类型,尾数可以精确到7位有效数字,在很多情况下,float类型的精度很难满足需求。

    而double表示这种类型的数值精度约是float类型的两倍,又被称作双精度类型,绝大部分应用程序都采用double类型。

    float类型的数值有一个后缀F或者f ,没有后缀F/f的浮点数值默认为double类型。

    也可以在浮点数值后添加后缀D或者d, 以明确其为double类型。

    Java数据类型如何定义与使用

    PS:有效数字指的是从左开始第一个不为0的数到最后一个数

    public class TestCode02{
            public static void main(String[] args){
                    //浮点类型的常量有两种形式:
                    //十进制形式:
                    double num1 = 3.14;
                    System.out.println(num1);
                    //科学计数法形式:
                    double num2 = 314E-2;
                    System.out.println(num2);
                    
                    //浮点类型的变量:
                    //注意:浮点型默认是double类型的,要想将一个double类型的数赋给float类型,必须后面加上F或者f
                    float f1 = 3.14234567898623F;
                    System.out.println(f1);
                    //注意:double类型后面可以加D或者d,但是一般我们都省略不写
                    double d1 = 3.14234567898623D;
                    System.out.println(d1);
                    
                    //注意:我们最好不要进行浮点类型的比较:
                    float f2 = 0.3F;
                    double d2 = 0.3;
                    System.out.println(f2==d2);
                    /*
                    区别:
                    = 赋值运算:  将等号右侧的值赋给等号左侧
                    == 判断==左右两侧的值是否相等  :结果要么相等 要么不相等
                    ==运算符的结果就是要么是true,要么是false
                    */
                    
            }
    }

    字符类型

    字符型

    Java的字符使用16位的Unicode编码表示,而计算机语言通常使用ASCII码,用8位表示一个字符。

    字符型是用两个单引号括起来的一个字符,如’a’,’1’,’A’等。其中,’a’和’A’分别表示ASCII码中的字符a和A,而’1’表示字符型1,而不是整数的数值1。除了一般字符外,Java还定义了一些特殊字符,如图:

    Java数据类型如何定义与使用

    字符型除了常数值的表示方式与整数型不同外,在其他方面几乎可以将它视为一般整数来处理。

    字符串型

    字符串是指括在两个双引号之间0个或多个字符组成的序列。若两个双引号之间没有任何字符,则为空串。下面是有关字符串的一些例子:

    ""
    "hello world!"
    "hello java"

    Java语言把字符串当作String类型的一个对象来处理。

    布尔类型

    boolean类型有两个常量值,true和false,在内存中占一位(不是一个字节),不可以使用 0 或非 0 的整数替代 true 和 false ,这点和C语言不同。 boolean 类型用来判断逻辑条件,一般用于程序流程控制 。

    public class TestCode03{
            public static void main(String[] args){
                    //创建一个布尔类型的变量:
                    boolean flag1 = true;
                    System.out.println(flag1);
                    boolean flag2 = false;
                    System.out.println(flag2);
                    boolean flag3 = 5==9;
                    System.out.println(flag3);
                    boolean flag4 = 5<9;
                    System.out.println(flag4);
            }
    }

    基本数据类型的转换

    自动类型转换

    即精度小的类型自动转换为精度大的数据类型

    数据类型按精度大小排序为:

    Java数据类型如何定义与使用

    在类型转换的时候需要遵循哪些规则:

    第一条:八种基本数据类型中,除boolean 类型不能转换,剩下七种类型之间都可以进行转换;

    第二条:小容量向大容量转换称为自动类型转换,大容量转换小容量必须使用强制类型转,但运行时可能出现精度损失,谨慎使用

    第三条:byte,short,char 类型混合运算时,先各自转换成 int 类型再做运算;

    第四条:整数的默认类型是 int,小数默认是 double 类型浮点型,在定义 float 类型时必须在数字后面跟上 F 或者 f。

    第五条:浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入

    当一个表达式中有多种数据类型的时候,要找出当前表达式中级别最高的那个类型,然后其余的类型都转换为当前表达式中级别最高的类型进行计算。

     double d2 = 12+1294L+8.5F+3.81+'a';//都转换成最高的double类型,相当于= 12.0+1294.0+8.5+3.81+97.0
    强制类型转换

    把精度大的数据类型的数据赋值给精度小的数据类型。

    double b=3.1415926;
    int a=(int)b;//强制转换  高-->低

    在进行运算的时候:

    左=右 : 直接赋值

    左<右 :强转

    左>右 :直接自动转换

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
    作者最新文章
    编程开发 Java
    相关文章 更多
    Java单元测试入门:使用JUnit 5编写第一个测试用例
    Java单元测试入门:使用JUnit 5编写第一个测试用例

    面向初学者的JUnit 5实用入门指南。从测试概念、Maven依赖配置,到手把手编写首个单元测试用例及断言验证,助你掌握Java单元测试的核心流程。

    Java变量未初始化报错解析:局部变量与成员变量默认值差异
    Java变量未初始化报错解析:局部变量与成员变量默认值差异

    深入解析Java中局部变量未初始化编译报错与成员变量自动赋予默认值的机制差异,涵盖JVM内存分配、编译期确定性赋值检查与实际排查修复方案。

    Java获取当前时间并格式化输出:DateTimeFormatter与SimpleDateFormat
    Java获取当前时间并格式化输出:DateTimeFormatter与SimpleDateFormat

    详细讲解在Java中获取当前系统时间并进行格式化输出的两种核心方案:基于Java 8全新日期时间API的DateTimeFormatter与传统遗留的SimpleDateFormat,包含完整代码示例、线程安全机制对比及生产选型建议。

    Java中final与static final常量的定义及初始化规则
    Java中final与static final常量的定义及初始化规则

    深入解析Java中final变量与static final常量的定义、内存语义、初始化时机及合法赋值路径,涵盖编译期常量优化与实战避坑指南。

    Java抽象方法与接口方法的区别及选型建议
    Java抽象方法与接口方法的区别及选型建议

    深入对比Java中抽象类抽象方法与接口方法的语法演进、设计意图及运行期差异,并提供清晰的架构选型决策流程与实战范例。

    Java实现HTTP请求与JSON解析的完整代码示例
    Java实现HTTP请求与JSON解析的完整代码示例

    本文提供Java标准库HttpClient发起HTTP GET/POST请求并结合Jackson进行JSON数据反序列化与序列化的完整代码示例与工程实践指南。

    Java递归出现StackOverflowError的原因分析及栈空间优化方案
    Java递归出现StackOverflowError的原因分析及栈空间优化方案

    详细分析Java递归调用出现StackOverflowError的原因,结合代码说明线程栈、栈帧和递归深度之间的关系,并介绍终止条件排查、迭代改写、减少栈帧开销以及通过-Xss调整JVM栈空间的方法。

    Java空指针异常(NPE)的代码排查与修复实例
    Java空指针异常(NPE)的代码排查与修复实例

    针对Java中常见的NullPointerException(NPE),本文从堆栈日志定位、典型代码触发场景、具体修复代码对比到防御体系进行系统讲解,提供实用且易上手的排查与修复方案。

    selenium上传文件教程本地文件路径设置方法
    selenium上传文件教程本地文件路径设置方法

    深入解析Selenium处理文件上传的技术细节,涵盖标准HTML控件的路径直接注入法与非标准控件的系统级模拟方案,提供Windows与Linux环境下的路径设置最佳实践及常见异常排查。

    大数据开发语言选型:Java对比Scala与Python的优缺点及适用场景
    大数据开发语言选型:Java对比Scala与Python的优缺点及适用场景

    针对大数据工程场景,系统对比Java、Scala与Python在执行性能、生态结合、开发效率和维护成本上的核心差异,给出清晰的架构选型依据与落地方案。

    查看更多
    精品专题 更多
    装机必备
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows
    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    PDF教程
    PDF教程

    正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

    Mac软件 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    Aperty macOS版
    Aperty macOS版
    macOS

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    WINDOWS 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    PixTV 网页版
    PixTV 网页版
    Windows

    PixTV 是一款在浏览器中使用的 AI 视觉内容创作平台,提供图片、视频、音频、文字生成、AI 分镜、局部重绘、提示词反推和无限画布等工具,适合短剧、漫剧、广告及社交媒体内容制作。