一、冒泡排序的基础算法
1、比较相邻的元素,如果第一个比第二个大,就交换他们两个。
2、对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对,在这一点,最后的元素应该会是最大的数。
3、针对所有的元素重复以上的步骤,除了最后一个
4、持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较
public class testbubble {
public static void main(String[] args) {
int[] array= {3,1,6,5,9,0,4,8,2,7};
System.out.println(Arrays.toString(array));
int temp=0;
for(int i=0;i<array.length-1;i++) {
for(int j=0;j<array.length-1-i;j++) {
if(array[j]>array[j+1]){
temp=array[j];
array[j]=array[j+1];
array[j+1]=temp;
}
}
}
System.out.println("排序完成后:");
System.out.println(Arrays.toString(array));
}
}
二、包装类基本知识
Java是面向对象的语言,但并不是“纯面向对象”的,因为我们经常用到的基本数据类型就不是对象,但是我们在实际应用中经常需要将基本数据转化成对象,以便于操作。比如:将基本数据类型存储到Object[]数组或集合中的操作等等。
为了解决这个不足,Java在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数据类型对应的类统称为包装类。
三、String类
String类对象代表不可变的Unicode字符序列,因此我们可以将String对象称为“不可变对象”。不可变对象指的是内部的成员变量的值无法在改变
public class teststring {
public static void main(String[] args) {
String str="aaabbbe";
String str2=str.substring(2,5);
System.out.println(str);
System.out.println(str2);
}
}
public class teststring {
public static void main(String[] args) {
String str1="hello"+"java";//相当于str1="hello java"
String str2="hello java";
System.out.println(str1==str2);//false
System.out.println(str1.equals(str2));//false str2有空格,而str1没有空格
String str3="hello";
String str4="java";
String str5=str3+str4;
System.out.println(str5.equals(str1));//true 都没有空格
}
}
有的版本"=="是不受空格影响的,运行出来是true,我这个运行出来是false,
四、IO流
1、数据源
data source。提供原始数据的原始媒介,常见的:数据库,文件,其他程序,内存,网络连接,IO设备。
核心类包括file(文件类),InputStream(字节输入流),OutputStream(字节输出流),Reader(字符输入流),Writer(字符输出流),Closeable(关闭流接口),Flushable(刷新流接口),Serializable(序列化接口)。
2、流分类:
输入流:数据源到程序
输出流:程序到目的地
节点流:可以直接从数据源或目的地读写数据
处理流(包装流):不直接连接到数据源或目的地,是其他流进行封装,目的主要是简化操作和提高性能
字节流:按照字节读取数据
字符流:按照字符读取数据,因为文件编码的不同,从而有了对字符进行高效操作的字符流对象
总结:有点跟不上进度,有的地方还是比较朦胧。