当前位置: 首页 > news >正文

建站是什么东西建公司网站需要自己有系统吗

建站是什么东西,建公司网站需要自己有系统吗,做网站的小图标,洛阳网站建设🌟 想系统化学习 Java 编程?看看这个:[编程基础] Java 学习手册 0x01:数组类型 — 概念引入 我们以一个需求,来导入 Java 的数组类型。比如录入 5 个学生的成绩,并求其平均值,我们可以这样写&…

🌟 想系统化学习 Java 编程?看看这个:[编程基础] Java · 学习手册

0x01:数组类型 — 概念引入

我们以一个需求,来导入 Java 的数组类型。比如录入 5 个学生的成绩,并求其平均值,我们可以这样写:

import java.util.Scanner;
​
public class TestVar {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int total = 0; // 总分for (int i = 0; i < 5; i++) {System.out.print("请录入第 " + (i + 1) + " 个学生的成绩: ");total +=sc.nextInt();}System.out.println("5 名学生的平均分为: " + (total / 5));}
}

OK,平均值是能求了,那么我想知道第 3 个学生的成绩是多少,你能给我输出出来吗?还不能吧。所以这就引出了本章我们将要介绍的数据类型 ”数组“,它就可以帮我们存储每个学生的具体的成绩。

0x02:数组类型 — 概念解析

数组是指一组类型相同的数据的有序集合。数组描述的是相同类型的若干个数据,按照一定先后次序排列组合而成的一种结构。其中,每一个数据都可以被称作是一个元素,每个元素都可以通过一个索引(下标)来访问它们。

数组的四个基本特点如下:

  1. 数组的长度是固定的: 数组一旦被创建,其大小就不能发生改变。

  2. 数组中的元素类型必须一致: 数组中的元素必须是同一类型的,不允许出现混合类型。

  3. 数组类型可以是任何数据类型: 数组可以是任意数据类型,包括基本数据类型和引用类型。

  4. 数组有索引: 数组是有索引的,通过索引我们可以定位某一个元素的内容。索引是从 0 开始,到 数组.length -1 结束。

  5. 数组变量属于引用类型,数组也是对象的一种: 数组中的每个元素相当于该对象的成员变量。数组本身就是一个对象,Java 对象是在堆中的,因此数组无论保存原始类型还是其他对象类型,数组对象本身还是在堆中存储数据的。

0x03:数组类型 — 数组的简单使用

0x0301:数组的声明 & 创建

一个数组由 4 个基本元素构成:数组名称,数组元素、元素索引、数据类型。在 Java 中,声明数组的方式如下:

数据类型[] 数组名;
数组名 = new 数据类型[长度];
-------------------------> 例
int[] x;            // 声明一个 int[] 类型的变量
x = new int[100];   // 为数组 x 分配 100 个元素空间

为了方便获得数组的长度,Java 提供了一个 length 属性,在程序中可以通过“数组名.length”的方式获得数组的长度,即元素的个数。看下面这个例子:

public class TestVar {public static void main(String[] args) {int[] arr; // 声明一个数组arr = new int[10]; // 给数组开辟一个长度为 10 的空间
​// 打印数组的长度System.out.println(arr.length);}
}

0x0302:数组的初始化 & 元素赋值

1. 默认初始化

当数组被成功创建后,如果没有给数组元素赋值,则数组中的元素会被自动赋予一个默认值,根据元素类型的不同,默认初始值也是不一样的,见下表:

数据类型默认初始值
byte short int long0
float double0.0
char一个空字符,即'\u0000'
booleanfalse
引用数据类型null,表示变量不引用任何对象

2. 静态初始化

静态初始化,就是在定义数组的同时为每个元素赋值:

类型[] 数组名 = new 类型[]{元素, 元素, ...};   // 不可以写成 int[] a = new[4]{1, 2, 3, 4}; 编译器会认为数组限定的元素个数[4]与实际存储的元素{1, 2, 3, 4}个数有可能不一致,存在一定的安全隐患。
类型[] 数组名 = {元素, 元素, ...};

看下面这个案例:

public class TestVar {public static void main(String[] args) {int[] arr = new int[]{10, 20, 30, 40};// 打印数组的长度System.out.println(arr.length);
​int[] arr2 = {50, 60, 70, 80, 90};//打印数组的长度System.out.println(arr2.length);}
}

3. 动态初始化

动态初始化,就是将为数组元素分配空间和赋值的操作分开进行。看下面这个案例(赋值时需要指定下标,数组的下标是从 0 开始算的):

public class TestVar {public static void main(String[] args) {int[] arr;arr = new int[3];
​// 赋值arr[0] = 1;arr[1] = 2;arr[2] = 3;
​System.out.println(arr[2]); // 打印 arr[2] 元素的值}
}

在上面那个案例中,我们创建了一个包含 3 个元素的 int 型数组,其下标范围为 0 ~ 2,问题来了,假设我给下标为 3 的元素赋值,会发生什么呢?

public class TestVar {public static void main(String[] args) {int[] arr;arr = new int[3];
​// 赋值arr[0] = 1;arr[1] = 2;arr[2] = 3;arr[3] = 4;
​System.out.println(arr[2]); // 打印 arr[2] 元素的值}
}

💥 Bug:数组索引越界

数组是一个容器,存储到数组中的每个元素都有自己的自动编号,最小值为 0,最大值为数组长度减 1,如果要访问数组存储的元素,必须依赖于索引。在访问数组的元素时,索引不能呢个超出 0 - length-1 的范围,否则程序会报错。

在使用变量引用一个数组时,变量必须指向一个有效的数组对象。如果该变量的值为 null,则意味着没有指向任何数组,此时通过该变量访问数组的元素会出现空指针异常。

0x0303:数组的使用

创建数组,并且为数组的元素赋值后,我们就可以使用数组啦。我们可以取出数组中任意下标的元素,并且进行后续的处理:

public class TestVar {public static void main(String[] args) {int[] arr = {10, 20, 30, 40};
​System.out.println("arr 数组的总长度为: " + arr.length);System.out.println("arr 数组中下标为 0 的元素为: " + arr[0]);System.out.println("arr 数组中下标为 1 的元素为: " + arr[1]);System.out.println("arr 数组中最后一个元素的值为: " + arr[arr.length - 1]);}
}

http://www.dtcms.com/a/434640.html

相关文章:

  • Leetcode热题100(8-12)
  • 六站合一的优势123上网之家网址
  • C++中的多线程编程及线程同步
  • 湛江做网站从微信运营方案
  • 伊吖学C笔记(8、结构体、链表、union、enum、typedef)
  • 2022 年真题配套词汇单词笔记(考研真相)
  • HTML5消费收入矩阵计算器
  • 霸州做阿里巴巴网站庆安建设局网站
  • PCB学习——STM32F103VET6-STM32主控部分
  • 大学生作业做网站网站建设公司比较
  • 写一个星河社区aistudio大模型部署之后的AI agent转发程序
  • 网站上的中英文切换是怎么做的wordpress页面移动端
  • 八、Scala 集合与函数式编程
  • 腾讯CODING Maven的aar制品添加上传流程
  • Effective Modern C++ 条款29: 移动语义的局限性与实践指南
  • 2025年渗透测试面试题总结-98(题目+回答)
  • 深圳网站制作 公司wordpress备份百度云
  • 《时序数据监控平台优化指南:从查询超时到秒级响应,指标下的存储与检索重构实践》
  • 新版android studio创建项目的一些问题
  • 做企业网站有哪些好处软件技术买什么笔记本好
  • 【Redis】Redis的5种核心数据结构和实战场景对应(在项目中的用法)
  • Vue 与 React 深度对比:技术差异、选型建议与未来趋势
  • 创意网站页面wordpress预约小程序
  • Android_framework-odex优化
  • RAG核心特性:文档过滤和检索
  • 26.awk 使用手册
  • AI应用开发新范式:从模型API到交互式网页的极速实现路径
  • 网站建设2017主流代码语言太原百度快照优化排名
  • Python学习之day02学习(函数模块的上传、数据类型+)
  • 可以下载的建站网站河南省建设厅门户网站