java学习04数组

package com.atguigu.java;


import java.util.Scanner;


public class test01 {
public static void main(String[] args) {
/*
* 数组 
* 1.数组是多个相同类型数据的组合
* 2.数组中的元素可以是任何数据类型(基本数据类型,引用数据类型)
* 3.数组是引用数据类型
*/
/* //一维数组
//1.申明数组
int[] array01;
int array02[];
//2.数组初始化
//静态初始化
int[] array03 = new int[]{1,2,3};
int[] array04 = {1,2,3};
//动态初始化
int[] arr = new int[3];
arr[0] = 1;
arr[1] = 1;
arr[2] = 1;*/
//eg.创建一维数组
int array05[];
array05 = new int[10];
//int array05[] = new array05[10];
for(int i=0;i<10;i++){
array05[i] = i*2+1;
System.out.println(array05[i]);
}
//eg.创建引用类型数组
user[] u = new user[3];
for(int i=0;i<u.length;i++){
u[i] = new user("a",1);//静态类只能与静态类互相操作
u[i].getUserMes();
}

//数组的初始化
//byte,short,int,long
byte[] a = new byte[5];
int[] b = new int[5];
short[] c = new short[5];
long[] d = new long[5];
System.out.println(a[0]); //0
System.out.println(b[0]);//0
System.out.println(c[0]);//0
System.out.println(d[0]);//0
//char
char[] e = new char[5];
System.out.println(e[0]); //空格
//folat,double
float[] f = new float[5];
System.out.println(f[0]);//0.0
//String
String[] g = new String[5];
System.out.println(g[0]);//null

/*数组的引用
1.要在new之后引用
2.引用方式:通过数组下标的方式
3.数组的长度初始化后不可变
4.数组的长度 a.length
*/
/*
* test:从键盘读入学生成绩,找出最高分,并输出学生成绩等级。
成绩>=最高分-10    等级为’A’   
成绩>=最高分-20    等级为’B’
成绩>=最高分-30    等级为’C’   
其余                            等级为’D’
提示:先读入学生人数,根据人数创建int数组,存放学生成绩。
*/
Scanner s = new Scanner(System.in);
System.out.println("请输入人数:");
int num = s.nextInt();
int[] scores = new int[num];
System.out.println("请输入成绩");
int maxscore =0;
for(int i=0;i<scores.length;i++){
scores[i] = s.nextInt();
if(scores[i]>maxscore){
maxscore = scores[i];
}
}
System.out.println("最高分:"+maxscore);
for(int i=0;i<scores.length;i++){
if(scores[i]>=maxscore-10){
System.out.println("分数:"+scores[i]+" 等级A");
}
else if(scores[i]>=maxscore-20){
System.out.println("分数:"+scores[i]+" 等级b");
}
else if(scores[i]>=maxscore-30){
System.out.println("分数:"+scores[i]+" 等级c");
}
else {
System.out.println("分数:"+scores[i]+" 等级d");
}
}

//多维数组
//动态初始化
int[][] array10 = new int[2][3];
int[][] array11 = new int[2][];
array11[0] = new int[2];
array11[1] = new int[3];

//静态初始化
int[][] array12 = new int[][]{{1,2},{1,2,3},{1}};
//注意特殊写法情况:int[] x,y[]; x是一维数组,y是二维数组。
//eg.
int[]x,y[];//int[]x ;int[][]y;
//x[0] = y;  //no


//y[0] = x; //yes


//y[0][0] = x;//no


//x[0][0] = y;//no


//y[0][0] = x[0];//yes


//x = y; //no

//获取所有元素的和:int[][] arr = new int[][]{{3,8,2},{2,7},{9,0,1,6}};
int[][] arr = new int[][]{{3,8,2},{2,7},{9,0,1,6}};
int count=0;
for(int i=0;i<arr.length;i++){
for(int j=0;j<arr[i].length;j++){
count += arr[i][j];
}
}
System.out.println(count);

//冒泡排序
int[] sortnum = new int[]{3,5,2,4,6,9,4};
for(int i=0;i<sortnum.length-1;i++){//外层控制排序趟数
for(int j=0;j<sortnum.length-1-i;j++){//内层控制很一趟排序的次数
if(sortnum[j]>sortnum[j+1]){
int temp = sortnum[j];
sortnum[j] = sortnum[j+1];
sortnum[j+1] = temp;
}
}
}

System.out.println("排序结果");
for (int i : sortnum) {
System.out.println(i);
}
}

static class user{
private String name;
private Integer age;
public user(String name, Integer age) {
super();
this.name = name;
this.age = age;
}
public void getUserMes(){
System.out.println("name:"+name+"  age:"+age);
}

}
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值