![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java基础
java基础
Logodad
这个作者很懒,什么都没留下…
展开
-
2020-08-31 IO流
IO流一、IO流分类:①按数据传输方法划分: 输入流 输出流②按读写数据的方式划分: 字节流 字符流③按功能划分: 基础流 包装流二、字节流:1.字节输入流:FileInputStreampublic int read(){}。.public int read(byte[] b){}。public int read(byte[] b,int off,int len){}。特点:每次读取单个字节的方式读取整个文件的内容优化:每次读取单个字节的方式读取整个文件的内容。这样会频繁访原创 2020-08-31 20:19:38 · 145 阅读 · 0 评论 -
2020-08-30 我的关于TreeMap的一些疑问和理解
package map.TreeMap;import map.TreeMap.Sudent;import java.util.Comparator;import java.util.Iterator;import java.util.Set;import java.util.TreeMap;public class Demo01 { public static void main(String[] args) { //非自定义键 TreeMap&原创 2020-08-30 13:50:21 · 149 阅读 · 0 评论 -
2020-08-29 HashMap中关于重写equals方法和hashCode方法
package map;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Set;public class Demo { public static void main(String[] args) { HashMap<String,Student> map=new HashMap<>(); map.pu原创 2020-08-29 17:56:34 · 214 阅读 · 0 评论 -
2020-08-28 HashMap的遍历
HashMap:1.HashMap特点: 根据hashCode方法生成的hash值存储数据,大多数情况下可以直接定位到它的值,因而具有很快的访问速度,但遍历顺序却是不确定的。HashMap最多只允许一条记录的键为null,允许多条记录的值为null。HashMap非线程安全,即任一时刻可以有多个线程同时写HashMap,可能会导致数据的不一致。如果需要满足线程安全,可以用 Collections的synchronizedMap方法使HashMap具有线程安全的能力,或者使用ConcurrentHash原创 2020-08-28 19:53:11 · 132 阅读 · 0 评论 -
2020-08-27 TreeSet的add方法底层
Comparable 是一个接口,只有一个方法,就是compareTo(),作用是此对象与指定的对象进行比较以进行排序。 返回一个负整数,零或正整数,因为该对象小于,等于或大于指定对象。Comparator接口中的其中一个方法是:compare(T o1,To 2);作用是比较其中两个参数的顺序。①调用add方法,传入需要保存的参数②调用put方法...原创 2020-08-28 00:28:38 · 263 阅读 · 0 评论 -
2020-08-25 String
返回值方法名释义charcharAt(int ·index)把字符串当成数组,传入的index就是参数,返回值就是index为下表的元素,这里就是一个字符intcodePointAt(int index)把字符串当成数组,传入的index就是参数,返回值就是index为下表的元素的ASCII码intcodePointBefore(int index)把字符串当成数组,传入的index就是参数,返回值就是index为下表的index-1元素的ASCII码 ,就是返...原创 2020-08-25 21:45:35 · 136 阅读 · 0 评论 -
2020-08-25 BigDecimal:进行浮点型精准运算
package Date;import java.math.BigDecimal;public class text02 { public static void main(String[] args) { double num1 = 0.001; double num2 = 0.009; System.out.println(num1+num2); //精准运算 BigDecimal bd1 = new Bi原创 2020-08-25 20:37:09 · 99 阅读 · 0 评论 -
2020-08-25 生成自己想要的时间(特定格式)
如何生成自己想要的时间package Date;/** * 时间类: * Date * 时间相关模板类: * SimpleDateFormat * */import java.text.SimpleDateFormat;import java.util.Date;public class text01 { public static void main(String[] args) { //获取当原创 2020-08-25 20:09:14 · 228 阅读 · 0 评论 -
2020-08-25 equals和重写equals
== 的作用是比较内存地址的equals是比较内容的但是,equals本质上还是比较内存地址的,那如何让equals比较内容呢?就需要重写equals方法这是equals的源码,public boolean equals(Object anObject) { if (this == anObject) { return true; } if (anObject instanceof String) { String anotherString原创 2020-08-25 12:07:23 · 122 阅读 · 0 评论 -
2020-08-24 内部类
内部类可以是静态(static)的,可以使用 public、protected 和 private 访问控制符,而外部类只能使用 public,或者默认。成员式内部类 在外部类内部直接定义(不在方法内部或代码块内部)的类就是成员式内部类,它可以直接使用外部类的所有变量和方法,即使是 private 的。外部类要想访问内部类的成员变量和方法,则需要通过内部类的对象来获取。请看下面的代码:public class Outer{ private int size; public cl原创 2020-08-24 20:37:11 · 87 阅读 · 0 评论 -
2020-02-22 使用Java创建自己的异常子类
先贴一段代码// This program creates a custom exception type.class MyException extends Exception { private int detail; MyException(int a) { detail = a; } public String toString() { return "MyException[" + detail + "]"; }}c原创 2020-08-22 11:36:37 · 124 阅读 · 0 评论 -
2020-08-20 interface接口
接口:关键词:interface 实现的关键词:implements – 额外的功能1.接口不是一个类2.接口中的方法默认为抽象方法,访问修饰符默认为public3.接口不能有普通方法4.接口只能被类实现,不能被类继承,能够被类多实现5.接口中的属性默认为静态常量6.接口中没有构造方法,无法对接口进行实例化7.接口中没有构造代码块8.接口可以被抽象类实现9.接口可以多继承接口10.接口不能实现接口11.JDK8的新特性: ①接口允许有default和static修饰原创 2020-08-20 19:59:13 · 132 阅读 · 0 评论 -
2020-08-20 抽象类
抽象类:①被abstract修饰的类,不能被实例化。②可被子类继承,提供共性属性和方法。③可声明为引用,更自然的使用多态。④普通类可以继承抽象类,并实现抽象类中的方法抽象方法:①只有方法声明,没有方法实现②子类继承抽象方法以后,必须全部重写抽象方法,否则子类还是抽象类问题,父类为抽象类,子类继承父类后,为什么还要把抽象类的方法重写?那为什么不直接创建个方法? 抽象类 (用处,意义,实现方法) 抽象类专门用于被子类实现,因为没有继承和重写就无法使用多态。有些方法父类里写不写完全没意义,因为原创 2020-08-20 19:06:33 · 122 阅读 · 0 评论 -
2020-08-19 final
final含义:最终;作用:修饰类、属性、方法一、修饰类被final修饰的类不可被继承但是要注意final类中的所有成员方法都会被隐式地指定为final方法。二、修饰方法被final修饰的方法不可被重写三、修饰属性对于一个final变量,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改;如果是引用类型的变量,则在对其初始化之后便不能再让其指向另一个对象,但是它指向的对象的内容是可变的。注意:被final修饰的引用变量指向的对象内容可变吗? 在上面提到被final修饰的引用原创 2020-08-19 18:49:16 · 116 阅读 · 0 评论 -
2020-08-14 Java中的方法
什么是方法:实现特定功能、需要重复使用的代码。作用:减少代码量,降低冗余。分类:不带参数,不带返回值public class method_Parameter { public static void main(String[] args) { Animal();//不带参数}public static void Animal(){ System.out.println("我是钢铁侠");} .原创 2020-08-19 16:40:29 · 80 阅读 · 0 评论 -
2020-08-19 static
static: 静态的,static修饰的东西会随着字节码文件优先于类加载进内存 1.修饰方法: 静态方法,不需要进行实例化就可以直接通过类名调用于类不属于对象,一般出现在工具类中,只能调用静态属性或方法 2.修饰属性: 静态属性,不需要进行实例化就可以直接通过类名调用于类不属于对象,所有对象共享一份数据 3.修饰代码块: 静态代码块,在类第一次被使用原创 2020-08-19 16:35:37 · 90 阅读 · 0 评论 -
2020-08-18 this、super、extends
this## this 是用来指代本类中的属性和方法。问:为什么要用this来指代本类中的属性和方法答:因为存在方法的参数名和类中的属性名同名的情况,这时候,使用这个名字就不知道使用的是类的属性名还是方法的参数名。...原创 2020-08-18 20:57:06 · 139 阅读 · 0 评论 -
2020-08-18 重载和重写的区别
重载和重写的区别重载:在同一个类中,有两个方法名字相同,参数不同(方法名相同,参数列表不同-------同名不同参)重写:是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即外壳不变,方法体重写!(同名同参不同方法体)代码测试如下:主方法public class test01 { public static void main(String[] args) { remethod re=new remethod(); re.reMe原创 2020-08-18 20:46:50 · 109 阅读 · 0 评论 -
2020-08-17 选择排序、冒泡排序
1. 选择排序法排序原理:每一次排序,选择未被排序的第一个元素的索引值,依次和后面的数比较,如果比后面的数大,则交换索引值, 当第i轮比较结束后,判断当前索引值时候发生改变,如果发生改变,则说明存更小的元素,那么就交换//注意:每次交换得到的最大或最小值都是放在前面的(从前往后排序,和冒泡正好相反)第一个for:为什么要-1(也可以不-1),因为轮到倒数第二个数的时候,排序就完成了,而且最后一个数也是和自己比较,所以即省略了int min;fot(int i=0;i<arr.len原创 2020-08-17 20:57:39 · 104 阅读 · 0 评论 -
2020-08-15 ArrayList
ArrayList的常用方法:1. add()------往列表中添加内容2. get(int index)------返回此列表中指定位置的元素。下标从0 开始3. reomve()-------删除列表中的内容 4. size()------获取列表的长度(数组用length)注意事项:5. ArrayList中不能存储基本数据类型 只能是引用类型怎么办呢?可以包装类来代替6. ArrayList保存对象,是在创建对象后以add(对象名称)的方式将对象;保存到列表7. 如何显示列表中保原创 2020-08-15 16:58:23 · 105 阅读 · 0 评论 -
2020-08-15 java语言规范、基本数据类型、类型提升
1.java语言规范:标识符由数字,字母,下划线,美元符号组成,并且不能由数字开头。不能和关键字、保留字重名包名全小写,只能用特殊字符".",并且不以“.”开头。类名首字母大写。方法名。变量名第一个字母小写,拼接首字母大写...原创 2020-08-15 09:55:47 · 89 阅读 · 0 评论 -
2020-08-15 输出一个范围内的所有素数
代码如下:public class all_prime_number { public static void main(String[] args) { int z=0; int k=0; int temp; Scanner sc=new Scanner(System.in); System.out.println("传入2个数,输出2个数范围内的所有素数,比如100-200之间。"); System原创 2020-08-15 09:06:36 · 421 阅读 · 0 评论 -
2020-08-11 数据类型和类型转换
数据类型8个基本数据类型:整形 浮点型 布尔类型 字符型1.整形包括 长整型(long)整形(int) 短整型(short)字节型(byte)2.浮点型包括 单精度(float) 双精度(double)3.布尔类型包括 true 和 false4.字符型 char 用单引号表示...原创 2020-08-12 17:24:59 · 115 阅读 · 0 评论 -
if 和 switch
if选择结构if后面的括号内是布尔表达式 不能是其他的类型 switch分支结构switch括号里面的是什么数据类型?答:int,byte,short;String;char;enum 一般使用switch括号内都是int型case的运算顺序是 从上到下如果case没有break,则会从当前case继续向下执行。default在中间,default上下两个case都没有break,当swit.原创 2020-08-12 17:22:14 · 86 阅读 · 0 评论 -
基本数据类型之类型提升
字节数整型浮点型布尔型字符型1字节byteboolean2字节shortchar4字节intfloat8字节longdouble一、自动数据类型提升当数值范围小 的数据类型变量与 数值范围大 的数据类型变量做运算时,自动提升为数值范围大的数据类型。注:是 数值范围 大小,不是 数据类型内存 大小。 比如:float(4字节)数值范围类型比long(8字节)数值范围大。byte、short、char类型之间不会相互转换...转载 2020-08-11 21:00:36 · 459 阅读 · 0 评论 -
java常见的转义字符
转义字符\t缩进\"双引号\’单引号\n换行符\\反斜杠原创 2020-08-11 20:34:40 · 153 阅读 · 0 评论 -
逻辑表达式
逻辑表达式1.逻辑与和短路与(&和&&)逻辑与:运算符的两边只要有一个false,则结果为false.System.out.println((3>5) & (2==2));//结果为false短路与:运算符的左边为false,则结果为false。System.out.println((3>5) && (2==2));//结果为false2. 逻辑或和短路或( | 和 || )运算符两边只要有一个 为true,则结果为true。Sy.原创 2020-08-11 20:03:14 · 1188 阅读 · 0 评论