25.1.3
java数组:
dataType[] arrayRefVar //推荐写法
//int[] mylist
//或
dataType arrayRefVar[]
//int mylist[]
创建数组对象:
arrayRefVar = new dataType[arraySize];
dataType[] arrayRefVar = new dataType[arraySize];
for-each循环:
java for-each循环,会类比于python for i in range array:这里的i不是指数组的下表,而是“数组”内的内容。如:hello,world!我们的循环i第一个表示的是h。
Java的for each循环就是如此。
for(type element: array)
{
System.out.println(element);
}
double[] array={1.0,5.3,6.7}
for (double i :array){System.out.println(i);
}
//输出1.0 5.3 6.7
数组在函数的应用:
- 作为存入参数
- 作为返回参数
//假设我们要做对数组里的数字都加一。
public static int[] ArrayAddOne(int[] array) {for (int i :array){i=i+1;}return array
}//其中第一个int[]是我们返回数值的类型,是一个int数组。
//第二个int[],表示传入一个int数组。这个数组被我们命名为array。
//ArrayAddOne是我们要调用的方法名。
多维数组:
type[][] typeName = new type[typeLength1][typeLength2];
//String[][] str = new String[3][4];
数组小测试:
class TestIt {public static void main ( String[] args ){int[] myArray = {1, 2, 3, 4, 5}; //定义数组ChangeIt.doIt( myArray ); //调用class类中的doIt方法,for(int j=0; j<myArray.length; j++) //遍历数组输出System.out.print( myArray[j] + " " );} } class ChangeIt {static void doIt( int[] z ) {z = null ; //将z指向null。} }结果输出:
- 1 2 3 4 5
class LowHighSwap {static void doIt( int[] z ) //这里对数组的修改,直接影响数组对象的结果{int temp = z[z.length-1];//第一个位置和最后一个位置互换数值z[z.length-1] = z[0];z[0] = temp;} }class TestIt {public static void main( String[] args ) //效果和上题差不多{int[] myArray = {1, 2, 3, 4, 5};LowHighSwap.doIt(myArray);for (int i = 0; i < myArray.length; i++){System.out.print(myArray[i] + " ");}} }5 2 3 4 1
int [] ar = {1,2,3,4,5};ar[4]值为多少 //第一个位置下表为0
- 5
int [] ar = {1,2,3,4,5,6};数组ar的大小是 : //算数组内的数据个数即可
- 6
class ChangeIt {static void doIt( int[] z ){int[] A = z; //这里对A进行赋值,其实两个指向的对象都是最开始的对象myArrayA[0] = 99; //这里赋值就是对myArray进行修改。} }class TestIt {public static void main( String[] args ) //和第一题差不多的思路{int[] myArray = {1, 2, 3, 4, 5};ChangeIt.doIt(myArray);for (int i = 0; i < myArray.length; i++){System.out.print(myArray[i] + " ");}} }结果:
99 2 3 4 5
float [] nums = {1.1f,2.2f,3.3f};以下哪个循环将在一个单独的行中显示此数组中的所有数字 :
for (int i =0; i < 3; i++) System.out.print( nums[i]);
//nums数组长度为3,下标分别为0,1,2,故到<3,刚好结束循环
void blur(char[] z, String st) {if(z.length < st.length()) return; //比较两个的长度如何,希望st的长度小于或者等于zfor (int i = 0; i < st.length(); i++) { //赋值z[i] = st.charAt(i);} }下面这个方法实现什么功能 ?
如果数组中有足够的空间,则会将字符串中的字符逐个复制到数组中。
哪一个选项可以在索引处找到名为 ar 的数组中的最后一个值?
ar.length - 1 //数组起始是0
数组是一个?
相同的数据类型,值可相同,也可不同 //数组内数据类型一样,其他可不一样
double[] rats = {1.2, 3.4, 5.6}; routine( rats );Java 使用按值调用。 以下方法调用传递给程序的值是多少 ?
- rats 数组的引用
int[] arr = new int[9]; System.out.println(arr[9]);以下代码的输出是什么 ?
- 错误,因为索引超出范围 //数组末尾应该是length-1
byte[] values = new byte[x];以下数组最高索引值是多少 ?
- x-1 //上题同理
以下程序段的输出是什么 ?
int[] num7 = {1, 3, 5, 2, 8, 9, 5, 0}; int x7 = num7[0]; for (int i = 0; i <= num7.length-1; i++) //循环比较数组内的大小,最小的会被赋值到x7上 {if(num7[i] < x7){x7 = num7[i];} } System.out.println(x7);
- 0
以下数组的长度是?
int[] grades = new int[4];
- 4
以下代码打印到控制台的数字是多少 ?
int[] numbers = {1, 2, 3, 4, 5, 6, 7, 8, 9}; for (int i = 0; i < 8; i++) { //从下标0打印到下标7,则从1打印到8System.out.println(numbers[i]); }
- 1-8
日期时间:
Date类的包
//创建对象Date()此方法可以以当前的时间创建对象
//Date(long millisec) 该参数是从 1970 年 1 月 1 日起的毫秒数。
//参考自菜鸟教程https://www.runoob.com/java/java-date-time.html
import java.util.Date;public class DateDemo {public static void main(String[] args) {// 初始化 Date 对象Date date = new Date();// 使用 toString() 函数显示日期时间System.out.println(date.toString());}
}
日期的比较
- 使用 getTime() 方法获取两个日期(自1970年1月1日经历的毫秒数值),然后比较这两个值。
- 使用方法 before(),after() 和 equals()。例如,一个月的12号比18号早,则 new Date(99, 2, 12).before(new Date (99, 2, 18)) 返回true。
- 使用 compareTo() 方法,它是由 Comparable 接口定义的,Date 类实现了这个接口。
使用 SimpleDateFormat 格式化日期
import java.util.*;
import java.text.*;
public class DateDemo {
public static void main(String[] args) {
Date dNow = new Date( ); //创建当前时间的对象
SimpleDateFormat ft = new SimpleDateFormat ("yyyy-MM-dd hh:mm:ss");//想要输出的格式
System.out.println("当前时间为: " + ft.format(dNow));
}
}
方法
修饰符 返回值类型 方法名(参数类型 参数名){
...
方法体
...
return 返回值;
}
方法可以使我们写的代码更简洁,也有利于我们维护
方法的调用
Java 支持两种调用方法的方式,根据方法是否返回值来选择。
当程序调用一个方法时,程序的控制权交给了被调用的方法。当被调用方法的返回语句执行或者到达方法体闭括号时候交还控制权给程序。(这个跟汇编语言、计算机组成原理有关)可以不深究。
整体使用的简单例子
上例中我们在add中加入了两个int a,int b 我们要严格按照方法内需要传的参数进行书写。
方法的重载
拿上例来说就是我们的方法名字都叫add,但我们方法内的参数可以换,我们可以换成浮点数相加如:
public static double add(double a, double b) {return a + b; }
可变参数
有时我们不知道我们具体有多少个数据,如果一个一个写方法太过麻烦,因此我们可以使用可变参数(注意:可变参数需要写在最后面),只需要在我们需要多个参数的参数类型后面加入...即可
以上例add为例
构造方法
本质上还是方法,不过他的作用是在我们创建对象时用来初始化对象的属性。
构造方法的类型
- 无参构造方法(默认的方法)
- 有参构造方法
无参构造方法:
不需要参数。
有参构造方法:
调用有参构造方法时,可以为对象的属性进行初始化。如:下面的人有name(名字)和age(年龄)等等的属性。
public class Person {
String name;
int age;public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
构造方法的重载
本质上的目的:就是我们初始化对象的时候可以选择对哪些属性赋值,哪些可以等等再由我们操作赋值。
构造方法的this关键字:
public Person(String name, int age) {
this.name = name; // this.name 表示类的属性
this.age = age;
}
相关文章:

25.1.3
java数组: dataType[] arrayRefVar //推荐写法 //int[] mylist //或 dataType arrayRefVar[] //int mylist[]创建数组对象: arrayRefVar new dataType[arraySize]; dataType[] arrayRefVar new dataType[arraySize];for-each循环: jav…...

Leecode刷题C语言之我的日程安排表②
执行结果:通过 执行用时和内存消耗如下: typedef struct {int start;int end; }BOOKING;#define MAX_BOOK_NUM (1000) typedef struct MyCalendar_ {BOOKING book[MAX_BOOK_NUM];int bnum;BOOKING *sorted[MAX_BOOK_NUM];int num;int conflict[MAX_BOOK_NUM];int c…...

十二、Vue 路由
文章目录 一、简介二、安装与基本配置安装 Vue Router创建路由实例在应用中使用路由实例三、路由组件与视图路由组件的定义与使用四、动态路由动态路由参数的定义与获取动态路由的应用场景五、嵌套路由嵌套路由的概念与配置嵌套路由的应用场景六、路由导航<router - link>…...

smell---Paddle-DI
跨模态文档智能大模型–Ernie-Layout 目标:提取文档中无结构或半结构化的知识 github项目地址 Paddle NLP ERNIE-Layout基于Transformer Encode架构,并提出以下trick: 1、OCR工具提取信息 借助OCR工具提取图片中的文字及文字对应的坐标信息…...

PCL点云库入门——PCL库点云特征之点云法向量(NormalEstimation)及其可视化
1、PCL点云库中点云特征综述 1.1、点云特征综述 点云特征描述在三维数据处理领域扮演着至关重要的角色,它直接决定了后续的识别、分类以及重建等关键任务的执行效果。在众多的特征描述方法中,我们可以看到基于几何形状的特征、基于统计信息的特征以及…...
25.Java JUC 引入(进程与线程、线程的状态、并发与并行、管程、用户线程与守护线程)
一、JUC 简介 JUC 是 java.util.concurrent 工具包的简称,这是一个处理线程的工具包,从 JDK1.5 开始出现 二、进程与线程 1、基本介绍 (1)进程 进程是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源…...

Linux 异步 I/O 框架 io_uring:基本原理、程序示例与性能压测
大家觉得有意义和帮助记得关注和点赞!!! io_uring 是 2019 年 Linux 5.1 内核首次引入的高性能 异步 I/O 框架,能显著加速 I/O 密集型应用的性能。 但如果你的应用已经在使用 传统 Linux AIO 了,并且使用方式恰当&…...
Uniapp中使用`wxml-to-canvas`开发DOM生成图片功能
Uniapp中使用wxml-to-canvas开发DOM生成图片功能 在移动端开发中,生成图片是一个常见需求,例如用于分享海报、生成动态二维码等。在Uniapp框架中,我们可以通过wxml-to-canvas插件轻松实现将DOM转化为图片的功能。本文将详细介绍如何在Uniapp…...
Linux之ARM(MX6U)裸机篇----5.仿stm32的LED驱动实验
一,启动文件 .global _start .global _bss_start /* 类似宏定义把__bss_start定义为_bss_start */ _bss_start:.word __bss_start.global _bss_end _bss_end:.word __bss_end_start:#设置处理器进入SVC模式mrs r0, cpsr /* 读取cpsr到r0 */bic r0, r0, …...

DVWA靶场Open HTTP Redirect (重定向) 漏洞所有级别通关教程及源码审计
目录标题 Open HTTP Redirectlow源码审计 medium源码审计 high源码审计 impossible源码审计 Open HTTP Redirect HTTP 重定向(HTTP Redirect Attack)是一种网络,利用 HTTP 协议中的重定向机制,将用户引导至恶意网站或非法页面&am…...

探索 JMeter While Controller:循环测试的奇妙世界
嘿,宝子们!今天咱们就来聊聊 JMeter 里超级厉害的 While 控制器,它就像是一把神奇的钥匙,能帮我们打开循环测试的大门,模拟出各种各样复杂又有趣的场景哦! 一、While 控制器初印象 想象一下,你…...

Flutter踩坑记-第三方SDK不兼容Gradle 8.0,需适配namespace
最近需要集成Flutter作为Module,Flutter依赖了第三方库,Gradle是8.0版本。 编译报错: 解决办法是在.android根目录下的build.gradle下新增一行代码: buildscript {ext.kotlin_version "1.8.22"repositories {google()…...
ubuntu支持ssh
Ubuntu 默认是支持 SSH 的,但通常并不会在安装时启用 SSH 服务。为了能够远程连接到 Ubuntu 系统,需要安装并启动 SSH 服务器(即 OpenSSH)。以下是如何在 Ubuntu 系统中启用和配置 SSH 服务的步骤: 检查 SSH 是否已安…...
浏览器书签智能分类
浏览器书签智能分类工具 最近发现浏览器的书签越来越乱了,主要是因为自己太懒,其次之前建的分类太多又乱,重新手动整理确实比较烦。因此有了这个小项目。借助智谱AI的力量对书签进行重新分类。 项目简介 本工具用于自动整理浏览器书签&…...
通俗易懂的讲一下Vue的双向绑定和React的单向绑定
1.Vue 的双向绑定: <template><!-- 输入框和数据自动绑定,就像连体婴儿,一个动另一个也动 --><input v-model"message"><p>{{ message }}</p><!-- 完整表单示例 --><form><!-- 所有…...
Redis 深度解析:从入门到精通
引言 Redis 是一个开源的、高性能的键值存储系统,它支持多种数据结构,并且提供了丰富的功能和接口。作为内存数据库,Redis 以其快速的数据访问速度、灵活的数据模型以及持久化选项而闻名。本文将详细介绍 Redis 的核心概念、工作原理及其应用…...

基于物联网的冻保鲜运输智能控制系统
基于物联网的冻保鲜运输智能控制系统设计文档 1. 项目开发背景 随着全球化贸易的发展,冷链物流在现代运输行业中扮演着日益重要的角色。尤其是冻品、食品、药品等对运输环境有着严格要求的货物,其运输过程中温度、湿度等环境参数必须严格控制ÿ…...
【深度学习基础之多尺度特征提取】多尺度卷积神经网络(MS-CNN)是如何在深度学习网络中提取多尺度特征的?附代码(二)
【深度学习基础之多尺度特征提取】多尺度卷积神经网络(MS-CNN)是如何在深度学习网络中提取多尺度特征的?附代码(二) 【深度学习基础之多尺度特征提取】多尺度卷积神经网络(MS-CNN)是如何在深度…...

论文解读之learning to summarize with human feedback
最近在看大模型训练相关的论文,预计会追溯经典的和最新的训练策略以及微调原理等 本次解读经典论文learning to summarize with human feedback 一、简介 部分生成任务需要对齐人类偏好,但是根据最大化可能性(对数似然)进行微调…...

STM32学习(六 )
串口初始化IO引脚 串口的引脚在哪里 串口可以利用GPIO_InitTypeDef结构体和GPIO_Init()函数进行初始化 USART_InitTypeDef USART_InitStruct;//建立串口结构体USART_InitStruct.USART_BaudRate 115200;//波特率115200USART_InitStruct.USART_Mode US…...

无法与IP建立连接,未能下载VSCode服务器
如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...

论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)
笔记整理:刘治强,浙江大学硕士生,研究方向为知识图谱表示学习,大语言模型 论文链接:http://arxiv.org/abs/2407.16127 发表会议:ISWC 2024 1. 动机 传统的知识图谱补全(KGC)模型通过…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用
1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...

Springboot社区养老保险系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,社区养老保险系统小程序被用户普遍使用,为方…...
现有的 Redis 分布式锁库(如 Redisson)提供了哪些便利?
现有的 Redis 分布式锁库(如 Redisson)相比于开发者自己基于 Redis 命令(如 SETNX, EXPIRE, DEL)手动实现分布式锁,提供了巨大的便利性和健壮性。主要体现在以下几个方面: 原子性保证 (Atomicity)ÿ…...

【Redis】笔记|第8节|大厂高并发缓存架构实战与优化
缓存架构 代码结构 代码详情 功能点: 多级缓存,先查本地缓存,再查Redis,最后才查数据库热点数据重建逻辑使用分布式锁,二次查询更新缓存采用读写锁提升性能采用Redis的发布订阅机制通知所有实例更新本地缓存适用读多…...

【JVM面试篇】高频八股汇总——类加载和类加载器
目录 1. 讲一下类加载过程? 2. Java创建对象的过程? 3. 对象的生命周期? 4. 类加载器有哪些? 5. 双亲委派模型的作用(好处)? 6. 讲一下类的加载和双亲委派原则? 7. 双亲委派模…...
苹果AI眼镜:从“工具”到“社交姿态”的范式革命——重新定义AI交互入口的未来机会
在2025年的AI硬件浪潮中,苹果AI眼镜(Apple Glasses)正在引发一场关于“人机交互形态”的深度思考。它并非简单地替代AirPods或Apple Watch,而是开辟了一个全新的、日常可接受的AI入口。其核心价值不在于功能的堆叠,而在于如何通过形态设计打破社交壁垒,成为用户“全天佩戴…...

通过 Ansible 在 Windows 2022 上安装 IIS Web 服务器
拓扑结构 这是一个用于通过 Ansible 部署 IIS Web 服务器的实验室拓扑。 前提条件: 在被管理的节点上安装WinRm 准备一张自签名的证书 开放防火墙入站tcp 5985 5986端口 准备自签名证书 PS C:\Users\azureuser> $cert New-SelfSignedCertificate -DnsName &…...
深度剖析 DeepSeek 开源模型部署与应用:策略、权衡与未来走向
在人工智能技术呈指数级发展的当下,大模型已然成为推动各行业变革的核心驱动力。DeepSeek 开源模型以其卓越的性能和灵活的开源特性,吸引了众多企业与开发者的目光。如何高效且合理地部署与运用 DeepSeek 模型,成为释放其巨大潜力的关键所在&…...