Day6

一、笔记:

变量:用来存储单个数据
可不可以存储多个数据?


数组(Array):用来存储一堆数据。
概念:同一数据类型的集合。数组又称为容器。

声明数组:元素类型[] 数组名 = new 元素类型[元素个数或者叫数组长度];

元素:存储在数组中的数据
元素类型:存储在数组中的数据的数据类型
[]:代表声明一个数组
数组名:给数组起个名字
new:新建的意思
元素个数或者叫数组长度:给数组中存入多少数据


数组的好处:会对存入的数据进行从0开始编号,称为下角标
数组的弊端:数组的长度是固定的,数组的类型是固定
【注】数组中如果没有手动的赋值,JVM会给数组分配默认值。其中默认值看数据类型

数组如何存取数据?
根据下角标进行存储。


数组的初始化:给数组进行第一次赋值
1.动态初始化(动态分配数组):当已知元素类型和元素个数时,未知元素的具体值时使用。
例:int[] arr = new int[3];(建议)
    int arr[] = new int[3];
2.静态初始化(静态分配数组):当已知元素类型和元素个数时,也知元素的具体值时使用。
例:int[] arr = new int[]{100,200,300};(建议)
    int arr[]= new int[]{100,200,300};
    int[] arr = {100,200,300};


【重要】
ArrayIndexOutOfBoundsException   数组角标越界异常
NullPointerException     空指针异常


【注】
如何获取数组的长度?
数组名.length

遍历数组:将数组中的元素读取出来。
1.通常使用普通for循环进行遍历
例:
int[] a = new int[]{3,2,312,3,21,11,4,21,21,321,3,213,12,3,123,21,545,67,9,0,321,123};
//遍历
for(int i = 0;i<a.length;i++){
    System.out.println(a[i]);
}


2.增强for循环(高级for循环) forEach
特点:专门用来遍历数组和集合,而不能对数组和集合中的数据进行操作。
格式:
for(元素类型 起个名字 : 数组或者集合){

  打印起的名字;

}
例:
int[] a = new int[]{23,12,3,21,3,123,12};
for(int b : a ){
    System.out.println(b);
}

 

 

一维(一元)数组:用来存储多个数据
多维(多元)数组:数组中的数组的数组...

二维(二元)数组:数组中的数组.一个一维数组中又有一个一维数组。
动态初始化格式:元素类型[][]  数组名 = new 元素类型[数组长度][元素个数];

静态初始化格式:元素类型[][]  数组名 =new 元素类型[][]{{元素1,元素2,元素3},{元素1,元素2,元素3}};
例:
int [][] a = new int [][]{{111,222,333},{110,120,119}};
for(int i =0;i<a.length;i++){
    for(int j = 0;j<a[i].length;j++){
        System.out.println(a[i][j]);
            
    }
}

 冒泡排序:

 

数组的内存:

 

 

选择排序:

二、老铁 ,来玩玩嘛


public class ShuangSeQiu {
		/*
		 * 系统作为彩票双色球生成器,模拟机选一注双色球的彩票号码:
 *  1、需要从“01”到“32”中随机选择出6个数字作为红色球且这6个数字不能重复;
 *  2、并从”01”到”16”中随机选择一个数字作为蓝色球;
 *  3、7个数字合到一起作为一注双色球彩票的号码;
		*/
		/**随机双色球程序**/
    public static void main(String[] args) {
		//随机生成的6个数,应该放在某个地方:定义数组,用来存放6个随机数
		int[] redBall  = new  int[6];
		//生成6个1~33之间的随机数到redBall数组中
		for(int i =0;i<redBall.length;i++){
			redBall[i]=(int)(Math.random()*33+1);
			//为了避免生成的红色球重复
			for(int j=i-1;j>=0;j--){
				if(redBall[i]==redBall[j]){
					i--;
					break;
				}
			}
		}
		//生成1~16之间的一个篮球
		int blueBall =(int)(Math.random()*16+1);
		System.out.print("红球为:");
		//遍历数组
		for(int b:redBall){
			System.out.print(b+" " );
		}
		System.out.print("蓝球为:"+blueBall);
		
		
	}
}

 

2.

输入年龄,打印年龄所对应的年龄段:

0~9    幼年
10~19  青少年
20~29  青年
30~39  壮年
40~49  中年
50~59  中老年
60~69  老年
70~79  老老年
80~89  老老老年
90~99  老老老老年

(使用数组完成)

import java.util.Scanner;
public class NianLing {
	public static void main(String[] args) {
		/*
			输入年龄,打印年龄所对应的年龄段
		*/
		Scanner sc=new Scanner(System.in);

		while(true){
		System.out.println("请输入您的年龄(0~99之间的整数)");
		int age=sc.nextInt();

		String [] ageDuan=new String []{"幼年","青少年","青年","壮年","中年","中老年","老年","老老年","老老老年","老老老老年"};
		System.out.println("你是:"+ageDuan[age/10]);

		}
		
		}
	
	}
}

3.求最值:

public class TestMax {
	public static void main(String[] args) {
		int [] a=new int[]{49,41,6,4,67,5,58,56,4644,464};
		int max=a[0];
		for(int i=1;i<a.length;i++){
			if(a[i]>max){
				max=a[i];

			}

		}
		System.out.println("最大的值是:"+max);
		
	}
}

 

public class TestMin {
	public static void main(String[] args) {
		int [] a=new int[]{49,41,6,4,67,5,58,56,4644,464};
		int min=a[0];
		for(int i=1;i<a.length;i++){
		if(a[i]<min);
		min=a[i];
			

		}
		System.out.println("最小的值是:"+min);
		
	}
}

4.冒泡排序法:

public class MaoPao {
	public static void main(String[] args) {
		int [] arr=new int [] {51,6,64,8,5,44,96,49,4,945};
		for(int j=0;j<arr.length-1;j++){
			for(int i=0;i<arr.length-1;i++){
				if(arr[i]>arr[i+1]){
					int c=0;
					c=arr[i];
					arr[i]=arr[i+1];
					arr[i+1]=c;

				}

			}

		}
		for(int p:arr){
			System.out.println(p);

		}
	}
}

5.选择排序法:

public class ChooseSort {
	public static void main(String[] args) {
		int [] a=new int []{5,4,57,594,111,1,54};
		for(int i=0;i<a.length;i++){
			for(int j=i+1;j<a.length;j++){
				if(a[i]>a[j]){
					int c=0;
					c=a[i];
					a[i]=a[j];
					a[j]=c;
					}		
				}
			
			}
			for(int p:a){
				System.out.println(p);
			}


		
		
	}
}

人最大的改变就是去做自己害怕的事情!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C:\Users\admin\Desktop\前端开发\Node.js\day6\code\api_server\node_modules\mysql\lib\protocol\Parser.js:437 throw err; // Rethrow non-MySQL errors ^ Error: secretOrPrivateKey must have a value at module.exports [as sign] (C:\Users\admin\Desktop\前端开发\Node.js\day6\code\api_server\node_modules\jsonwebtoken\sign.js:107:20) at Query.<anonymous> (C:\Users\admin\Desktop\前端开发\Node.js\day6\code\api_server\router_handler\2user.js:49:26) at Query.<anonymous> (C:\Users\admin\Desktop\前端开发\Node.js\day6\code\api_server\node_modules\mysql\lib\Connection.js:526:10) at Query._callback (C:\Users\admin\Desktop\前端开发\Node.js\day6\code\api_server\node_modules\mysql\lib\Connection.js:488:16) at Sequence.end (C:\Users\admin\Desktop\前端开发\Node.js\day6\code\api_server\node_modules\mysql\lib\protocol\sequences\Sequence.js:83:24) at Query._handleFinalResultPacket (C:\Users\admin\Desktop\前端开发\Node.js\day6\code\api_server\node_modules\mysql\lib\protocol\sequences\Query.js:149:8) at Query.EofPacket (C:\Users\admin\Desktop\前端开发\Node.js\day6\code\api_server\node_modules\mysql\lib\protocol\sequences\Query.js:133:8) at Protocol._parsePacket (C:\Users\admin\Desktop\前端开发\Node.js\day6\code\api_server\node_modules\mysql\lib\protocol\Protocol.js:291:23) at Parser._parsePacket (C:\Users\admin\Desktop\前端开发\Node.js\day6\code\api_server\node_modules\mysql\lib\protocol\Parser.js:433:10) at Parser.write (C:\Users\admin\Desktop\前端开发\Node.js\day6\code\api_server\node_modules\mysql\lib\protocol\Parser.js:43:10) Node.js v18.12.1
06-08

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值