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…...
Docker 离线安装指南
参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...
sqlserver 根据指定字符 解析拼接字符串
DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...
C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。
1.先用Visual Studio 2017打开Yichip YC31xx loader.vcxproj,再用Visual Studio 2022打开。再保侟就有.sln文件了。 易兆微芯片下载工具加开机动画下载 ExtraDownloadFile1Info.\logo.bin|0|0|10D2000|0 MFC应用兼容CMD 在BOOL CYichipYC31xxloaderDlg::OnIni…...
JVM虚拟机:内存结构、垃圾回收、性能优化
1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...
代码随想录刷题day30
1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...
return this;返回的是谁
一个审批系统的示例来演示责任链模式的实现。假设公司需要处理不同金额的采购申请,不同级别的经理有不同的审批权限: // 抽象处理者:审批者 abstract class Approver {protected Approver successor; // 下一个处理者// 设置下一个处理者pub…...
【VLNs篇】07:NavRL—在动态环境中学习安全飞行
项目内容论文标题NavRL: 在动态环境中学习安全飞行 (NavRL: Learning Safe Flight in Dynamic Environments)核心问题解决无人机在包含静态和动态障碍物的复杂环境中进行安全、高效自主导航的挑战,克服传统方法和现有强化学习方法的局限性。核心算法基于近端策略优化…...
华为OD机考-机房布局
import java.util.*;public class DemoTest5 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseSystem.out.println(solve(in.nextLine()));}}priv…...
苹果AI眼镜:从“工具”到“社交姿态”的范式革命——重新定义AI交互入口的未来机会
在2025年的AI硬件浪潮中,苹果AI眼镜(Apple Glasses)正在引发一场关于“人机交互形态”的深度思考。它并非简单地替代AirPods或Apple Watch,而是开辟了一个全新的、日常可接受的AI入口。其核心价值不在于功能的堆叠,而在于如何通过形态设计打破社交壁垒,成为用户“全天佩戴…...
WPF八大法则:告别模态窗口卡顿
⚙️ 核心问题:阻塞式模态窗口的缺陷 原始代码中ShowDialog()会阻塞UI线程,导致后续逻辑无法执行: var result modalWindow.ShowDialog(); // 线程阻塞 ProcessResult(result); // 必须等待窗口关闭根本问题:…...



