Java-SE-基础
Java-SE-基础
JohnLin1988
这个作者很懒,什么都没留下…
展开
-
Java面向对象
1,二维打地鼠作业分析int row = ran.nextInt(holes.length); //随机行坐标int col = ran.nextInt(holes.holes.[row].length); //随机列坐标2,面向对象程序要做到低耦合,高内聚(聚合)低耦合:每个对象之间没有任何关联高内聚:每个方法实现的功能都特别强大3,类定义:类是模板,对象是...原创 2018-03-20 08:57:03 · 276 阅读 · 0 评论 -
多线程技术2
1,多线程知识巩固C/S模型都采用多线程的方式实现2,登录获取好友列表// JList是一个view,要添加数据,就是添加到model model = new DefaultListModel();// Model list = new JList(model);// View this.add(list);3,SQL语句的复习4,swing组件显示因为swing组件...原创 2018-04-18 09:27:51 · 180 阅读 · 0 评论 -
多线程技术
1,进程/线程进程:系统中同时运行的不同程序线程:程序中同时执行不同的操作单个CPU只能按顺序执行指令,CPU可以随机在不同的进程和线程进行切换,保证进程和线程都执行一遍后再重复这个过程。因为CPU运行速度足够快,让人感觉程序是同时运行的。2,线程:ThreadThread.sleep(long millis); //堵塞时间,即休眠时间thread.start...原创 2018-03-27 10:06:51 · 147 阅读 · 0 评论 -
网络通信基础
1,TCP协议(1)Server端ServerSocket serverSocket = new ServerSocket(10086);Socket socket = serverSocket.accept(); // 等待客户端的连接// 获取客户端发来的数据BufferedReader reader = new BufferedReader(new InputStrea...原创 2018-03-27 10:05:42 · 162 阅读 · 0 评论 -
文件管理器
文件管理器 1,文件导入 (1)JFileChooser:文件选择器窗体控件JFileChooser jfc = new JFileChooser();jfc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);int num = jfc.showOpenDialog(null);//选择确认(yes、ok)后返回该值...原创 2018-03-27 10:04:48 · 223 阅读 · 0 评论 -
I/O流
1,对文件的操作:File 类创建:File对象.createNewFile()删除:File对象.delete()判断是否存在该文件:File对象.exists()获取文件的名称:File对象.getName()获取文件的相对路径:File对象.getPath()获取文件的决对路径:File对象.getAbsolutePath()获取文件的大小:File对象.le...原创 2018-03-27 10:03:22 · 119 阅读 · 0 评论 -
数据库DAO+工厂模式
1,DAO设计模式在JavaSE中就是将数据操作和界面分开来写。这样便于后台数据库操作维护。也就是在界面类中不能出现sql包(java.sql.*;)。DAO设计模式也便于编写界面和数据库操作的人员同步开发。提高效率。2,DAO接口,定义了对数据库增删改查的抽象方法。规范了程序员如果想实现DAO必须重写里面的方法。3,DAO实现类,实现不同数据库的增删改查具体的操作。 4,工厂模式就是...原创 2018-03-27 10:02:08 · 903 阅读 · 0 评论 -
数据库JDBC
1,导入sqlite-jdbc jar 包2,加载驱动,连接数据库// 首先先对类加载数据库连接的驱动Class.forName("org.sqlite.JDBC"); // 连接用户自定义的数据库Connection c = DriverManager.getConnection("jdbc:sqlite:QQdatabase.db");3,对数据库进行增删改查...原创 2018-03-27 10:01:44 · 131 阅读 · 0 评论 -
Java-寻找俄罗斯方块素材
1,定时器的运用public class MyTase extends TimerTask{ public void run(){ int count = 0; System.out.println(count++); }} //导入util包 Timer t = new Timer(); //实现定时器 t.schedule(ta...原创 2018-03-27 09:58:50 · 865 阅读 · 0 评论 -
Java-事件监听(鼠标、键盘)+画图
1,鼠标监听:单击、进入、离开、按下、释放 .addMouseListener();2,键盘监听:键入,按下,释放 .addKeylistener(); 捕获监听,系统在内存中创建一个对象 键盘监听,只能输入数字,用在于键入jtf.addKeyListener(new KeyListener() {@Overridepublic void keyTyped(KeyEv...原创 2018-03-27 09:57:56 · 2317 阅读 · 0 评论 -
Java-事件监听
1,事件源 事件 事件处理 事件监听 eg.键盘 敲击 输入2,实现接口 a)创建一个子类去实现 b)使用匿名内部类3,适配器实现自带的接口 接口()—-适配器()—-实现类4,监听分类 窗口监听:WondowListener(); 焦点监听: FocusListener(); 动作监听: ActionListener(); 未完待续。。。。。。。。...原创 2018-03-27 09:57:03 · 158 阅读 · 0 评论 -
Java-AWT布局
1,GUI(Graphical User Interface)图形用户界面 GLI(Command Line Interface)命令行界面2,AWT包和Swing包 java.awt:Abstract Window ToolKit 抽象窗口工具包,调用本地系统,重量级 javax.swing:在AWT的基础上,建立的一套图形界面系统,其中提供了更多的组件,而且完全由Java实现。增强了...原创 2018-03-27 09:56:09 · 442 阅读 · 0 评论 -
Java面向对象-集合框架(LinkedList,Map)
1,ArrayList与LinkedList的区别ArrayList:查询快,增删慢LinkedList:查询慢,增删快2,链表结构:每个节点存储数据和下一个节点的地址 泛型:制定了集合内部装的是什么类型3,LinkedList特有的功能addFirst(Object obj);addLast(Object obj);getFirst(Object obj);...原创 2018-03-21 17:22:41 · 364 阅读 · 0 评论 -
Java面向对象-异常处理机制
1,异常处理:程序执行到异常的地方就终止,不会继续执行之后的代码 eclipse会打印异常的情况2,所有的异常都是throwable的子类throwable有2个分支1)Error:系统性问题,例如堆栈溢出,只能通过修改代码解决,系统无法自动处理2)Exception:可以处理Exception有2种情况a,编译期异常:必须处理,否则无法运行b,运行期异常:系统自行处理。...原创 2018-03-20 09:53:16 · 247 阅读 · 0 评论 -
Java面向对象-内部类、String、StringBuffer
1,内部类种类:成员内部类、局部内部类、静态内部类、匿名内部类1)成员内部类:作为外部类的一个成员存在,与外部类的属性、方法并存 a,可以直接访问外部类的所有成员,(成员内部类中不能定义静态变量)b,外部类如果要访问内部类,需要创建内部类的对象 Outer.Inner oi = newOuter().newInner();2)局部内部类:在方法中定义的内部类访问局部内部类必须...原创 2018-03-20 09:52:32 · 171 阅读 · 0 评论 -
Java面向对象-接口
1,接口:interface与类平级有些额外的方法或功能定义在父类里面不合适,需要用到接口public interface Skill(){ public (默认就是抽象方法abstract,可以不写) void skill();}public class Dog extends Animal implements Skill,DaoMang(){}extends...原创 2018-03-20 09:51:49 · 147 阅读 · 0 评论 -
Java面向对象-(封装,继承,多态复习)+抽象
1,快速创建子类,使用eclipse创建class里面的super class选项2,转型向上转型:Animal an = new Dog();向下转型:((Dog)an).daoMang();3,抽象(用在类与方法中)public abstract class Animal(){ public abstract void eat(){ }抽象类继...原创 2018-03-20 09:51:16 · 336 阅读 · 0 评论 -
Java面向对象-多态
1,空参构造方法要写,如果不写,类中一旦有有参构造方法,则会覆盖掉空参构造方法,有时候会造成不知名的错误。2,super();必须放在方法里面的第一行,否则会报错3,在子类的有参构造方法中访问父类的有参构造方法,可以有如下表达public Zi(String name, int age){ // 初始化写法1 super(name, age); //初...原创 2018-03-20 09:50:39 · 208 阅读 · 0 评论 -
Java面向对象-继承
1,MVC框架思想M:model:存放具体对象的类,比如玩家,机器人,地鼠V:view:用于界面视窗显示的类C:control:控制逻辑的类2,继承:子类继承父类,extendspublic class Teacher extends Human(){ private int stu_no;}子类可以有自己的属性与方法,不能继承父类的构造方法,需要通过su...原创 2018-03-20 09:49:53 · 181 阅读 · 0 评论 -
Java面向对象-封装
1,面向对象的基本特征:封装、继承、多态(抽象-接口)2,封装:隐藏对象的属性和实现细节,对外提供公共的方法来获取对象的属性3,private:作用域在当前类中,无法被其他类访问4,采用this关键字是为了解决实例变量和局部变量中的同名的冲突public class Person { private String name; public void setNa...原创 2018-03-20 09:10:06 · 157 阅读 · 0 评论 -
Java类与方法
1,类和方法在石头,剪刀,布游戏中的分析 2,类的结构修饰符 class 类名{ //成员变量(属性) //构造方法 //成员方法}3,逻辑关系语句要写在方法里面,构造方法最好要显示声明4,方法的重载:方法名相同,参数的类型、数量、顺序不同(构造方法也可以重载)5,方法的重载重要应用在构造方法的重载:可以根据不同的情况new一个构造方法进行初...原创 2018-03-20 08:58:28 · 1418 阅读 · 0 评论 -
JSON通信协议
1,JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation),–JSON 独立于语言和平台,需要导6个包2,JSON只有两种结构:对象和数组, 由这两种结构嵌套和组合来表示各式各样的数据。•数据对象由一系列的属性/值对来表示 •数据对象和属性/值对由逗号分隔 •花括号保存对象 •方括号保存数组 3,JSON 值可...原创 2018-04-18 09:29:14 · 15251 阅读 · 0 评论 -
向好友发送文件+进度条
1,聊天窗口中向好友发送文件设计思路:为了减轻服务器压力,让2个客户端进行直接连接,传输数据(1)在服务器创建一个map集合,用于保存上线用户的ID号,socket(2)聊天窗口的发送文件按钮中添加监听,通过服务器向好友发送传输文件的请求,同时自己搭建一个本地服务器用于和好友进行连接,给好友发送文件(3)聊天窗口中选择需要发送好友的ID号,将命令:FILE,自己的ID,好友的ID,...原创 2018-04-18 09:28:52 · 393 阅读 · 0 评论 -
线程锁+好友互发消息
1,线程锁2件事情不能同时执行的时候,就要用到线程锁,防止多线程抢线,而造成程序的逻辑错误。public static Object object;// 加锁,括号中可以用类名.Class,或者类中的同一个对象,来确定多个锁的一致性 synchronized (Object.class) {//执行语句 }2,聊天窗口中好友互发消息设计思路:(1)在服务器创建一个m...原创 2018-04-18 09:28:27 · 246 阅读 · 0 评论 -
Java基础
1, Eclipse IDE建工程的过程,工程名正常是以大写字母开始e.g. 包的名字 com.great.demo .代表下一层文件夹2,注释:// 单行注释/* *多行注释**//** */ 文档注释3,命名规则:包名全部小写,类名的每个单词首字母都大写,常量全部大写用下划线分隔单词4,基本数据类型<1> 布尔型:b...原创 2017-11-03 14:09:03 · 141 阅读 · 0 评论 -
Java控制条件语句
1, 条件语句if格式1: if(布尔表达式){如果条件成立所执行的语句}格式2: if(布尔表达式){如果条件成立所执行的语句}else{如果条件不成立所执行的语句}格式2: if(){}else if{}else if{}......else{} 2,条件switch语句:格式:switch(表达式){case value1 : //程序语句brea...原创 2017-11-03 14:09:57 · 364 阅读 · 0 评论 -
Java循环语句
1, for循环语句:多用于知道具体循环的次数格式: for(1-初始化值;2-循环条件;3-控制语句){要循环的语句}2,while循环语句:多用于不知道具体循环的次数格式1:while(循环条件){循环体语句;}格式2: 1-初始化语句;while(2-循环条件){3-循环体语句;4-控制语句;}3,do…while循环语句:和while语句...原创 2017-11-03 14:10:36 · 179 阅读 · 0 评论 -
Java数组基础
1,初始化数组:可以初始化为int,char,String 类型静态初始化:int[] array = new int[]{1,3,5,7,4};或者 int[] array = {1,3,5,7,4};动态初始化:int[] array = new int[5];//系统默认数组的每个元素值都为02,arry[i]数组的元素下角标从0开始到到i-13,System.out...原创 2017-11-03 14:11:01 · 216 阅读 · 0 评论 -
Java方法概述
1,数组选择排序法: for (int i = 0; i < arr.length-1; i++) { for (int j = i+1; j < arr.length; j++) { if (arr[i] > arr[j]) { int temp = arr[i]; arr[i] = arr[j];原创 2017-11-03 14:14:10 · 242 阅读 · 0 评论 -
Java二维数组
1,定义二维数组:1)动态初始化:int[] arr = new int[5]; //一维数组动态初始化int[][] arr = new int[5][4]; //二维数组动态初始化,表示二维数组中有5个一维数组,每个一维数组有4个元素int[][] arr = new int[5][];2)静态初始化int[][] arr = {{一维数组1},{一维数组2 },{一维...原创 2017-11-03 14:14:48 · 448 阅读 · 0 评论