Java学习笔记6
- 格式:pdf
- 大小:812.49 KB
- 文档页数:31
java基础知识点笔记Java是一门非常重要的计算机语言,具有良好的跨平台性和易读性和易学性。
尤其是基于Java开发的移动端和Web端产品,其优秀的性能和可扩展性在行业中得到了广泛的青睐。
作为Java开发工程师,熟练掌握Java的基础知识非常重要。
一、Java基本语法Java程序包含一个或多个类,不同类可以相互调用使用。
每一个Java程序都需要有一个入口点,即main()函数。
在Java中,注释采用“//”或“/*...*/”的形式,可以单行或多行注释。
Java变量需要先声明再使用,可以定义基本类型变量和引用类型变量。
Java中的运算符包括算术运算符、逻辑运算符等。
二、Java面向对象编程Java是一门面向对象的编程语言,对象是Java程序的基本组成单元。
Java中的类封装了数据和方法,可以实现类的继承和多态。
在Java中,使用构造函数实例化对象,可以使用访问控制符来控制类成员的访问权限。
三、Java流程控制语句Java中的流程控制语句有条件语句(if、if-else、switch)、循环语句(while、do-while、for)等。
其中,if语句可以进行嵌套,switch语句可以使用break语句避免case穿透问题。
四、Java数组Java中的数组是一组相同类型的数据序列,从0开始编号,使用方括号表示。
在Java中可以使用foreach来遍历数组,也支持多维数组。
五、Java异常处理Java程序中的异常指的是程序出现的错误。
异常处理是Java程序中的一部分,可以使用try-catch语句来捕获并处理异常。
Java中的异常类型包括运行时异常和受检查异常。
六、Javaio编程Java中的文件和I/O操作称为io编程。
Java的io编程采用字节流和字符流,其中字节流用于处理二进制数据,字符流用于处理文本数据。
Java中的io操作需要进行文件的读取、写入等操作,可以使用File类来操作文件。
七、Java线程Java程序中,线程指的是一条执行序列,Java中的线程可以继承Thread类或实现Runnable接口。
Java基础知识点归纳Java基础学问点归纳对于刚刚接触Java的人,java基础学问技术点繁多,那么yjbys我为大家汇总最全java学问点如下,仅供大家参考学习!1. JVM相关(包括了各个版本的特性)对于刚刚接触Java的人来说,JVM相关的学问不愿定需要理解很深,对此里面的概念有一些简洁的了解即可。
不过对于一个有着3年以上Java阅历的资深开发者来说,不会JVM几乎是不行接受的。
JVM作为java运行的基础,很难信任对于JVM一点都不了解的人可以把java 语言吃得很透。
我在面试有超过3年Java阅历的开发者的时候,JVM几乎就是一个必问的问题了。
当然JVM不是唯一确定技术能力好坏的面试问题,但是可以佐证java开发能力的高低。
在JVM这个大类中,我认为需要把握的学问有:JVM内存模型和结构GC原理,性能调优调优:Thread Dump,分析内存结构class 二进制字节码结构,class loader 体系,class加载过程,实例创建过程方法执行过程:Java各个大版本更新提供的新特性(需要简洁了解)2. Java的运行(基础必备)这条可能出看很简洁,java程序的运行谁不会呢?不过很多时候,我们只是单纯通过IDE去执行java程序,底层IDE又是如何执行java程序呢?很多人并不了解。
这个学问点是最最基本的java开发者需要把握的,初学java,第一个确定是教你如何在指令行中执行java程序,但是很多人一旦把java学完了,IDE用上了,就把这个都忘了。
为什么强调要知道这个呢,知道了java最纯粹的启动方式之后,你才能在启动出问题的时候,去分析当时启动的名目多少,执行命名如何,参数如何,是否有缺失等。
这样有利于你真正开发中去解决那些奇诧异怪的可能和环境相关的问题。
在这里需要把握的学问有:javac 编译java文件为class 文件java 指令的使用,带package的java类如何在指令行中启动java程序涉及到的各个路径(classpath,java。
Java读书笔记第一篇:Java读书笔记读书笔记1、类和对象:类是用来定义一组对象共同具有的状态和行为的模版。
而对象是现实世界中个体或事物的抽象表示,并且封装了它们的属性和行为。
2、为了防止命名冲突,Java采用了管理类文件的机制,即类包机制。
(package)定义包名的语法格式:“package包名;”Java命名规则要求包的命名需要使用小写字母。
3、成员变量和成员方法:1成员变量是在类体中定义的变量即全局变量,○成员变量一般用于定义对象的状态。
成员变量是给对象使用的,每个对象被创建后都会有属于自己的属性,即成员变量。
通过修改这些属性,从而改变对象的某个状态。
2成员方法是对象行为的描述。
○定义成员方法的语法格式:“[修饰符] 返回值类型方法名([形参表]){······//方法体}”修饰符:可以是:publicprivateprotactedstaticfinall等;返回值类型:如果方法需要返回值,必须这里声明方法的返回值类型,可以是基本数据类型(int short double booleanvoid等),也可以是对象类型如:数组、字符串等。
形参表:(可选部分)说明方法被调用时应该向它传递的数据。
形参表可以有一个也可以有多个,当有多个形参时每个形参之间要用“,”隔开。
1创建对象:创建对象使用到new语句。
4、对象:○声明并创建对象的语法格式如下:“类名对象名=new 类构造方法()”构造方法:构造方法是类创建对象是必须执行的方法,用于构造一个新的对象并初始化对象属性。
2访问对象的属性:○语法格式:“对象名.属性”3执行对象的行为:○对象的行为就是对象的成员方法,通常说调用或执行对象的某个方法。
语法格式:“对象名.成员方法名();”4对象的销毁:Java提供了垃圾回收机制,对不再使用的对象会自动销毁,也可○以在程序中显式的为某个对象赋null值,使对象不再被使用。
狂神说Java--Java学习笔记(基础合集)笔记参考来源狂神说Java视频https:///video/BV12J41137hu 本篇笔记有点长,可以根据⽬录定位,建议配合视频学习。
预科什么是计算机1. 名称:Computer,全称电⼦计算机,俗称电脑。
2. 定义:能够按照程序运⾏,⾃动、⾼速处理海量数据的现代化智能电⼦设备。
3. 组成:由硬件和软件组成。
4. 形式:常见显⽰有台式计算机、笔记本计算机、⼤型计算机等。
5. 应⽤:科学计算、数据处理、⾃动控制、计算机辅助设计、⼈⼯智能、⽹络等领域。
硬件及冯诺依曼结构计算机硬件组成:CPU,主板,内存,电源,主机箱,硬盘,显卡,键盘、⿏标,显⽰器。
冯诺依曼结构软件及软件开发计算机软件Windows常⽤快捷键Alt+f4关闭窗⼝ Shift+Delete永久删除 ctrl+w⾃动保存死机:任务管理器结束进程基本的Dos命令打开CMD的⽅式1. 开始+系统+命令提⽰符2. win键+R+输⼊cmd (推荐使⽤)3. 在任意的⽂件夹下,按住Shift键+⿏标右击,打开命令⾏窗⼝4. 在资源管理器地址栏路径前⾯加 “cmd ”5. 管理员运⾏⽅式:命令提⽰符右键以管理员⾝份运⾏(最⾼权限运⾏)常⽤的Dos命令# 盘符切换 E:# 查看当前⽬录下所有⽂件 dir# 切换⽬录 cd /d E:\idea# 返回上⼀级⽬录 cd ..# 进⼊同级⽬录下的下⼀级⽬录 cd tmp(该⽬录下的⽂件名)# 清屏 cls (clear screen)# 退出终端 exit# 查看电脑当前IP地址 ipconfig# 打开计算器 calc# 打开画图 mspaint# 新建记事本 notepad# 在当前⽬录新建⽂件夹 md test(⽂件夹名)# 新建⽂件 cd> a.txt(⽂件名)# 删除⽂件 del a.txt(⽂件名)# 删除⽬录 rd test(⽬录名)# ping命令(复制链接进⼊Dos直接单击⿏标右键粘贴)ping 计算机语⾔发展史第⼀代语⾔:机器语⾔第⼆代语⾔:汇编语⾔第三代语⾔:⾼级语⾔⾼级语⾔C、C++、Java、C#、Python、PHP、JavaScript …⼤体上分为:⾯向过程与⾯向对象两⼤类C语⾔是典型的⾯向过程的语⾔,C++,Java是典型的⾯向对象的语⾔Java⼊门Java帝国的诞⽣Java特性与优势简单性⾯对对象可移植性⾼性能分布式多态性多线程安全性健壮性Java三⼤版本Write Once,Run AnywhereJavaSE: 标准版 (桌⾯程序,控制台开发…)JavaME: 嵌⼊式开发 (⼿机,⼩家电…),已经凉了JavaEE: E企业级开发 (Web端,服务端开发…),JavaSE为基础JDK JRE JVMJDK:Java Development Kit (Java开发者⼯具,包括 JRE,JVM)JRE:Java Runtime Environment (Java运⾏时环境)JVM:Java Virtual Machine (Java虚拟机,跨平台核⼼)安装开发环境卸载JDk1. 删除Java安装⽬录2. 删除环境变量JAVA_HOME3. 删除path下关于JAVA的⽬录4. Java -version安装JDK1. 百度搜索JDK8,找到下载地址2. 同意协议,下载电脑对应的版本,如64位操作系统下载 jdk-8u281-windows-x64.exe3. 双击安装JDK4. 记住安装路径5. 配置环境变量1. 我的电脑-》属性-》系统⾼级设置-》环境变量2. 系统变量新建–> JAVA_HOME 输⼊对应的jdk安装路径3. path变量–>% JAVA_HOME%\bin6. 测试是否成功 cmd–>Java -versionJava基础注释1. 单⾏注释 //2. 多⾏注释 /* */3. ⽂档注释 /** */标识符和关键字Java 所有的组成部分都需要名字。
JAVA视频教程尚学堂---手把手教程Call:86-主讲教师马士兵SCM系统--------Java+VC跨平台(电信宽带运营平台-------Java+WEB(J2EE)跨平台远程教学平台----Java+WEB(tomcat)VOD视频监控-----VCERP视频会议---------VC新闻发布系统-----Java+XML(模板)网上商城课堂内容、教学方法、学习方法、预备知识、教学资源JAVA基础贯穿数据结构的知识(时间复杂度、链表)---非常重要语法基础【变量、循环、分支】最核心的东西—原理--学好OO【面向对象是最重要的】有新东西学是好事----个人价值Exception 从Java Web开始,框架巨多无比Array【数组】基础类、常用类I/O StreamCollection/Generic【集合类】Thread【线程】TCP/UDP【网络底层】GUI【Graphic User Interface 图形化用户接口窗口】Meta Data【以后讲,与紧密相关】Regular Expression【正规表达式】JDK初步Java Web编程【主攻一个框架---讲原理,略讲其他框架】针对Web程序J2EE【一套标准,包含Java Web 、JDPC、JSP、SP、JB/开源框架—就分步式来说,目前(2005)无东西与之抗衡】(比较,,)企业级应用J2ME移动设备移动增值SP运营商3G,2.5G,要火爆起来【网络先铺起来,应用才能上来;3G的网络还没有铺开、火爆起来,讲3G的应用超前了】巨无霸式的教学理论举例理论回顾练习讲解【三片面包加两片肉】注重结合工程实践【完全结合】注重传授自学能力【自学的东西相当重要,授人以鱼,不如授人以渔;慢慢学会掌握一定基础后才有,灌输、背,融成血液里的一部分,心中无剑,手中有剑—前提—心中有剑手中也有剑;时间短,强度大,该背就背】个人能力分三个层次知识学习前人的知识---学习能力的一个表现,被动地接受—接受能力{自己学习了知识后考虑如何去应用,去---学习解决问题的方法【类似问题遇到过】灵活运用学到的知识【碰到什么问题采用什么方法】解决问题的思路【最高层次】创造解决问题的方法【思路掌握了,遇到新问题,自己拓展一条思路,解决问题,不可能一口吃成一个胖子,沿着这三个层次一点一点往上升首先打造自己学习知识的能力,先把该掌握的知识掌握了,再谈如何应用---如何教---教大家写项目每一个知识教太深—给项目留得时间特别短---不合适;自学一些东西,慢慢去培养解决问题的思路,试着朝这个方向去培养,工作后慢慢遇到新问题使劲去思考了积累起来逐渐会有这个能力,灵活一点、再灵活一点!基础知识要背—灵活应用的东西不能背,无一定之规,在实践中慢慢锻炼—实践的越多—敲的代码越多(掌握思路后自主敲代码,哪怕敲不出来再看别人的思路—收获远远不一样,学习要自主一点,多思考思路才能开阔—无捷径,努力锻炼自己的就业能力。
诚信、创新、开放、合作JAVA的面向对象编程--------课堂笔记面向对象主要针对面向过程。
面向过程的基本单元是函数。
什么是对象:EVERYTHING IS OBJECT(万物皆对象)所有的事物都有两个方面:有什么(属性):用来描述对象。
能够做什么(方法):告诉外界对象有那些功能。
后者以前者为基础。
大的对象的属性也可以是一个对象。
为什么要使用面向对象:首先,面向对象符合人类看待事物的一般规律。
对象的方法的实现细节是屏蔽的,只有对象方法的实现者了解细节。
方法的定义非常重要。
方法有参数,也可能有返回值。
注意区分:对象(本身)、对象的实现者、对象的调用者。
分析对象主要从方法开始。
我们通过类来看待对象,类是对象的抽象。
其次,采用面向对象方法可以使系统各部分各司其职、各尽所能。
对象之间的耦合性一定要低(比如不同硬盘和不同主板之间的关系)。
这样才能使每个对象本身做成最好的。
对于对象的要求:高内聚、低耦合,这样容易拼装成为一个系统。
实现高内聚就是要最大限度低提高复用性(复用性好是因为高内聚)。
可复用性是OOP的基础。
比较面向过程的思想和面向对象的思想:面向过程的思想:由过程、步骤、函数组成,以过程为核心;面向对象的思想:以对象为中心,先开发类,得到对象,通过对象之间相互通信实现功能。
面向过程是先有算法,后有数据结构。
面向对象是先有数据结构,然后再有算法。
在用面向对象思想开发的过程中,可以复用对象就进行复用,如无法进行复用则开发新的对象。
开发过程是用对个简单的对象的多个简单的方法,来实现复杂的功能。
从语法上来看,一个类是一个新的数据类型。
在面向对象编程中,除了简单数据类型,就是对象类型。
定义类的格式:class Student{代码}注意类名中单词的首字母大写。
实例变量:定义在类中但在任何方法之外。
(New出来的均有初值)局部变量:定义在方法之中的变量。
局部变量要先赋值,再进行运算,而实例变量均已经赋初值。
这是局部变量和实例变量的一大区别。
一、概述1、安装JDK2、配置Path路径3、第一个小程序:HelloWorld.javaJavac:用来编译Java:用来解释执行注:java是由一个一个类*.Java源文件命名要跟public修饰的类名一致4、最小的程序单位是类(class),所以java程序必须以类的形式存在。
不允许执行语句、变量、方法等成分的独立存在。
5、JA V A源文件的命名规则A、源文件的后缀名必须是.javaA.编译型:使用专门的编译器。
将程序源代码一次性翻译成B.主文件名必须大写字母开头,不能符号、数字。
C、Java源文件命名要跟public修饰的类名一致。
一个类里只能有一个public类。
注:一个Java的源文件可以包含多个类的定义。
但是只能有一个public类。
(原则上不推荐一个源文件写多个类,正确的方式为:一个源文件定义一个类,且名字要相同)。
6、Java的运行机制B、高级的程序语言按程序的执行方式分为:编译型和解释型。
特定平台(特定的操作系统)可以执行的机器码。
解释型:使用专门的解释器逐行解释成特定平台(特定的操作系统)的机器码并立即执行。
7、Java的两大核心机制JVM:Java虚拟机(Java Virtual Machine)实现了JA V A 一次编译,到处执行。
垃圾回收:不再使用的内存空间应立即回收,就叫垃圾回收。
显示回收的缺点:A、忘记回收,内存泄漏B、错误的回收程序的核心类库的内存,系统崩溃。
JA V A的回收机制:Java的内存分配和回收都是JRE(Java Runtime Environment)在后台自动进行的。
JRE 会负责回收不再使用的内存,这种机制就叫垃圾回收机制。
二、JAV A的基础语法1、Java的注释:说明某段代码的作用,。
*、可读性第一,效率第二。
2、注释的形式:单行注释://多行注释:/* */文档注释:如果编写JA V A源程序时添加了合适的文档注释。
然后通过JDK提供的javadoc 工具可以直接将源代码中的文档注释提取成一份系统的API文档。
Java基础知识总结(超详细整理)Java语⾔的特点1.⾯向对象⾯向对象(OOP)就是Java语⾔的基础,也是Java语⾔的重要特性。
⾯向对象的概念:⽣活中的⼀切事物都可以被称之为对象,⽣活中随处可见的事物就是⼀个对象,我们可以将这些事物的状态特征(属性)以及⾏为特征(⽅法)提取并出来,并以固定的形式表⽰。
2.简单好⽤Java语⾔是由C和C++演变⽽来的,它省略了C语⾔中所有的难以理解、容易混淆的特性(⽐如指针),变得更加严谨、简洁、易使⽤。
3.健壮性Java的安全检查机制,将许多程序中的错误扼杀在摇蓝之中。
另外,在Java语⾔中还具备了许多保证程序稳定、健壮的特性(强类型机制、异常处理、垃圾的⾃动收集等),有效地减少了错误,使得Java应⽤程序更加健壮。
4.安全性Java通常被⽤在⽹络环境中,为此,Java提供了⼀个安全机制以防恶意代码的攻击,从⽽可以提⾼系统的安全性。
5.平台⽆关性Java平台⽆关性由Java 虚拟机实现,Java软件可以不受计算机硬件和操作系统的约束⽽在任意计算机环境下正常运⾏。
6.⽀持多线程在C++ 语⾔没有内置的多线程机制,因此必须调⽤操作系统的多线程功能来进⾏多线程程序设计,⽽ Java 语⾔却提供了多线程⽀持。
多线程机制使应⽤程序在同⼀时间并⾏执⾏多项任务,该机制使得程序能够具有更好的交互性、实时性。
7.分布式(⽀持⽹络编程)Java语⾔具有强⼤的、易于使⽤的⽹络能⼒,⾮常适合开发分布式计算的程序。
java中提供了⽹络应⽤编程接⼝(),使得我们可以通过URL、Socket等远程访问对象。
8.编译与解释共存Java语法基础标识符: ⽤来标识类名、对象名、变量名、⽅法名、类型名、数组名、⽂件名的有效字符序列。
合法的标识符:由字母、数字、下划线“_”、美元符号“$”或者“¥”组成,并且⾸字符不能是数字。
不能把java关键字和保留字作为标识符。
标识符对⼤⼩写敏感。
关键字:Java语⾔中已经赋予了特定含义的保留字: const、goto,Java版本中尚未使⽤,但以后版本可能会作为关键字使⽤变量:程序运⾏期间可以被改变的量。
Java基础笔记狂神说版Java基础学习笔记(狂神说版)三、Java⽅法(⼀)⽅法的重载1. 重载的概念:重载就是在⼀个类中,有相同的函数名称,形参不同的函数。
2. ⽅法重载的规则:(1)⽅法名必须相同(2)参数列表必须不同(个数不同、或类型不同、参数排列顺序不同等)(3)⽅法的返回类型可以相同,也可以不同(4)仅仅返回类型不同不⾜以成为⽅法的重载3. 实现理论:⽅法名称相同时,编译器会根据调⽤⽅法的参数个数,参数类型去逐个匹配,以选择对应的⽅法,如果匹配失败,则编译器报错(⼆)⽅法的可变参数可变参数(不定项参数):JDK1.5开始,Java⽀持传递同类型的可变参数给⼀个⽅法在⽅法声明中,在指定参数类型中加⼀个省略号(...)⼀个⽅法中只能指定⼀个可变参数,他必须是⽅法的最后⼀个参数,普通参数声明必须在其之前(三)⽅法的递归递归就是:A⽅法调⽤A⽅法!就是⾃⼰调⽤⾃⼰递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,⼤⼤减少了程序的代码量。
递归的能⼒在于⽤有限的语句定义对的⽆限集合。
递归结构包括两个部分:(1)递归头:什么时候不调⽤⾃⾝⽅法。
如果没有头,将陷⼊死循环。
(2)递归体:什么时候需要调⽤⾃⾝⽅法。
四、Java数组(⼀)数组的概念数组的定义:数组是相同类型数据的有序集合。
数组描述的是相同类型的若⼲个数据,按照⼀定的先后次序排列组合⽽成。
其中,每⼀个数据称作⼀个数组元素,每个数组元素可以通过⼀个下标来访问他们。
数组的四个基本特点:(1)其长度是确定的。
数组⼀旦被创建,它的⼤⼩就是不可以被改变的。
(2)其元素必须是相同类型,不允许出现混合类型。
(3)数组中的元素可以是任何数据类型,包括基本类型和引⽤类型。
(4)数组变量属引⽤类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量。
数组本⾝就是对象,Java中对象是在堆中的,因此数组⽆论保存原始类型还是其他对象类型,数组对象本⾝是在堆中的。
1、给出下列代码,则数组初始化中哪项是不正确的?byte[]arrays1,array2[];byte array3[][];byte[][]array4;A)array2=array1B)array2=array3C)array2=array4D)array3=array4解析:A是错误的,array1是一位数组,array2是二维数组,所以array2=array1初始化不正确。
int x[][][]={{{0}}};int y[][]=x[0];x[0][0][0]=3;System.out.println(++y[0][0]);//结果为4解析:int y[][]=x[0];是给赋值2、例举集合体系中Map、List、Set的不同之处及每个体系的常用实现类3、请简单java.io包中的DataOutputStream和ObjectOutputStream 类各自适合输出什么样地数据?4、Java语言中成员变量和局部变量的作用范围是什么?5、编写一个方法,实现文件复制的功能,方法格式如下:Public void copyFile(String src,String dest){//coding here}6、this和super区别:7、Java程序利用main函数中args参数实现参数的传递1.运行Java程序的同时,可以通过输入参数给main函数中的接收参数数组args[],供程序内部使用!即当你在Java命令行后面带上参数,Java虚拟机就直接把它们存放到了main方法中的参数String 数组里了。
2..args是Java命令行参数,因为参数可以为多个,所以要用数组来存我们在DOS中执行Java程序的时候使用“java文件名args参数”。
args这个数组可以接收到这些参数。
注:如果程序要使用用命令行参数的话就必须在java运行前指定相应的参数。
运行下下面这个小程序:[java]view plaincopy1package org.test;2public class Test{3public static void main(String[]args){4System.out.println(args[0]);5System.out.println(args[1]);6System.out.println(args[2]);7}8}用控制台编译:javac Test.java运行:java Test aaa bbb ccc记得运行那一行代码后面带上三个参数~~~参数之间用空格隔开!下面再举一个例子:运行代码:[java]view plaincopy9package org.test;10public class Test{11public static void main(String[]args){12if(args.length==0){13System.out.println("您调用main方法时没有指定任何参数!");14return;15}16System.out.println("您调用main方法时指定的参数包括:");17for(int i=0;i<args.length;i++){18System.out.println("参数"+(i+1)+"的值为:"+args[i]);19}20}21<STRONG>}</STRONG>可以在命令提示符下像下面这样调用来测试结果:如果是在其它程序中调用,则可用可变参数或数组形式传入参数即可。
3、上述是命令行参数在DOS窗口运行时的输入方法,那么在myeclipse中如何输入命令行参数?方法:在myeclipse运行java程序的时候,run as中有个open Run Dialog然后去那里找一个(x)=Arguments然后在第一个文本框里依次输入命令行参数即可!程序运行结果:8、Java数组应用十大技巧攻略The following are top10methods for Java Array.They are the most voted questions from stackoverflow.(关于Java数组最顶级的11大应用方法,这些方法在工作流程问题中经常会用到!无论是运用在团队环境或是在私人项目中,你都可以直接拿来用!)0.Declare an array(声明数组)[java]view plaincopy1String[]aArray=new String[5];2String[]bArray={"a","b","c","d","e"};3String[]cArray=new String[]{"a","b","c","d","e"};1.Print an array in Java(数组的输出)[java]view plaincopy4package org.test;5import java.util.Arrays;6public class Test1{7public static void main(String args[]){8int[]intArray={1,2,3,4,5};9//数组输出,方法一10int i=0;11for(i=0;i<5;i++){12System.out.println(intArray[i]);13}14//数组输出,方法二15for(int shuzu:intArray)16System.out.println(shuzu);17String intArrayString=Arrays.toString(intArray);18//print directly will print reference value19System.out.println(intArray);20//[I@7150bd4d21System.out.println(intArrayString);22//[1,2,3,4,5]23}24}2.Create an ArrayList from an array(从数组中创建ArrayList数组列表)[java]view plaincopy25String[]stringArray={"a","b","c","d","e"};26ArrayList<String>arrayList=newArrayList<String>(Arrays.asList(stringArray));27System.out.println(arrayList);//输出:[a,b,c,d,e]3.Check if an array contains a certain value(检查数组中是否包含特定值)[java]view plaincopy28String[]stringArray={"a","b","c","d","e"};29boolean b=Arrays.asList(stringArray).contains("a");30System.out.println(b);//true4.Concatenate two arrays(连接两个数组)[java]view plaincopy31int[]intArray={1,2,3,4,5};32int[]intArray2={6,7,8,9,10};33//Apache Commons Lang library(ArrayUtils是Apache提供的class)34int[]combinedIntArray=ArrayUtils.addAll(intArray,intArray2);5.Declare an array inline(声明一个数组内链)[java]view plaincopy35method(new String[]{"a","b","c","d","e"});6.Joins the elements of the provided array into a single String(将数组元素加入到一个独立的字符串中)[java]view plaincopy36//containing the provided list of elements37//Apache common lang38String j=StringUtils.join(new String[]{"a","b","c"},",");39System.out.println(j);40//a,b,c7.Covnert an ArrayList to an array(将数组列表转换成一个数组)[java]view plaincopy41String[]stringArray={"a","b","c","d","e"};42ArrayList<String>arrayList=newArrayList<String>(Arrays.asList(stringArray));43String[]stringArr=new String[arrayList.size()];44arrayList.toArray(stringArr);45for(String s:stringArr)46System.out.println(s);8.Convert an array to a set(将数组转换成一个集合)[java]view plaincopy47Set<String>set=new HashSet<String>(Arrays.asList(stringArray));48System.out.println(set);//[d,e,b,c,a]9.Reverse an array(反向数组)[java]view plaincopy49int[]intArray={1,2,3,4,5};50ArrayUtils.reverse(intArray);51System.out.println(Arrays.toString(intArray));//[5,4,3,2,1]10.Remove element of an array(删除数组元素)[java]view plaincopy52int[]intArray={1,2,3,4,5};53int[]removed=ArrayUtils.removeElement(intArray,3);//create a new array 54System.out.println(Arrays.toString(removed));One more–convert int to byte array()[java]view plaincopy55byte[]bytes=ByteBuffer.allocate(4).putInt(8).array();56for(byte t:bytes){57System.out.format("0x%x",t);58}java数组的初始化:1.动态初始化:数组定义与为数组分配空间和赋值的操作分开进行;2.静态初始化:在定义数字的同时就为数组元素分配空间并赋值;3.默认初始化:数组是引用类型,它的元素相当于类的成员变量,因此数组分配空间后,每个元素也被按照成员变量的规则被隐士初始化。