一个女菜鸟的Java逆袭之路
java学习笔记。
兔子eo
这个作者很懒,什么都没留下…
展开
-
TCP通信--聊天室
聊天室客户端public class Client { /* * 套接字--可以理解为电话 * java.net.Socket * 封装了TCP协议,使用它就可以基于TCP协议进行网络通讯 * Socket是运行在客户端的 */ private Socket socket; /** * 构造方法,用来初始化客户端 * 实例化Socket的时候需要传入两个参数...原创 2020-05-04 19:10:11 · 323 阅读 · 0 评论 -
多线程基础
第一种创建线程的方式:继承Thread并重写run方法来定义线程要执行的任务public class ThreadDemo1 { public static void main(String[] args) { MyThread1 t1=new MyThread1(); MyThread2 t2=new MyThread2(); /* * 启动线程要指定star...原创 2020-05-03 17:51:51 · 369 阅读 · 1 评论 -
java的异常处理
java异常捕获机制中的try-catch,try块是用来扩上可能出错的代码片段,catch块是用来捕获try块中代码抛出的错误,并解决。public static void main(String[] args) { System.out.println("程序开始了"); try{ String str=""; /* * JVM在执行代码的过程中若发现了一个异常,则...原创 2020-04-28 14:24:08 · 256 阅读 · 0 评论 -
java的基本IO操作与文件数据IO操作
流,流根据方向不同分为输入流和输出流,参照点为当前程序。输入流用来读取数据,输出流用来写出数据。java.io.InputStream 抽象类,定义了输入流的读取字节方法,所有的字节输入流都继承自它,java.io.OutputStream则是所有字节输出流的父类。流分为节点流与处理流:节点流,也叫低级流,是真实负责读写数据的流,读写操作中必须有低级流,数据源明确;处理流,也叫高级流。读写可以...原创 2020-04-27 20:39:32 · 191 阅读 · 0 评论 -
java文件操作
1. java.io.File File的每一个实例可以表示文件系统中的一个文件或目录。使用File可以:1.访问文件或目录的属性,如大小、名字、修改时间等2.操作文件或目录。如创建、删除文件和目录3.访问目录中的所有内容但是不可以:访问文件数据 public static void main(String[] args) { File file=new File("."+File....原创 2020-04-22 19:21:09 · 294 阅读 · 0 评论 -
java查询表
1. java.util.Map: Map看起来像是一个多行两列的表格。以key-value对的形式存放元素。在Map中key不允许重复(重复是依靠key的equals判断)。 常用的实现类是:HashMap。public static void main(String[] args) { Map<String,Integer> map =new HashMap<Strin...原创 2020-04-22 19:18:07 · 764 阅读 · 0 评论 -
java集合框架和集合操作
1. java.util.Collection: 集合,用于存储一组元素。提供了维护集合的相关操作。其派生了两个子接口:List:可重复集 Set:不可重复集。元素是否重复是依靠自身equals方法比较的结果而定的。 Collection c=new ArrayList(); /*1. * boolean add(E e) 向集合中添加元素 * 当元素成功添加到集...原创 2020-04-22 19:12:17 · 199 阅读 · 0 评论 -
java中的日期操作
1. java.util.Date: Date的每一个实例用于表示一个确切的时间点。内部维护了一个long值,该值纪录的是从:1970年1月1日00:00:00到表示的时间点所经历的毫秒值。正数是70年以后的日期,负数则是70年以前的日期.由于Date设计上存在缺陷(时区,千年虫),所以他的大部分方法被设置为“过时的”,不再建议使用 /* * 使用默认构造方法创建的Date表示当前系统时...原创 2020-04-22 18:44:12 · 278 阅读 · 0 评论 -
java包装类
1. java对于8个基本类型分别定义了对应的包装类,而包装类出现的原因是为了解决基本类型不能参与面向对象开发的问题。public static void main(String[] args) { dosome("abc"); dosome(new Point(1,2)); int i=1; /* * java的8个基本类型:byte、short、int、long、flo...原创 2020-04-22 18:33:24 · 108 阅读 · 0 评论 -
java正则表达式
1. 字符串支持正则表达式的方法一:boolean matches(String regex) 根据给定的正则表达式验证当前字符串是否满足格式要求,满足则返回true,否则返回false /* *电子邮箱的正则表达式: * [a-zA-Z0-9_]+@[a-zA-Z0-9_]+(\.[a-zA-Z0-9]+)+ */ String regex="[a-zA-Z0-9_...原创 2020-04-22 18:25:54 · 210 阅读 · 0 评论 -
java字符串基本操作
1. 字符串是不变对象:字符串内容一旦创建,不可改变,若想改变某个字符串内容一定会创建新对象` String s1="123abc"; String s2="123abc"; String s3=new String("123abc"); System.out.println(s1==s2);//true System.out.println(s1==s3);//fals...原创 2020-04-22 18:17:47 · 191 阅读 · 0 评论 -
java里的进制
二进制:计算机只能处理二进制数据,利用编程语言提供的算法支持了十进制;计算机的内部(Java)只有二进制数据,在显示的时候编程语言提供API将二进制转换为十进制显示出来;计算机表面上支持了十进制,但其实不支持。Java中有两个方法:Integer.toString() 将二进制数据转换为十进制输出Integer.parseInt() 将十进制字符串转换为二进制数据 int n=45; ...原创 2020-04-17 11:12:03 · 433 阅读 · 1 评论 -
java的多态
意义行为的多态:同一类型的引用指向不同的对象时,有不同的实现对象的多态:同一对象被造型为不同类型时,有不同的功能向上造型父类型的引用指向子类的对象能造型成的类型有:父类型、实现的接口能点出来什么,看引用的类型 向上造型之后,能点出来的东西等于或少于以前的强制类型转换,成功的条件有两个:引用所指向的对象,就是该类型引用所指向的对象,实现了该接口建议通过instanceof...原创 2020-03-28 17:55:05 · 152 阅读 · 0 评论 -
内部类
内部类:成员内部类:不太常用类中套类,外面的叫外部类,里面的叫内部类内部类通常只服务于外部类,对外不具备可见性内部类对象通常是在外部类中创建的内部类中可以直接访问外部类的成员(包括私有的)内部类中有个隐式的引用,指向创建它的外部类对象语法: 外部类名.this.public class InnerClassDemo { public static void main(Stri...原创 2020-03-28 17:48:18 · 190 阅读 · 1 评论 -
static final常量
static final常量1.必须声明同时初始化2.不能改变,通过类名点来访问3.建议:常量名所有字母都大写4.在编译时会自动替换为具体的值,效率更高public class StaticFinalDemo { public static void main(String[] args) { System.out.println(Aoo.PI);//通过类名点来访问 //A...原创 2020-03-28 17:41:53 · 316 阅读 · 0 评论 -
abstract
抽象方法1.由abstract修饰2.只有方法的定义,没有方法的实现(大括号都没有)抽象类 1. 由abstract修饰2.包含抽象方法的类必须是抽象类,不包含抽象方法的类也可以声明为抽象类3.抽象类不能被实例化4.抽象类是需要被继承的,子类:4.1 重写所有抽象方法–常用4.2 也声明为抽象类–不常用5.抽象类的意义:5.1 包含公共的属性和行为,被子类所共享–代码重用5...原创 2020-03-28 17:40:16 · 1160 阅读 · 0 评论 -
接口
接口1.是一个标准、规范–遵守了这个标准,就能干某件事2. 由interface定义3.只能包含常量和抽象方法4.接口不能被实例化5.接口是需要被实现/继承的,实现类/子类:必须重写接口中的所有抽象方法6.一个类可以实现多个接口,用逗号分隔—若又继承又实现时,先继承extends后实现implements7.接口可以继承接口 类对类–继承 接口对接口–继承...原创 2020-03-28 17:35:07 · 137 阅读 · 0 评论 -
static
一、成员变量实例变量:属于对象的,存在堆中有几个对象就有几份实例变量必须通过对象名. 来访问静态变量(由static修饰):属于类的,存在方法区中只有一份常常通过类名.来访问何时用?—若所有对象的数据都一样时使用,只有一份(比如一个班的所有学生的班级号都是一样的,这时班号可以设置为static静态变量 或者卡号,密码,余额,利率中 利率就可以设置为静态变量)...原创 2020-03-28 17:29:54 · 120 阅读 · 0 评论 -
重载和重写
重载:同一个文件中可以包含多个类public修饰的类只能有一个public修饰的类只能与文件名相同public static void main(String[] args) { Aoo o=new Aoo(); o.sayHi(); o.sayHi(25); o.sayHi("zhangsan"); o.sayHi(25, "zhangsan"); o.say...原创 2020-03-28 17:21:29 · 226 阅读 · 0 评论 -
向上造型
向上造型1.父类型的引用指向子类的对象2.能点出来什么,看引用的类型3.父类的引用可以指向子类的对象,但通过父类的引用只能访问父类所定义的成员,不能访问子类扩展的部分public static void main(String[] args) { Coo o1=new Coo();//创建了一个父类型的对象 o1.c=1; o1.say(); //o1.d=2; //编译错...原创 2020-03-28 17:06:53 · 256 阅读 · 0 评论 -
方法
1. 无参无返回值方法public static void say(){ System.out.println("大家好,我叫ali"); }2. 有参无返回值的方法—有参更灵活public static void sayHi(String name){ System.out.println("大家好,我叫"+name); }3. 无参有返回值public static ...原创 2020-03-19 13:34:07 · 140 阅读 · 0 评论 -
数组
1. 数组的定义int[] arr1=new int[10];2. 数组的初始化 int[] arr2=new int[4]; int[] arr3={1,4,5,7}; int[] arr4=new int[]{1,4,5,7}; int[] arr5; //arr5={1,4,5,7};//编译错误,只能声明同时 arr5=new int[]{1,4,5,7};...原创 2020-03-19 13:18:46 · 77 阅读 · 0 评论 -
循环结构
1. for//累加和1+2+3+4+···+100=5050 int sum=0; for(int i=1;i<=100;i++){ sum+=i; } System.out.println("和为:"+sum);2. whileint times=0;//1.循环变量的初始化while(times<10){//2.循环的条件 System.out....原创 2020-03-19 13:03:44 · 145 阅读 · 0 评论 -
分支结构
if int num=6; if(num%2==0){ System.out.println(num+"是偶数"); } System.out.println("over");if-else int num=9; if(num%2==0){ System.out.println(num+"是偶数"); }else{ System.out....原创 2020-03-19 12:05:09 · 128 阅读 · 0 评论 -
运算符
算术运算符:+,-,*,/,%,++,–(1)%:取模/取余,余数为0即为整除System.out.println(5%2);//1 商2余1System.out.println(8%2);//0 商4余0System.out.println(2%8);//2 商0余2System.out.println(8.456%2);//0.456 用8对2取余,商4余0,再追上后面的小数...原创 2020-03-19 11:53:55 · 152 阅读 · 0 评论 -
Java里的变量----程序中用于存储数据的容器
变量的声明int a;//声明一个整型变量,名为aint b,c,d;//声明b,c,d三个整型变量变量的命名驼峰命名法(五个规定)类名/接口名:如果由多个单词组成,那么每一个单词的首字母大写。HelloWorld变量名/方法名:如果由多个单词组成,那么第一个单词的首字母小写,其余单词的首字母大写。playGame、main。包名:如果是由多个单词组成,那么每一个单词之间...原创 2020-03-19 11:34:21 · 412 阅读 · 0 评论 -
Scanner的演示
三步package abc;import java.util.Scanner;//1.public class ScannerDemo { public static void main(String[] args) { Scanner scan=new Scanner(System.in);//2. System.out.print("请输入年龄:"); int age=...原创 2020-03-19 11:21:25 · 113 阅读 · 0 评论 -
java的基本数据类型
基本数据类型:byte、short、int、long、float、double、char、boolean 。引用数据类型: 数组、类、接口。int:整型,4个字节,-21多亿到21个多亿int a=250;//250为整数直接量,默认为int型int b=10000000000;//编译错误,100亿默认为int型, 但超出了范围System.out.println(5/2); //...原创 2020-03-19 11:16:45 · 168 阅读 · 0 评论 -
JDK、JRE、JVM是什么?
JDK(java Development Kit):java 的开发和运行环境,包括java 的开发工具和 jre,在程序员的电脑上当然要安装JDK;JRE(Java Runtime Environment):它是Java运行环境,包括,java 运行的所需的类库+JVM(java 虚拟机)。 如果你不需要开发只需要运行Java程序,那么你可以安装JRE。例如程序员开发出的程序最终卖给了用户,...原创 2020-03-19 10:46:18 · 228 阅读 · 1 评论