Java入门之数据类型和变量

embedded/2024/10/4 17:31:45/

1.字面常量

        字面常量就是在程序运行中,固定不变的量,例如如下的代码

java">public class Demo{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);}
}

        sout输出的内容使用了双引号括起来,都是字面常量。

2.数据类型

        Java中数据类型主要分为两类:基本数据类型和引用数据类型。

        基本数据类型有四类八种:

        1.四类:整型,浮点型,字符型,布尔型

        2.八种:

注意:Java中任何类型的系统,数据类型内存占用是固定的,且int,double都是带符号的,整型默认为int,浮点型默认double

3.变量

3.1整型变量

3.1.1整型变量

java">int a = 10;

我们一般在定义时就给出初始值,且一定要赋值,否则会出现编译报错。同时,在定义int型变量的时候,不要超过int的范围,int的包装类型为Integer

3.1.2长整型变量

java">long b = 10L;

长整型变量的初始值后加L或者l,一般我们加L,占8个字节,包装类型是Long

3.1.3短整型变量

java">short a = 10;

占2个字节,包装类型为Short

3.1.4字节型变量

java">byte b = 10;

占1个字节,范围-127 ~ 128,包装类型Byte

3.4浮点型变量

3.4.1双精度浮点型

java">double d = 3.14;

在Java中,int除以int的值仍然是int

java">int a = 10;
int b = 20;
System.out.println(a / b);

结果是0

java">double num = 1.1;
System.out.println(num * num);  // 输出1.21吗?// 执行结果
1.2100000000000002

double占8个字节,小数的存储并不精确,double的包装类型是Double

3.4.2单精度浮点型

java">float num = 1.0f;    // 写作 1.0F 也可以

一定要记住在赋值时加f或者F

3.5字符型变量

java">char c1 = 'A';    // 大写字母
char c2 = '1';    // 数字字符

Java中的字符型变量可以存储汉字,他的包装类型是Character

java">char c3 = '帅';

3.6布尔型变量

布尔型变量赋值只有true和flase,没有0或1,boolean 类型和 int 不能相互转换, 不存在 1 表示 true, 0 表示 false 这样的用法,包装类型是Boolean,没有确定的大小

java">boolean b = true;
System.out.println(b);b = false;
System.out.println(b);

3.7类型转换

可以由小到大,由大到小需要强制类型转换,且可以出现问题

java">int a = 10;
long b = 100L;
b = a;   // 可以通过编译
a = b;   // 编译失败

类型提升:int会被提升为long,但需要注意的是,byte与byte的加法计算中,我们会先将byte提升到int,因此最后输出的内容是int类型,例如:

java">byte a = 10;
byte b = 20;
byte c = a + b;
System.out.println(c);// 编译报错
Test.java:5: 错误: 不兼容的类型: 从int转换到byte可能会有损失byte c = a + b;

总结:对于不同类型数据的混合运算,范围小的变为大的,对于比四个字节少的类型,会先提升,再计算

4.字符串类型

Java使用String类定义字符串类型,举例如下:

java">String s1 = "hello";String s2 = " world";System.out.println(s1);System.out.println(s2);

在输出的时候,字符串相加就是拼接

s1 + s2的结果是helloworld

有些情况下,字符串和整型间进行转换

int转换为String

java">2. String 转成 intint num = 10;
// 方法1
String str1 = num + "";  
// 方法2
String str2 = String.valueOf(num);

String转换为int

java">String str = "100";
int num = Integer.parseInt(str);


http://www.ppmy.cn/embedded/41366.html

相关文章

嵌入式学习-通用定时器

简介 框图介绍 时钟选择 计数器部分 输入捕获和输出比较框图 嵌入式学习全文参考(小向是个der)做笔记:https://blog.csdn.net/qq_41954556/article/details/129735708

LVS 负载均衡部署 NAT模式

一、环境准备 配置环境: 负载调度器:配置双网卡 内网:172.168.1.11(ens33) 外网卡:12.0.0.1(ens37)二台WEB服务器集群池:172.168.1.12、172.168.1.13 一台NFS共享服务器:172.168.1.14客户端&#xff…

OpenAI推出新模型GPT-4o:可实时交互,检测人的情绪,支持多模态输出

GPT-4o作为OpenAI新发布的人工智能模型,据官方及媒体报道,是面向全球用户发布的,包括中国在内的用户理论上应该能够通过相应平台和应用访问。不过,实际可用性还需考虑地区政策、网络访问限制以及具体平台是否在中国有本地化服务等…

蓝桥杯第2357题——限高杆(多层图+dijkstra)

问题描述 某市有 𝑛 个路口, 有 𝑚 段道路连接这些路口, 组成了该市的公路系统。其 中一段道路两端一定连接两个不同的路口。道路中间不会穿过路口。 由于各种原因, 在一部分道路的中间设置了一些限高杆, 有限高杆的路段 货车无法通过。 在该市有两个…

【C++风云录】探索食品工艺的新工具:创新你的食谱

食品加工模拟:优化你的营养研究 前言 在科技的推动下,食品科学领域已经逐步引入了智能化工具,以协助研究人员和工业界进行更精细、更深入的研究。本文将详细介绍六款与食品科学紧密相关的软件和库,它们包括FoodCAD, Nutritional…

[MRCTF2020]PixelShooter

是个安卓游戏题 re手肯定不会去玩游戏,先jadx分析一波 没有什么关键信息,但找到了一个unity类,想到apk也可以解压缩得到 .so 或者 Assembly-CSharp.dll 故又在dnspy分析一下 看了半天没有和flag有关信息,看wp: Asse…

计算机网络实验1:交换机基本配置管理

实验目的和要求 安装Packer Tracer,了解Packer Tracer的基本操作掌握交换机基本命令集实验项目内容 认识Packet Tracer软件 交换机的基本配置与管理 交换机的端口配置与管理 交换机的端口聚合配置 交换机划分Vlan配置 实验环境 硬件:PC机&#x…

什么?免费使用GPT-4o?

⭐简单说两句⭐ ✨ 正在努力的小叮当~ 💖 超级爱分享,分享各种有趣干货! 👩‍💻 提供:模拟面试 | 简历诊断 | 独家简历模板 🌈 感谢关注,关注了你就是我的超级粉丝啦! &a…