酱油的笔记6:Java数组

数组

数组和变量差不多,都是存放数据的。不同的是变量只能保存一条数据,而数组可以保存多条数据,前提是这多条数据是同一类型的。
数组是一种引用数据类型。

数组初始化分为两种情况

(1)动态初始化:指定数组的长度,一旦长度指定,就是数组中只能存放多少数组;两种格式:
①第一种:
数组类型[ ] 数组名=new 数组类型[数组长度]
②第二种
数组类型[ ] 数组名;
数组名=new 数组类型[数组长度]

(2)静态初始化:不指定数组的长度,而是直接在初始化数组的同时给数组赋值。
①:数组类型[ ] 数组名=new 数组类型[ ]{数据1,数据2···};
②:数组类型[ ] 数组名;
数组名=new 数组类型[ ]{数据1,数据2···};
还有一种简单方式
数组类型[] 数组名={数据1,数据2···};

获取数组长度
数组名.length ,数组长度一旦定义,不可改变。

遍历数组

①for循环

for(i=0;i<=array.length;i++){
   System.out.println(array[i]);
}

foreach(for循环的增强)

for(int a:array){
System.out.println(a);
}
数据类型的数组

基本数据类型的数组
动态初始化数组以后,数组的元素都会赋予一个默认
byte short int long double float char boolean
默认值 0 0 0 0 0.0 0.0 空格 false
引用数据类型的数组
String 接口 自己定义的类
默认值 null

Java内存分配

内存的申请和释放都是由jvm进行管理的,Java程序要运行,jvm会自动向电脑申请一块内存。
1.栈(Stack):主要是存放局部变量
2.堆(Heap):凡是new出来的东西都在堆里面,堆当中都有默认值
3.方法区(Method Area):存放的是与.class相关的信息
4.本地方法区(Native Method Area):与操作系统有关。
5.寄存器(Rsgister):与cup有关。
练习1
求学生成绩的总分、平均分、最低分、最高分

int[] score=new int[]{909,89,56,87};
//总分
int sum=0;
for(i=0;i<=score.length;i++){
   sum+=score
   System.out.peintln("总分"+sum); 
}
//平均分
int avg=sum/score.length;
System.out.println("平均分"+avg);
//最高分
int max=score[0];
for(```){
  if(max<score[i]){
    max=score[i];
}
}
System.out.printn("最高分"+max);
//最低分```

{“C语言”,“C++”,“C#”,“Java”,”Python“,“js”};逆序输出

String[ ] str=new String[]{"C语言”,“C++”,“C#”,“Java","Python","js"};
for(i=0;i<str.length;i++){
   String temp=str[i];
   str[i]=str[str.length-1-i];
   str[str.length-1-i]=temp;
}
for(String s:str){
System.out.println(s);
}
冒泡排序

数组中的元素两两比较。
N个数比较了N-1趟
每一轮比较次数=N-躺数

口诀:
n个数字来比较
两两相比小靠前
外层循环n-1
内层循环n-1-i

int[] array={76,3,234,90,6,78,1,-1};
//外层循环控制趟数
for(int i=0;i<array.length-1;i++){
   for(int j=0;j<ayyay.length-i-1){
   if(array[j]<array[j+1]){
   int temp=array[i];
   array[j]=array[j+1];
   array[ja=1]=temp;
     }
   }
}
for(int a:array){
  System.out.println(a);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值