2020-08-03总结&练习
Posted cvems700
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2020-08-03总结&练习相关的知识,希望对你有一定的参考价值。
笔记
数组初始化的两种方式:
1.动态初始化
①数据类型[] 数组名= new 数据类型[数组大小]
Int[] array = new int[9] //一个长度为9的数组。
创建数组完成后,通过for循环给数组赋值
通过数组的下标,数组的下标从0开始
array [0]=10;/给数组的第一个元素赋值。
2.静态初始化:
区别:静态初始化在初始化数组的同时给数组赋值
动态初始化:再初始化的时候给数组定义长度。
②数据类型[] 数组名 new 数据类型[数组大小]值1,值2
3.最简洁的方式创建数组
Int [] array =new 值1,值2
4.获取数组长度:数组名.length;
Ps:数组的长度一旦定义不可改变
5.数组中常见的几种异常
ArrayIndexOutOfBoundsException://数组过界异常。
NullPointerException://空指针异常。
6.遍历数组的两种方式:
①for循环
②foreach(for循环的增强版)
for(int a:array)
System.out.println(a);
//for+要遍历的数组名获取数组中的第一个元素赋值给a,执行循环体
数组的数据类型:
①基本数据类型8中
Int short long byte double float Boolean char
各类型的默认值:
整数类型0
小数类型0.0
Char类型:“ ”(空格)
布尔类型:false
②引用数据类型
引用数据类型的默认值为null
Java中的内存是怎么进行分配的:
内存的申请和释放都由jvm管理,java程序要运行,jvm会自动的向电脑申请一块内存,把这块内存分为五部分
①栈stack:主要存放局部变量(定义在方法内部的变量)
②堆:heap:凡是new创建的对象都在堆里面进行存放:原则::堆当中的数据都有默认原则
③方法区method area:存放的是与.class文件存放的信息
④本地方法区:NativeMethod area:与操作系统有关
⑤寄存器:(register):与cpu有关。
Int[] num =new int[];
在栈中开辟一块地址空间生成变量
New后会生成一块内存空间,然后将内存分为数组大小的块数,生成地址值
将地址值赋值给局部变量
选择排序:
折中排序:
冒泡排序:(重点)
核心思想:数组中的元素两两比较取其中的最大值
10,20,30,40,50,60;
从大到小输出
20 30 40 50 60 10 第一趟 5次
30 40 50 60 20 10 第二趟 4次
40 50 60 30 20 10 第三趟 3次
50 60 40 30 20 10 第四趟 2次
60 50 40 30 20 10 第五趟 1次
练习
//数组练习
package d804s01;
public class Basicarray
public static void main(String[] args)
int[] array =new int[]4,2,0,-1,-8,23,9;
//最大值
int max =array[0];
for(int i=0;i<array.length;i++)
int x=array[i];
if(x>max)
max=x;
System.out.println("数组的最大值:"+max);
//最小值
int min =array[0];
for(int a:array)
if(a<min)
min =a;
System.out.println("数组的最小值:"+min);
//平均数
double avg=0;
int sum =0;
for(int a:array)
sum+=a;
avg=sum/array.length;
System.out.println("数组的平均值为"+avg);
//总和
System.out.println("数组的总和为:"+sum);
//反转
int x=0;
for(int i=0;i<array.length/2;i++)
x=array[i];
array[i]=array[array.length-i-1];
array[array.length-i-1]=x;
System.out.println("将数组逆向输出为:");
for(int i:array)
System.out.print(i+" ");
//数组练习②
package d804s02;
import java.util.Scanner;
public class calcarray1
public static void main(String[] args)
// TODO Auto-generated method stub
System.out.println("请输入十个整数存放到数组中:");
Scanner scanner =new Scanner(System.in);
int[] array =new int[10];
for(int i=0;i<10;i++)
array[i]=scanner.nextInt();
// for(int x:array)
// System.out.println(x);
//
// 元素之和
int sum=0;
for(int i:array)
sum+=i;
//平均值
double avg=0;
avg=(double)sum/array.length;
//最大值
int max=0;
for(int i:array)
if(i>max)
max=i;
//最小值
int min=0;
for(int i:array)
if(i<min)
min=i;
System.out.println("数组之和为:"+sum);
System.out.println("数组的平均值为:"+avg);
System.out.println("数组的最大值为:"+max);
System.out.println("数组的最小值为:"+min);
以上是关于2020-08-03总结&练习的主要内容,如果未能解决你的问题,请参考以下文章