![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
fly_ship
这个作者很懒,什么都没留下…
展开
-
错误--java中单引号双引号问题
char[] arr={'a','b'}; --char类型String[] arr = {"a","b","c"}; --string类型import java.util.Scanner;/* * 89735.12 * 8973512分 * 除法可以取高位 * * * 出现问题 从仟位往后无法得出结果 */public class case8_BigMoney { public static void main(String[] ar原创 2021-01-13 10:21:41 · 700 阅读 · 1 评论 -
Java-32 泛型类
泛型类import java.util.List;import java.util.ArrayList;public class Test { public static void main(String[] args) { A<String> a1 = new A<String>();//在new A的对象是制定了A的数据类型String a1.setKey("xxx");//对象使用setKey(T key)方法中的key形参就是String类型 Str原创 2020-08-10 11:55:16 · 76 阅读 · 0 评论 -
Java-31 泛型Generic
泛型Generic只有指定类型才可以添加到集合中,才是类型安全的Java只在编译阶段有效(不会进行到运行阶段)原创 2020-08-10 11:55:04 · 66 阅读 · 0 评论 -
Java-30 Map接口 Map<K, v>
Map接口 Map<K, v>Map用于保存具有映射关系的集合(关键字——值)HashMap类是Map接口的实现类无序 Map<String, Integer> map = new HashMap<String, Integer>(); //Object put(Object key, Object value)(键-值) map.put("b", 1);//添加数据 map.put("c", 2);// map.put("d", 2);//key一定不能原创 2020-08-10 11:54:51 · 294 阅读 · 0 评论 -
Java-29 List接口 List<E>
List接口 List< E >List集合允许使用重复的元素,可以通过索引来访问指定位置的集合元素List集合默认添加顺序添加索引设置元素的索引List集合添加了一些根据索引操作集合元素的方法ArrayList类是List接口的实现类采用数组结构存放对象 List<String> list =new ArrayList<String>(); list.add("b");//第一个,索引下标0 list.add("a");//索引下标1 list.add原创 2020-08-09 15:51:35 · 123 阅读 · 0 评论 -
Java-28 TreeSet集合
TreeSet集合确保集合元素处于排序状态支持两种排序方法,自然排序和定制排序@Override public int compare (Person o1, Person o2) { if(o1.age > o2.age) { return 1; }else if (o1.age < o2.age) { return -1; }else { return 0; } }...原创 2020-08-09 15:51:20 · 65 阅读 · 0 评论 -
Java-27 SET接口
SET接口1.不允许集合中存在重复的元素(不可重复指的是hashcod值不同)2.无序HashSet类是set接口的实现类 Set set = new HashSet();> 变量set的类型是用Set接口来表示的,没有使用HashSet(nice习惯)// set.add(1);//添加元素// set.add("a");// System.out.println(set);// // set.remove(1);//移除元素// System.out.pri原创 2020-08-09 15:51:07 · 74 阅读 · 0 评论 -
Java-26 集合
集合1.集合只能存放对象int 1放入集合中,自动转换成Integer后存入2.集合存放的是多个对象的引用,对象本身还是在heap堆中3.集合可以存放不同类型、不限数量的数据类型Set List MapSet:无序 不可重复List:有序、可重复Map:具有映射关系...原创 2020-08-09 15:50:57 · 58 阅读 · 0 评论 -
Java-25 异常与处理
异常与处理常见错误处理捕获异常抛出异常(甩锅)Error:JVM系统内部错误、内存耗尽Exception:编程错误、外在因素常见错误OutOfBoundsException:数组越界NullPointerException:空指针异常ArithmeticException: / by zero除数为0处理捕获异常int i = 0;try { //用try{}来括住一段有可能出项异常的代码段System.out.println(3/i);//由于异常,程序中断}catch(E原创 2020-08-09 15:50:47 · 198 阅读 · 0 评论 -
Java-24 接口(interface)
接口(interface)因为java不支持多重继承,所以有哦了interface接口(interface)是抽象方法和常量值的定义的集合从本质上讲,接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有变量和方法的实现//理解为:接口是动作的集合一个类可以实现多个接口,接口也可以继承多个接口实现接口的类必须实现其所有的方法,若否,则为抽象类if 既有继承又有实现,先写extends后写implements当需要对一类事物抽象时,使用抽象类,好形成一个父类当需要对一系列动作抽象原创 2020-08-09 15:49:03 · 143 阅读 · 0 评论 -
Java-23 abstract class 抽象类
abstract class 抽象类不写具体的实现(不写方法体)抽象类不能被实例化,是用来被继承的,子类必须重写父类的抽象方法,不然就是abstract类抽象方法:只有方法的声明,没有方法的实现,以分号结束//只要类中有一个抽象方法,那这个类就必须是一个抽象类不能用abstract修饰属性、私有方法、构造器、静态方法、final的方法...原创 2020-08-09 15:48:43 · 63 阅读 · 0 评论 -
Java-22 final
finalfinal修饰的类不能被继承//提高安全性,提高程序的可读性final标记的方法不能被子类重写不能用abstract修饰final标记的变量即称为常量/名称大写,且只能被赋值一次,如果多个单词组成名称,用下划线连接...原创 2020-08-09 15:48:25 · 55 阅读 · 0 评论 -
Java-21 内部类(Inner Class)
内部类(Inner Class)在new Person()执行时:1.类的属性默认初始化和显示初始化2.执行代码块的代码(先执行static,后static)3.执行构造器的代码在程序执行过程中,非静态代码块每次new对象都要重新执行,静态(static)代码快只执行一次...原创 2020-08-09 15:48:11 · 63 阅读 · 0 评论 -
Java-20 代码块{ }
代码块{ }非静态代码块每次new对象都要重新执行静态代码块只执行一次在实际开发中,static静态代码快用在初始乱类的静态属性(static属性)原创 2020-08-08 11:52:23 · 61 阅读 · 0 评论 -
Java-19 单例(Singleton)设计模式
单例(Singleton)设计模式饿汉式懒汉式只有一个实例在整个软件系统运行过程中,这个类只被实例化一次,以后不论在哪都只调用这一个实例懒汉式和饿汉式的区别是when new懒:第一次有人调用getInstance时new(存在线程安全问题)饿:在类加载之后,还没有人调用时,先new好饿汉式public class Single { //构造方法私有化,调用这个类的人就不能使用new来创建对象 private Single() { } //私有的Single类型的类变量,原创 2020-08-08 11:52:13 · 86 阅读 · 0 评论 -
Java-18 static
static如果希望有些属性不应为对象的不同而改变,就将它设置为static,方法也同样可以被修饰的成员具备以下特点随着类的加载而加载//类加载之后,静态方法或属性就能用了优先于对象存在//不用new修饰的成员被所有对象所共享访问权限允许时可不创建对象,直接被调用因为不需要实例就可以访问static方法,所以static方法内部不能有this和superclass 梯形{ float 上底, 高; static float 下底; 梯形(float x, float y, floa原创 2020-08-08 11:52:03 · 77 阅读 · 0 评论 -
Java-17 toString
toStringObject类中的toString方法就输出当前对象的内存地址if你想要输出类的其他信息,重写原创 2020-08-08 11:51:51 · 94 阅读 · 0 评论 -
Java-16 包装类(Wrapper)
包装类(Wrapper)主要用于基本数据与字符串的类型转换Integer i = new Integer(112);//装箱int i0 = i.intValue();//拆箱Integer i1 = 112; //自动装箱int i2 = i1; //自动拆箱// boolean b =new Boolean (“false”).booleanValue();//拆箱boolean b =new Boolean (“false”);//自动拆箱boolean b = true;//自原创 2020-08-08 11:51:39 · 86 阅读 · 0 评论 -
Java-15 String 对象的创建
String 对象的创建原创 2020-08-08 11:51:17 · 69 阅读 · 0 评论 -
Java-14 == equals()
== equals() ==equals()==基本类型比较值:只要两个变量的值相等,即为true引用类型比较引用(是否指向同一个对象):只有指向同一个对象时,==才返回truePerson p1 = new Person();Person p2 = new Person();System.out.println(p1 == p2)//faluse用==进行比较时,符号两边的数据类型必须兼容(可自动转换的基本数据类型除外),else编译出错equals()只能比较引用对象,作用与==相原创 2020-08-08 11:50:08 · 73 阅读 · 0 评论 -
Java-13 数据类型转换
数据类型转换int i = 10;long l = i;//小转大 自动类型转换long l = 10l;int i =(int) l;//大转小 强制类型转换Student s = new Student();//从子类到父类的类型转化可自动进行 向上转型Person p = s;Person p =new Person();Student s =(Student) p;//从父类到子类的类型转化需要强制 向下转型 instanceof判断无继承关系之间的类型转换是非法的...原创 2020-08-08 11:49:49 · 112 阅读 · 0 评论 -
Java-12 Object类
Object类Object是所有java类的根父类多层继承,处于最高的父类一定是它如果Object类的主要方法原创 2020-08-08 11:49:38 · 67 阅读 · 0 评论 -
Java-11 instanceof
instanceof检验x是否为类A的对象,返回值为boolean类要求x所属的类与类A必须是子类和父类的关系,否则编译错误如果x属于类A的子类B,下instanceof A值也为trueStudent s = new Student();Person p = new Person();System.out.println(s instanceof Person);System.out.println(p instanceof Student);System.out.println(e in原创 2020-08-08 11:49:23 · 457 阅读 · 0 评论 -
Java-10 多态
多态编译时与运行时类型不一直,就会产生多态前提:需要存在继承或者实现关,要有覆盖操作子类可以看作是特殊的父类,所以父类类型的引用可以指向子类的对象:向上转型//把子类的对象可以给父类的类型的变量引用一个引用类型变量如果申明为父类的类型,但实际引用的是子类对象,那么爱变量就不能再访问子类中添加的方法和属性属性是在编译时确定的Person e = new Student();e.school = “ntu”;//错误编译时e为Person类型,没有school成员变量,所以错误方法是在运行时原创 2020-08-07 09:36:53 · 85 阅读 · 0 评论 -
Java-9 简单类对象的实例化过程
简单类对象的实例化过程1.在1方法去加载Person.class2.在stack栈内存中申请空间3.在heap堆内存中开辟空间,分配地址4.在对象空间中,对对象中的属性进行默认初始化(默认值)5.显示初始化6.构造函数方法进stack栈,进行初始化7.初始化完毕后,将heap堆内存中的对象地址赋值给引用变量,构造方法出栈子类对象实例化过程1.先加载父类再加载子类2.在stack中申请空间3.在heap中开辟空间,分配地址4.对对象属性(包括父类属性)进行默认初始化(默认值 int =原创 2020-08-07 09:36:37 · 118 阅读 · 0 评论 -
Java-8 继承
继承java只支持单继承不要仅仅为了获取其它类中的功能去继承,要有逻辑关系在里面才可子类重写父类的方法,实际上只是重写方法体内的代码且重写时不能使用比被重写方法更严格的访问权限(不能降低自 Person 继承的方法的可视性)人类{nameagesexsyso}学生类{nameagesexschoolsyso}public class Person {int age;String name;int sex;public void showInfo(){ Syste原创 2020-08-07 09:36:20 · 220 阅读 · 0 评论 -
Java-7 JavaBean
JavaBeanpublic class Person4 {public int sex;public String name;public int age;//可以利用源码自动生成public int getSex() {return sex;}public void setSex(int sex) {this.sex = sex;}public String getName() {return name;}public void setName(String name) {原创 2020-08-07 09:36:00 · 90 阅读 · 0 评论 -
Java-6 this和super
this和super定义父类定义父类并且继承父类this:当前对象this还可以用于调用构造器使用this()必须放在构造器首行使用this()必须避免自己调用自己super:用来调用父类中的指定操作在父类只有有参构造可以使用时,子类必须显示的构建一个构造来调用父类的有参构造,并且调用父类的构造方法要写在第一行定义父类package test;import java.io.*;class SuperClass{//定义父类int x;SuperClass(){x = 10;}原创 2020-08-07 09:35:42 · 60 阅读 · 0 评论 -
Java-5 访问权限修饰符
访问权限修饰符对于class的权限修饰只可以用public和default(缺省)public可在任意地方被访问default只可以被同一个包内部的class访问if子类和父类在同一个包下,那么对于父类的成员修饰符只要不是私有的private,那么子类就都可以使用if不在同一个包下,子类只能使用父类中protected和public修饰的成员...原创 2020-08-07 09:35:26 · 60 阅读 · 0 评论 -
Java-4 方法的参数传递
方法的参数传递方法只有被调用才有意义Java里方法的参数传递方式只有一种——值传递基本数据类型,值保持在stack中引用对象,值保存在heap,stack中存的是对象在heap中的地址如果方法的形参是基本数据类型,那实参相形参传递参数时就是直接传递值,把实参的值复制给形参如果方法的形参是对象,那么实参向形参传递参数时,也是把值给形参,这个值时实参在heap中的值,也就是引用对象在stack中的地址基本数据类型都是保持在stack中,引用对象在syack中保存的是引用对象的地址,那么方法的参数原创 2020-08-07 09:35:08 · 71 阅读 · 0 评论 -
Java-3 面向对象OOP
面向对象OOP定义类(考修饰符、类名)成员变量局部变量(写在方法里)方法定义类(考修饰符、类名)编写类的属性(考虑修饰符、属性类型、属性名、初始化值)编写类的方法(考虑修饰符、返回值类型(在类名前)、方法名、形参等)成员变量1.实例变量,在类实例化为对象之后才能使用 Person p = new Person()2.类变量,static修饰 (静态的),不需要类实例化为对象,直接可通过类名.属性调用局部变量(写在方法里)1.形参 public void eat(String food)原创 2020-08-07 09:34:49 · 73 阅读 · 0 评论 -
Java-2 数组
数组数组的常见问题一维数组二维数组冒泡排序数组的常见问题数组下标越界异常(ArrylndexOutOfBoundsException)访问了不存在的数组脚标空间指针异常(NullPointerException)in[] arr=null;System.out.println(arr[0]);arr没有指向实体,却在操作实体中的元素时(在java中系统将数组看成对象)一维数组声明:type[ ] var //type[ ]为该数组类型 引用类型,java声明数组时不能指出其原创 2020-08-07 09:34:05 · 143 阅读 · 0 评论 -
Java-1 准备知识
准备知识常用dos命令Others常用dos命令启动 win+R切换盘符 盘符名称:进入文件夹 cd 文件夹名称进入多级文件夹 cd 文件夹1\文件夹2回到上一级 cd …回到盘符根路径 cd 查看内容 dir清屏 cls退出 exit创建文件夹 md删除 rdOthersPSVM:public system void mainJava关键字都是小写Unicode编码引用:对象在内存中的位置•类(class)•接口(interface)•数组(arry)八进制数前缀原创 2020-08-07 09:34:30 · 56 阅读 · 0 评论