![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java相关
程序员Allen
这个作者很懒,什么都没留下…
展开
-
【java编程】字符编码之加密解密
GBK特点:1.中文字由两个字节表示2.两个字节为负数UTF-8特点:1.UTF用一到三个字节表示2.表示的字节都为负数2.UTF每个字节都有标识,如果一个字节表示一个字符,该字节的最高位为0,例:01101101如果两个字节表示一个字符,第一个字节最高位和次高位都为1,第二个字节的最高位为1,次高位为0。例:1100010010010101如果三个字节表示一个原创 2015-03-18 15:18:56 · 1195 阅读 · 0 评论 -
【java编程】java打包双击直接运行设置
目的:让java在windows上直接双击就可以运行。设置流程:1.在打包java文件时,用上-d参数,如:javac -d 目的地文件夹 java文件2.创建一个配置信息文件,名称自定,里面的格式是:Main-Class:[空格]包名称.主类名称[最后加回车]例:Main-Class: mymenu.MyMenu[回车]3.用jar打包格式:jar -cvfm jar原创 2015-03-19 19:08:30 · 774 阅读 · 0 评论 -
【java编程】GUI之综合练习(二)
1.菜单的包含关系下面是一个简单的示例:import java.awt.*;import java.awt.event.*;import java.io.*;class MenuDemo { public static void main(String[] args) { new myMenu(); }}class myMenu{ private Fra原创 2015-03-19 16:59:51 · 794 阅读 · 0 评论 -
【java编程】IO类之复写BufferedInputStream中read方法
import java.io.*;class BufferedInputStreamDemo{ public static void main(String[] args) throws IOException { MyBufferedInputStream mybis=new MyBufferedInputStream(new FileInputStream("d:\\1.mp3"原创 2015-03-03 21:04:44 · 753 阅读 · 0 评论 -
【java编程】GUI之综合练习(一)
创建图形化界面的基本流程:1.先创建窗体2.对窗体进行基本设置比如:大小,显示区域,是否可见等3.创建组件4.对组件进行基本设置比如:大小,初始值等5.将组件添加到相应窗体中设置监听的方法1.事件源2.事件3.监听器4.处理方式前三个都是已经被java封装好了的,我们只需要拿来用即可,我们要做的事情就是,写处理方式需求:1.如图,原创 2015-03-19 14:46:35 · 2972 阅读 · 0 评论 -
【java编程】IO流和集合类综合题目
需求:1.有5个学生,每个学生有三门功课2.从键盘输入以上数据(姓名,三门课成绩)3.输入格式为:zhangshan,30,40,60并计算出总成绩4.把学生信息和计算出来的总成绩按从低到高的顺序进行存储思路:1.先创建一个学生对象,实现比较器,让学生对象自身具备比较性,同时要复写hashcode()和equeas()方法2.创建键盘录入,同时创建TreeSet集合,将原创 2015-03-19 08:15:23 · 2253 阅读 · 0 评论 -
【java编程】IO类之复写BufferedReader里的readLine方法(带行号)
import java.io.*;class MyBufferedReader{ private FileReader r; MyBufferedReader(FileReader r) { this.r=r; } public String MyReadLine() throws IOException { //定义一个临时容器,存储一行数据 StringBuilde原创 2015-03-02 20:06:24 · 1389 阅读 · 0 评论 -
【java编程】Collections工具类之复写Fill实现部分替换
import java.util.*;class FillDemo { public static void main(String[] args) { List list=new ArrayList(); list.add("abb"); list.add("bbb"); list.add("aab"); list.add("baa"); System.out.原创 2015-02-27 21:12:31 · 629 阅读 · 0 评论 -
【java编程】Collection类之LinkedList实现队列,堆栈
import java.util.*;class LinkedListDemo { public static void main(String[] args) { toQueue tq = new toQueue(); tq.myAdd("java01"); tq.myAdd("java02"); tq.myAdd("java03"); tq.myAdd("java原创 2015-02-15 20:47:55 · 862 阅读 · 0 评论 -
【java编程】IO流之File类列出所有文件和目录(递归例子)
import java.io.*;class FileDemo{ public static void main(String[] args) { File dir=new File("G:\\360Downloads"); list(dir); } public static void list(File dir) { System.out.println(dir)原创 2015-03-06 10:41:30 · 754 阅读 · 0 评论 -
【java编程】Socket编程之UDP模拟简单聊天功能
简单界面: 思路: 1.先创建上图中的界面 2.添加相关的Event监听事件 3.使用多线程来设计发送端和接收端 4.在发送按钮里分别创建发送端和接收端的Thread启动线程。 5.最后在主程序分别传入发送和接收的DatagramSocket服务(保证唯一性)import java.net.*;impo原创 2015-03-20 19:55:03 · 798 阅读 · 0 评论 -
【java编程】IO流之得到指定目录下.java文件的绝对路径
/*思路: 1.对指定目录进行递归 2.获得所有后缀名是.java的文件 3.创建集合将所有.java文件对象存储进去 4.遍历集合里的file对象,获得绝对路径,写到文件里*/import java.io.*;import java.util.*;class GetFileList { public static void main(String[] args) {原创 2015-03-09 20:47:57 · 883 阅读 · 0 评论 -
【java编程】IO特殊类之RandomAccessFile实现多线程文件下载
RandomAccessFile特点:1.它不是IO流的子类,而是直接继承至Object类。但内部实现的是DataInputStream和OutputStream来实现读写2.从构造函数可以看出,此类只能操作文本文件3.当文件存在时,再创建文件,会续写文件,而不是覆盖4.当文件不存在,要创建文件时,只有文件权限为rw时,才能够创建文件下面是一个文件多线程例子:import原创 2015-03-18 12:02:56 · 1040 阅读 · 0 评论 -
【java编程】IO流之操作各种数据类型
1.操作基本数据类型DataInputStream和DataOutputStream特点:1.可以直接读取和写入基本数据类型2.用writeUTF写入的数据,只能用readUTF()来读,因为写的时候是按UTF-8修改版的编码方式来写入的。和正常的UTF-8有区别2.操作字节数组ByteArrayInStream和ByteArrayOutputStream特点:1.原创 2015-03-18 13:07:13 · 992 阅读 · 0 评论 -
【java编程】IO流之切割流和另一种合并流方法
import java.io.*;import java.util.*;class SplitAndMerge { public static void main(String[] args) throws IOException { MegerInputStream(); } //切割流 public static void SplitOutputStream() throw原创 2015-03-13 22:00:39 · 1699 阅读 · 0 评论 -
【java编程】IO流之管道流
管道流介绍:管道流分为管道输入流PipedInputStream和管道输出流PipedOutputStream。一般情况下,管道流使用多线程,管道输入流和管道输出流各占一个线程。管道输入流对接管道输出流,可以在构造方法把管道输出流作为构造函数传递给管道输入流,也可以用管道流的connect(PipedOutputStream pos)方法来进行连接。下面是管道流的例子:impo原创 2015-03-14 15:26:04 · 504 阅读 · 0 评论 -
【java编程】IO流之流操作对象
流操作对象的方法:ObjectInputStream和ObjectOutputStream两个对象,用ObjectOutputStream保存的对象只能用ObjectInputStream来进行读取Serializable序列化:每个类在实现Serialiable序列化时,java都会根据该类的成员变量和成员函数来生成一个uid,来区分每一个不同的类,当然,也可以自己手动云设置这个ui原创 2015-03-14 11:36:56 · 2017 阅读 · 0 评论 -
【java编程】IO流之SequenceInputStream类合并输入流再输出
先上一张图片,大致说明一下SequenceInputStream的工作原理。。/*思路:1.将三个流通过SequenceInputream合并成一个流 2.因为SequenceInputStream超过三个流对象,要用到Enumeration枚举 3.Enumerate枚举可以通过集合Vector的elements获取 4.最后,输出 步骤:1.先创建三个F原创 2015-03-12 21:27:54 · 1817 阅读 · 0 评论 -
【java编程】java反射之基础
**什么是反射?**反射就是将java中的各种成分映射成相应的java类。我们把javaAPI里的所有类都抽象出来,就得到了构造方法(Constructor),成员变量(Field),成员函数(Method).**反射的基石**反射的前提是得到字节码,每一种数据类型都对应着一份字节码,当new对象时,都是在对这份字节码的复制。比如:String类型对应的字节码就是String.clas原创 2015-03-22 17:20:33 · 695 阅读 · 0 评论 -
【java编程】Properties对象之试用到期提示注册
/*需求:软件使用五次后,提示要注册思路:1.要用文件来保存运行的次数,因为文件才可以持久化存储 2.要使用键值对存储,而且要用到io技术,所以,用Properties步骤:1.先创建Properties对象 2.创建文件对象与InputStream关联 3.用Load方法把文件流加载到内存中,并进行判断 4.创建OutputStream流对象,并使用Propertie原创 2015-03-11 20:46:28 · 506 阅读 · 0 评论 -
【java编程】Collection类之ArrayList去除重复元素
import java.util.*;class ArrayListDemo{ public static void main(String[] args) { ArrayList al=new ArrayList(); al.add("java01"); al.add("java02"); al.add("java02"); al.add("java02");原创 2015-02-15 21:11:23 · 2390 阅读 · 0 评论 -
【java编程】Collections工具类之复写reserve方法
import java.util.*;class CollectionsReverse { public static void main(String[] args) { List list=new ArrayList(); list.add("abb"); list.add("bbb"); list.add("aab"); list.add("aac"); l原创 2015-02-27 23:27:38 · 2480 阅读 · 0 评论 -
【java编程】Collection类之TreeSet按字符串长度排序
import java.util.*;class TreeSetComparatorDemo { public static void main(String[] args) { //使用比较器来实现TreeSet集合按长度排序 TreeSet ts = new TreeSet(new StrLenComparator()); ts.add("aaaa"); ts.add原创 2015-02-23 11:36:21 · 1739 阅读 · 0 评论 -
【java编程】Collection类之HashSet存储自定义对象元素
/*SET集合是无序的,判断无序的方法是先比较hashcode值,如果相同 再比较equals方法*/import java.util.*;class hashCodeDemo{ public static void main(String[] args) { HashSet hs = new HashSet(); hs.add(new Person("lisi",33))原创 2015-02-17 09:21:18 · 592 阅读 · 0 评论 -
【java编程】Collection类之ArrayList去除自定义对象的重复元素
/*contains和remove用的比较方法都是equals方法*/import java.util.*;class removeObjectElement { public static void main(String[] args) { ArrayList al = new ArrayList(); al.add(new Person("lisi",33)); al原创 2015-02-17 08:16:07 · 802 阅读 · 0 评论 -
【java编程】反射之更改成员变量
需求:将另一个java文件里的成员变量String str1=“boll”,str2="good",str3="bbb"中的o全改成a//class1import java.lang.reflect.Field; public class Constructor { public static void main(String[] args) throws Exception原创 2015-02-08 13:47:26 · 561 阅读 · 0 评论 -
【java编程】TCP_Socket网络编程之用URL类创建浏览器
import java.io.*;import java.net.*;import java.awt.*;import java.awt.event.*;class URLDemo { public static void main(String[] args) { new URLDemo(); } private Frame f; private TextField t原创 2015-02-07 16:27:26 · 563 阅读 · 0 评论 -
【java编程】TCP_Socket网络编程之用户登陆
import java.io.*;import java.net.*;class LoginClient{ public static void main(String[] args) throws IOException { //建立Socket服务,并指定主机和端口号 Socket s = new Socket("127.0.0.1",8801); for(int i=0原创 2015-02-04 11:11:58 · 803 阅读 · 0 评论 -
【java编程】tcp/udp——Socket网络编程部分
TCP——Socket网络编程部分:特点:1.tcp是面向连接的,连接时需要三次握手 2.tcp适合传输大数据 3.tcp能保证数据的完整性,传输速度稍慢构成:1.分为客户端和服务器端 2.客户端建立Socket服务,服务端直接使用客户端建立的Socket服务来完成数据的传输接下来我们就来用一张图来说明,客户端和服务端的关系吧!客户端配置的一般原创 2015-02-03 09:44:31 · 559 阅读 · 0 评论 -
【tcp网络编程】用Socket建立一个简单的文本转换服务器
需求:建立一个文本转换服务器客户端给服务端发送文本,服务端将文本转成大写再返回经客户端而且客户端可以不断的进行文本转换。当客户端输入over时,转换结束 分析: 客户端:既然是操作设备上的数据,那么就可以使用IO技术,并按照io的操作规律来思考 源:键盘录入 目的:网络设备,网络输出流 而且操作的文本数据。可以选择字原创 2015-02-01 18:23:22 · 851 阅读 · 0 评论 -
【java编程】String之重写trim方法
class MyTrimString { public static void main(String[] args) { String str = " hello java "; System.out.println(MyTrim(str)); } public static String MyTrim(String str) { //定义两个指针,一个从前原创 2015-02-10 20:15:02 · 1090 阅读 · 0 评论 -
【JAVA编程】泛型高级应用之泛型限定
/*泛型限定:?:代表通配符,也称点位符? extends E:代表可以接收E或者E的子类型 称为上限? super E:代表可以接收E或者E的父类型 称为下限*//*上限例子 ? extends E*/import java.util.*;class aaa{ public static void main(String[] args) { ArrayList al原创 2015-02-25 13:10:26 · 566 阅读 · 0 评论 -
【java编程】String之获取一个字符串在另一个字符串中出现的次数
class subStringCount { public static void main(String[] args) { String str="abccddaabbccddaabbccdd"; System.out.println(getSubCount(str,"cc")); } public static int getSubCount(String str,Str原创 2015-02-10 21:42:20 · 1101 阅读 · 0 评论 -
【java编程】Collection工具类之重写BinarySearch方法
import java.util.*;/*折中查找*/class CollBinarySearch { public static void main(String[] args) { List list=new ArrayList(); list.add("addbbb"); list.add("addcbb"); list.add("cdddads"); lis原创 2015-02-27 20:46:30 · 1922 阅读 · 0 评论 -
【java编程】Map集合之TreeMap按学生姓名进行升序排序
import java.util.*;/*要对键值对进行排序,只能用TreeMap来排序 HashMap底层是哈希表,哈希表是随机的*/class TreeMapDemo { public static void main(String[] args) { TreeMap tm = new TreeMap(new compl()); tm.put(new Student("原创 2015-02-26 09:52:10 · 3113 阅读 · 0 评论 -
【java编程】Map集合之TreeMap字符串中字符出现次数
import java.util.*;class TreeMapDemo1 { public static void main(String[] args) { String str=CharCount("adlkjlkdsflkadsfaldkfj"); System.out.println(str); } public static String CharCount(S原创 2015-02-26 11:27:49 · 956 阅读 · 0 评论 -
【java编程】String之两个字符串获取最大子串
class MaxSubString { public static void main(String[] args) { String s1 = "aasdjkjlkjldjhellofoqieuiocnvmz"; String s2 = "aasdjkjlkjldhello"; System.out.println(getMaxSubString(s1,s2)); }原创 2015-02-12 20:59:03 · 1326 阅读 · 0 评论 -
【java编程】Map集合之HashMap--KeySet和EntrySet的两种取出方式
/*1.KeySet获取方法*/import java.util.*;class keySet { public static void main(String[] args) { HashMap hm=new HashMap(); hm.put("01","zs1"); hm.put("04","zs4"); hm.put("03","zs3"); hm.put(原创 2015-02-25 16:33:21 · 531 阅读 · 0 评论 -
【java编程】Map集合之hashMap两种取出方式练习
import java.util.*;/*练习.HashMap两种取出方式 条件:每一个学生都有对应的归属地。 学生Student,地址String 学生属性:姓名,年龄 注意:姓名和年龄相同的视为同一个学生。 保证学生的唯一性*/class StuHashMapDemo { public static void main(String[] args) { Ha原创 2015-02-25 17:59:46 · 676 阅读 · 0 评论 -
【java编程】泛型的几种定义方法
/*定义在类上 同一个类对象的方法只能传入同一种数据类型*/Demo{ public void show(T t) { System.out.println("show:"+t); }}/*泛型定义在方法上 同一类对象可以传递不同类型的数据给同一方法上*/Demo{ public void show(T t)原创 2015-02-25 11:26:15 · 895 阅读 · 0 评论