简单的Java例子程序

180个针对Java初学者的简单实例

 

在网上查了一些JAVA线程的例子.要么都是抄来抄去,要么就是复杂,对于初学者,很难去理解线程

为了让初学者更快的理解线程.我自己写了简单易懂.希望大家能理解


先看代码吧:

建一个主函数类:


    public static void main(String[] args) {
        
        thread1 thread1 = new thread1();//用Thread类的子类创建线程
        Thread thread2 = new Thread(new thread2());//用Runnable接口类的对象创建线程
        thread1.start();//strat()方法启动线程
        thread2.start();
        
    }



建第一个线程类:

public class thread1 extends Thread {

    @Override
    public void run() {

        try {
            Thread.sleep(7000);//主线程挂起7秒,之所以加这个方法是为了更好的理解线程.后面我会说的
            System.out.println("one is start....");

        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }

}

建第二个线程类:

public class thread2 implements Runnable {

    public void run() {

        System.out.println("two is start ...");
    }

}


这些是原代码,当你运行,结果是two is start ... 然后过7秒one is start.... 不知道大家发现没有
主函数应该第一运行thread1.start() 这个类,输出结果是one is start.... 但是却没有.而是two is start ...
          thread1.start();//strat()方法启动线程
        thread2.start();

可以看出,启动线程的run()方法是通过调用线程的start()方法来实现的(见上例中主类),调用start()方法启动线程的run()方法不同于一般的调用方法,调用一般方法时,必须等到一般方法执行完毕才能够返回start()方法,而启动线程的run()方法后,start()告诉系统该线程准备就绪可以启动run()方法后,就返回start()方法执行调用start()方法语句下面的语句,这时run()方法可能还在运行,这样,线程的启动和运行并行进行,实现了多任务操作。
所以大家明白了吧,用了线程了,他们之间是互不影响的.thread1.start() 还没有结束,对thread2.start()没有影响 现在也明白我在thread1类中加Thread.sleep(7000)的意义了吧
就是为了更好的理解线程!

 

厦门事业单位招聘网:http://www.xmsydw.com

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第1篇 Java编程基础   第1章 Java开发环境的搭建(教学视频:9分钟) 2   1.1 理解Java 2   1.2 搭建Java所需环境 3   1.2.1 下载JDK 3   1.2.2 安装JDK 4   1.2.3 配置环境 5   1.2.4 测试JDK配置是否成功 7   实1 开发第一个Java程序 7   第2章 Java基础类型与运算符(教学视频:39分钟) 9   2.1 基础类型 9   实2 自动提升 9   实3 自动转换 10   实4 常用基础类型之强制转换 11   2.2 运算符 12   实5 算术运算符 12   实6 关系运算符 13   实7 逻辑运算符 14   实8 位运算符 15   实9 移位运算符 16   实10 转型运算符 17   2.3 其他形式 18   实11 常量与变量 18   实12 各种进制的转换 19   实13 Java中的进制与移位运算符 22   第3章 条件控制语句(教学视频:75分钟) 26   3.1 if控制语句 26   实14 判断输入的年份是否为闰年 26   实15 抽奖活动 27   3.2 for语句 28   实16 小九九乘法表 28   实17 如何列出素数 29   实18 Java中的递归 31   实19 男生女生各多少人 32   实20 求水仙花数 34   实21 求任意一个正数的阶乘 35   实22 求n的n次方 35   实23 利用for循环输出几何图形 36   实24 杨辉三角 38   3.3 while语句 39   实25 求1到100之间的和 39   实26 存上100元需要多少天 40   实27 输出100之间的所有偶数 41   实28 如何判断回文数字 42   3.4 do…while语句 43   实29 输出100之间的所有奇数 44   实30 求最大的随机数 44   3.5 switch语句 45   实31 判断字母分类 46   实32 优良及差 47   实33 打印任意一年日历 48   实34 一年四季的划分 51   第2篇 Java数据处理   第4章 异常处理(教学视频:62分钟) 54   4.1 编译时异常 54   实35 除0发生的算术异常(ArithmeticException) 54   实36 数组下标越界异常(ArrayIndexOutOfBoundsException) 55   实37 数组元素类型不匹配异常(ArrayStoreException) 56   实38 强制类型转换异常(ClassCastException) 56   实39 索引越界异常(IndexOutOfBoundsException) 57   实40 空指针异常(NullPointerException) 58   实41 数字格式转换异常(NumberFornatException) 59   实42 字符串索引越界异常(StringIndexOutBounds) 60   实43 操作错误(UnsupportedOperationException) 60   4.2 运行时异常 61   实44 找不到指定类时发生的异常(ClassNotFoundException) 62   实45 请求的方法不存在(NoSuchMethodException) 63   4.3 try…catch捕获异常 65   实46 try…catch捕获异常的实 66   实47 try…catch…finally捕获异常的实 67   实48 try…catch嵌套捕获异常的实 68   4.4 throws声明异常 69   实49 throws声明异常实一 69   实50 throws声明异常实二 70   4.5 throw抛出异常 72   实51 throw抛出异常实一 72   实52 throw抛出异常实二 73   4.6 自定义异常 74   实53 自定义异常实一 74   实54 自定义异常实二 75   第5章 数组(教学视频:98分钟) 78   5.1 一维数组 78   实55 一维数组的创建与使用 78   实56 按相反的顺序输出 79   实57 奇偶分组 80   实58 找宝 81   实59 寻找最小数 82   实60 我的位置在哪里 83   实61 复制数组 85   实62 插入新元素 86   实63 数组的合并 87   实64 去除重复元素 88   实65 数组求和计算 90   实66 求最大值、最小值和平均值 91   5.2 二维数组 92   实67 二维数组的创建与使用 92   实68 矩阵转置 93   实69 奇数阶幻方 94   实70 求方阵对角线之和 96   实71 矩阵的加法 97   实72 矩阵的减法 98   实73 快递报价单 99   5.3 数组的排序 101   实74 冒泡排序法 102   实75 数组递增排序 103   实76 部分数组递增排序 103   实77 选择排序法 104   实78 快速排序法 106   第6章 字符串(教学视频:138分钟) 108   6.1 字符串类String 108   实79 创建字符串类 108   实80 如何使用charAt()方法计算重复字符 109   实81 按字母顺序比较大小 110   实82 首尾相连 111   实83 字符串间的比较 112   实84 字符集的解码方法 113   实85 寻找指定字符第一次出现的位置 114   实86 寻找指定字符最后出现的位置 115   实87 我究竟有多长 116   实88 替换指定的字符 117   实89 分割字符串 117   实90 如何使用substring()方法截取子串 118   实91 分解字符串 119   实92 字母大小写转换 120   实93 去除多余的空白 120   实94 原始数组类型的String形式 121   实95 Java合法标识符 122   实96 显示一周各星期的名称 123   实97 构造空心方框 124   实98 这一天是星期几 125   实99 大小写互换 127   实100 输出指定范围的素数 128   实101 我出现了几次 129   实102 算术表达式求值器 129   实103 字符串对齐调整器 137   实104 字符串的加密 139   实105 使用正则表达式验证电话号码的格式 141   6.2 字符串缓存类StringBuffer 143   实106 创建字符串缓存类 143   实107 提取单个字符 144   实108 给指定字符赋值 145   实109 插入新的字符 146   实110 插入新的字符串 146   实111 获取字符串的子串 147   实112 删除指定的字符 148   实113 倒置字符串 149   实114 去除重复字符 149   实115 检查是否是回文 151   第7章 输入/输出流(教学视频:116分钟) 152   7.1 文件和目录 152   实116 显示文件的基本信息 152   实117 显示目录的基本信息 153   实118 在指定的目录下创建单个文件 156   实119 在指定的目录下创建多个临时文件 158   实120 删除指定目录下的文件 160   实121 移动指定目录下的文件 163   实122 文件搜索引挚 167   7.2 字节流 169   实123 复制指定目录下的文件 170   实124 显示文件中的内容 173   实125 将数据保存到指定的文件中 175   实126 将由键盘中录入的信息保存到文件中 176   实127 一个文件变成多个小文件 178   实128 多个小文件合成一个文件 181   实129 统计指定文件中的字符个数 183   实130 对象的序列化与反序列化 185   实131 同时显示多个文件 187   实132 生成zip压缩文件 189   实133 解压缩zip文件 192   实134 生成Excel文件 194   实135 读取Excel文件中的内容 198   实136 生成PDF文件 199   实137 读取PDF文件中的内容 203   实138 用iText生成Word文件 205   实139 利用POI读取Word文件中的内容 208   7.3 字符流 209   实140 按顺序创建文件 210   实141 按顺序读取文件 211   实142 追加文件内容 211   实143 只显示文件中指定的字符 214   实144 读取jar包文件 215   实145 文件的加密/解密操作 217   实146 复制图片 219   实147 随机读写Java类文件 221   第3篇 Java面向对象编程   第8章 面向对象(教学视频:72分钟) 226   8.1 类 226   实148 简单的通讯录类 226   实149 简单的长度单位转换类 227   实150 卡车和卡车司机之间的关系 229   实151 双色球 231   8.2 成员变量和方法 236   实152 使用类作为成员变量 236   实153 构造方法 237   实154 使用静态成员变量计算内存中实化的对象数目 239   实155 实现加减乘除的方法 240   8.3 面向对象的设计模式 241   实156 Singleton单模式 242   实157 招聘(简单工厂模式) 243   实158 同学聚会(工厂方法模式) 244   实159 图书展(抽象工厂模式) 246   实160 汽车适配器(Adapter适配器模式) 248   8.4 垃圾回收 250   实161 垃圾回收的机制 250   第9章 面向对象的四大特征(教学视频:65分钟) 252   9.1 抽象 252   实162 求自定义几何图形的面积和周长 252   实163 使用抽象方法实现的支票夹 254   9.2 封装 257   实164 世界小姐参赛资格 257   实165 自定义复数类 261   9.3 继承 264   实166 轿车与本田的关系 264   实167 继承关系的加载顺序 266   实168 如何访问同名的方法或变量 268   实169 super()方法的使用 271   实170 this方法的使用 274   实171 一张考试成绩单 275   实172 银行自动存取一体机 278   9.4 多态 284   实173 饮食文化 284   实174 使用构造方法的重载计算课程的GPA值 287   第10章 内部类与接口(教学视频:41分钟) 290   10.1 成员内部类 290   实175 成员内部类的使用规范 290   实176 猜谜 292   10.2 方法内部类 294   实177 局部内部类的使用规范 294   实178 奖学金的评分标准 295   10.3 匿名内部类 297   实179 匿名内部类的使用规范 297   实180 电话与移动电话 299   10.4 静态内部类 300   实181 静态内部类的使用规范 300   实182 苹果的来历 302   10.5 接口 303   实183 求n的幂数与倍数 304   实184 商品订单 306   实185 多功能排序 310   第11章 Java常用类(教学视频:66分钟) 315   11.1 数学Math类 315   实186 求圆周率∏值 315   实187 求对数值 316   实188 使用取整函数 317   11.2 Random类的使用 318   实189 随机数 319   实190 验证码 322   11.3 Date类和Calendar类 324   实191 使用Date类获取系统的当前时间 324   实192 使用DateFormat类获取系统的当前时间 325   实193 使用GregorianCalendar类获取系统的当前时间 326   实194 使用SimpleDateFormat类获取系统的当前时间 329   实195 显示某年某月某一周的信息 330   实196 显示某年某月的信息 332   实197 时间的设置与获取 334   实198 万年历(农历和阳历的互换) 337   11.4 Formatter类的使用 347   实199 时间格式转换符的使用 347   实200 数据格式转换符的使用 349   11.5 System类的使用 351   实201 记录程序执行的时间 351   实202 程序的退出 352   实203 获取程序运行环境的信息 353   第4篇 Java高级开发技术   第12章 集合(教学视频:45分钟) 358   12.1 Set 358   实204 利用HashSet删除学生 358   实205 不重复的随机数序列 360   实206 运用映射的相关类(Map) 363   实207 运用集的相关类(Set) 365   12.2 List 368   实208 增加所需的元素 368   实209 Iterator迭代器的使用 370   实210 谁是幸运儿 371   实211 自定义Queue队列 373   实212 List、Set与Array之间的相互转换 375   实213 二分查找法的实现方法 377   实214 模拟操作系统的进程调度 379   实215 利用栈将字符串逆序输出 381   实216 动态的数组链表 382   实217 你能猜出鱼是谁的宠物吗? 387   实218 使用Collections类对List的排序操作 393   实219 LinkedList的添加删除操作 395   实220 运用Vector 397   实221 改变Properties文件中的键值 399   第13章 多线程编程(教学视频:121分钟) 405   13.1 多线程的五种基本状态 405   实222 启动线程 405   实223 参赛者的比赛生活(线程休眠唤醒) 407   实224 资源搜索并下载(线程等待和通报) 410   实225 模拟淘宝购物买卖双方交易问题 412   实226 携子之手 与子偕老(join) 415   实227 线程让步(Yield) 417   实228 会走动的钟(多线程) 419   实229 变形金刚中的守护神(守护线程) 424   实230 查看JVM中所有的线程的活动状况 426   实231 模仿网络快车下载工具下载文件 428   13.2 多线程的同步与互斥 436   实232 多线程同步方法的实 436   实233 ATM存取一体机(线程同步互斥) 437   实234 我的钱哪里去了 440   实235 门锁打不开了(死锁) 444   实236 门锁终于被打开了(解决死锁) 446   实237 一个死锁的例子 448   13.3 线程的优先级 451   实238 排座位(线程优先级) 451   实239 赛车 454   13.4 定时器 458   实240 定时器(Timer) 458   实241 数字定时器 459   13.5 线程连接池 462   实242 手术任务(线程池) 462   实243 模拟人工服务台(线程连接池) 466   13.6 线程应用实 471   实244 下雪的村庄 472   实245 小飞侠 474   实246 飞流直下 477   实247 多线程断点续传 479   实248 滚动的珠子 485   实249 余额查询 489   实250 滚动的文字 492   实251 漂浮效果 495   实252 监视内存的使用情况 499   实253 璀璨的星空 501   实254 银行和超市业务的模拟 505   第14章 泛型(教学视频:43分钟) 511   14.1 泛型基础 511   实255 一个关于泛型的简单例子 511   实256 带两个类型参数的泛型 513   实257 有界类型程序 514   实258 通配符使用示 515   实259 泛型方法使用示 516   实260 泛型接口示 518   实261 泛型实现坐标打印 519   14.2 泛型类的继承 521   实262 继承泛型类示 521   实263 继承非泛型类示 522   实264 泛型类的类型识别示 523   实265 强制类型转换示 525   14.3 擦拭 526   实266 无限界的擦拭 526   实267 有限界的擦拭 527   14.4 集合泛型类 528   实268 Hashtable的泛型化 528   实269 多功能画笔 529   第15章 网络编程(教学视频:52分钟) 534   15.1 IP地址 534   实270 获取计算机名与IP地址 534   实271 获取网址的IP地址 535   实272 判断两个网址的主机名是否一样 536   实273 测试IP的类型 537   实274 查找主机 538   实275 主机所支持的协议 539   15.2 URL类的使用 540   实276 使用URL访问网页 540   实277 URL的组成部分 541   实278 通过指定的URL可以获取网页的源代码 542   实279 一对多通信模式 544   实280 自制浏览器 549   实281 扫描TCP端口 551   实282 TCP协议服务器 552   实283 TCP协议客户机 553   实284 Socket连接信息 555   实285 Echo服务的客户端是如何实现的? 556   实286 检测本机的服务端口 558   实287 下载的页面不丢失链接 559   实288 如何对网页进行重新定向 560   实289 在Internet上搜索对象 560   实290 LAN使用代理服务器 562   实291 BBS论坛服务器端 567   实292 UDP报文的发送与接收 579   第16章 数据库技术(教学视频:38分钟) 583   实293 加载JDBC驱动程序 583   实294 通过JDBC对数据库进行查询 584   实295 数据库更新 585   实296 获取数据库的基本信息 586   实297 获取数据库对SQL支持的信息 589   实298 处理访问数据库出现的常见异常情况 591   实299 在Servlet中连接数据库 593   实300 数据分页显示 595   实301 批处理 601   实302 事物处理 604   实303 调用存储过程 608   实304 连接ODBC数据库 611   实305 数据库中图片文件的存取 614   第17章 界面设计--Swing(教学视频:88分钟) 618   17.1 Swing组件介绍及应用 618   实306 JFrame框架的应用 618   实307 Border的使用 619   实308 使用Icon组件显示一张图片 620   实309 Icon接口的应用 621   实310 JLabel组件 622   实311 Icon应用到JLabel中 623   实312 JButton的使用 624   实313 在JButton上设置快捷键 625   实314 设置默认按钮 626   实315 使用JCheckBox组件 627   实316 JCheckBox事件处理 629   实317 JRadioButton的使用 630   实318 JComboBox的使用 632   实319 利用ComboModel构造JComboBox 633   实320 DefaultComboBoxModel的使用 635   实321 建立有图像的JComboBox 636   实322 建立可自行输入的JComboBox 637   实323 JComboBox的事件处理 638   实324 JTextField组件的使用 640   实325 使用JTextArea组件 641   17.2 页面布局及事件监听 642   实326 BorderLayout版面布局 643   实327 FlowLayout布局管理 644   实328 应用GridLayout设计版面 645   实329 如何使用BoxLayout布局管理器 647   实330 使用ActionEvent监听组件 648   实331 使用WindowAdapter实现鼠标事件 649   实332 使用MouseMotionListener监听鼠标 650   实333 使用KeyListener监听键盘 652   17.3 组件的综合应用 654   实334 计算器 654   实335 创建树菜单 657   实336 在节点中显示详细信息 658   第18章 Applet小应用程序(教学视频:39分钟) 662   实337 不断变大的文字 662   实338 灯光扫描的效果 664   实339 字体逐渐展开的效果 666   实340 飞舞的气球 668   实341 逐渐浮现的图片 671   实342 火焰边框的特效 674   实343 局部放大效果 677   实344 水波荡漾的效果 679   实345 漫天飞花 682   实346 动感影集 685   实347 彩虹字 688   实348 多功能按键 690   第19章 多媒体与图像处理(教学视频:51分钟) 694   19.1 多媒体 694   实349 测试音频播放器 694   实350 测试视频播放器 696   实351 视频反色效果 698   实352 实现一个录音机 703   实353 建立一个调色板 707   19.2 图像处理 710   实354 在计算机内存中创建一个图像 710   实355 会移动的图像 712   实356 将图片进行180度旋转 714   实357 处理图像的明暗度 716   实358 如何将彩色图转化为灰度图 721   实359 锐化和模糊图像 724   实360 显示一个图像的轮廓 727   实361 如何放大及拉伸图像 730   第20章 JSP开发技术(教学视频:62分钟) 735   20.1 JSP基础 735   实362 网页版的9×9乘法口诀 735   实363 Java Servlet小程序 737   实364 Servlet对表单的处理过程 738   实365 获取/修改JavaBeans中的内容 741   20.2 JSP程序设计 743   实366 喜连大三元 743   实367 运气对对碰 748   实368 文字样式统计器 752   实369 图形统计器 754   20.3 垃圾信息投诉站 756   实370 创建投诉表单 756   实371 保存投诉的内容 760   实372 实现投诉站的后台操作 762   实373 取消投诉内容 764   实374 站内信 767   20.4 网站在线评估系统 769   实375 创建评估问卷 769   实376 实现评估的后台操作 771   实377 查看评估结果 773   第5篇 Java综合案   第21章 模拟服务器与客户端之间的通信(教学视频:13分钟) 778   21.1 实介绍 778   21.2 框架设计 779   21.2.1 项目的总体结构 779   21.2.2 搭建开发环境 779   21.2.3 确定项目工程目录 779   21.3 公用模块设计 780   21.4 客户端程序 780   21.4.1 客户端的工作流程 780   21.4.2 编写客户端的源程序 781   21.4.3 客户端源的程序解读 783   21.5 服务器端程序 785   21.5.1 服务器端的工作流程 785   21.5.2 编写服务器端的源程序 785   21.5.3 服务器端的源程序解读 788   21.6 小结 790   第22章 书店管理系统(教学视频:56分钟) 791   22.1 实分析 791   22.2 系统设计 792   22.2.1 结构分析 792   22.2.2 搭建环境 792   22.2.3 创建目录 793   22.3 数据库设计 793   22.4 公用模块设计 795   22.4.1 data包中的类 795   22.4.2 util包中的类 798   22.5 用户登录模块 800   22.6 系统主界面 802   22.7 基础维护模块 804   22.7.1 图书维护 804   22.7.2 用户维护 811   22.8 借还管理模块 818   22.8.1 借书 818   22.8.2 还书 821   22.9 查询管理模块 824   22.9.1 图书查询 824   22.9.2 用户查询 826   22.10 系统管理模块 829   22.11 小结 831
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值