2.面向对象基础-03Java数组
一、数组的创建和初始化
(一)创建数组:
import java.util.*;
import java.io.*;
public class Main
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
//new 数组元素类型[元素个数]
int [] s = new int [2];
s[0] = 1;
s[1] = 2; //对象数组:存放对象的引用
Student [] t = new Student[2];
t[0] = new Student(201901010101l,"li");
t[1] = new Student(201901060326l,"King");
for(int i = 0 ; i < t.length ; i++)
{
System.out.println(t[i].toString());
}
} }
class Student
{
long no;
String name; public Student()
{
super();
} public Student(long no, String name)
{
this.no = no;
this.name = name;
}
@Override
public String toString()
{
return "no : "+no+
" name : "+name;
} }

(二)数组初始化
1.动态初始化:数组的定义与为数组分配空间、赋值操作分开进行。
-先分配空间,然后给元素赋值
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
int[] a ;
a = new int [2];
a[1] = 1;
a[2] = in.nextInt();
}
2.静态初始化:定义数组的同时给数组分配空间并赋初值
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
int [] a1 = {1,in.nextInt()};
int [] a2 = new int []{1,2,3,4,5};
}
(三)数组创建时的默认初始化
int : 0
double : 0.0
String : null
对象: null
二、数组的使用
1.必须用new为数组分配空间后,才可以引用数组中的元素
2.引用数组元素的方法:a[i] i取值0~n-1
3.属性:length(只读),数组长度
4.数组创建后不能改变大小,但可运行时动态确定数组的大小
三、二维数组
1.Java中实际上没有多维数组,只有一维数组
2.本质:数组的数组
3.可以有不规则数组:不同行可以有不同长度
4.二维数组的创建与遍历
import java.util.*;
import java.io.*;
public class Main
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
int a[][] = new int[3][];
a[0] = new int [2];
a[0][0] = 1;
a[0][1] = 2;
a[1] = new int []{1,2,3};
a[2] = new int [] {1,2,3,4};
for(int i = 0 ;i < a.length ; i++)
{
for(int j = 0 ; j < a[i].length ; j++)
{
System.out.print(a[i][j]+" ");
}
System.out.println();
}
}
}
四、数组的工具类
1.数组的拷贝(按块拷贝)
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
int a[] = {1,2,3};
int b[] = new int [3];
//System.arraycopy(from, fromindex, to, toIndex, count);
System.arraycopy(a, 0, b, 0, b.length);
for(int i = 0 ; i < b.length ; i++)
{
System.out.print(b[i]+" ");
}
}
2.Arrays
java.util.Arrays
功能:定义了多种数组操作静态方法,实现了对数组元素的排序、填充、转换为列表或字符串形式、增强的检索和深度比较等功能
import java.util.Arrays;
public class Main
{
public static void main(String[] args)
{
int a[] = {1,2,3,39,0,19,89}; System.out.print(Arrays.toString(a));//转换为列表或字符串形式
Arrays.sort(a);//数组元素排序 System.out.println();
System.out.println("-----------"); System.out.print(Arrays.toString(a)); System.out.println();
System.out.println("-----------"); System.out.println(Arrays.binarySearch(a, 19));//二分查找根据元素锁定下标
} }
2.面向对象基础-03Java数组的更多相关文章
- [.net 面向对象编程基础] (17) 数组与集合
[.net 面向对象编程基础] (17) 数组与集合 学习了前面的C#三大特性,及接口,抽象类这些相对抽象的东西以后,是不是有点很累的感觉.具体的东西总是容易理解,因此我们在介绍前面抽象概念的时候,总 ...
- MYSQL、PHP基础、面向对象基础简单复习总结
一.MYSQL 1.配置MySql 第一步安装服务器(apache). 第二部安装MySql界面程序 2 ...
- 【重走Android之路】【Java面向对象基础(一)】数据类型与运算符
[重走Android之路][基础篇(一)][Java面向对象基础]数据类型与运算符 1.数据类型介绍 在Java中,数据类型分为两种:基本数据类型和引用类型. 基本数据类型共8种,见下表: 基本数 ...
- sql+PHP基础+面向对象基础简单总结
一.MYSQL 1.配置MySql 第一步安装服务器(apache). 第二部安装MySql界面程序 2 ...
- Java第三次作业——面向对象基础(封装)
Java第三次作业--面向对象基础(封装) (一)学习总结 1.什么是面向对象的封装性,Java中是如何实现封装性的?试举例说明. 封装性 封装性是面向对象的方法所应遵循的一个重要原则,它有两个含义: ...
- JAVA(一)JAVA基础/面向对象基础/高级面向对象
成鹏致远 | lcw.cnblog.com |2014-01-23 JAVA基础 1.开发环境搭建 JAVA程序的执行流程 JAVA命令->要使用一个*.class文件(类文件)->通过c ...
- php面向对象基础知识点总结
下面是一些PHP面向对象基础知识的摘录,摘录内容来自PHP5.1手册. 1.类的变量成员叫做“属性”,或者叫“字段”.“特征”,在本文档统一称为“属性”. 2.属性中的变量可以初始化,但是初始化的值必 ...
- Java学习 · 初识 面向对象基础一
面向对象基础 1.1面向过程与面向对象的区别 面向过程和面向对象二者都是思考问题的方式,再简单的事物时,可以线性思考时使用面向过程,但当事物较为复杂时,只能使用面向对象设计.但二者并不是对立的,在解决 ...
- JavaSE学习笔记(2)---面向对象基础
JavaSE学习笔记(2)---面向对象基础 1.面向对象具有三大特征:封装性.继承性和多态性,而面向过程没有继承性和多态性,并且面向过程的封装只是封装功能,而面向对象可以封装数据和功能.所以面向对象 ...
- 到头来还是逃不开Java - Java13面向对象基础
面向对象基础 没有特殊说明,我的所有学习笔记都是从廖老师那里摘抄过来的,侵删 引言 兜兜转转到了大四,学过了C,C++,C#,Java,Python,学一门丢一门,到了最后还是要把Java捡起来.所以 ...
随机推荐
- 读取本地xml或json等本地文件报错Failed to load file:///D:/xml/test.xml: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https.
问题如上图: 原因及解析:在浏览器打开本地的html文件, 上面proxy中的url获取的就是一个本地文件, 协议是file://,如果是在服务器启动的话,则使用的是http或者https协议.出于安 ...
- oracle查看归档信息
1.查看归档信息 show parameter recovery_file_dest #查看归档目录 show parameter recovery_file_dest_size #查看归档可以存储的 ...
- 037_Clone Button
ResolutionTo do this first go to Setup | Customize | Accounts | Buttons and Links | New. Enter the f ...
- Pytest Fixture(二)
作用域 固件的作用是为了抽离出重复的工作和方便复用,为了更精细化控制固件(比如只想对数据库访问测试脚本使用自动连接关闭的固件),pytest 使用作用域来进行指定固件的使用范围. 在定义固件时,通过 ...
- 题目集4~6的总结性Blog
题目集4~6的总结性Blog (1)前言 在这三次作业中,主要考察了正则表达式以及类间的关系.在这三次作业中,相比之下,第四次以及第五次作业的难度明显高于第六次作业,题量与难度相较于以往的作业也有明显 ...
- Flutter基于Mac的环境配置
1.下载Flutter SDK git clone https://github.com/flutter/flutter.git 2.配置Flutter镜像+Flutter环境变量 ( 先创建.bas ...
- 项目实训 DAY8
功能页面开发完毕,实现了两种工具(d3.js/echarts.js)的可视化效果,并与前端整合完毕. 项目实训步入尾声,最后的几(一)天大概就是完善最后的工作,准备答辩.
- (论文笔记)Learning Deep Structured Semantic Models for Web Search using Clickthrough Data
利用点击数据学习web搜索的深度学习模型 [总结] 该模型可以得到query和item的低维度向量表示,也可以得到二者的余弦语义相似度. 学习过程是通过最大化后验概率的极大似然估计得到的参数. ...
- 主要转引本地的pycharm如何与服务器连接
需求:本地电脑pycharm上编写程序,在服务器端运行代码. 主要参考了这两篇文章: 1. https://blog.csdn.net/qq_43391414/article/details/1205 ...
- PLC入门笔记12
1.边沿应用 (1)边沿开关 (2)上升沿触发 下降沿触发 (3) MOVP K4M0 D0 传送比较 movp (=mov) 脉冲型指令 前面条件成立只能执行一次,仅执行一次扫描周期 不带P MOV ...