数组是指一组数据的集合,数组中的每个数据被称为元素。数组可以存放任意类型的 元素,但同一个数组中存放的元素类型必须一致,例如使用一个int类型数组保存某个学生的各科成绩,这样就避免了定义多个变量保存成绩的麻烦。
在Java中,可以使用以下格式定义一个数组:
int[] x=new int[10]; 或 int[] x; x=new int[10];2.8.2 Arryas工具类
Arrays是一个专门用于操作数组的工具类,该类位于java.util包中。Arrays工具类提供了大量的静态方法,常用的方法如表2-7所示
import java.util.*;
public class HelloWorld{
public static void main (String[] args){
int[] arr={9,8,3,5,2};
int[] copied=Arrays.copyOfRange(arr,1,7);//复制数组
System.out.println("复制数组:"+Arrays.toString(copied));
Arrays.sort(arr);
System.out.println("排序后:"+Arrays.toString(arr));
Arrays.fill(arr,8);
System.out.println("填充数组:"+Arrays.toString(arr));
}
}
2.8.3 String类和String Buffer类
2.8.3.1String类
在使用String类之前,首先需要***对 String类进行初始化***,初始化可以通过两种形式实现。
(1)使用字符串常量直接初始化一个String对象,具体代码如下:
String str1="abc";
(2)使用String的构造方法初始化String对象,具体代码如下:
String str1=new String(); //初始化一个空字符
String str2=new String("abc");// 根据指定字符串内容初始化
代码示例如下:
public class HelloWorld{
public static void main (String[] args){
String s="ababcabcdedcba"; //声名字符串
System.out.println("字符串的长度:"+s.length());
System.out.println("字符串的第一个字符:"+s.charAt(3));
System.out.println("字符c第一次出现的位置:"+s.indexOf('c'));
System.out.println("字符串“ab”第一次出现的位置:"+s.indexOf("ab"));
System.out.println("字符d最后一次出现的位置:"+s.lastIndexOf('d'));
System.out.println("字符串最后一次出现的位置:"+s.lastIndexOf("ab"));
}
}
2.8.3.2StringBuffer类
由于String字符串是常量,一旦创建,其长度和内容都是不可变的,为此JDK提供了StringBuffer类(也称字符串缓冲区)它的内容和长度都可变,针对添加和删除字符的操作,StringBuffer类提供了一系列的方法,具体如表2-9 所示
插入删除的起始位置的数字为数组下标
以下为代码演示:
public class HelloWorld{
public static void main(String[] args){
System.out.println("***********添加***********");
add();
System.out.println("***********删除***********");
remove();
System.out.println("***********修改***********");
alter();
}
public static void add(){
StringBuffer sb=new StringBuffer();
sb.append("abcdefg");
System.out.println("append添加结果:"+sb);
sb.insert(3,"123");
System.out.println("insert插入结果:"+sb);
}
public static void remove(){
StringBuffer sb=new StringBuffer("abcdefg");
sb.delete(2,4);
System.out.println("delete删除指定范围结果:"+sb);
sb.deleteCharAt(3);
System.out.println("删除指定位置结果:"+sb);
sb.delete(0,sb.length());
System.out.print("清空缓存区结果:"+sb);
}
public static void alter(){
StringBuffer sb=new StringBuffer("abcdefg");
sb.setCharAt(2,'h');
System.out.println("修改指定位置的结果:"+sb);
sb.replace(1,3,"yy");
System.out.println("替换指定位置字符结果:"+sb);
System.out.println("字符串翻转结果:"+sb.reverse());
}
}
2.8.4包装类
在Java中,很多类的方法都需要接收引用类型的对象,此时就无法将一个基本数据类型的值传入。为了解决这样的问题,JDK 中提供了一系列的包装类,通过这些包装类可以 将基本数据类型的值包装为引用数据类型的对象。
代码示例:
package com.itheima.example;
public class Example19 {
public static void main(String args[]) {
Integer a=3; //自动装箱
int b=a+4; //自动拆箱
System.out.println(b);
}
}
第三章 面向对象
3.1面向对象的特征和概念
1.封装性:封装是面向对象的核心思想,是指将对象的属性和行为封装起来,不需要让外界知道内 部是如何实现细节的,这就是封装的思想。
2.继承性:继承性是描述类与类之间的关系,在已有类的基础上扩展出新的类。
3.多态性:多态性指的是对象在不同情况下具有不同的表现能力。
3.2类与对象 3.2.1类与对象的关系从图3-1中可以看出,汽车图纸就相当于 一个类,每个 汽 车 就 相 当 于 一 个 对 象。因 为 汽 车本身属 于 一 种 广 义 的 概 念,并 不 能 代 表 具 体 的东西,所以,从汽车类到具体的某辆汽车便可 以看出类 用 于 描 述 多 个 对 象 的 共 同 特 征,它 是 对象的模板,而对象是用于描述现实中的个体, 它是类的实例。
3.2.2类的定义对象是面向对象思想中的核心,为了在程序中创建对象,首先需要定义一个类。类是通过“class”关键字定义的,类中可以定义成员变量和成员方法,其中成员变量用于描述对象的特征(也称为属性),成员方法用于描述对象的行为(简称为方法)。
假设要在程序中描述汽车的相关信息,可以先设计一个汽车类,在这个类中定义两个属 性color和num,分别表示汽车的颜色和轮胎,定义一个方法run()表示汽车跑的行为。接 下来根据这个描述设计一个 Car类,首先创建一个chapter03项目,然后在该项目下创建一 个com.itheima.example01包,在该包下创建一个car类。代码如下:
package com.itheima.example01;
public class car{
String color; //定义一个颜色属性
int num; //定义一个轮胎属性
public void run(){
System.out.println("这辆车的颜色是:"+color+"轮胎数量是:"+num);
}
}
定义了一个 Car类。其中,Car是类名,color和 num 是成员变量,run()是成员方法。在成员方法run()中可以直接访问成员变量color和num。



