JAVA自学笔记17】的更多相关文章

JAVA自学笔记17 1.Map接口 1)概述 将键映射到值的对象,一个映射不能包含重复的键,每个键最多只能映射到一个值.可以存储键值对的元素 2)与Collection接口的不同: ①Map是双列的(成对出现),Collection是单列的 ②Map的键是唯一的,值是可重复的.Collection的子体系Set是唯一的,List是可重复的 ③Map集合的数据结构针对键有效,与值无关:Collection集合的数据结构是针对元素有效 2.登录注册集合版 1)图解: 2) 3)代码:见视频17.0…
JAVA自学笔记11 1:Eclipse的安装 2:用Eclipse写一个HelloWorld案例,最终在控制台输出你的名字 A:创建项目 B:在src目录下创建包.cn.itcast C:在cn.itcast包下创建类.HelloWorld D:在HelloWorld下有一个方法.public static void main(String[] args) {} E:在main方法中有一个输出语句.System.out.println("你的名字"); 3:Eclipse空间的基本配…
JAVA自学笔记18 1.Map接口: 1)功能: 2) Map<String,String>m=new HashMap<String,String>(); //添加元素,元素无序 System.out.println("map.put("cc","coco"));//null //替换键值,返回该键的上一个值,若键不存在,返回null System.out.println(map);//cc=coco,左边是键,右边是值 //ma…
JAVA自学笔记09 1.子类的方法会把父类的同名方法覆盖(重写) 2.final: 1)可修饰类.方法.变量 2)修饰类时:此时该类变为最终类,它将无法成为父类而被继承 3)修饰方法时:该方法将无法被重写 4)变量为常量,其值不可被改变 修饰引用类型时:引用类型的地址值不能变但其成员变量(堆内存的值)等是可以变的 5)初始化时机: 被final修饰的变量只能赋值一次 在构造方法完毕前修饰变量,避免其被构造方法改变(非静态的常量) 3.多态 1)某一个事物,在不同时刻表现出不同的状态 2)前提与…
JAVA自学笔记05 1.方法 1)方法就是完成特定功能的代码块,类似C语言中的函数. 2)格式: 修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2,-){ 函数体; return 返回值: } ①修饰符:对于初学者使用public static ②返回值类型:方法结果的类型 ③方法名符合命名规则即可 ④实际参数:实际参与运算的 形式参数:定义在方法上的,用于接收实际参数 ⑤方法定义在类中但在主方法外 3)调用方式: 单独调用:方法名(变量名1,变量名2,-)一般没有意义 输出…
JAVA自学笔记06 1.二维数组 1)格式: ①数据类型[][]数组名 = new 数据类型[m][n]; 或 数据类型[]数组名[]=new 数据类型[m][n]; m表示这个二维数组有多少个一维数组 n表示每个一维数组的元素个数 存储图解: eg:int[][]arr = new int[3][3]; 意义:定义了一个二维数组名为arr,这个二维数组有3个一维数组,名称是arr[0].arr[1].arr[2],每个数组有3个元素,可通过arr[m][n]来访问相应m+1.n+1元素 区分…
JAVA自学笔记04 1.switch语句 1)格式:switch(表达式){ case 值1: 语句体1; break; case 值2: 语句体2; break; - default: 语句体n+1 break; } 2)注意事项: 表达式结果类型:byte/short/int/char/枚举/string case 后只能跟常量表达式而不能接变量,不能接相同的常量表达式 default可以在任意位置,但它总是最后执行的 switch 语句是以break 语句为结束而不是default @例…
JAVA自学笔记07 1.构造方法 1) 例如:Student s = new Student();//构造方法 System.out.println(s);// Student@e5bbd6 2)功能:给对象中的数据进行初始化 3)格式:方法名与类名相同,没有具体的返回值类型(包括void),没有具体的返回值 public 类名(){-;}; 4)注意事项:如果不提供构造方法,系统将给出默认的无参构造方法,若已给出,系统不再给出构造方法,可以被重载. 5)重载格式:可以有参数列表即可以在构造方…
JAVA自学笔记10 1.形式参数与返回值 1)类名作为形式参数(基本类型.引用类型) 作形参必须是类的对象 2)抽象类名作形参 需要该抽象类的子类对象,通过多态实现 3)接口名为形参 需要的是该接口的实现类对象 4)类名作返回值类型 返回的是该类的一个对象 class StudentDemo{ public Student getStudent(){ return new Student()}//匿名对象,返回一个student类型 } //创建该类的对象并调用该对象的getStudent()…
JAVA自学笔记13 1.StringBuffer类 1)线程安全的可变字符序列 线程安全(即同步) 2)StringBuffer与String的区别:一个可变一个不可变 3)构造方法: ①public StringBuffer() 无参构造. StringBuffer ssd=new StringBuffer(); Systrm.out.println(ssd);//已被重写,由于没有内容而为空 Systrm.out.println(ssd.capacity());//默认为16 Systrm…
JAVA自学笔记14 1.正则表达式 1)是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串.其实就是一种规则.有自己的特殊应用 2)组成规则: 规则字符在java.util.regex Pattern类中 常见组成规则: 字符:x(字符x).\(反斜线字符). \n(换行).\r(回车符) 字符类: [abc](a或b或c,简单类) [^abc](除了a/b/c以外的字符) [a-zA–Z](两头的字母也包括在内(范围)) [0-9](0到9的字符都包括) 预定义字符类: .(…
JAVA自学笔记12 1.Scanner 1)JDK5后用于获取用户的键盘输入 2)构造方法:public Scanner(InputStream source) 3)System.in 标准的输入流,对应着键盘录入 4)成员方法 ①public boolean hasNextXxx() 判断是否还有下一个输入项,返回布尔类型.其中Xxx可以是Int/Double等数据类型,如果需要判断是否包含下一个字符串,则可省略Xxx public class ScannerDemo(){ public s…
JAVA自学笔记15 @例题1:共有5个学生,请把五个学生的信息存储到数组中,并遍历数组,并获取每个学生的信息 Students[] students=new Student[5]; Student s1=new Student("Jack"); Students[0]=s1;//数组里储存的是一个一个的对象 1.集合类 1)面向对象语言对事物都是以对象的形式,所以为了方便 对多个对象进行操作,java提供了集合类 2)数组虽然也可以存储对象,但长度必须是固定的,集合的长度是可变的.数…
JAVA自学笔记08 1.构造方法私有,外界就不能再创建对象 2.说明书的制作过程 1)写一个工具类,在同一文件夹下,测试类需要用到工具类,系统将自动编译工具类:工具类的成员方法一般是静态的,因此在测试类中可直接通过 工具类名.方法名(参数列表); 的方法来调用 2)加入文档注释 @ 文字(作者.版本) @ param / return 3)用工具解析文档注释:javadoc 格式:javadoc -d 目录名-author-version 工具类名.java 可创建未存在的目录 3.工具类配合…
JAVA自学笔记19 1.集合总结 Collection(单列集合) List(有序可重复) ArrayList:底层数据结构是数组 ,查询快,增删慢.线程不安全,效率高 Vector:底层数据结构是数组,查询快,增删慢.线程不安全,效率低 LinkedList:底层数据结构是链表,查询慢,增删快,线程不安全,效率高 Set(无序唯一) HashSet:底层数据结构是哈希表,哈希表依赖两个方法:hashCode()和equals() 执行顺序:首先判断hashCode()值是否相同,是则继续执行…
JAVA自学笔记20 1.递归: 1)方法定义中定义中调用方法本身的现象 2)要有出口,否则就是死递归 次数不能太多.否则内存将溢出 构造方法不能递归使用 //斐波那契数列:1,1,2,3,5,8,13,21.34 public int Fibonacci(int n){ if(n==1||n==2){return 1;} return Fibonacci(n-1)+Fibonacci(n-2) } @例题1:遍历目录下指定后缀名结尾的文件名称 private static void getAl…
JAVA自学笔记21 1.转换流 由于字节流操作中文不是非常方便,因此java提供了转换流 字符流=字节流+编码表 1)编码表 由字符及其对应的数值组成的一张表 图解: 2)String类的编码和解码 String(byte[] bytes,String charsetName): 通过指定的字符集解码字节数组 byte[]getBytes(String charsetName) 使用指定的字符串编码为字节数组 String s="你好"; //编码String-byte[] byte…
JAVA自学笔记22 1.操作基本数据类型的流 DataInputStream DataOutputStream 数据输出流允许应用程序以适当方式将基本的Java数据类型写入输出流中.然后,应用程序可以使用数据输入流将数据读入. //实例 private static void write(){ DataOutputStream dos-new DataOutputStream(new FileOutputStream("dos.txt")); dos.writeByte(10); d…
JAVA自学笔记23 1.多线程 1)引入: 2)进程 是正在运行的程序.是系统进行资源分配和调用的独立单位.每一个进程都有它自己的内存空间和系统资源. 多进程: 单进程的计算机只能做一件事情,而现在的计算机都可以做多件事情.CPU在某个时间点上只能做一件事.每一个进程都有它自己的内存空间和系统资源. 3)多线程 -是进程中的单个顺序控制流,是一条执行路径 -一个进程如果只有一条执行路径,则称为单线程程序.一个进程如果有多条执行路径,称为多线程程序. 4)并行与并发 前者是逻辑上同时发生,指在某…
JAVA自学笔记24 1.能使用同步代码块就使用同步代码块,除非锁对象是this,就可以考虑使用同步方法.静态方法的锁是类的字节码对象. 2.JDK5新特性 1)接口Lock void Lock()//获取锁 void unlock()//释放锁 ReentrantLock:实现类 public class SellTicketDemo{ public stsatic void main(String args[]){ Thread t1=new Thread(st,"窗口1"); T…
JAVA自学笔记26 1.网络编程 1)用来实现网络互联的不同计算机上运行的程序可以进行数据交换 2)网络模型一般泛指 OSI:(Open System Interconnection)开放系统互联参考模型 TCP/IP参考模型 3)网络编程三要素 IP地址.端口.协议 ①IP地址:在TCP/IP协议中网络通信中的计算机的唯一标识号 java提供类InetAddress供使用. 为了方便用4个十进制数表示 网络号段+主机号段 IP分类: 见书 ipconfig–查看本机IP地址 ping ip地…
JAVA自学笔记27 1.类的加载 1)当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载,连接,初始化三步来实现对这个类进行初始化. ①加载:就是指将class文件读入内存,并为之创建一个Class对象.任何类被使用时系统都会为之建立一个Class对象. ②连接 验证:是否有正确的内部结构,并和其他类协调一致 准备:负责为类的静态成员分配内存,并设置默认初始化值 解析:将类的二进制数据中的符号应用为直接引用. 初始化:就是之间所说的初始化步骤 附初始化的时机: –创建类的实例…
JAVA自学笔记25 1.GUI 1)图形用户接口,以图形的方式,来显示计算机操作的界面,更方便更直观 2)CLI 命令行用户接口,就是常见的Dos,操作不直观 3) 类Dimension 类内封装单个对象组件中组件的宽度和高度(精确到整数) Dimension(int width,int height); 类Point //窗体案例 Frame f=new Frame();//也可通过带参构造设置标题String title, //设置窗体标题 f.setTitle("dd"); /…
文中记录的内容都是博主从自己的学习笔记中总结的. 如果遇到问题,或者有不一样的看法,欢迎提出! 1安装JDK 从Oracle官网下载JDK,我使用的版本是1.7.0.80. 操作系统是win7 64位,所以要选择对应版本的JDK. 官网地址: https://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html#jdk-7u80-oth-JPR 下载前需要,勾选Acc…
实现:学生管理系统,实现学生信息的添加.修改.查询和删除功能 涉及:集合的基础知识(集合遍历,值得获取与替换,set/get方法) 代码如下: Student文件 1 package Demo_1208; 2 3 public class Student { 4 private String sid; 5 private String name; 6 private String age; 7 private String address; 8 9 public Student() { 10 }…
字符串比较string1.equals(string2) 代码如下: 1 package Demo_1206; 2 3 import java.util.Scanner; 4 5 public class Demo120602 { 6 public static void main(String[] args) { 7 // 定义正确的用户名.密码 8 String c_name = "marvin"; 9 String c_password = "123456";…
package com.yfs.javase; public class ParamDemo { public static void main(String[] args) { int a = 3, b = 5; change(a,b); System.out.println("a = " + a + " b = " + b); Point p = new Point(); p.x = 10; p.y = 20; change(p); System.out.pri…
1.标识符:字母,数字,下划线,美元符组成,不可以已数字开头,并且严格区分大小写 2.变量 有三个元素描述变量,变量类型,变量名,变量值 如何命名变量:首字母为 字母:下划线:“$“符号,其余部分为 数字:字母:下划线:美元符号 不可以用java关键字命名 变量名首字母小写,其后单词首字母大写 3.数据类型:基本数据类型:数值型(整数类型,浮点类型),字符型,布尔型 引用数据类型: 类,接口,数组 Java中基本数据类型存的是数据本身,而引用类型变量存的是保存数据的空间地址 Char(字符型):…
1.三目运算符 1)格式:(关系表达式)?表达式1:表达式2 true则执行表达式1,false则执行表达式2 @ 例题1 :求两数中的较大值 System.out.println(x>y?x:y); @例题2:获取三个整数中的最大值 int temp; temp = x>y?x:y; temp = temp>z?temp:z; System.out.println(temp); /*只用一步*/ temp = (a>b?((a>c)?a:c):(b>c)?b:c)))…
Calendar类:(日历) 用法:Calendar是一个抽象类:不能实例化(不能new),使用时通过子类完成实现,不过这个类不需要创建子类对象,而是通过静态方法直接获取: 获取对象方法:getInstance(): getInstance()方法:官方文档:使用默认时区和语言环境获得一个日历. getInstance(Locale aLocale)   使用默认时区和指定语言环境获得一个日历. getInstance(TimeZone zone)     使用指定时区和默认语言环境获得一个日历…