韩顺平0基础学Java——第8天

news/2024/9/23 4:31:34/

p155-168

数组(第六章)

数组可以存放多个同一类型的数据,数组也是一种数据类型(引用类型)。

即,数组就是一组数据~

例:double [] hens = {1,2,3,4,5,6};

新建了一组鸡,里面有6个。数组可以通过循环来遍历。

java">import java.util.Scanner;
public class day8{public static void main(String[] args){double[] hens = {3,5,1,3.4,2,50};for(int i =0;i<6;i++){System.out.println("the "+(i+1)+"th hen is "+hens[i]);}}
}

数组的长度=hens.length;

使用方式

1、动态初始化

数据类型 数组名[] = new 数据类型[大小]

例:int a[] = new int[5];\\创建了一个数组 ,名字为a,存放5个int 

或先声明再创建:

2、静态初始化

数组细节

1.数组是多个相同元素的组合。意思是里面的元素可以是任何数据类型,但是不能混用。

2.数组创建后,若没有赋值,有默认值0;

3.下标从0开始,注意不要越界。

4.数组属于引用类型,数组型数据是对象(object)

练习

1.

java">import java.util.Scanner;
public class day8{public static void main(String[] args){char a[] = new char[26];for(int i =0;i<a.length;i++){a[i] = (char)(97+i);System.out.println("the "+(i+1)+"th hen is "+a[i]);}System.out.println("the all");}
}

2.勉强做到了,但是只能判断两个相同的最大值,万一有很多最大值我怎么搞呢?

3.虐

数组赋值机制

基本数据类型赋值,这个值就是具体的数据,相互不影响。如int n1 = 1; int n2 = n1;

n2的值不会影响n1。

但是数组在赋值的时候默认引用传递,赋的是地址指针要来了吗额啊啊啊。。。

int[] arr1 = {1,2,3};

int[] arr2 = arr1;

这里对arr2进行操作,会影响arr1。

解释这个jvm内存:0164_韩顺平Java_数组赋值机制2_哔哩哔哩_bilibili

数组拷贝

例:将int [] arr1={1,2,3};拷贝给arr2,要求内容空间独立。

那么

int[] arr1 = {1,2,3};

//创建新的数组arr2,开辟新的数据空间,大小为arr1.length

int[] arr2 = new int[arr1.length];

//遍历arr1,复制给arr2

for(int i = 0;i<arr1.length;i++){

        arr2[i]=arr1[i];}

是不是类似于c的malloc呢?

数组反转

两头交换罢了

数组添加

实现动态的给数组添加元素的效果,实现对数组的扩容。

1.原始数组使用静态分配int[] arr ={1,2,3};

2.增加的元素直接放在数组的最后arr = {1,2,3,4};

3.用户可以通过如下方法来决定是否继续添加:添加成功,是否继续?y/n

今天图书馆不开门,差评,回去收拾破烂了。


http://www.ppmy.cn/news/1459318.html

相关文章

嘎嘎好用的虚拟键盘第二弹之中文输入法

之前还在为不用研究输入中文而暗自窃喜 这不新需求就来了&#xff08;新需求不会迟到 它只是在路上飞一会儿&#xff09; 找到了个博主分享的代码 是好使的 前端-xyq 已经和原作者申请转载了 感谢~~ 原作者地址&#xff1a;https://www.cnblogs.com/linjiangxian/p/16223681.h…

Adobe Premiere Pro安装

一、安装包下载 链接&#xff1a;https://pan.baidu.com/s/1aYqTSQQutDguKYZE-yNHiw?pwd72l8 提取码&#xff1a;72l8 二、安装步骤 1.鼠标右击【Pr2024(64bit)】压缩包&#xff08;win11及以上系统需先点击“显示更多选项”&#xff09;【解压到 Pr2024(64bit)】。 2.打开…

php回车变br、php显示br

在 PHP 中&#xff0c;如果你想将回车符&#xff08;\n&#xff09;转换为 HTML 的 <br> 标签来实现换行显示&#xff0c;可以使用内置函数 nl2br()。这个函数会将文本中的换行符替换为 <br> 标签。以下是使用 nl2br() 函数的示例代码&#xff1a; <?php $tex…

C++STL细节,底层实现,面试题04

文章目录 19. STL19.1. 序列容器19.1.1. vector19.1.1.1. 底层实现和特点19.1.1.2. 常用函数19.1.1.3. emplace_back() vs push_back() 19.1.2. array19.1.2.1. 底层实现和特点19.1.2.2. 常用函数 19.1.3. deque19.1.3.1. 底层实现和特点19.1.3.2. 常用函数 19.1.4 list19.1.4.…

JAVA文件的简单操作

文件IO&#xff08;Input和Output&#xff09; 文件的输入和输出是人为规定的&#xff0c;那么什么是输入&#xff1f;什么是输出捏&#xff1f;在这里统一已CPU为基准 例如&#xff1a;将文件由内存写入硬盘就是输出&#xff0c;有硬盘写入内存就是输入。可以总结为&#xff…

泛娱乐出海新趋势

在全球化和数字化浪潮的推动下&#xff0c;泛娱乐领域正在经历快速变革&#xff0c;中国应用开发者纷纷走向全球市场&#xff0c;并且在国际舞台上大放异彩&#xff0c;据Sensor Towers数据显示&#xff0c;2023年10月&#xff0c;中国移动发行商的收入占全球应用收入的38.7%&a…

Adobe Acrobat Pro DC 2022一款高效强大的PDF阅读编辑专业软件(240506)

01 软件介绍 Adobe Acrobat Pro DC 2022&#xff0c;作为一款专业的PDF处理工具&#xff0c;它集成了强大的制作功能&#xff0c;能够与Adobe Photoshop的高级图像编辑能力无缝衔接&#xff0c;进而将各类纸质文档高效转换成可编辑的电子格式&#xff0c;以便于文件的传输和签…

设计模式之服务定位器模式

想象一下&#xff0c;你的Java应用是一座庞大的迷宫&#xff0c;里面藏着无数宝贵的服务宝藏&#xff0c;而你正需要一张精确的藏宝图来指引方向&#xff0c;迅速找到并利用这些宝藏。服务定位器模式&#xff0c;正是这样一张神奇的地图&#xff0c;它帮你动态定位并获取应用中…