数据类型与运算符-java

news2024/9/21 16:28:27

数据类型与运算符

1、变量和类型

1.1、整形变量

基本语法格式:

int 变量名 = 初始值;

代码示例:

int num = 10 //定义一个整型变量
System.out.println(num);

注意:
1)java中,一个int变量占4个字节,和操作系统没有直接关系。
(8个bit为一个字节Byte,1KB = 1024 Byte)
2)4 个字节表示的数据范围是 -2^31 -> 2^31-1,也就大概是 -21亿 到 +21亿

1.2长整型变量

基本语法格式:

long 变量名 = 初始值;

代码示例:

long num = 10L; //定义一个长整型变量,初始值也可以写10l(小写L不是数字1)
System.out.println(num);

注意:
1)使用 10 初始化也可以,10 的类型是 int,10L 的类型是 long,使用 10L或者 10l更好一些.
2)Java 中 long 类型占 8 个字节,表示的数据范围 -2^63 -> 2^63-1

System.out.println(Long.MAX_VALUE);
System.out.println(Long.MIN_VALUE);
    
// 运行结果
9223372036854775807
-9223372036854775808

1.3、双精度浮点型变量

基本语法格式:

double 变量名 = 初始值;

代码示例:

double num = 1.0;
System.out.println(num);

int除以int的值仍然是int

int a = 1; 
int b = 2; 
System.out.println(a / b); 
// 执行结果
0 
double a = 1.0; 
double b = 2.0; 
System.out.println(a / b); 
// 执行结果
0.5 

1.4、单精度浮点型变量

基本语法格式:

float 变量名 = 初始值;

代码示例:

float num = 1.0f;//F也可
System.out.println(num);

float 类型在 Java 中占四个字节, 同样遵守 IEEE 754 标准. 由于表示的数据精度范围较小, 一般在工程上用到浮点数都
优先考虑 double, 不太推荐使用 float

1.5、字符类型变量

基本语法格式:

char 变量名 = 初始值;

代码示例:

char ch = 'A';

1.6、字节类型变量

基本语法格式:

byte 变量名 = 初始值;

代码示例:

byte value = 0 ;
System.out.println(value);

1)字节类型表示的也是整数. 只占一个字节, 表示范围较小 ( -128 -> +127 )
2)字节类型和字符类型互不相干

1.7、短整型变量

基本语法格式:

short 变量名 = 初始值;

代码示例:

short value = 0 ;
System.out.println(value);

short 占用 2 个字节, 表示的数据范围是 -32768 -> +32767,这个表示范围比较小, 一般不推荐使用

1.8、布尔类型变量

太累了,,,随便写点总结吧。。。

1.9、转义字符

转义字符解释

2、小结

1、Java 的 boolean 类型和 int 不能相互转换, 不存在 1 表示 true,0 表示 false 这样的用法

2、String 不是基本类型,而是引用类型

3、不同数字类型的变量之间赋值,表示范围更小的类型能隐式转换成范围较大的类型,反之则不行(int a = 10; long b = 20;
a = b; // 编译出错, 提示可能会损失精度. b = a;//编译通过)

4、使用 (类型) 的方式可以将 double 类型强制转成 int。但是强制类型转换可能会导致精度丢失,如赋值之后, 10.5 就变成 10 了, 小数点后面的部分被忽略。强制类型转换不是一定能成功,互不相干的类型之间无法强转。

5、对于 short, byte 这种比 4 个字节小的类型,会先提升成 4 个字节的 int ,再运算。

6、如果不取自增运算的表达式的返回值,则前置自增和后置自增没有区别;如果取表达式的返回值,则前置自增的返回值是自增之后的值,后置自增的返回值是自增之前的值。

7、短路求值: 对于 &&,如果左侧表达式值为 false, 则表达式的整体的值一定是 false, 无需计算右侧表达式;对于 ||,如果左侧表达式值为 true, 则表达式的整体的值一定是 true, 无需计算右侧表达式(& 和 | 如果操作数为 boolean 的时候, 也表示逻辑运算。但是和 && 以及 || 相比,它们不支持短路求值)

8、移位运算:左移 1 位 <<1 , 相当于原数字 * 2,左移 N 位, 相当于原数字 * 2 的N次方;
右移 1 位 >>1 , 相当于原数字 / 2,右移 N 位,相当于原数字 / 2 的N次方。

9、三目运算符:表达式1 ? 表达式2:表达式3(当表达式1 的值为 true 时,整个表达式的值为表达式2的值;当表达式1的值为 false 时,整个表达式的值为 表达式3的值)
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1144483.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【ChatGPT系列】ChatGPT:创新工具还是失业威胁?

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kuan 的首页,持续学…

进程、线程、处理机调度

程序&#xff1a;存放在磁盘中的可执行二进制文件&#xff08;即*.exe文件&#xff0c;包含一系列指令集合&#xff09;。是静态的。 进程&#xff1a;程序的一次执行过程。是动态的。同一个程序多次执行将对应多个进程。 线程&#xff1a;轻量级进程。一个进程至少有一个线程…

qml之ui控件

文章目录 ui控件移动版风格嵌套页面并排界面 ui控件 Qt Quick控件用于创建由标准化组件&#xff08;如按钮、标签、滑块等&#xff09;构建的用户界面。 QtQuick.Controls&#xff1a;基本控件。QtQuick.Templates&#xff1a;为控件提供行为化的、非可化视的基本类型。QtQui…

STM32 CAN使用

STM32 CAN使用 简介各种通讯接口对比报文总线上的报文信息表示为几种固定的赖类型数据帧列表模式掩码模式配置CAN配置参数位时序 简介 控制器局域网CAN&#xff08;Controller Area Network)是由德国博世公司为汽车应用而开发的多主机局部网络&#xff0c;用于汽车的监测和控制…

React 生成传递给无障碍属性的唯一 ID

useId() 在组件的顶层调用 useId 生成唯一 ID&#xff1a; import { useId } from react; function PasswordField() { const passwordHintId useId(); // ...参数 useId 不带任何参数。 返回值 useId 返回一个唯一的字符串 ID&#xff0c;与此特定组件中的 useI…

【CSS】包含块

CSS规范中的包含块 包含块的内容&#xff1a; 元素的尺寸和位置&#xff0c;会受它的包含块所影响。 对于一些属性&#xff0c;例如 width, height, padding, margin&#xff0c;绝对定位元素的偏移值&#xff08;比如 position 被设置为 absolute 或 fixed&#xff09;&…

『第十章』仪态万千的雨燕:UIKit 和 SwiftUI

在本篇博文中,您将学到如下内容: 1. 老骥伏枥:AppKit 和 UIKit2. 雨燕的新装:SwiftUI3. SwiftUI 原生视图4. SwiftUI 容器4.1 ViewThatFits4.2 自定义布局(Custom Layout)6. SwiftUI 修改器(Modifiers)6.1 修改器修饰作用域6.1 自定义修改器5. SwiftUI 状态:真相之源(S…

在spring boot+vue项目中@CrossOrigin 配置了允许跨域但是依然报错跨域,解决跨域请求的一次残酷经历

首先&#xff0c;说一下我们的项目情况&#xff0c;我们项目中后端有一个过滤器&#xff0c;如果必须要登录的接口路径会被拦下来检查&#xff0c;前端要传一个token&#xff0c;然后后端根据这个token来判断redis中这个用户是否已经登录。 if (request.getMethod().equals(&qu…

20、Python -- 变量作用域、局部函数

目录 变量作用域变量&#xff1f;字典&#xff1f;获取变量字典变量遮蔽解决方法&#xff1a;方法1&#xff1a;使用globals访问全局变量方法2&#xff1a;在函数中声明全局变量 局部函数封闭函数返回局部函数代码演示另一种写法 局部函数的遮蔽问题如图&#xff1a;解决方法&a…

深入理解Java中的转义字符

最近在学习《两周自制脚本语言》这本书&#xff0c;在词法分析的一些复杂的正则中用到了大量的转义字符’\&#xff0c;比如正则字符串中包含了这个部分\\\\\"你知道它是匹配什么的么&#xff1f; 反斜杠在字符串和正则表达式中都有特殊作用。今天让我们来深入理解一下Ja…

如何使用drawio画流程图以及导入导出

画一个基本的流程图 你可以在线使用drawio, 或者drawon创建很多不同类型的图表。 如何使用编辑器&#xff0c;让我们以一个最基本的流程图开始。 流程图&#xff0c;就是让你可视化的描述一个过程或者系统。 图形和很少部分的文字表达就可以让读者很快的理解他们需要什么。 创…

文心大模型走进高校!百度携手吉林大学计算机学院成功举办AI师资培训

随着人工智能技术的快速发展&#xff0c;大模型已经成为了人工智能的主流发展方向&#xff0c;同时也对新时代AI人才的培养带来了新的思考与挑战。为了推动大模型及人工智能相关专业人员的培养&#xff0c;10月20日-22日&#xff0c;百度飞桨携手中国电子学会&#xff0c;吉林大…

@TableLogic 这个注解的作用

TableLogic 是 MyBatis-Plus&#xff08;一个 MyBatis 的增强工具&#xff09;提供的一个注解&#xff0c;用于实现逻辑删除功能。 逻辑删除并不是真正从数据库中删除记录&#xff0c;而是通过在数据库表中设置一个标记字段&#xff08;通常是一个状态字段&#xff0c;如 is_d…

【Linux】部署及发布单机项目及前后端分离的项目

目录 一、讲述 1. 为什么 2. 要求 二、单机项目 1. 本机测试 2. 部署 三、前后端 1. 准备 2. 部署 一、讲述 1. 为什么 实施部署和发布项目的目的是将软件开发的成果转化为可用的产品或服务&#xff0c;以满足用户的需求。以下是实施部署和发布项目的一些重要原因&am…

Proteus仿真--闪烁的LED灯

本文介绍一种基于51单片机实现的LED灯闪烁仿真&#xff08;完整仿真源文件及代码见文末链接&#xff09; 本文主要介绍51单片机的LED闪烁仿真设计&#xff0c;仿真文件截图如下&#xff1a; 仿真视频如下&#xff1a; Proteus仿真--闪烁的LED灯 附完整Proteus仿真资料代码资…

NlogPrismWPF

文章目录 Nlog&Prism&WPF日志模块实现原理添加配置注入服务应用测试其他模块怎么调用&#xff1f; Nlog&Prism&WPF 日志模块 介绍了为WPF框架Prism注册Nlog日志服务的方法 实现原理 无论是在WPF或者ASP.NET Core当中, 都可以使用ServiceCollection来做到着…

【软考】10.1 算法特性/时间复杂度/递归/分治/动态规划

《算法》 《时间复杂度》 n 的最高次项 渐进符号 算法复杂度 线性级 O&#xff08;n&#xff09;&#xff1a;顺序查找对数级 O&#xff08;logn&#xff09;&#xff1a;对半查找、快速查找、归并算法 《递归》 时间复杂度 《分治法》 《动态规划法》 适用于求全局最优解构建…

MySQL总结 (思维导图,常用)

一、常见的增删改查 二、约束&#xff08;五种&#xff09; 三、聚合查询 1、聚合函数 2、group by 和 having 3、联合查询 案例表&#xff1a; drop table if exists classes; create table classes (id int primary key auto_increment,name varchar(20) ); insert into …

CAD2024最新中文版安装教程分享

wx供重浩&#xff1a;创享日记 对话框发送&#xff1a;cad24 获取 AutoCAD是目前计算机辅助设计领域最流行的CAD软件&#xff0c;此软件功能强大、使用方便&#xff0c;在国内外广泛应用于机械、建筑、家居、纺织等诸多行业。CAD制图软件具有良好的用户界面&#xff0c;通过交互…

开发直播商城APP:技术要点和最佳实践

在当今数字时代&#xff0c;直播商城APP正变得越来越受欢迎&#xff0c;成为了吸引消费者和促进销售的强大工具。这篇文章将探讨开发直播商城APP的技术要点和最佳实践&#xff0c;为开发者提供有价值的指导。 第一部分&#xff1a;项目准备 1.1定义项目目标 在开始开发直播商…