Java语言的特点和八大基本类型

news2024/12/26 22:38:55

“byte和short两兄弟去找int问long去哪了”

“int摇摇头说不知道”

“此时float和double两兄弟也来凑热闹”

“共同商议后决定去找char询问”

“char面对五人的询问只好说boolean知道”

“六人来到boolean的住处发现long竟然在玩猜真假游戏”
在这里插入图片描述

Java语言的特点

1.简单易学。Java有丰富的类库,能够通过静态方法封装,降低API的学习成本,提高工作效率。

2.面向对象。这个也是Java最重要的特性,java能够使得程序耦合度更低,内聚性更高。

3.可靠安全。Java生态系统包括用于分析和报告安全性问题的各种工具。

4.与平台无关。Java能够跨平台使用。

5.支持多线程。Java可以采用多线程+协程方式实现更多的并发操作。

八大基本数据类型

基本类型大小(字节)默认值封装类
byte1(byte)0Byte
short2(short)0Short
int40Integer
long80LLong
float40.0fFloat
double8o.odDouble
boolean-falseBoolean
char2\u0000(null)Character

封装类注意事项

1.int与Integer的区别

int是基本数据类型,Integer是引用类型。

int的默认值为0,Integer的默认值为null。因此Integer能区分0和null。

一旦java看到null,就知道这个引用还没有指向某个对象,在任何引用使用前,必须为其指定一个对象,否则会报错(空指针异常)

2.分配空间的区别

基本数据类型在声明时系统会自动分配空间

引用类型声明时只是分配了引用空间,必须通过实例化开辟数据空间之后才可以赋值。

数组对象也是一个引用对象,将一个数组赋值给另一个数组时只是复制了一个引用,所以通过某一个数组所做的修改在另一个数组中也看得见

3.boolean类型的特殊之处

虽然定义了boolean这种数据类型,但是只对它提供了非常有限的支持。在java虚拟机中没有任何供boolean值专用的字节码指令,java语言表达式所操作的boolean值,在编译之后都使用虚拟机中的int数据类型来代替,而boolean数组将会被编译成java虚拟机的byte数组,每个元素boolean元素占8位。这样我们就可以得出在单独使用时boolean类型占了4个字节,在数组中又是1个字节。使用int的原因是,对于当下32位的处理器(CPU)来说,一次处理数据是32位(这里不是指32/64位系统,而是指CPU硬件层面),具有高效存取的特点。

在这里插入图片描述

二分查找

题目:丢失的数字
难度:🌟
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/missing-number

给定一个包含 [0, n] 中 n 个数的数组 nums ,找出 [0, n] 这个范围内没有出现在数组中的那个数。

输入:nums = [3,0,1]
输出:2
解释:n = 3,因为有 3 个数字,所以所有的数字都在范围 [0,3] 内。2 是丢失的数字,因为它没有出现在 nums 中。

输入:nums = [0,1]
输出:2
解释:n = 2,因为有 2 个数字,所以所有的数字都在范围 [0,2] 内。2 是丢失的数字,因为它没有出现在 nums 中。

输入:nums = [9,6,4,2,3,5,7,0,1]
输出:8
解释:n = 9,因为有 9 个数字,所以所有的数字都在范围 [0,9] 内。8 是丢失的数字,因为它没有出现在 nums 中。

输入:nums = [0]
输出:1
解释:n = 1,因为有 1 个数字,所以所有的数字都在范围 [0,1] 内。1 是丢失的数字,因为它没有出现在 nums 中。

提示:

n == nums.length
1 <= n <= 104
0 <= nums[i] <= n
nums 中的所有数字都 独一无二

请先思考!!!!

|||||||||||

|||||||||||

|||||||||||

|||||||||||

|||||||||||

|||||||||||

|||||||||||

答答答答答答答答答答答

案案案案案案案案案案案

往往往往往往往往往往往

下下下下下下下下下下下

翻翻翻翻翻翻翻翻翻翻翻

|||||||||||

|||||||||||

|||||||||||

|||||||||||

|||||||||||

|||||||||||

|||||||||||

class Solution {
    public int missingNumber(int[] nums) {
        // 先对数组进行排序
        Arrays.sort(nums);
      	// 考虑到可能是最后一个数字丢失的情况
        int target = nums.length;
        for(int i = 0 ; i < nums.length ; i++){
          	// 这样就包含了第一个数字丢失的情况
            if(nums[i] != i){
                return i;
            }
        }
        return target;
    }
}

题解:

首先将数组进行排序,定义target等于数组的长度,然后循环数组,如果下标所对应的值不等于下标,则就是丢失的数字,此时target就是为了防止丢失的最后一个数字这种情况的出现

class Solution {
    public int missingNumber(int[] nums) {
        int sum = 0;
        // 首先计算nums中所有数字的和
        for(int i : nums){
            sum += i;
        }
        // 求出从1到n的数字之和
        int countSum = (nums.length * (nums.length+1)) >> 1;
        return countSum - sum;

    }
}

题解:

利用了高斯求和公式,如下

高斯求和公式
求出1到n的数值之和减去数组里的数值之和就是我们要好的丢失的数字

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

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

相关文章

个性化学习路径推荐综述

源自&#xff1a;软件学报 作者&#xff1a;云岳 代欢 张育培 尚学群 李战怀 摘 要 近年来, 伴随着现代信息技术的迅猛发展, 以人工智能为代表的新兴技术在教育领域得到了广泛应用, 引发了学习理念和方式的深刻变革. 在这种大背景下, 在线学习超越了时空的限制,…

2023年电信推出新套餐:月租19元=135G流量+长期套餐+无合约期!

在三大运营商推出的流量卡当中&#xff0c;电信可以说是性价比最高的一个&#xff0c;相对于其他两家运营商&#xff0c;完全符合我们低月租&#xff0c;大流量的要求&#xff0c;所以&#xff0c;今天小编介绍的还是电信流量卡。 在这里说一下&#xff0c;小编推荐的卡都是免…

教你怎样用PXE高效的批量网络装机

目录 一&#xff1a;PXE介绍 1.XPE概述 2.PXE批量部署的优点 3.搭建PXE各部作用 &#xff08;1&#xff09;PXE(Preboot eXcution Environment) &#xff08;2&#xff09;服务端 &#xff08;3&#xff09;客户端 二&#xff1a;部署PXE服务 1.安装并启用TFTP服务 2.安…

Tiktok/抖音旋转验证码

声明 本文以教学为基准、本文提供的可操作性不得用于任何商业用途和违法违规场景。 本人对任何原因在使用本人中提供的代码和策略时可能对用户自己或他人造成的任何形式的损失和伤害不承担责任。 如有侵权,请联系我进行删除。 抖音系的旋转验证码,跟得物一样,都是内外圈一起…

blast的-max_target_seqs?

Shah, N., Nute, M.G., Warnow, T., and Pop, M. (2018). Misunderstood parameter of NCBI BLAST impacts the correctness of bioinformatics workflows. Bioinformatics. 杂志Bioinformatics以letter to the editor的形式刊发了来自美国马里兰大学计算机系的Nidhi Shah等人…

基于html+css的图展示42

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…

安卓设备远程管理软件

现在&#xff0c;安卓设备广泛应用于各类智能硬件&#xff0c;有时候我们需要远程管理这些安卓设备。远程管理软件使 IT 管理员能够从任何地方控制和管理安卓设备&#xff0c;确保它们安全、最新并以最佳水平运行。在本文中&#xff0c;我们将介绍一些当前主流的安卓设备远程管…

Automa函数学习(三)

从变量中获取数据 当我们想要用automa获取文本标签获取到网页的文本内容后,想要将获取到的文本内容当做参数往后面的标签里进行传递时就需要用到automa提供的传参格式 {{ variables.自定义参数名}} 举例: 先建立打开百度首页工作流 前面自定义的变量名为text,所以这里参数拼接…

云计算的未来发展趋势与优势,你是否了解?

作者简介&#xff1a;一名云计算网络运维人员、每天分享网络与运维的技术与干货。 座右铭&#xff1a;低头赶路&#xff0c;敬事如仪 个人主页&#xff1a;网络豆的主页​​​​​​ 目录 前言 一、企业痛点 1.企业信息技术应用痛点 二、云计算的基础概念 1.什么是云计…

纯享三代HiFi reads,至美细菌完成图,加送质粒基因组!

三代测序时代&#xff0c;PacBio High-Fidelity reads在基因组组装中大放异彩。HiFi测序模式可产生既兼顾长读长&#xff0c;又具有高精度的测序结果。凌恩生物HiFi细菌基因组完成图测序&#xff0c;即利用PacBio HiFi测序模式对某细菌物种进行基因组de novo组装&#xff0c;从…

安科瑞充电方案解决电瓶车充电难、管理难、收费难问题

安科瑞 徐浩竣 江苏安科瑞电器制造有限公司 zx acrelxhj 0引言 电动自行车已经成为重要的出行工具&#xff0c;数量肯定还会继续增长&#xff0c;各级政府部门和物业管理者已经对其带来的消防隐患引起高度重视。安科瑞电动自行车运营管理云平台通过充电桩、云平台、APP小程…

Spring框架及源码(二)---Spring IoC高级应用与源码剖析

Spring IOC 应用 第1节 Spring IoC基础 Spring框架下IOC实现&#xff0c;解析bean的几种方式 1.1 BeanFactory与ApplicationContext区别 BeanFactory是Spring框架中IoC容器的顶层接⼝,它只是⽤来定义⼀些基础功能,定义⼀些基础规范,⽽ ApplicationContext是它的⼀个⼦接⼝&a…

Testudo:Spartan + Groth16 的R1CS ZKP证明系统

1. 引言 前序博客有&#xff1a; Spartan: zkSNARKS without trusted setup学习笔记Spartan: zkSNARKS without trusted setup 源代码解析Signatures of Correct Computation 学习笔记&#xff08;本文称为PST承诺方案&#xff09;Groth16 学习笔记ZCash bellman版本 Groth16…

Spring Boot的日志文件

目录 日志的作用 日志的打印 常见的日志框架 自定义的日志打印 为什么不用sout来打印日志 Spring Boot日志打印 1.得到日志对象 2.使用日志对象提供的方法打印日志 日志级别 日志级别的顺序 日志级别的设置 日志持久化 配置日志文件的保存路径 配置日志文件的文件…

学习spark笔记

✨ 学习 Spark 和 Scala 一 ​ &#x1f426;Spark 算子 spark常用算子详解&#xff08;小部分算子使用效果与描述不同&#xff09; Spark常用的算子以及Scala函数总结 Spark常用Transformations算子(二) Transformation 算子(懒算子)&#xff1a;不会提交spark作业&#…

AWT——事件处理机制

事件处理&#xff1a; 定义&#xff1a; 当某个组件上发生某些操作的时候&#xff0c;会自动地触发一段代码的执行 在GUI事件处理机制中涉及到4个重要的概念需要理解。 事件源&#xff1a;操作发生的场所&#xff0c;通常指某个组件&#xff0c;例如按钮、窗口等 事件&…

Spring Boot Web请求

在上一讲&#xff0c;学习了Spring Boot Web的快速入门以及Web开发的基础知识&#xff0c;包括HTTP协议以及Web服务器Tomcat等内容。基于SpringBoot的方式开发一个web应用&#xff0c;浏览器发起请求 /hello 后 &#xff0c;给浏览器返回字符串 “Hello World ~”。运行启动类启…

不能接受就滚,某外卖企业在汕尾的蛮横做法,或是它衰退的开始

近期某外卖平台因为大举降低外卖骑手的单价&#xff0c;引发高度关注&#xff0c;直到汕尾的外卖骑手集体抵制&#xff0c;引发与该外卖平台的激烈博弈&#xff0c;而外卖平台也显示了它的强硬手段&#xff0c;此举只会进一步激化矛盾&#xff0c;进而导致该外卖企业的衰落。 据…

Nginx的优化和防盗链

一、隐藏版本号 1、隐藏版本号的操作步骤 可以使用 Fiddler 工具抓取数据包&#xff0c;查看 Nginx版本&#xff0c; 也可以在 CentOS 中使用命令 curl -I http://192.168.229.90 显示响应报文首部信息。 curl -I http://192.168.2.661.1、方法一&#xff1a;修改配置文件方…

上海车展:预售价109.8万元,仰望U8见证国产品牌崛起

如果要评选2023上海车展上比亚迪展台“最亮的星”&#xff0c;估计很多媒体和观众都会毫不迟疑地把票投给仰望U8。 没办法&#xff0c;因为在本届车展上&#xff0c;仰望U8的表现实在是太吸睛了。 作为比亚迪旗下的高端新能源品牌&#xff0c;仰望汽车在上海车展上携两款车型—…