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;
}

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

音频进阶学习九——离散时间傅里叶变换DTFT

文章目录 前言一、DTFT的解释1.DTFT公式2.DTFT右边释义1&#xff09; 复指数 e − j ω n e^{-j\omega n} e−jωn2&#xff09;序列与复指数相乘 x [ n ] ∗ e − j ω n x[n]*e^{-j\omega n} x[n]∗e−jωn复指数序列复数的共轭正交正交集 3&#xff09;复指数序列求和 3.DTF…

【保姆级】sql注入之堆叠注入

一、堆叠注入的原理 mysql数据库sql语句的默认结束符是以";"号结尾&#xff0c;在执行多条sql语句时就要使用结束符隔 开,而堆叠注入其实就是通过结束符来执行多条sql语句 比如我们在mysql的命令行界面执行一条查询语句,这时语句的结尾必须加上分号结束 select * fr…

我的桌面 1.9.75 | 个性化定制手机桌面,丰富的小组件和主题

我的桌面iScreen是一款万能桌面小组件APP&#xff0c;提供各种高颜值桌面主题与创意小组件自由组合。支持X面板、照片、待办清单、时钟、日历等实用有趣的小组件。拥有超过500种小组件供选择&#xff0c;包括灵动面板、滚动相册等&#xff0c;搭配300多种精美主题和高清壁纸&am…

汽车燃油软件标定测试

油箱测试 确定油箱的参数&#xff1a; 总容积&#xff0c;额定容积&#xff0c;不可用容积等。油泵测试&#xff08;静态&#xff09; 分为加油测试&#xff0c;减油测试&#xff0c;1L或者500ml增减&#xff1b; 分别测试油泵的阻值输出&#xff0c;类似&#xff1a; 油量 阻…

07-ArcGIS For JavaScript--隐藏参数qualitySettings(memory和lod控制)

目录 1、综述2、sceneview.qualitySettings2.1、sceneview.qualitySettings.memoryLimit2.2、lodFactor2.3 additionalCacheMemory 3、结论 1、综述 先上重点&#xff0c;SceneView.qualitySettings为隐藏对象参数&#xff0c;该对象的memoryLimit和lodFactor等值&#xff0c;…

信息科技伦理与道德1:研究方法

1 问题描述 1.1 讨论&#xff1f; 请挑一项信息技术&#xff0c;谈一谈为什么认为他是道德的/不道德的&#xff0c;或者根据使用场景才能判断是否道德。判断的依据是什么&#xff08;自身的道德准则&#xff09;&#xff1f;为什么你觉得你的道德准则是合理的&#xff0c;其他…

交换机关于环路、接口绑定、链路聚合的相关知识

文章目录 1、对交换机SW-1进行配置&#xff0c;仅允许Host-1通过Ethernet0/0/1接口与Host-3和Host-4通信&#xff0c;Host-2无法与其他主机通信。2、关闭生成树协议&#xff0c;验证环路造成的影响3、关闭生成树协议通过链路聚合实现两条链路正常通信并提高链路可靠性。 内容包…

QEMU网络配置简介

本文简单介绍下qemu虚拟机网络的几种配置方式。 通过QEMU的支持&#xff0c;常见的可以实现以下4种网络形式&#xff1a; 基于网桥&#xff08;bridge&#xff09;的虚拟网络。基于NAT&#xff08;Network Addresss Translation&#xff09;的虚拟网络。QEMU内置的用户模式网…

(二)当人工智能是一个函数,函数形式怎么选择?ChatGPT的函数又是什么?

在上一篇文章中&#xff0c;我们通过二次函数的例子&#xff0c;讲解了如何训练人工智能。今天&#xff0c;让我们进一步探讨&#xff1a;面对不同的实际问题&#xff0c;应该如何选择合适的函数形式&#xff1f; 一、广告推荐系统中的函数选择 1. 业务目标 想象一下&#x…

CentOS — 目录管理

文章目录 一、目录结构二、切换目录三、查看目录四、创建目录五、复制目录六、剪切目录七、删除目录 目录也是一种文件。 蓝色目录&#xff0c;绿色可执行文件&#xff0c;红色压缩文件&#xff0c;浅蓝色链接文件&#xff0c;灰色其它文件&#xff0c; 点开头的是隐藏文件&…

2025加密风云:行业变革与未来趋势全景透视

引言 2024年是加密行业发展历程中的重要一年&#xff0c;诸多事件和趋势为未来的发展奠定了基础。随着全球政策环境的变化、技术的不断进步以及市场参与者的多样化&#xff0c;加密行业在2025年将迎来新的转型与挑战。这篇文章将从政策、技术、市场、应用以及社会影响等多个角…

什么是.net framework,什么是.net core,什么是.net5~8,版本对应关系

我不知道有多少人和我一样&#xff0c;没学习过.netCore&#xff0c;想要学习&#xff0c;但是版本号太多就蒙了&#xff0c;不知道学什么了&#xff0c;这里解释下各个版本的关系 我们一般开始学习微软的时候&#xff0c;都是开始学习的.netframework&#xff0c;常用的就是4…

tcpdump指南(1)

大家读完觉得有意义记得关注和点赞&#xff01;&#xff01;&#xff01; tcpdump是一种在网络上转储流量的网络工具。 这篇文章服务器作为一些常用命令的指南。如需完整指南&#xff0c; 请参阅手册页&#xff0c;或在 Linux 计算机上。man tcpdump 1 基本选项 帮助摘要&#…

如何利用 ClickHouse 实现高级分析:MySQL 到 ClickHouse 实时数据同步指南

在数据驱动的时代&#xff0c;企业必须依靠先进的数据分析能力来提升竞争力。随着数据量的激增和业务需求的复杂化&#xff0c;传统的关系型数据库已经无法满足高效处理和实时分析的需求。ClickHouse 作为一款高性能的列式数据库&#xff0c;凭借其卓越的查询性能和可扩展性&am…

UniApp | 从入门到精通:开启全平台开发的大门

UniApp | 从入门到精通:开启全平台开发的大门 一、前言二、Uniapp 基础入门2.1 什么是 Uniapp2.2 开发环境搭建三、Uniapp 核心语法与组件3.1 模板语法3.2 组件使用四、页面路由与导航4.1 路由配置4.2 导航方法五、数据请求与处理5.1 发起请求5.2 数据缓存六、样式与布局6.1 样…

MySQL8安装与卸载

1.下载mysql MySQL :: Download MySQL Community Serverhttps://dev.mysql.com/downloads/mysql/ 2.解压mysql安装包 解压到自己定义的目录&#xff0c;这里解压就是安装&#xff0c;解压后的路径不要有空格和中文。 3.配置环境变量 配置环境变量可以方便电脑在任何的路径…

2025.01.02(数据库)

作业&#xff1a;实现以下功能&#xff1a; 1> 创建一个工人信息库&#xff0c;包含工号&#xff08;主键&#xff09;、姓名、年龄、薪资。 2> 添加三条工人信息&#xff08;可以完整信息&#xff0c;也可以非完整信息&#xff09; 3> 修改某一个工人的薪资&#…

df.groupby()方法使用表达式分组

# 索引值是否为偶数&#xff0c;分成两组 df.groupby(lambda x:x%20).sum() df.groupby(df.index%20).sum() # 同上这两个写法看似相似&#xff0c;确实都基于索引值来进行分组&#xff0c;但在实现方式上有细微的区别&#xff1a; df.groupby(lambda x: x % 2 0) 这种方式通过…

景区自助售卡机与定点酒店的合作双赢之策-景区酒店方案

一、景区与酒店合作资源优势 1. 提升游客体验&#xff1a;游客在规划旅行时&#xff0c;可以一次性解决住宿和景区游览的安排&#xff0c;减少预订环节的繁琐&#xff0c;提供更便捷、顺畅的旅行体验。 2. 增加游客停留时间&#xff1a;通过联合推广&#xff0c;吸引游客在景区…

RK3588+FPGA全国产异步LED显示屏控制卡/屏幕拼接解决方案

RK3588FPGA核心板采用Rockchip RK3588新一代旗舰 级八核64位处理器&#xff0c;支持8K视频编解码&#xff0c;多屏4K输出&#xff0c;可实现12屏联屏拼接、同显、异显&#xff0c;适配多种操作系统&#xff0c;广泛适用于展览展示、广告内容投放、新零售、商超等领域实现各种媒…