Java学习路线(3)——基础数据类型操作

news2024/10/6 0:31:17

一、自动类型转换
1、什么是自动类型转换?
自动类型转化是范围小的数据可赋值给范围大的数据且精度不损失,且可以跨越式转化。
基础数据类型之间的转换如下:
byte(1)—short(2)—char(2)—int(4)—long(8)—float(4)—double(8)

2、表达式的自动类型转换
表达式的小范围类型变量会自动转换为当前最大范围的类型再进行运算,最终结果类型由表达式中的最大范围类型决定。

        byte a = 97;
        short b = 97;
        char c = 'a';
        int d = a+b+c;
        System.out.println(d); 	//291

这里需要注意的是:当byte,short,char进行运算时,会同步转换为int类型进行运算,以避免数据越界。

3、强制类型转换
当我们需要将大范围类型变量赋值给小范围类型变量时,我们需要用到强制类型转换,若截取长度超过小范围类型变量长度,则精度损失。当浮点型转为整数时,向下取整返回。

  • 格式:【(类型)变量/数据】
  • 原理:以小范围类型变量长度截取大范围变量数据并赋值。
    在这里插入图片描述

二、运算符

  • 基本运算符(+,-,*,/,%)
	/*由于数与数计算是通过int进行计算
	所以需要与浮点数相乘才能以浮点数的形式进行输出
	*/
        int a = 10;
        int b = 3;
        System.out.println(a + b);//13
        System.out.println(a - b);//7
        System.out.println(a * 1.0 * b);//30.0
        System.out.println(a * 1.0 / b);//3.3333333333333335
        System.out.println(a % b);//1
  • +符号运算符
    **两种形式:**连接符(字符串连接)、计算符(数值计算)
    **原则:**能算就算,不能算则连接。
  • 自增自减
符号作用说明
++自增变量自身加1
自减变量自身减1

自增自减运算符在变量的位置不同,则效果不同。
(1)当运算符在变量之前,则表示本次变量先运算,下一次调用运算后的变量。
(2)当运算符在变量之后,则表示下次调用运算前的变量值,再运算,当下一次调用运算为运算后的变量。

  • 赋值运算符
    基本赋值 “=”,将右侧数值赋值给左侧变量。
    扩展赋值是隐含强制转换数据类型。
符号作用说明
+=加后赋值先加后赋,类似与前置++运算
-=加后赋值先减后赋,类似与前置–运算
/=加后赋值先除后赋
*=加后赋值先乘后赋
%=加后赋值先余后赋
  • 关系运算符
    作用: 对数据进行判断,并返回一个布尔结果
符号说明
==数值相等条件
!=左侧不等于右侧条件
<=左侧小于等于右侧条件
>=左侧大于等于右侧条件
>左侧大于右侧条件
<左侧小于右侧条件
  • 逻辑运算符
    作用: 可以把多个布尔结果整体运算,最终返回一个布尔结果。
符号介绍说明
&逻辑与比较值都为true则为true
|逻辑或比较值一个为true则为true
^逻辑异或比较值不同则为true
!逻辑非比较值取反
&&短路与效果与&相同,若前一个结果为false则后表达式不执行
||短路或效果与|相同,若前一个结果为true则后表达式不执行
  • 三元运算符
    作用: 简易判断语句
    格式: 【数据类型 变量 = 条件表达式?值1:值2】
    注意: 值1和值2不能是表达式。

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

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

相关文章

cs109-energy+哈佛大学能源探索项目 Part-2.1(Data Wrangling)

博主前期相关的博客见下&#xff1a; cs109-energy哈佛大学能源探索项目 Part-1&#xff08;项目背景&#xff09; 这次主要讲数据的整理。 Data Wrangling 数据整理 在哈佛的一些大型建筑中&#xff0c;有三种类型的能源消耗&#xff0c;电力&#xff0c;冷冻水和蒸汽。 冷冻…

求二进制位中一的个数

原题链接&#xff1a;牛客网 题目内容&#xff1a; 写一个函数返回参数二进制中 1 的个数&#xff0c;负数使用补码表示。 比如&#xff1a; 15 0000 1111 4 个 1 方法一&#xff1a; #include<stdio.h>int NumberOf1(unsigned int n) {int count 0;while (n)…

分布式事务常见解决方案

分布式事务常见解决方案 一、事务介绍 事务是一系列的动作&#xff0c;它们综合在一起才是一个完的工作单元&#xff0c;这些动作必须全部完成&#xff0c;如果有一个失败的话&#xff0c;那么事务就会回滚到最开始的状态&#xff0c;仿佛什么都没发生过一样。 1、单事务概念…

通过关键字搜索接口获取alibaba国际站商品列表

作为一名技术爱好者&#xff0c;我们总会遇到各种各样的技术问题&#xff0c;需要寻找合适的技术解决方案。而在互联网时代&#xff0c;我们可以快速通过搜索引擎获取丰富的技术资源和解决方案。然而&#xff0c;在不同的技术分享中&#xff0c;我们常常会遇到质量参差不齐的文…

eggjs

官网&#xff1a;快速入门 - Egg npm init egg --typesimple 在平时安装/下载依赖时候 控制栏出现如下报错时 npm ERR! code ENOLOCAL npm ERR! Could not install from "Files\nodejs\node_cache\_npx\13944" as it does not contain a package.json file. 解释:无…

【Linux 下】 信号量

文章目录 【Linux 下】 信号量信号量概念信号量操作初始化和销毁P&#xff08;&#xff09;操作V&#xff08;&#xff09;操作理解PV操作 基于信号量与环形队列实现的CS模型基于信号量和环形队列实现的生产者与消费者模型 【Linux 下】 信号量 信号量概念 信号量&#xff08;…

蓝莓投屏 - 超低延时投屏的投屏软件

蓝莓投屏是一个低延时投屏软件&#xff0c;支持安卓、iOS、Mac 设备与Windows系统的电脑之间互相投屏&#xff0c;包括手机/平板之间互投&#xff0c;手机投电脑&#xff0c;电脑投手机 等功能。 投屏画质达到4K高清&#xff0c;播放流畅无延迟。音视频同步&#xff0c;几乎没有…

无需OpenAI API Key,构建个人化知识库的终极指南

一、介绍 今天和大家一起学习下使用LangChain&#xff0b;LLM 来构建本地知识库。 我们先来了解几个名词。 二、什么是LLM&#xff1f; LLM指的是大语言模型&#xff08;Large Language Models&#xff09;&#xff0c;大语言模型&#xff08;LLM&#xff09;是指使用大量文…

Excel中正则表达式函数的使用

有这样一列 上海市闵行区七宝镇中春路7001号37栋 021-54881702 嘉定区黄渡镇金易路1号 021-69580001 如何将地址和电话分开 这两个分成2列&#xff08;地址和电话分开&#xff09; 第一列 第二列 上海市闵行区七宝镇中春路7001号37栋 021-54881702 嘉定区黄渡镇金易路1号 021-6…

【中阳期货】GPT-4正在改进自己,超强进化

GPT是一种预训练语言模型&#xff0c;由OpenAI研发。如果你希望快速了解GPT&#xff0c;可以按照以下步骤进行&#xff1a; 了解预训练语言模型&#xff1a;预训练语言模型是一种人工智能技术&#xff0c;可以通过大量语言数据的训练&#xff0c;自动学习语言的规律和语义。GPT…

web缓存Squid代理服务

缓存网页对象&#xff0c;减少重复请求 squid代理服务器&#xff0c;主要提供缓存加速&#xff0c;应用层过滤控制的功能 代理工作机制 1.代替客户机向网站请求数据&#xff0c;从而可以隐藏用户的真实ip地址 2.将获得的网页数据&#xff08;静态web元素&#xff09;保存到缓…

Rocky Linux 8.5 安装

Rocky Linux 是一个开源的企业级操作系统&#xff0c;旨在与 Red Hat Enterprise Linux 100% 1:1 兼容。 Rocky Linux 项目是什么? 下载地址 Rocky Linux 是一个社区化的企业级操作系统。其设计为的是与美国顶级企业 Linux 发行版实现 100&#xff05; Bug 级兼容&#xff…

【学习日记2023.5.12】之 自定义封装springboot-starter案例_SpringBoot监控_Web后端开发总结

文章目录 1. 自定义封装springboot-starter案例1.1 自定义starter分析1.2 自定义starter实现1.3 自定义starter测试 2. SpringBoot优势2.1 SpringBoot监控2.1.1 Actuator2.1.2 Springboot-Admin 2.2 小结 3. Web后端开发总结 1. 自定义封装springboot-starter案例 1.1 自定义s…

chatgpt赋能Python-python3怎么下载安装

Python 3的下载安装方法 Python 3是一种高级编程语言&#xff0c;具有简单易学、基本语法易于理解、大量的第三方库支持等特点&#xff0c;适用于各种软件开发项目。本文将教您如何下载和安装Python 3。 下载Python3 首先您需要在官网https://www.python.org/downloads/上下…

【新星计划·2023】单臂理由的原理讲解

单臂路由是指在路由器的一个接口上通过配置子接口的方式&#xff0c;实现原来互相隔离的VLAN之间可以互相通信。 一、单臂路由概述 网络中通过VLAN技术来实现隔离广播、方便管理及提高安全性等功能&#xff0c;一旦划分VLAN后&#xff0c;同—VLAN之间可以相互通信&#xff0…

一、通过命令行体验长安链

一、通过命令行体验长安链 1 、概述2、环境依赖2.1、硬件依赖2.2、软件依赖2.3、git安装2.4、golang安装2.5、gcc 3、环境搭建3.1、源码下载3.2、 源码编译3.3、编译及安装包制作3.4、启动节点集群3.5、查看节点启动使用正常 4、使用CMC命令行工具部署、调用合约4.1、编译&…

jenkins pipeline如何在一个任务中触发另外一个任务以及从下游任务获取文件

1、 前言 我们在创建jenkins任务的时候&#xff0c;有时候一个任务需要调用多个子任务来完成。比如&#xff0c;我们在编译某个镜像的时候&#xff0c;镜像由多个组件构成。那么我们就可以创建一个主任务以及多个子任务&#xff0c;主任务负责调用每个子任务&#xff0c;并将每…

PySide6/PyQT多线程之 线程池的基础概念和最佳实践

前言 在PySide6/PyQT 多线程编程中&#xff0c;线程池也是重要的一项知识点&#xff0c;线程池是一种高效管理和调度多个线程执行任务的方式。 通过结合线程池&#xff08;QThreadPool&#xff09;和任务类&#xff08;QRunnable&#xff09;&#xff0c;可以轻松地实现并发执行…

【分布族谱】正态分布和卡方分布的关系

文章目录 正态分布卡方分布卡方分布的极限 正态分布 正态分布&#xff0c;最早由棣莫弗在二项分布的渐近公式中得到&#xff0c;而真正奠定其地位的&#xff0c;应是高斯对测量误差的研究&#xff0c;故而又称Gauss分布。。测量是人类定量认识自然界的基础&#xff0c;测量误差…

FFmpeg命令实战(上)

标题 1.FFmpeg命令行环境搭建2.ffmpeg,ffplay和ffprobe的区别3.ffmpeg处理流程4.ffmpeg命令分类查询5.ffplay播放控制6.ffplay命令选项 1.FFmpeg命令行环境搭建 1.到达FFmpeg的github,选择下载需要的版本,这里以windows举例。 这里有两个压缩包&#xff0c;ffmpeg-master-lat…