Java学习 第三章 数组(一)一维数组

第三章 数组
3-1 数组的概述
数组:多个相同类型数据按一定的顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理。
数组相关概念:
数组名、下标(索引、角标)、元素、数组的长度
数组特点:
1.数组是有序排列的
2.数组本身是引用数据类型,而数组中的元素既可以是基本数据类型,也可以是引用数据类型
3.创建数据对象时会在内存中开辟一整块连续的空间
4.数组的长度一旦确定,就不能更改

数组分类
(1)按照维数:一维数组,二维数组。。。。
(2)按照数组元素的类型:基本数据类型元素的数组,引用数据类型元素的数组

  1. 一维数组的使用
    ① 一维数组的声明和初始化
    ② 如何调用数组的指定位置的元素
    ③ 如何获取数组的长度
    ④ 如何遍历数组
    ⑤ 数组元素的默认初始化值 :见ArrayTest1.java
    数组元素是整形:0
    数组元素是浮点型:0.0
    数组元素是char型:0或‘\u0000’
    数组元素是布尔型:false
    数组元素是引用数据类型时:null
    ⑥ 数组的内存解析 :见ArrayTest1.java
    栈:(stack)
    堆:(heap)
    在这里插入图片描述

在这里插入图片描述

小tips:用ctrl+shift+f可以调格式

public class array {public static void main(String[] args){//1.一维数组的声明和初始化int num;//声明num = 10;//初始化int id = 1001;//声明+初始化int[] ids;  //声明//1.1 静态初始化:数组的初始化和数值元素的赋值操作同时进行ids = new int[] {1001,1002,1003,1004};//2.2动态初始化:数组的初始化和数值元素的赋值操作分开进行String[] names = new String[5];//错误的写法:
//           int[] arr1 = new int[];
//           int[5] arr2 = new int[5];
//           int[] arr3 = new int[3]{1,2,3};//总结:数组一旦初始化完成,其长度就确定了//2.如何调用数组的指定位置的元素:通过角标的方式进行//数组的角标:从0开始,到数组的长度-1结束names[0] = "王铭";names[1] = "王赫";names[2] = "张学良";names[3] = "孙居龙";names[4] = "王宏志";//charAt(0)
//           names[5] = "周扬";//如何调用数组的指定位置的元素:通过角标的方式进行//数组的角标:从0开始,到数组的长度-1结束names[0] = "王铭";names[1] = "王赫";names[2] = "张学良";names[3] = "孙居龙";names[4] = "王宏志";//charAt(0)
//           names[5] = "周扬";//如何获取数组的长度System.out.println(names.length);//5System.out.println(ids.length);//4.如何遍历数组:for(int i = 0;i<names.length;i++) {System.out.println(names[i]);//5.数组元素的默认初始化值int[] arr = new int[4];for(int i = 0;i<arr.length;i++) {System.out.println(arr[i]);}System.out.println("************");char[] arr1 = new char[4];for(int i = 0;i<arr1.length;i++) {System.out.println("____"+ arr1[i] + "****");}}}
}

练习题:
在这里插入图片描述

package exercise;
import java.util.Scanner;
public class ArrayDemo {public static void main(String[] args) {//使用Scanner,读取学生个数Scanner scanner = new Scanner(System.in);System.out.println("请输入学生人数: "); int number =scanner.nextInt();//创建数组,存储学生成绩动态初始化int[] scores = new int[number];//给数组中的元素赋值int maxScore = 0;System.out.println("请输入" + number + "个学生成绩: ");for(int i = 0;i<scores.length;i++) {scores[i] = scanner.nextInt();//获取数组中元素的最大值:最高分if(maxScore < scores[i]) {maxScore = scores[i];}}//根据每个学生成绩与最高分的差值,得到每个学生的等级,并输出等级和成绩char level;for(int i = 0 ; i < scores.length;i++) {if(maxScore -scores[i] <= 10) {level = 'A';}else if(maxScore -scores[i] <= 20) {level = 'B';}else if(maxScore -scores[i] <= 30) {level = 'C';}else {level = 'D';}System.out.println("student " + i + " score is " + scores[i] + "grade is " + level);     }}}

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

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

相关文章

mapreduce 算法_MapReduce算法–了解数据联接第1部分

mapreduce 算法在本文中&#xff0c;我们继续执行一系列实现算法的系列&#xff0c;该算法在使用MapReduce进行数据密集型文本处理中找到&#xff0c;这一次讨论数据联接。 虽然我们将讨论在Hadoop中联接数据的技术并提供示例代码&#xff0c;但在大多数情况下&#xff0c;您可…

几个有用的word小技巧,保准提升效率~

这几天改报告改到头秃。年底了&#xff0c;实验室各种项目在结项&#xff0c;作为一名研一新生&#xff0c;理所应当地承担起了体力活的工作。主要负责项目报告的研究背景调研、报告汇总、格式调整等。 格式调整&#xff0c;看起来非常简单的一项工作&#xff0c;却是最费时费…

Java 8:长期支持的堡垒

斯蒂芬科尔本 &#xff08; Stephen Colebourne &#xff09;的文章“ Java 9可以使用六个星期 ”开始&#xff0c;“ Java 9仅仅六个星期 就已过时。” Colebourne参考了Mark Reinhold博客文章“ Moving Java Forwarding Faster ”&#xff0c;并写道&#xff1a;“新的Java发…

我的2020(年终总结)

我的2020 2020对每个人来说可能都是极不平凡的一年&#xff0c;对我尤其是。这一年我整个的人心境发生了极大的变化。总结来说&#xff0c;有这么几件大事&#xff1a;复试、毕设、大学毕业、研究生开学、分手、再脱单、疫情在家。今天坐在实验室也不知道该干点什么&#xff0…

Java学习 第三章 数组(二)多维数组

多维数组的使用 由数组构成的数组 二维数组&#xff1a; ① 二维数组的声明和初始化 ② 如何调用数组的指定位置的元素 ③ 如何获取数组的长度 ④ 如何遍历数组 ⑤ 数组元素的默认初始化值 &#xff1a;见ArrayTest1.java 数组元素是整形&#xff1a;0 数组元素是浮点型&…

Spring Boot 2中的功能切换

无论您是否喜欢&#xff0c;软件开发都是一项协作活动。 整合工作一直被妖魔化&#xff0c;并被视为必不可少的邪恶。 有几种方法可以解决有效集成的挑战。 功能切换开关属于该组。 在本文中&#xff0c;您将在实践中看到如何在Spring Boot应用程序中使用功能切换&#xff08;也…

Java学习 第三章 数组(三)排序算法

** Java学习 第三章 数组&#xff08;三&#xff09;排序算法 ** 主要内容&#xff1a;排序算法、排序算法横向比较、Arrays工具类的使用、数组常见异常 1.数组中涉及到的常见算法&#xff1a;排序算法 1.1 排序算法分类&#xff1a;内部排序和外部排序 1.2 十大内部排序算…

【强化学习】一些网站整理

莫烦教程 https://mofanpy.com/tutorials/machine-learning/reinforcement-learning/ 博客园&#xff1a;刘建平Pinard https://www.cnblogs.com/pinard/category/1254674.html Deep-Q-Network 学习笔记 https://www.cnblogs.com/cjnmy36723/p/7017549.html 强化学习到深度强…

xmx java_为什么我的Java进程比Xmx消耗更多的内存?

xmx java你们有些人去过那里。 您已经在启动脚本中添加了-Xmx选项&#xff0c;并放松了下来&#xff0c;因为您知道Java进程将不会消耗比经过微调的选项所允许的更多的内存。 然后&#xff0c;您感到非常讨厌。 要么自己检查开发/测试框中的过程表&#xff0c;要么事情真的变坏…

卫星通信系统概述

卫星通信系统指通过在轨人造卫星作为中继站对无线电信号进行转发&#xff0c;实现地面及空间等用户之间信息传输的系统。卫星通信系统组成包括空间段及地面段&#xff0c;系统组成如图所示。其中空间段主要指在轨卫星、对在轨卫星进行操控的地面站&#xff0c;这些地面站主要实…

ElasticSearch初学者教程

1.简介 在此示例中&#xff0c;我们将演示如何使用Elasticsearch &#xff0c; Elasticsearch是一个基于Apache Lucene的分布式自由文本搜索和分析数据库引擎&#xff0c;具有一个基于maven的简单Java客户端。 在撰写本文时&#xff0c;我们将使用最新版本的Elasticsearch&…

博弈论与纳什均衡

三十分钟理解博弈论“纳什均衡” – Nash Equilibrium https://blog.csdn.net/xbinworld/article/details/50932559 纳什均衡(Nash equilibrium)及经典案例 https://blog.csdn.net/u010420283/article/details/83927742 论文&#xff1a; [1] 刘帅军. 卫星通信系统中动态资源…

Opnet入门

一、opnet快速入门 1.系统界面&文件菜单说明 2.常用文件名后缀及描述 3.Opnet建模层次 用户只有一种节点域模型 三、 OPNET Modeler网络仿真机制 1.事件的属性 每次点击next会出现以下界面&#xff1a; 2.事件的执行 调度型&#xff1a;按照正常程序调度事件 强制性&…

JSON的JUnit Hamcrest Matcher

这篇文章展示了如何编写JUnit测试来检查对象是否与JSON字符串匹配。 如果您要实现REST服务并想测试您的服务是否产生了预期的JSON响应&#xff0c;那么这一点很重要。 JSONassert是比较JSON对象的有用库。 首先&#xff0c;您必须将Java对象转换为JSON字符串&#xff08;例如&…

Python列表推导式

列表推导式 是Python构建列表&#xff08;list&#xff09;的一种快捷方式,可以使用简洁的代码就创建出一个列表&#xff0c;即循环创建列表. for可以用来创建列表&#xff0c;列表推导式就相当于是for循环的简化版 1. 最简单的情况 values [10, 21, 5, 7, 12] squares [] …

一些python函数及其用法

1.np.ravel&#xff08;&#xff09;方法 ravel是将数组维度拉成一维数组&#xff0c;也就是将矩阵向量化 x np.array{ [ [ 1 , 2 , 3 ] , [ 4 , 5 , 6 ] ] } print(np.ravel(x))输出 [ 1 2 3 4 5 6 ]2.b a[np.newaxis,:] import numpy as np a np.arange(0, 10) print(a…

使用Spring WebFlux进行操作

Spring Boot 2.0最近在GA上线了&#xff0c;所以我决定在相当长一段时间内写我的第一篇有关Spring的文章。 自发布以来&#xff0c;我已经看到越来越多的提到Spring WebFlux以​​及有关如何使用它的教程。 但是&#xff0c;在阅读完它们并尝试使它们自己工作之后&#xff0c;我…

【强化学习】Policy Gradient原理

1.Policy Gradient和DQN系列强化算法最大的区别在于&#xff1a; DQN系列基于Value&#xff0c;也就是说执行完所有的动作并保存所得到的价值&#xff0c;根据这些价值计算出最优价值函数&#xff0c;并以此选择动作&#xff0c;最终获得一个特定的策略。 Policy Gradient基于策…

ajax的url怎么将后缀补上_蜂蜜杏仁怎么做?杏仁和蜂蜜腌制方法

蜂蜜杏仁怎么做?杏仁和蜂蜜腌制方法蜂蜜杏仁是一种非常好吃的小零食&#xff0c;很多小可爱都喜欢吃蜂蜜杏仁。不过有些时候忘记补货&#xff0c;就会断粮&#xff0c;于是大家都想要在家里自制蜂蜜杏仁。不过你知道蜂蜜杏仁应该怎么做吗?蜂蜜杏仁的做法其实并不难&#xff0…

【强化学习】Policy Gradients代码注释版本

import gym # import tensorflow as tf import numpy as np# Hyper Parameters GAMMA 0.95 # discount factor 折扣因子 LEARNING_RATE 0.01 # 学习率class Policy_Gradient():# 咱们来搞一下大头&#xff01;def __init__(self, env): # 初始化# 先初始化一些参量sel…