IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> java学习第6天 -> 正文阅读

[数据结构与算法]java学习第6天

Java中的数组: 用来存放一系列数据类型相同的元素(数据的类型需要一样)
数组是一种引用数据类型

数组定义的格式:

  1. 数据类型[] 数组名=new 数据类型[数据长度];

  2. 数据类型[] 数组名={值1,值2,值3,-----,值n}:知道数组里面存放什么数据

  3. 数据类型[] 数组名=new 数据类型[]{值1,值2,值3,-----,值n};
    打印数组:Arrays.toString(数组名)
    注意

    1.直接输出数组名会输出数组在内存中的地址,如果需要输入数组中的内容,需要通过Arrays.toString(数组变量名)
    2.如果定义数组没有手动存放数据,数组会默认存放,对应数据类型的默认值
    int 默认值 0 boolean 默认值是false
    double默认值是0.0 String(引用数据类型)默认值都是null
    3.数组定义时,必须指定长度
    `
    获取数组的长度:数组名.length
    获取数组中的元素格式: 数组名[数组下标] 数组下标是从0开始的,到 (数组名.length-1)

public static void main(String[] args) {
		
        int [] a=new int[3];
        //打印数组 Arrays.toString(数组名)
        System.out.println(Arrays.toString(a));
        
        String[] b= {"1","2","3","4"};//给的长度为4
        System.out.println(Arrays.toString(b));
        
        String[] c=new String[] {"1","2","3","4"};//给的长度为4
        System.out.println(Arrays.toString(c));

		int f=c.length;//获取数组的长度
        System.out.println(f);

		System.out.println(c[2]);//获取数组c中的字符c
		 //数组名[数组名.length-1]
        System.out.println(c[c.length-1]);//获取最后一个元素
        
        //修改数组中的某个位置的元素  格式:数组名[位置]=值 位置是从0开始
        c[1]="e";//将b改为e
        System.out.println(Arrays.toString(c));
        
        //将数组转换为字符串
        String ns=Arrays.toString(c);
        System.out.println(ns);
        
        //遍历数组:就是使用下标,将数组中的元素取出
        //i可以作为数组下标,从0开始到数组长度-1
        for (int i = 0; i < c.length; i++) {
			System.out.println("第"+(i+1)+"循环:"+c[i]);
		}
		
		//遍历数组,给新数组赋值
        int [] number=new int[5];
        System.out.println(Arrays.toString(number));//遍历前
        for (int i = 0; i < number.length; i++) {
			number[i]=i*10;
		}
        System.out.println(Arrays.toString(number));//遍历后
    }

小作业:
统计5名同学的考试成绩:

  • 计算出总成绩
  • 计算出平均成绩
  • 计算出班级最低分
  • 计算出班级最高分

爆错出现:ArrayIndexOutOfBoundsException 表示:数组下标越界

public static void main(String[] args) {
		
		double sum=0;
		double min=0;
		double max=0;
		double average=0;
		double [] grades=new double[5];
		
		Scanner key=new Scanner(System.in);
		//System.out.println("请输入5名同学的考试成绩!");
		for (int i = 0; i < grades.length; i++) {
			System.out.println("请输入"+(i+1)+"名同学的考试成绩!");
			grades[i]=key.nextDouble();
		}
		System.out.println("成绩表 :"+Arrays.toString(grades));
		min=grades[0];//初始赋值
		max=grades[0];
		for (int i = 0; i < grades.length; i++) {
			sum=sum+grades[i];//求总成绩
			if(min>grades[i]) {
				min=grades[i];
			}
			if(max<grades[i]) {
				max=grades[i];
			}
		}
		average=sum/5.0;
		System.out.println("总成绩:"+sum+"\t最低成绩"+min+"\t最高成绩:"+max+"\t平均成绩:"+average);
		key.close();
	}

英雄大战

public static void main(String[] args) {
		//第一个英雄
		String name1="one";
		//第一个英雄血量
		int blood1=500;
		//技能
		String[] sk1= {"q","w","e","r"};
		//第一个英雄伤害
		int [] skhrt= {70,80,100,150};
		
		//第二个英雄
		String name2="two";
		//第二个英雄血量
		int blood2=600;
		//技能
		String[] sk2= {"q","w","e","r"};
		//第二个英雄伤害
		int [] skhrt2= {50,60,80,100};
		
		Random rd=new Random();
		//游戏开始
		//让one随即释放一个技能,对two进行攻击
		//让two随即释放一个技能,对one进行攻击
		while (true) {
			//产生一个随机数
			int index1=rd.nextInt(sk1.length);
			//释放技能
			String s1=sk1[index1];
			//释放技能伤害
			int hr1=skhrt[index1];
			//让对方血量减少
			if (blood2>0) {				
				blood2-=hr1;
				if (blood2<=0) {					
					blood2=0;
				}
			}
			System.out.println(name1+"对"+name2+"释放"+s1+"造成"+hr1+"伤害,敌方还剩余:"+blood2+"血量");
			
			//杀死two
			if(blood2==0) {
				System.out.println(name1+"打败"+name2+","+name1+"获胜");
				break;
			}
			//停顿1秒
			try {
				Thread.sleep(1000);
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}				
			
			
			//产生一个随机数
			int index2=rd.nextInt(sk2.length);
			//释放技能
			String s2=sk2[index2];
			//释放技能伤害
			int hr2=skhrt2[index2];
			//让对方血量减少
			if (blood1>0) {				
				blood1-=hr2;
				if (blood1<=0) {					
					blood1=0;
				}
			}
			System.out.println(name2+"对"+name1+"释放"+s2+"造成"+hr2+"伤害,敌方还剩余:"+blood1+"血量");
			
			//杀死one
			if(blood1==0) {
				System.out.println(name2+"打败"+name1+","+name1+"获胜");
				break;
			}
			//停顿1秒
			try {
				Thread.sleep(1000);
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
				
	}
  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2022-02-19 01:25:36  更:2022-02-19 01:26:56 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 15:51:17-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码