java⑾
1.数组:
01.一组 相同数据类型的集合!
02.数组在内存中会 开辟一串连续的空间来保存数据!
***存储30名学生的姓名!
01.姓名 应该用什么数据类型保存??? String
02.难道需要创建30个String类型的变量吗??? 不需要
*********
人类 [] 1号车厢=new 人类[50];
找到18号座位的乘客
1号车厢[18]="小黑";
*********
***数组的基本要素:
元素的类型: 人类 数组中每个元素的数据类型
标识符: 1号车厢 数组的名称
数组的长度: [50]
数组的元素:"小黑"
元素的下标:[18] 数组的下标从0开始!
想访问到数组中的元素,必须通过数组的下标来访问!
***语法:
数据类型 [] 数组名称=new 数据类型 [大小];
***使用:
01. 声明数组 创建一个火车车厢
int [] nums;
02.分配空间 给火车创建座位
nums=new int[5];
03.赋值 乘客入座
nums[0]=50;
**************************************************
数组的长度一旦被定义,不允许被改变!
**************************************************
2.经典案例
01.
public static void main(String args[]) {
/**
* 需求:
* 想创建一个能保存5名学员成绩的数组!
*
* 分析:
* 01.学员成绩都是double类型
* 02.5学员是一个集合
*
* 相同数据类型的一组数据的集合=======》数组
*/
// double[] scores = new double[5]; 在声明数组的同时,在内存中开辟了5个连续的空间!
// System.out.println(scores[5]); 数组下标越界
String[] scores;// 声明数组
scores = new String[5]; // 开辟空间
/**
scores[0] = "小黑1";
scores[1] = "小黑2";
scores[2] = "小黑3";
scores[3] = "小黑4";
scores[4] = "小黑5";
* 使用循环给5名学生的姓名赋值
*
* scores.length:获取数组的长度
*
* 数组的下标最大值=数组的长度-1
*/
Scanner input = new Scanner(System.in);
for (int i = 0; i < scores.length; i++) {
System.out.println("请您输入下标是" + i + "的姓名");
scores[i] = input.next();
}
// 遍历==》把集合中的每个元素打印出来
for (int i = 0; i < scores.length; i++) {
System.out.println(scores[i]);
}
}
02.
public static void main(String[] args) {
/**
* 求数组的最大值 和 最小值
*/
// 定义一个数组 参赛的选手
int[] nums = { 50, 20, 100, 30, 400, 800 };
// 默认第一个元素先上台 擂主
int max = nums[0];
// 循环比较 打擂
for (int i = 0; i < nums.length; i++) {
// 如果发现 元素比 我们的max值大,那就让这个元素成为max
if (nums[i] > max) {
max = nums[i];
System.out.println("历届的擂主:" + max);
}
}
System.out.println("我最NB==》" + max);
}
03.
/**
*
* 需求:
* 有一组数据{10,5,6,80,100}
* 01.循环输出数组中的每一个元素
* 02.求数组中所有元素的和
* 03.猜字游戏,让用户输入一个数字,然后进行循环比较
*/
public static void main(String[] args) {
// 创建一个数组 保存这组数据
int nums[] = { 10, 5, 6, 80, 100 };
// 定义一个变量保存总数
int sum = 0;
System.out.println("*****遍历数组******");
for (int i = 0; i < nums.length; i++) {
sum += nums[i];
System.out.println(nums[i]);
}
System.out.println("总和为:" + sum);
System.out.println("请您输入一个数字:");
Scanner input = new Scanner(System.in);
int choose = input.nextInt();
boolean flag = false; // 默认没有找到
// 循环比较 于数组中的每一个元素进行比对
for (int i = 0; i < nums.length; i++) {
if (choose == nums[i]) {
flag = true;
break; // 找到之后直接退出循环
}
}
if (flag) {
System.out.println("恭喜您中奖!");
} else {
System.out.println("很遗憾......");
}
}
*******************************************************
3.拓展::::
01.
public class ArraysDemo02 {
/**
* Arrays是操作数组的工具类!
* int: 集合中每一个元素的数据类型
* num:只是一个变量名,保存每一个需要输出的元素
* nums:需要遍历的集合
* for(int num:nums){
* }
*/
public static void main(String[] args) {
int[] nums = { 50, 20, 100, 30, 400, 800 };
System.out.println("排序之前");
for (int num : nums) {
System.out.println(num);
}
// 01.实现数组的排序
Arrays.sort(nums);
// 使用for加强 实现遍历
System.out.println("排序之后");
for (int num : nums) {
System.out.println(num);
}
// 02.把数组转换成一个字符串
String result = Arrays.toString(nums);
System.out.println(result);
// 03.将数组中的所有元素都改变成一个值
Arrays.fill(nums, 521);
System.out.println("看看所有的元素是否被改变");
for (int num : nums) {
System.out.println(num);
}
System.out.println("新数组");
// 04.将数组复制成一个新数组
nums = Arrays.copyOf(nums, 10);
for (int num : nums) {
System.out.println(num);
}
// 05.查询某个元素 在 数组中的位置 前提 必须 先排序
int[] nums2 = { 50, 20, 100, 30, 400, 800 };
Arrays.sort(nums2);
int index = Arrays.binarySearch(nums2, 400);
System.out.println("400出现的位置是:" + index);
// 将一个Stirng类型的字符串转换成 char类型的数组
String a = "50,20,100,30,400,800";
char[] words = a.toCharArray();
for (char c : words) {
System.out.print(c);
}
}
02.
/**
* 需求:
* 01.以,为分割点,把String转换成一个数组
* 02.把String转换成int之后求和
*/
public static void main(String[] args) {
String a = "50,20,100,30,400,800";
String[] words = a.split(",");
// 定义一个变量保存 和
int sum = 0;
for (int i = 0; i < words.length; i++) {
sum += Integer.parseInt(words[i]);
}
System.out.println(sum);
System.out.println("*************字符的逆序输出***************");
char[] chars = { 'z', 'f', 'g', 'c', 'a', 'b', 'j' };
Arrays.sort(chars);
for (char c : chars) {
System.out.println(c);
}
for (int i = chars.length - 1; i >= 0; i--) {
System.out.println(chars[i]);
}
}
java⑾的更多相关文章
- Spark案例分析
一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...
- 故障重现(内存篇2),JAVA内存不足导致频繁回收和swap引起的性能问题
背景起因: 记起以前的另一次也是关于内存的调优分享下 有个系统平时运行非常稳定运行(没经历过大并发考验),然而在一次活动后,人数并发一上来后,系统开始卡. 我按经验开始调优,在每个关键步骤的加入如 ...
- Elasticsearch之java的基本操作一
摘要 接触ElasticSearch已经有一段了.在这期间,遇到很多问题,但在最后自己的不断探索下解决了这些问题.看到网上或多或少的都有一些介绍ElasticSearch相关知识的文档,但个人觉得 ...
- 论:开发者信仰之“天下IT是一家“(Java .NET篇)
比尔盖茨公认的IT界领军人物,打造了辉煌一时的PC时代. 2008年,史蒂夫鲍尔默接替了盖茨的工作,成为微软公司的总裁. 2013年他与微软做了最后的道别. 2013年以后,我才真正看到了微软的变化. ...
- 故障重现, JAVA进程内存不够时突然挂掉模拟
背景,服务器上的一个JAVA服务进程突然挂掉,查看产生了崩溃日志,如下: # Set larger code cache with -XX:ReservedCodeCacheSize= # This ...
- 死磕内存篇 --- JAVA进程和linux内存间的大小关系
运行个JAVA 用sleep去hold住 package org.hjb.test; public class TestOnly { public static void main(String[] ...
- 【小程序分享篇 一 】开发了个JAVA小程序, 用于清除内存卡或者U盘里的垃圾文件非常有用
有一种场景, 手机内存卡空间被用光了,但又不知道哪个文件占用了太大,一个个文件夹去找又太麻烦,所以我开发了个小程序把手机所有文件(包括路径下所有层次子文件夹下的文件)进行一个排序,这样你就可以找出哪个 ...
- Java多线程基础学习(二)
9. 线程安全/共享变量——同步 当多个线程用到同一个变量时,在修改值时存在同时修改的可能性,而此时该变量只能被赋值一次.这就会导致出现“线程安全”问题,这个被多个线程共用的变量称之为“共享变量”. ...
- Java多线程基础学习(一)
1. 创建线程 1.1 通过构造函数:public Thread(Runnable target, String name){} 或:public Thread(Runnable target ...
- c#与java的区别
经常有人问这种问题,用了些时间java之后,发现这俩玩意除了一小部分壳子长的还有能稍微凑合上,基本上没什么相似之处,可以说也就是马甲层面上的相似吧,还是比较短的马甲... 一般C#多用于业务系统的开发 ...
随机推荐
- shell脚本linux命令连续执行
shell命令连续执行的三种方式: 1.命令1:命令2:命令3 依次执行命令,无论前一条命令是否执行成功. 2.命令1 && 命令2 && 命令3 前一条命令执行成功后 ...
- 学习笔记10—Python 绘图集
ordered_data = np.load('ordered_data_just_TD_mae.npy')results = pd.Series(np.squeeze(np.load('result ...
- word空白页怎么删除
最简单的,直接按键盘上的BackSpace或者Delete键,来进行删除. 分页符过到.打开“编辑”-->替换-->高级-->特殊字符-->手工分页符-->“全部替换” ...
- 判断一个点在多边形的内部C++
/* 原理: 将测试点的Y坐标与多边形的每一个点进行比较, ** 会得到测试点所在的行与多边形边的所有交点. ** 如果测试点的两边点的个数都是奇数个, ** 则该测试点在多边形内,否则在多边形外. ...
- oracle 查看被锁表 及解除锁定
查看 哪些表 被锁了 SELECT object_name, machine, s.sid, s.serial# FROM gv$locked_object l, dba_objects o, gv$ ...
- 第二阶段——个人工作总结DAY07
1.昨天做了什么:昨天了解了一下时间抽也是一种ListView,然后就此学习了一下如何来修改. 2.今天打算做什么:今天在网上搜一些例子,找比较好看的界面,并实现代码. 3.遇到的困难:不知道最后连接 ...
- 【JS】【2】ajax传的参数为数组时,后台接收为null的处理
前言: 1,参考博客:解决JavaScript中使用$.ajax方式提交数组参数 - Just_Do - 博客园(http://www.cnblogs.com/caoyc/p/5710702.html ...
- 使用LVM方式安装Ubuntu 16.04
--- By 小甘丶 注: 这里只讲解如何配置LVM,其他不再陈述! 这个方法,通用的!只要操作系统支持LVM即可!(个人推测,尚未证实) 配置好虚拟机后,开始安装,先进入Ubuntu使用界面,对磁盘 ...
- oracle 分组查询
常用的函数: ·:统计个数:COUNT(),根据表中的实际数据量返回结果: ·:求和:SUM(),是针对于数字的统计,求和 ·:平均值 ...
- mvn 修改所有子项目pom版本
mvn versions:set -DgenerateBackupPoms=false -DnewVersion=1.3.0