Java基础
文章平均质量分 75
weixin_35683275
这个作者很懒,什么都没留下…
展开
-
day14集合(collection)中的List(分三部分ArrayList,LinkedList,Vector)
import java.util.*; /* 1、add方法的参数类型是object,以便于接受任意类型对象。 2、集合中存储的都是对象的引用(地址)。 */ class CollectionDemo { public static void main(String[] args) { //method_get(); ArrayList al=new ArrayLi翻译 2016-08-25 22:01:42 · 215 阅读 · 0 评论 -
day23套接字socket网络传输TCP和udp
/* 客户端 通过查阅Socket对象,发现在该对象建立时,就可以连接指定主机 因为tcp是面向连接,所以在建立socket服务时 就要有服务端存在,并连接成功,形成通路后,在该通道进行数据的传输 需求:给服务端发送给一个文本数据 步骤 1.创建socket服务,并指定要连主机和端口。 */ import java.net.*; import java.io.*; class TcpClie翻译 2016-08-30 20:11:48 · 625 阅读 · 0 评论 -
day01开始学习Java的第一步
/* 需求:定义一个hello word小程序。 思路: 1. 2. 步骤: 1.通过class关键字定义一个类。将代码编写到该类中。 2.为了保证该独立运行。在类中定义个主函数。格式public static void main(String[] args) 3.保存成一个扩展名为java的文件. 4.在dos控制台中通过java工具对java文件进行编译 5.在通过java翻译 2016-08-25 18:01:09 · 167 阅读 · 0 评论 -
day02运算及运算符,简单if swith for while dowhile语句数据结构
转义字符:通过\来转变后面字母和符号的含义。 /* \n:换行 \b:退格, \r:按下回车键,windows系统,回车符是由两个字符来表示\r\n \t:制表符,相当于tab键 /* &:与逻辑 |:或逻辑 ^:异或:两边不同为true两边相同为false !:非 &和&&特点: &:无论左边是true还是false,两边都进行运算 &&:当左边为false,右边不运翻译 2016-08-25 18:10:31 · 236 阅读 · 0 评论 -
day03循环嵌套打印星星和乘法表
对于打印长方形,外循环控制的行数,内循环每一行的控制列数 /* 功能:九九乘法表 1*1=1 1*2=2 2*2=4 */ class ForForTest { public static void main(String[] args) { /* * ** *** **** ***** 尖朝上,可以改变条件,让条件随外循环变化 尖朝下,可以改变初始值翻译 2016-08-25 18:50:17 · 310 阅读 · 0 评论 -
day04获取数组的最值,选择排序,冒泡排序,折半查找
/* 给定一个数组{5,1,6,4,2,8,9}。 1.获取数组中最大值,以及最小值。 */ class ArrayTest { /* 获取数组中最大值 思路: 1.获取最值,需要进行比较,每一次比较都会有一个较大值 因为改值不确定,通过一个变量进行临时存储 2.让数组中每一个元素都和这个变量中的值进行比较 如果大于变量中的值,就用该变量记录较大值。 2.当所有的元翻译 2016-08-25 19:12:29 · 288 阅读 · 0 评论 -
day07继承, final修饰 ,抽象类,接口
/* 将学生和工人的共性描述提取出来,单独进行描述 只要让学生和工人与单独描述这个类有关系,就可以了 继承: 1.提高了代码的复用性 2.让类与类之间产生了关系,有了这个关系,就有了多态的特性 注意:千万不要为了获取其他类的功能,简化代码而继承 必须类与类之间有所属关系才可以继承,所属关系is a 找到共性部分抽取出来 java语言中:java只支持单继承,不支持多继承翻译 2016-08-25 20:06:30 · 245 阅读 · 0 评论 -
day06-2设计模式-单例模式,模板方式
/* 设计模式:解决某一类问题行之有效的方法· java中23中设计模式 单例设计模式:解决一个类在内存只存在一个对象 想要保证对象唯一 1.为了避免其他程序过多建立该类对象,先禁止其他程序建立该类对象 2.为了让其他程序可以访问该类对象,只好在本类中自定义一个对象 3.为了方便其他程序自定义对象的访问,可以对外提供一些访问方式 代码体现 1.将构造函数私有化 2.在类翻译 2016-08-25 19:45:32 · 197 阅读 · 0 评论 -
day06-1static 使用静态方法并生成文档取最值,选择排序,冒泡排序,位置交换,打印数组元素
/* public static void main(String[] args) 主函数:是一个特殊函数,作为程序的入口,可以被jvm调用 主函数的定义: public:代表着该函数的访问权限是最大的 static:代表主函数随着类的加载就已经存在 void:主函数没有具体的返回值 main:不是关键字,但是一个特殊的单词,可以被jvm识别 (String[] args)翻译 2016-08-25 19:39:05 · 331 阅读 · 0 评论 -
day09内部类
/* 内部类的访问规则: 1.内部类可以直接访问外部类中的成员,包括私有。 之所以可以直接访问外部类中的成员,是因为内部类中持有了外部类的引用 格式:外部类名.this 2.外部类要访问内部类,必须建立内部类对象 访问格式: 1.当内部类定义在外部类的成员位置上,而且非私有,可以在外部其他类中 可以直接建立内部类对象 格式: 外部类名.内部类名 变量名=外部类对象.内部类翻译 2016-08-25 20:31:31 · 190 阅读 · 0 评论 -
day10多线程及创建线程两种方法
java vm 启动的时候会有一个进程java.exe 该进程中至少一个线程负责java程序的执行 而且这个进程运行的代码存在于mian方法, 该线程称为主线程 其实JVM启动时,不止一个线程,还有负责回收垃圾机制的线程 1.如何在自定义的代码中,自定义一个线程 通过对api的查找,java已经提供了对线程事物的描述,就是Thread类 创建线程的第一种方式:继承翻译 2016-08-25 20:44:29 · 180 阅读 · 0 评论 -
day11多线程的安全问题-同步(技术锁)-多个生产者和消费者
对线程安全问题提供解决方法 就是同步代码块(技术锁) Synchronized(对象) { 需要同步的代码 } 同步的前提 1、必须要有两个或者两个以上的线程 2、必须多个线程使用同一个锁 程序是否有安全问题 找问题 1、明确那些代码是多线程运行的代码 2、明确共享数据 3、明确多线程运行代码中有那些语句是操作共享数据的。 import java.until.c翻译 2016-08-25 21:16:37 · 155 阅读 · 0 评论 -
day22AWT窗口布局
import java.awt.*;import java.awt.event.*; /* 创建图形化界面 1、创建frame窗体 2、对窗体进行基本设置。 比如大小,位置,布局 3、定义组件 4、将组件通过窗体的add方法添加到窗体。 5,、让窗体显示,通过setVisible(true) */ class AwtDemo { public static void main(String[翻译 2016-08-30 20:02:04 · 479 阅读 · 0 评论 -
day21操作字节数组流,编码解码
/* 用于操作字节数组的流对象 ByteArrayInputStream 在构造时,需要接收数据源,而数据源是一个字节数组 ByteArrayOutputStream 在构造时,不用定义数组目的, 因为该对象内部已经封装了一个可变长度的字节数组 这就是数据的目的地 可使用 toByteArray() 和 toString() 获取数据。 因为这两个流对象都是操作数组,翻译 2016-08-30 19:51:18 · 229 阅读 · 0 评论 -
day14集合中的map系列(hashset,treeset)
import java.util.*; /* 往hashSet集合中存入自定义对象 姓名和年龄相同为同一人,重复元素 */ class HashSetTest { public static void sop(Object obj) { System.out.println(obj); } public static void main(String[]翻译 2016-08-30 12:07:44 · 165 阅读 · 0 评论 -
day15泛型
import java.util.*; class GenericDemo6 { public static void main(String[] args) { /* ArrayList al=new ArrayList() al.add("abc1"); al.add("abc2"); al.add("abc3"); ArrayList al1=new Arra翻译 2016-08-30 12:15:22 · 165 阅读 · 0 评论 -
day16集合map里面的(hashtable,hashmap,treemap)的取出方式(keyset和entryset),获取该字符串的字母出现次数
class MapDemo { public static void main(String[] args) { Map map=new HashMap(); // map.put("01","zhangsan"); map.put("02","zhangsan"); map.put("03","zhangsan"); System.out.println("contai翻译 2016-08-30 12:20:16 · 249 阅读 · 0 评论 -
day17将数组变成list集合;自定义排序,必须复写比较器;集合变数组
/* Arrays:里面全是操作数组的工具类 里面都是静态方法。 asList:将数组变成list集合 */ import java.util.*; class ArraysDemo { public static void main(String[] args) { //int[] arr={2,4,5}; //System.out.println(Arrays.t翻译 2016-08-30 17:53:44 · 290 阅读 · 0 评论 -
day18date,math,Runtime,System的(properties)
import java.util.*; import java.text.*; class DateDemo { public static void main(String[] args) { Date d=new Date(); System.out.println(d);//打印时间不懂,希望格式 //将模式封装到SimpleDateFormat对象中 Simple翻译 2016-08-30 18:17:16 · 175 阅读 · 0 评论 -
day18FileReader读取一种read方法和字符串读取,fileWriter的写入write方法,时间的类calendar
import java.io.*; class FileReaderDemo { public static void main(String[] args) { //调用一个文件读取流对象,和指定名称文件相关联 //要保证该文件已经存在,如果不存在,会发生FileNotFoundException FileReader fr=new FileReader("demo.txt")翻译 2016-08-30 18:30:42 · 632 阅读 · 0 评论 -
day19字符流: FileReader FileWriter (BufferedReader BufferedWriter ) 字节流: InputStream OutputStream读取键盘录入
/* 字符流: FileReader FileWriter BufferedReader BufferedWriter 字节流: InputStream OutputStream(写就是输出) 需求,想要操作图片数据。这时要用到字节流 */ import java.io.*; class FileStream { public static voi翻译 2016-08-30 18:51:58 · 291 阅读 · 0 评论 -
day19字节流和字符流转换,明确源和目的
/* 字符流: FileReader FileWriter BufferedReader BufferedWriter 字节流: InputStream OutputStream(写就是输出) BufferedInputStream BufferedOutputStream 通过刚才的键盘录入一行数据打印大写,发现就是读一行数据的原理 也就是readLine翻译 2016-08-30 19:15:12 · 229 阅读 · 0 评论 -
day19装饰模式和SystemInfo,ExceptionInfo
/* 装饰设计模式 当想要对已有的对象进行功能增强时 可以定义类,将已有对象传入,基于已有的功能,并提高增强功能 那么自定义的该类就成装饰类 装饰类通常会通过构造方法接受被装饰的对象 基于被装饰的对象,增强功能 */ class Person { public void chifan() { System.out.println("吃饭"); } } class翻译 2016-08-30 19:22:44 · 192 阅读 · 0 评论 -
day20File类,文件列表文件,properties
import java.io.*; /* file类常见方法 1.创建 boolean createNewFile(); 在指定位置创建文件,如果该文件已经存在,则不创建,返回false 和输出流不一样,输出流对象一创建文件,而且文件已经存在,会覆盖 boolean mkdir():创建目录 boolean mkdirs():创建多级目录 2.删除 boolean dele翻译 2016-08-30 19:30:43 · 155 阅读 · 0 评论 -
day20打印流,删除一个带内容的目录,用于记录应用程序运行次数,多个读取流变成一个读取流,切割文件
/* 打印流: 该流提供了打印方法,可以将各种数据类型的数据都原样打印 字节打印流 PrintStream 构造函数可以接收的参数类型 1.file对象 file 2.字符串路径。String 3.字节输出流.OutputStream 字符打印流 PrintWriter 构造函数可以接收的参数类型 1.file对象 file 2.字符串路径。String 3.字翻译 2016-08-30 19:44:17 · 257 阅读 · 0 评论 -
day21管道流,RandomAccessFile和实例化标识
/* 管道流---多线程和IO结合 PipedInputStream PipedOutputStream 管道输入流应该连接到管道输出流; 管道输入流提供要写入管道输出流的所有数据字节。 通常,数据由某个线程从 PipedInputStream 对象读取, 并由其他线程将其写入到相应的 PipedOutputStream。 不建议对这两个对象尝试使用单个线程,因为这样翻译 2016-08-30 19:56:00 · 226 阅读 · 0 评论 -
day13String,StringBuffer,StringBuilder
/* String类中 */ class StringMethodDemo { public static void method_7() { String s=" Hello Java "; sop(s.toLowerCase()); sop(s.toUpperCase()); sop(s.trim()); String s1="abc"; S翻译 2016-08-25 21:53:15 · 201 阅读 · 0 评论