Java必备小知识点4——数据类型、数组、位运算符
数据类型
Java的数据类型由基本数据类型和引用类型
基本数据类型和C语言的一致,除了基本类型其余的都是引用类型。
引用类型主要有:类(class)、接口(interface)、数组、枚举(enum)、注解(Annotation)
char常量必须包含在单引号内(‘’)。char c = 'a';//指定变量c为char型,且赋初值为a.
各种定义规则:
int i = 100; char c1 = a; byte b = 0b11; long l = 567L; float f = 1.86f; double d = 2.1;关于转义字符:\`用来表示`;\\用来表示\ ,是char型,char c='\`';
自动类型转换:
条件: 两种类型必须兼容;目标类型大于源类型。
float fl = b * f; //byte类型的b会自动转换为与f1一致的float类型参加运算。
位运算符
位运算符类型 | 语法格式 | 规则 |
按位与(AND) | value1 & value2 | 1 & 1= 1,其余情况下结果都为0 |
按位非(NOT) | ~ value1 | 取反 |
按位或(OR) | value1 | value2 | 任何一个运算符为1,结果都为1 |
按位异或(XOR) | value1 ^ value2 | 不同为1,相同为0。 |
左移 | value << num | 最高位丢弃,右侧用0填充。 左移与右移都不会改变数的位数 |
右移 | value >> num | 最低位丢弃,最高位用原来的最高位上的数补充。 |
无符号右移 | value >>> num | 最低位丢弃,最高位由0补充。 |
数组
数组创建与初始化
静态初始化:在定义数组的同时对该数组进行初始化.
例如:int[] K={1,2,3,4}或int[] K= new int[]{1,2,3,4}
动态初始化:将数组的定义和初始化分开进行.
例如:int[] array ; //数组声明
array[0] = 1; //数组的第一个元素赋值
array[1] = 2; //数组的第二个元素赋值
//[] array和array[]一样,但常使用前者
或者int[] K= new int[100];//new出一个长度为100的整型数组。
当数组创建完毕,数组中的元素具有默认初始值,数值类型的数组初始值为0,布尔型的为false,字符型的\0,引用类型的则为null。
数组拷贝
数组的复制是指将源数组的元素—做副本,赋值到目标数组的对应位置.常用的数组赋值方法有三种.
1、使用循环语句进行复制(使用循环语句遍历源数组每个元素,赋值给目标数组对应位置).
2、使用chone()方法
在Java中,Object类是所有类的父类,其clone()方法一般用于创建并返回此对象的一个副本,Java中认为一切都是“对象”,所以使用该方法也可以实现数组的复制。clone()方法是object类的方法,作用就是将内容复制。
public class ArrayCopyClone {
public static void main(String[] args) {int[]array1={ 1,2.3.4.5}; //int[]array2 = array1.clone(); //array2是array1的副本,值相同for(int i=0;i< array2.length, i++){System.out.println(array2[i]+".");//输出}
}3、使用System.arraycopy方法
arraycopy()方法是System类的一个静察方法(并且是本地方法,效率非常高)。其可以方便的实现数组拷贝功能,System.arraycopy()方法的结构如下:
System.arraycopy(from, fromIndex, to, tolndex, count)
示例:
public class ArrayCopy {public static void main(String[] args){int[]array1 ={ 1,2,3,4, 5 };int[]array2 = new int[array1.length]; //声明array2System.arraycopy(array1, 0, array2, 0, array1.length); //复制/*表示从array1的0号开始复制,复制好的放在array2里的0号位置去,一共复制array1.length个长度*/for (int i= 0; i< array2 length; i++) {System.out.print(array2[i]+",");//输出}
}使用数组
数组必须先分配(new)空间,才能使用。
数组可以存储基本数据类型,也可以存储对象数据类型。
使用数组存储5个整数,并输出其中最大值。
public class FindMax {public static void main(String[] args) {int[] array={ 10, 23, 6, 88, 19 };int index =0; //最大值索引号,默认为0int max = array[index]; //最大值//寻找最大值for (int i= 1; i< array.length; i++) //注意java里是在for循环里面对进行的定义{if (array[i] > max){index = i;max = array[i];}}System.out.println("最大值为" + max+", 索引号为”+ index);}
}
//数组属于对象范畴,使用。length属性来获取数组的元素个数。二维数组
使用new来创建多维数组时,不必指定每一维的大小,只需要指定第一维的大小即可.例 in[][] array = new int[10][];
此时一维数组的元素类型还是一维数组,常用来解决矩阵之类的问题。
int[][] array ={{1,2},{3,4},{4,5}};//注意一下,这点和C语言的不同。
想取得数据2,可以使用array[0][1]来获取。(指定数组名和索引)。
相关文章:
Java必备小知识点4——数据类型、数组、位运算符
数据类型Java的数据类型由基本数据类型和引用类型基本数据类型和C语言的一致,除了基本类型其余的都是引用类型。引用类型主要有:类(class)、接口(interface)、数组、枚举(enum)、注解࿰…...
麦克风分类汇总
1.麦克风分类汇总 1)按声电转换原理分为:电动式(动圈式、铝带式),电容式(直流极化式)、压电式(晶体式、陶瓷式)、以及电磁式、碳粒式、半导体式等。 2)按声场作用力分为:…...
九龙证券|机制改革激发转融券活力 全面注册制释放两融展业新空间
在全面注册制准则规矩正式发布的同时,修订后的转融通事务规矩也应约与商场碰头。2月17日,中证金融发布《中国证券金融公司转融通事务规矩(试行)(2023年修订)》等规矩(简称“转融通新规”&#x…...
6——JVM调优工具详解及调优实战
Jmap、Jstack、Jinfo命令详解 Jmap 此命令可以用来查看内存信息,实例个数,以及占用内存大小 生成dump文件 把dump文件装入Jvisvalvm进行分析 Jstack Jstack加进程id查找死锁 Jstack找出占CPU最高的线程堆栈信息 top -p 进程号:显示进程…...
AcWing语法基础课笔记 第八章 C++ STL 第九章 位运算与常用库函数
第八章 C STL 第八章 C STL 1.#include <vector> 2.#include<queue> 3.#include <stack> 4.#include <deque> 5.#include <set> 6.#include<map> 第九章 位运算与常用库函数 STL是提高C编写效率的一个利器。 ——闫…...
Qt中的多线程
Qt中有多种方法实现多线程: QThreadQThreadPool和QPunnable(重用线程)Qt ConcurrentWorkerScript(QML中的线程)QThread 在上两篇文章中已经解释了,这里就不再赘述。 QThreadPoo和QRunnable(实现…...
React-Hooks怎样封装防抖和节流-面试真题
Debounce debounce 原意消除抖动,对于事件触发频繁的场景,只有最后由程序控制的事件是有效的。 防抖函数,我们需要做的是在一件事触发的时候设置一个定时器使事件延迟发生,在定时器期间事件再次触发的话则清除重置定时器ÿ…...
算法训练营 day51 动态规划 打家劫舍系列
算法训练营 day51 动态规划 打家劫舍系列 打家劫舍 198. 打家劫舍 - 力扣(LeetCode) 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统&#…...
【蓝桥集训】第六天——递归
作者:指针不指南吗 专栏:Acwing 蓝桥集训每日一题 🐾或许会很慢,但是不可以停下来🐾 文章目录1.树的遍历2.递归求阶乘3.求斐波那契数列1.树的遍历 一个二叉树,树中每个节点的权值互不相同。 现在给出它的后…...
react源码中的hooks
今天,让我们一起深入探究 React Hook 的实现方法,以便更好的理解它。但是,它的各种神奇特性的不足是,一旦出现问题,调试非常困难,这是由于它的背后是由复杂的堆栈追踪(stack trace)支…...
038.Solidity入门——25调用其他合约的方法
Solidity 提供了几种方式用于调用其他合约:方法描述直接调用使用 address.call 函数,可以向另一个合约发送消息并返回结果。低级调用使用 address.call 或 address.callcode 函数,可以执行一个外部合约中的代码。与直接调用不同,低…...
Revit项目浏览器的标准设置应用和快速视图样板?
一、Revit项目浏览器的标准设置应用 设计院阶段的BIM应用,主要是Revit出施工图方面,需要涉及到很多标准的制定方面的问题,而且这个标准不仅仅是一个命名标准,还有很多的符合本院的出图标准等等,本期就不做详细讨论&…...
安装MQTT Server遇到报错“cannot verify mosquitto.org‘s certificate”,该如何解决?
MQTT是基于发布/订阅的轻量级即时通讯协议,很适合用于低带宽、不稳定的网络中进行远程传感器和控制设备通讯等操作中。在我们的软件研发中,也经常使用MQTT协议进行消息通信等。今天来和大家分享一些关于在安装MQTT Server中遇到的疑难问题及解决思路。当…...
程序员如何向架构师转型?看完就明白该怎么做了
软件行业技术开发从业人员众多,但具备若干年开发经验的普通的开发人员往往面临个人发展的瓶颈,即如何从普通开发人员转型成高层次的系统架构师和技术管理人员。想成为一名架构师,应当具备全面的知识体系,需要进行系统的学习和实践…...
Flask入门(9):蓝图
目录9.蓝图9.1 概述9.2 蓝图项目结构结构1结构29.3 添加前缀9.4 静态文件9.5 模板9.6 构建 URLs9.蓝图 参考:http://www.pythondoc.com/flask/blueprints.html 9.1 概述 Flask 使用了 蓝图 的概念在一个应用或者跨应用中构建应用组件以及支持通用模式。 蓝图很好…...
跑步戴哪种耳机好,最适合运动跑步的蓝牙耳机
经常跑步使用的耳机,还是要选择佩戴着舒适以及牢固的运动耳机最为合适,在运动当中会遇到耳机掉落或者长时间佩戴耳道感到难受的现象发生,那么什么蓝牙耳机是最适合运动当中佩戴呢?下面这些耳机分享希望能够帮助大家。 1、南卡Run…...
微信小程序实现瀑布流布局
微信小程序实现瀑布流布局1、简单实例,纯图片后台返回图片高度https://blog.csdn.net/qq_45967222/article/details/1190318762、纯图片后台返回图片高度、通过wx.getImageInfo获取在线图片高度、按照奇数偶数来显示https://blog.csdn.net/baidu_35290582/article/d…...
2023最新网络工程师HCIA-Datacom“1000”道题库,光速刷题拿证
HCIA认证是华为认证体系的初级认证,可以说是网工进入IT行业的一张从业资格证! HCIA-Datacom考试覆盖数通基础知识 包括 TCP/IP 协议栈基础知识,OSPF 路由协议基本原理以及在华为路由器中的配置实现,以太网技术、生成树、VLAN 原…...
[蓝桥杯] 递归与递推习题训练
文章目录 一、递归实现指数型枚举 1、1 题目描述 1、2 题解关键思路与解答 二、递归实现排列型枚举 2、1 题目描述 2、2 题解关键思路与解答 三、递归实现组合型枚举 3、1 题目描述 3、2 题解关键思路与解答 四、带分数 4、1 题目描述 4、2 题解关键思路与解答 五、费解的开关…...
领航智能汽车信息安全新征程 | 云驰未来乔迁新址
2月20日,在北京朝阳百子湾东朝时代创意园,云驰未来迎来乔迁之喜,智能汽车和自动驾驶领域的行业领导、合作伙伴与客户、投资人及媒体嘉宾齐聚现场,共同见证云驰未来迈上新的发展征程。 作为中国智能网联汽车和自动驾驶信息安全行业…...
iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘
美国西海岸的夏天,再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至,这不仅是开发者的盛宴,更是全球数亿苹果用户翘首以盼的科技春晚。今年,苹果依旧为我们带来了全家桶式的系统更新,包括 iOS 26、iPadOS 26…...
如何在看板中体现优先级变化
在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...
Keil 中设置 STM32 Flash 和 RAM 地址详解
文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...
SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现
摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序,以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务,提供稳定高效的数据处理与业务逻辑支持;利用 uniapp 实现跨平台前…...
vue3 定时器-定义全局方法 vue+ts
1.创建ts文件 路径:src/utils/timer.ts 完整代码: import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...
网络编程(UDP编程)
思维导图 UDP基础编程(单播) 1.流程图 服务器:短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...
AI病理诊断七剑下天山,医疗未来触手可及
一、病理诊断困局:刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断",医生需通过显微镜观察组织切片,在细胞迷宫中捕捉癌变信号。某省病理质控报告显示,基层医院误诊率达12%-15%,专家会诊…...
【笔记】WSL 中 Rust 安装与测试完整记录
#工作记录 WSL 中 Rust 安装与测试完整记录 1. 运行环境 系统:Ubuntu 24.04 LTS (WSL2)架构:x86_64 (GNU/Linux)Rust 版本:rustc 1.87.0 (2025-05-09)Cargo 版本:cargo 1.87.0 (2025-05-06) 2. 安装 Rust 2.1 使用 Rust 官方安…...
打手机检测算法AI智能分析网关V4守护公共/工业/医疗等多场景安全应用
一、方案背景 在现代生产与生活场景中,如工厂高危作业区、医院手术室、公共场景等,人员违规打手机的行为潜藏着巨大风险。传统依靠人工巡查的监管方式,存在效率低、覆盖面不足、判断主观性强等问题,难以满足对人员打手机行为精…...
Qt的学习(一)
1.什么是Qt Qt特指用来进行桌面应用开发(电脑上写的程序)涉及到的一套技术Qt无法开发网页前端,也不能开发移动应用。 客户端开发的重要任务:编写和用户交互的界面。一般来说和用户交互的界面,有两种典型风格&…...
