![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java基础
Romanticduan
这个作者很懒,什么都没留下…
展开
-
数组排序方法
选择排序:将前面元素与后面的元素依次比较,符合条件换位,最值出现在首位。public static void selectSort(int[] arr){ for(int x=0; x<arr.length-1; x++) //外循环表示循环次数,-1防止角标越界 { for(int y=x+1; y<arr.length; y++) //y比x大1,比较才有意义...转载 2018-01-13 11:55:16 · 180 阅读 · 0 评论 -
代码块执行顺序
class StaticCode{ //静态代码块,随着类的加载而执行,只执行一次,优先于主函数执行,用于给类进行初始化 static { System.out.println("a"'); //静态代码块中执行的语句 } //构造代码块,给对象初始化的 { System.out.println("b"'); //构造代码块中的执行语句 ...转载 2018-01-15 21:56:07 · 249 阅读 · 0 评论 -
取数字的最低四位 进制转换
用数字 & 15得最低四位>> 有符号右移 开头是1补1 是0补0>>>无符号右移 开头补0输出数字对应的十六进制元素:普通方法:System.out.print((char)(num-10+"A")); //输出数字的十六进制表现形0~9,A~F查表法:将所有元素临时存储起来,建立对应关系,每次 & 15后的值作为索引去查表,...转载 2018-01-17 21:09:25 · 1267 阅读 · 0 评论 -
模板方法
需求:获取一段程序运行的时间。原理:获取程序开始和结束的时间并相减获取时间:System.currentTimeMillis();模板方法:在定义功能时,功能的一部分是确定的,但是有一部分是不确定,而确定的部分在使用不确定的部分,那么这时就将不确定的部分暴露出去。由该类的子类去完成。abstract class GetTime{ public final void ge...原创 2018-01-17 21:43:53 · 160 阅读 · 0 评论 -
多态的示例
需求:电脑运行实例,电脑运行基于主板//接口interface PCI{ public void open(); public void close();}class MainBoard { public void run() { System.out.println("mainboard run"); } public void usePCI(PCI p)...原创 2018-01-17 22:14:03 · 254 阅读 · 0 评论 -
死锁程序
class Test implements Runnable{ private boolean flag; Test(boolean flag) { this.flag = flag; } public void run() { if(flag) { synchronized(MyLock.locka) { System.out.println("i...原创 2018-01-20 22:04:26 · 178 阅读 · 0 评论 -
多线程生产消费问题
运用Lock和Condition解决多线程容易出现的问题(基础方法)Lock:lock(); unlock(); newCondition();Condition: await(); single(); singleAll();import java.util.concurrent.locks.*;class ProducerConsumerDemo{ public s...原创 2018-01-21 22:41:57 · 401 阅读 · 0 评论 -
流操作的基本规律
流操作的基本规律:最痛苦的就是流对象有很多,不知道该用哪一个。通过三个明确来完成。1,明确源和目的。源:输入流。InputStream Reader目的:输出流。OutputStream Writer。2,操作的数据是否是纯文本。是:字符流。不是:字节流。3,当体系明确后,在明确要使用哪个具体的对象。通过设备来进行区分:源设备:内存,硬盘。键盘目的设备:内存,硬盘,控制...原创 2018-02-27 13:38:07 · 160 阅读 · 0 评论 -
打印流 重要
/*打印流:该流提供了打印方法,可以将各种数据类型的数据都原样打印。字节打印流:PrintStream构造函数可以接收的参数类型:1,file对象。File2,字符串路径。String3,字节输出流。OutputStream字符打印流:PrintWriter构造函数可以接收的参数类型:1,file对象。File2,字符串路径。String3,字节输出流。Out...原创 2018-02-28 22:14:07 · 246 阅读 · 0 评论 -
SquenceInputStream 合并流
import java.io.*;import java.util.*;class SequenceDemo { public static void main(String[] args) throws IOException { Vector<FileInputStream> v = new Vector<FileInputStream>(); ...原创 2018-02-28 22:33:06 · 270 阅读 · 0 评论 -
IO 包中的ObjectInputStream和ObjectOutputStream
import java.io.*;class ObjectStreamDemo { public static void main(String[] args) throws Exception { //writeObj(); readObj(); } public static void readObj()throws Exception { ObjectInput...原创 2018-03-01 17:18:07 · 329 阅读 · 0 评论 -
管道流
import java.io.*;class Read implements Runnable{ private PipedInputStream in; Read(PipedInputStream in) { this.in = in; } public void run() { try { byte[] buf = new byte[1024]; ...原创 2018-03-01 19:27:28 · 152 阅读 · 0 评论 -
IO包中的RandomAccessFile 随机读写访问
import java.io.*;/*RandomAccessFile该类不是算是IO体系中子类。而是直接继承自Object。但是它是IO包中成员。因为它具备读和写功能。内部封装了一个数组,而且通过指针对数组的元素进行操作。可以通过getFilePointer获取指针位置,同时可以通过seek改变指针的位置。其实完成读写的原理就是内部封装了字节输入流和输出流。通过构...原创 2018-03-01 19:44:58 · 235 阅读 · 0 评论 -
IO流 DataInputStream和DataOutputStream 用于操作基本数据类型
操作基本数据类型用DataInputStream和DataOutputStream 方便/*DataInputStream与DataOutputStream可以用于操作基本数据类型的数据的流对象。*/import java.io.*;class DataStreamDemo { public static void main(String[] args) throws IO...原创 2018-03-01 20:11:05 · 2086 阅读 · 0 评论 -
IO流 操作字节数组ByteArrayStream
/*用于操作字节数组的流对象。ByteArrayInputStream :在构造的时候,需要接收数据源,。而且数据源是一个字节数组。ByteArrayOutputStream: 在构造的时候,不用定义数据目的,因为该对象中已经内部封装了可变长度的字节数组。这就是数据目的地。因为这两个流对象都操作的数组,并没有使用系统资源。所以,不用进行close关闭。在流操作规律讲解时:...原创 2018-03-02 00:39:46 · 487 阅读 · 0 评论 -
UDP
import java.net.*;/*需求:通过udp传输方式,将一段文字数据发送出去。,定义一个udp发送端。思路:1,建立updsocket服务。2,提供数据,并将数据封装到数据包中。3,通过socket服务的发送功能,将数据包发出去。4,关闭资源。*/class UdpSend{ public static void main(String[] args...原创 2018-03-05 19:40:10 · 248 阅读 · 0 评论 -
数组的查找
数组查找:进行遍历,比较public static int getIndex(int[] arr,int key){ for(int x=0; x<arr.length; x++) { if(arr[x]==key) return x; } return -1; }折半查找:数学中的方法,效率高,但数组必须是有序的,将key和中值进行重复比较...转载 2018-01-13 12:22:28 · 223 阅读 · 0 评论