初识Java之数据类型与变量

UniApp消息推送进阶:不用插件实现动态语音播报(含保活策略) 本文详细介绍了在UniApp中实现动态语音播报的进阶方案,无需依赖第三方插件。核心采用透传消息传递动态数据,结合本地TTS引擎合成语音,并针对不同安卓厂商提供了深度通道配置与差异化保活策略,有效解决了App退至后台或被清理后语音播报失效的难题。 阅读详情

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


初识Java之数据类型与变量

1.字面常量

📓常量字符串即程序运行期间,固定不变的量称为常量,例如:1个礼拜是7天,一年是12个月。

public class test {
    public static void main(String[] args) {
        System.out.println("hello world");
        System.out.println(100);
        System.out.println(3.14);
        System.out.println('A');
        System.out.println(true);
        System.out.println(false);
    }
}//其中:100 3.14 ‘A’ true/false都是常量,将其称为字面常量
  1. 字符串常量是用"“括起来的,比如"23456”, “hello”, “侬好”。
  2. 整型常量:程序直接写出来的数字(是没有小数点的),比如:100,231
  3. 浮点数常量:程序中直接写的小数,比如:3.14,5.22
  4. 字符常量:由单引号括起来的单个字符,比如:‘A’, ‘1’
  5. 布尔常量:只有两种结果,true或者false

📔注意:在java中,字符串,整型,浮点型,字符型以及布尔型都称为数据类型

2.数据类型

📒在java中数据类型主要分为两类:基本数据类型和引用数据类型
📕基本数据类型又分为四类八种

  1. 四类:整型,浮点型,字符型以及布尔型
  2. 八种
    在这里插入图片描述

📕注意:
无论是16位还是32位操作系统,int都占4个字节,long占8个字节(说明java的移植性很强)
整型和浮点型都是带有符号的
整型默认int,浮点型默认double
字符串属于引用类型
我们拿int来举例(下图)

在这里插入图片描述

字节是计算机中表示空间大小的基本单位,常见的换算如下图🖊

在这里插入图片描述

3.变量

变量的概念:
地球无时无刻不在转动,一切都是在改变的,所以在Java中对于经常改变的内容就称之为变量。我们上面提到的数据类型就是用于定义不同种类的变量的。(变量分为基本变量和引用变量,我们先介绍基本变量)

语法格式为:数据类型 变量名=初始值

3.1整型变量

💼int long short

 //整型变量定义方式一
        int a=10;
        System.out.println(a);
        //整型变量定义方式二
        int b;
        b=10;
        System.out.println(b);
        //整型变量定义方式三
        int c;
        System.out.println(c);
        c=100;//这种定义方式是错误的,会出现Variable 'c' might not have been initialized报错,意思就是没有对进行初始化
1.整型无论在任何系统下都占4个字节
2.整型的范围是-2^31~2^31-1
3.Integer是int的包装类

int a=10;//定义一个值为10的整型变量
long b=20L;//为了区分整型和长整型,一般在long类型变量后加上L
1.长整型变量需要在初始值后加上L
2.长整型无论在任何系统下都占8个字节
3.长整型的范围是-2^63 ~ 2^63-1
4.长整型的包装类是Long


short a=10;
System.out.println(a);//10
1.短整型在任何系统下都是占2个字节
2.短整型的表示范围是-32768 ~ 32767
3.使用时注意不要超过范围
4.短整型的包装类型是Short
   

3.2字节变量

🧰byte

byte a=10;
System.out.println(a);
1.byte字节型在任何系统下都是占1字节
2.byte的范围是:-128 ~ 127
3.byte的包装类型是Byte

3.3浮点型变量

🧳double and float

int i=1;
int j=2;
System.out.println(i/j);//结果会是0.5吗?
//不会,在java中,整数除整数会直接舍弃掉小数点后面的部分,所以这个答案是0

正确的做法是需要将被除数和除数都以小数的形式去执行
double i=1.0;
double j=2.0;
ystem.out.println(i/j);
1.double字节型在任何系统下都是占8字节
2.double的范围是:很大,一般不关注
3.double的包装类型是Double


float num=2.1f;
float qwe=3.7F;
System.out.println(num);
System.out.println(qwe);
1.float字节型在任何系统下都是占4字节
2.float的范围是:一般不关注
3.float的包装类型是Float
4.我们在提到浮点型时,一般直接考虑使用double,很少使用float

3.4字符型变量

📪char

char c1='A';
char c2='a';
System.out.println(c1);
System.out.println(c2);

int c3='A';
int c4='a';
System.out.println(c3);
System.out.println(c4);

char c5='哈';
System.out.println(c5);
1.char 可以存放整型或者字符以及汉字
2.大小写ascll码值相差32,在java中采用的是Unicode用于表示字符,所以一个字符占用两个字节
3.char类型在任何系统下占用2个字节
4.其范围是0 ~ 65535

在这里插入图片描述

3.5布尔类型变量

🧳boolean

boolean a=true;
System.out.println(a);
System.out.println("=================");//分割线
boolean b=false;
System.out.println(b);
1.boolean类型变量只有两种结果,true表示真,false表示假
2.并没有明确规定boolean占用几个字节,甲骨文公司的虚拟机实现中,boolean占用1个字节
3.boolean类型不能和int相互转换,不存在1表示true,0表示false这种说法
4.boolean的包装类为Boolean

4.类型转换

 public static void main(String[] args) {
        int a=10;
        long b=100L;
        b=a;//可以
        a=b;//不可以
        
    }
  

> a是整型,赋给长整型b,b可以接受,因为a的范围小,b的范围大,将a赋值给b时,会自动将a提升到long类型,然后赋值。
> 正因如此,long的范围比int范围大,会有数据丢失的风险,所以编译器直接报错
> 
> 所以根据转换的情况,Java中有两种类型转换,分为自动类型转换和强制类型转换

4.1自动类型转换(隐式)

🧃自动类转换:范围小的转给范围大的OK,范围大的转给范围小的,错误。
🥤特点:数据范围小的转为数据范围大的时会自动进行

public static void main(String[] args) {
        int a=100;
        long b=10L;
        b=a;//编译器会自动将a提升到long类型,然后赋值
       // a=b;//long的范围大,直接赋值给int类型,会出现数据丢失的情况
        
        float f=3.14f;
        double d=5.12;
        d=f;//编译器会转换为double,然后进行赋值
       // f=d;//double的范围大,直接赋值给float类型,会出现数据丢失的情况
        
        byte b1=100;
       // byte b2=257;//byte的范围是-128~127,257已经超过byte的范围了,所以会直接报错
    }

在这里插入图片描述

4.2强制类型转换(显式)

🍵强制类型转换:当进行操的时候,代码需要经过一定的格式处理,不能自动完成。
🧋特点:数据范围大的到数据范围小的

👉🏿代码如下(示例):

public class Main {
    public static void main(String[] args) {

        int a = 10;
        long b = 100L;
        b=a;//int-->long,数据范围小的到数据范围大的,隐式转换
        a=(int)b;//long-->int数据范围由大到小,需要强制类型转换,否则会出现编译错误

        float f=3.14F;
        double d=5.5;
        d=f;//float-->double,数据范围由小到大,隐式转换
        f=(float)d;//double-->float, 数据范围由大到小,需要强转,否则编译失败

        a=d;//类型不兼容,报错
        a=(int)d;//int没有double表示的范围大,需要强转,小数点之后全部抛弃

        byte b1=100;//这里100会被默认为int,没有超出byte的范围,隐式转换
        byte b2=(byte)257//257默认为int,超出了byte的范围,需要显式抓换,否则就会报错

        boolean flag=true;
        a=flag;//编译失败,类型不兼容
        flag=a;//编译失败,类型不兼容
    }
}

🤖注意事项
1.不同数字类型的变量之间赋值,表示范围小的类型能隐式转换成范围较大的类型
2.如果需要把范围大的类型赋给范围小的,需要强制类型转换,但是会出现精度丢失的情况
3.将一个字面值常量进行赋值的时候,Java会自动针对数字范围检查
4.强制类型转换不一定能成功,不想干的类型不能互相转换,例如boolean和int


4.3类型提升

🦖不同类型的数据之间进行运算,类型数据小的会被提升到数据类型大的


🐉整型和整型计算

public static void main(String[] args) {
        int a=10;
        long b=20;
        int c=a+b;//报错,因为b是长整型,直接赋给int类型会丢失数据
        long d=a+b;//编译成功,因为长整型d可以接收int类型
    }

在这里插入图片描述

🐲byte和byte计算


byte a=10;
byte b=20;
byte c=a+b;
System.out.println(c);

----在这里插入图片描述

不是byte和byte之间进行运算吗,关int什么事?🤔
答:这是因为计算的CPU都是按照4个字节为单位从内存中读写数据,例如byte和short这种低于4个字节的类型,会先提升到int。a+b会将a和b提升为int,再进行计算,得到的结果也是int,这就是为什么赋给c,就会出现报错。
正确的做法👇🏾

byte a=10;
byte b=20;
byte d=(byte)(a+b);
System.out.println(d);

在这里插入图片描述

🧠类型提升的小结:
1.不同类型的数据混合运算,范围小的会提升成范围大的
2.对于short,byte这种比4个字节小的类型,会先提升成4个字节的int,再进行运算


在上面我们不断提到了包装类这一个知识点。什么是包装类呢?🤔
答:为了让基本数据类型也具备对象的特性, Java 为每个基本数据类型都提供了一个包装类,这样我们就可以像操作对象那样来操作基本数据类型。
在这里插入图片描述


🗣目前只需要记住有包装类这个概念,在后续知识点我们会持续跟进这一知识点

补充

🦎 String类定义字符串

 public static void main(String[] args) {
        String s1="hello";
        String s2="world";
        System.out.println(s1);
        System.out.println(s2);
        System.out.println(s1+s2);
    }

在这里插入图片描述

🤥需要注意的是在java中:字符串+其他类型等于字符串
我们将上述的代码换一种方式输出出来


int a=1;
int b=2;
System.out.println("a = "+a);
System.out.println("b = "+b);
System.out.println("a+b="+a+b);
System.out.println("a+b="+(a+b));

在这里插入图片描述

大家注意看a+b的结果,a+b应该是等于3的,怎么第三行打印的会是12呢,这是因为在java中,'+'就相当于一个拼接符号,所以就输出12,只需要加上一个括号即可。

😈int转String

public static void main(String[] args) {
        int x=100;
        String str1=x+" ";
        System.out.println(str1);//方法1
        System.out.println("=================华丽的分割线");
        String str2=String.valueOf(x);//方法2
        System.out.println(str2);

    }

在这里插入图片描述

😈String转int

String str1="100";
int num=Integer.parseInt(str1);
System.out.println(num);
System.out.println("----------------华丽的分割线");
String str2="3435";
int qwe=Integer.parseInt(str2);
System.out.println(qwe);

在这里插入图片描述

OpenRubrics:自动化评估工具优化LLM对齐效果 在大型语言模型(LLM)应用中,模型输出与人类价值观的对齐是关键挑战。传统人工反馈强化学习(RLHF)依赖大量标注,成本高且一致性差。OpenRubrics作为开源工具,通过结构化准则实现自动化评估,显著提升效率。其核心原理是将主观评价转化为可量化的多维指标,支持动态权重调整,并兼容主流RLHF框架。该工具在降低标注成本的同时,通过Fleiss' Kappa系数等指标保证评估一致性,适用于多语言和医疗等专业领域,为LLM对齐提供了工程化解决方案。 阅读详情

相关推荐

山东专升本计算机网络基础知识点 --- 计算机网络基础

计算机网络是指将一群具有独立\textcolor{WildStrawberry}{独立}独立功能的计算机通过通信设备及传输媒体等互联起来,在通信软件的支持下,实现计算机间资源共享、信息交换或协同工作\textcolor{WildStrawberry}{资源共享、信息交换或协同工作}资源共享、信息交换或协同工作的系统。计算机网络是计算机技术和通信技术紧密结合的产物\textcolor{WildStrawberry}{计算机网络是计算机技术和通信技术紧密结合的产物}

z339521的博客 2814

初识java—变量,数据类型

byte 和 byte 都是相同类型, 但是出现编译报错. 原因是, 虽然 a 和 b 都是 byte, 但是计算 a + b 会先将 a和 b 都提升成 int, 再进行计算, 得到的结果也是 int, 这是赋给 c, 就会出现上述错误.由于计算机的 CPU 通常是按照 4 个字节为单位从内存中读写数据. 为了硬件上实现方便, 诸如 byte 和 short这种低于 4 个字节的类型, 会先提升成 int, 再参与计算。计算结果等,对于这些经常改变的内容,在Java程序中,称为变量。

m0_72433000的博客 1047

山石网科Hillstone防火墙基础上网配置_CLI命令行(最新版)

山石网科Hillstone防火墙安全网关基础上网基础网络配置_CLI命令行(最新版)

路与肥的博客 1万+

java初识及数据类型与变量

模板Test(名字任意):类名,与文件名一样并且只有一个(一般由public来修饰)void:返回值main:方法名,mian括号里的表示形参System.out.println:打印并且换行总体流程:java文件 ---> 类 ---> 方法 ---> 局部变量标识符,类型转换,类型提升。

wtl2006629的博客 468

【mysql8.0.33安装详情教程】

8、进入Account and Roles界面,输入密码,再点击next(密码随便输,自己记住就行)11、进入Apply Configuration界面,直接点Execute,等待应用成功。14、输入密码,点击check,检查是否正确。3、下图是选择安装类型,选择默认安装就可以,然后点击“next”。5、进入Product Configuration,点击next。9、进入Windows Service界面,直接点击next。15、点击Execute执行安装(完成后点击Finish)二、验证是否安装成功。

98渣渣辉的博客 2113

解决国内网页无法加载reCaptcha的方法

科普: reCaptcha是Google公司的验证码服务,方便快捷,改变了传统验证码需要输入n位失真字符的特点。reCaptcha在使用的时候是这样的: 只需要点一下复选框,Google会收集一些鼠标轨迹、网络信息、浏览器信息等等,依靠后端的神经网络判断是机器还是人,绝大多数验证会一键通过,无需像传统验证码一样。但是reCaptcha使用了google.com的域名,这个域名在国内是被墙的。所以,也就导致了官网上无法注册/登录的问题,挡住了不少人入正的脚步。 解决办法: 【第一步】安装fir

调皮李小怪博客 25万+

Java 基础入门(二):标识符、字面常量、基本数据类型与变量

本文是 Java 基础入门系列的第二篇,主要介绍正式学习运算符和表达式之前需要掌握的核心语法基础。文章围绕标识符、字面常量、八种基本数据类型和变量展开,系统讲解了不同数据在 Java 中的表示方式、变量的声明与初始化、自动类型转换与强制类型转换、数值提升规则,以及 String 类型的基本使用。通过本文的学习,读者可以初步建立对 Java 数据表示、存储与转换机制的认识,为后续学习运算符、流程控制和方法等内容打下扎实基础。

深耕 Java 后端,沉淀技术知识,记录成长之路。 1337

利用Arcgis发布wmts服务

使用发布 GIS 服务连接连接到 ArcGIS Server 站点后,可以将各种 GIS 资源(如地图文档、数据库以及服务定义)发布到服务器上。此外,还可以添加、删除、启动和停止服务。使用管理 GIS 服务器连接到 ArcGIS Server 站点后,可以编辑各种服务器属性,例如配置存储位置、集群配置、参与到该站点中的计算机列表以及管理站点的数据存储。通过使用 GIS 服务连接建立连接后,可以查看并使用发布到该站点的服务。但不能编辑服务器或服务属性、发布服务,也不能添加、删除、启动、停止或暂停服务。

ghgfsasxda的博客 2393

初识Java之变量和数据类型

2.变量和数据类型 2.1 IDE的使用 1.掌握使用IDE构建普通的java项目 IDE:集成开发工具/环境 开发java的主流IDE 1.eclipse 开源 由Eclipse软件基金会(不以盈利为目的)进行维护 2.myeclispe 闭源 它是基于开源的Eclipse衍生出的,添加了更加适合java EE开发的相关套件。 3.IDEA 闭源 在目前已经几乎领先...

weixin_44793533的博客 682

【芯片验证随心记】1.SystemVerilog中,rand和randc的区别?如何用constraint实现randc?

在SystemVerilog里,randc 的“不重复循环”特性是用一个 周期性排列器(permutation engine) 实现的,而这个引擎在 LRM 里并没有公开。我们只能在 “用户空间” 用 rand + constraint 去模仿它的行为。每次随机化只取 queue.pop_front(),用完再洗。在4次随机化内,y会依次出现0,1,2,3各一次(顺序随机)每次随机化,x可能是0-3中的任意值,可能连续多次相同。每次随机化时,在未使用的值里随机挑一个;第5次随机化时,重新生成新的排列周期。

qq_43172512的博客 342

用51单片机和LD3320语音模块DIY一个会说话的温度报警器(附完整代码)

本文详细介绍了如何使用51单片机和LD3320语音模块DIY一个智能温度报警器,包括硬件选型、电路设计、软件开发及核心功能实现。通过DS18B20温度传感器和语音模块的结合,实现温度超标时的语音报警功能,适合智能家居系统等应用场景。附完整代码,方便开发者快速复现。

weixin_42525632的博客 420

[初识Java]数据类型和变量

✍️大家好,我是枫晨,今天继续带大家初识Java,今天除了正文外,我还要推荐一本书籍《java核心技术 卷1》非常适合初学者 🖥️专栏推荐: C语言专栏:C语言学习教程 Java专栏 :初识JavaSE系列 文章目录一、字面常量二、数据类型三、变量3.1整形3.2浮点型:3.2字符类型3.4布尔类型3.5数值类型之间的转换3.5.1隐式类型转换3.5.2显式类型转换3.6类型提升 一、字面常量 简单来说就是程序运行期间,固定不变的量。 字面常量分类: 字符串常量:由""括起来的,比如“12345”.

qq_36935038的博客 807

AI大模型探索之路-认知篇1-全景透视:揭秘AIGC技术的进化之路

随着人工智能技术的突飞猛进,内容创作方式的发生了革命性的转变;从早期专业人员主导的内容生产,到现如今生成式人工智(AIGC)能创作时代;本篇文章主要讲解AIGC技术的演变历程。

寻道AI,探索AI无限可能! 1648

[Java]初识Java--数据类型、变量

8、Java 的 boolean类型和 int 不能相互转换, 没有1 表示 true, 0 表示 false 这样的用法。定义:经常改变的内容,在Java程序中,称为变量。(常见于方法和类之上描述方法和类的作用),可以被javadoc工具解析,生成一套以网页文件形式体现的程序说明文档。2、在给整型变量设置初始值时,值不能超过整型的表示范围,否则会导致溢出。方法名:首字母小写,后面每个单词的首字母大写(小驼峰)。注: 1、推荐使用在定义时给出初始值,如果没有合适的初始值,可以设置为0。字符串属于引用类型。

z141042的博客 921

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

初识Java的数据类型与变量

初始Java的数据类型与变量,以及变量的类型转换、类型提升

m0_67683346的博客 544

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Java SE的初识、数据类型与变量

在程序中,无论程序何时运行,输出的都唯一的被称为字面常量。例如,System.out.println(“hello world”),其的输出结果为“hello world”,“hello world”就是字面常量。常量即程序运行期间,固定不变的量在程序中,除了值不变的常量,还有些内容会经常改变。对于哪些经常改变的内容,在Java程序里,称为变量。而数据类型是用来定义变量的。

2301_79185969的博客 897

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

初识【Java】—— main函数及数据类型与变量

Java是一种优秀的程序设计语言,它具有令人赏心悦目的语法和易于理解的语义。不仅如此,Java还是一个有一系列计算机软件和规范形成的技术体系,这个技术体系提供了完整的用于软件开发和跨平台部署的支持环境,并广泛应用于嵌入式系统、移动终端、企业服务器、大型机等各种场合。

m0_74042853的博客 927

java之初识数据类型与变量

本文介绍了编程语言中的常量与变量概念。常量部分详细分类为字符串、整型、浮点、字符、布尔和空常量,并说明其在C和Java中的表示方式。变量部分阐述了整型、浮点、字符和布尔变量的定义与使用规范。数据类型分为基本类型(四类八种)和引用类型,强调int和long的固定字节数。类型转换包含隐式转换(小转大自动完成)和显式强制转换,以及运算时的类型提升规则。最后说明字符串拼接特性。全文系统性地梳理了编程基础中的数据类型核心概念。

h_Maennn的博客 297

初识Java及其数据类型与变量

快速了解Java的数据类型与变量

qq_62905847的博客 307

初识Java、注释、变量、数据类型、数组。

初识Java、注释、变量、数据类型、数组。

2403_89676735的博客 300

初识java与数据类型,变量

举例:int a=1;char a=‘辉’;在程序中,除了有始终不变的常量外,有些内容可能会经常改变,比如:人的年龄、身高、成绩分数、数学函数的。){ ------>程序的入口 固定写法。(常见于方法和类之上描述方法和类的作用。成一套以网页文件形式体现的程序说明文档。整形常量:程序中直接写的数字。格式:数据类型 变量名。注释内容(用的最多)

hjdjsnsn的博客 268

初识Java—数据类型变量与运算符详解

一、Java数据类型与变量二、Java运算符。

qq_73471456的博客 1410

初识java--->数据类型与变量

字面常量: 常量:程序运行期间,国定不变的量叫做常量。 那什么叫做字面常量呢? 首先看下面的这一串代码: public class TestDemo2 { public static void main(String[] args) { System.out.println("Hello World"); System.out.println(100); System.out.println(3.1415); Sy..

m0_62310006的博客 1321

初识Java:基本数据类型与变量

2. 计算机中的字符本质上是一个整数. 在 C 语言中使用 ASCII 表示字符, 而 Java 中使用 Unicode 表示字符. 因此。// 编译出错: a + b==》int + long–> long + long 赋值给int时会丢失数据。// 编译成功:a + b==>int + long—>long + long 赋值给long。a和b都是整形,a的范围小,b的范围大,当将a赋值给b时,编译器会自动将a提升为long类型,然后赋值。一个字符占用两个字节, 表示的字符种类更多, 包括中文。

djyyyg的博客 224

初识Java:数据类型与变量、运算符

Java的数据类型、变量和运算符详解

不能再留遗憾了的博客 1101

Java初识(数据类型与变量)

1、Java初识 (1)JDK Java开发工具包 (Java development kit jdk 提供给Java程序员,包含了JRE,同时还包含了编译器javac与自带的调试工具console、jstack等)。 (2)JRE Java运行时环境 (Java runtime environment jre 包含了JVM,Java基础类库。是使用Java语言编写程序运行的所需环境)。 (3)JVM Java虚拟机 (Java virtual machine jvm

qq_50623027的博客 395
上一篇: 字符串函数与内存函数
下一篇: 初识Java之类和对象
评论 8
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值