java
文章平均质量分 51
java的复习
zhouquanshidai
小白
展开
-
逻辑运算符和++ --易错点
逻辑运算符逻辑运算符逻辑运算符逻辑运算符只能用于 boolean 类型的数据运算,判断 boolean 数据之间的逻辑关系,与、或、非。&(与)、|(或)、!(非)、&&(短路与)、||(短路或)参与逻辑运算符的变量都是 boolean 的变量1 & 变量2:只有当变量 1 和变量 2 都为 true,结果为 true,否则为 false。变量1 | 变量2:变量 1 和变量 2 只要有一个为 true,结果为 true,否则为 false。!变量1:若变量 1原创 2021-03-26 08:20:38 · 274 阅读 · 0 评论 -
异常
异常Exception:异常 指的是程序在执行过程中,出现的非正常的情况,最终会导致jvm的非正常停止。异常处理机制自定义异常总结Exception:异常 指的是程序在执行过程中,出现的非正常的情况,最终会导致jvm的非正常停止。异常值得并不是语法错误,语法错了,编译不通过,不会产生字节码文件,根本不能运行。java中把异常当做对象来处理,并定义一个基类java.lang.Throwable作为异常的超类。在java api中已经定义了许多异常的类,这些异常类分为两大类,错误:Error和异常Ex原创 2020-10-02 10:21:44 · 79 阅读 · 0 评论 -
内部类
内部类内部类就是一个类在定义一个类,比如,A类中定义一个B类,那么B类相对A类来说就称为内部类,而A类相对于B类就是外部类了。成员内部类静态内部类局部内部类匿名内部类原创 2020-10-01 23:58:43 · 165 阅读 · 0 评论 -
抽象类和接口
抽象类抽象类接口抽象类抽象类的定义:修饰符可以用来修饰方法,也可以修饰类。如果修饰方法,那么就是抽象方法,如果修饰类,那么就是抽象类抽象类中可以没有抽象方法(即可以有普通方法),但是有抽象方法的类,一定要声明抽象类抽象类,不能使用new关键字来创建对象,它是用来让子类继承的。抽象方法,只有方法的声明,没有方法的实现,子类必须覆盖重写抽象父类当中所有的抽象方法。抽象方法必须在抽象类中子类继承抽象类,那么就必须要实现抽象类没有实现的抽象的方法,否则该子类也要声明为抽象类。原创 2020-10-01 13:21:40 · 1751 阅读 · 0 评论 -
static关键字的使用
static如果一个成员变量使用了static关键字,那么这个变量不再属于对象自己,而是属于所在的类,多个对象共享一份数据。如果没有static关键字,那么必须首先创建对象,然后通过对象才能使用它。如果有了static关键字,那么不需要创建对象,直接就能通过类名称来使用它。无论是成员变量,还是成员方法。如果有了static,都推荐使用类名称进行调用。静态变量:类名称.静态变量静态方法:类名称.静态方法()静态不能直接访问非静态。原因:因为在内存当中总是【先】有静态内容,【后】有的非静态内容。原创 2020-09-30 15:51:02 · 160 阅读 · 0 评论 -
引用类型的转换instanceof
多态多态多态存在的条件多态多态:同一方法可以根据发送对象的不同而采用多种不同的行为方式。一个对象的实际类型是确定的,但是可以指向对象的引用的类型有很多。多态存在的条件有继承的条件子类重写父类的方法父类引用指向子类对象注意:多态是方法的多态,属性没有多态多态是继封装,继承之后,面向对象的第三大特征在代码中体现多态性,其实就是一句话:父类引用执行指向子类对象。格式:父类名称 对象名 = new 子类名称();或者:接口名称 对象名 = new 实现类名称();子类...原创 2020-09-30 00:09:15 · 64 阅读 · 0 评论 -
封装、继承、重写
封装对象的封装对象的封装高内聚,低耦合。内部的数据是有自己来完成,不允许外部来干涉,低耦合:给少量的方法给外部使用。封装,应该禁止直接访问一个对象汇总的数据的实际表示,应该通过接口来访问。属性私有,get/set...原创 2020-09-29 11:16:01 · 150 阅读 · 0 评论 -
创建对象的内存分析
创建对象的内存分析通过代码来分析package oop;public class Pet { // 加个属性 public String name; public int age; // 无参构造,这个他隐藏了。不写有参的话,不写也没事 public Pet() { } // 自己的构造方法是可以写void的 public void shout(){ System.out.println("叫了一声"); }原创 2020-09-28 23:54:11 · 155 阅读 · 0 评论 -
类与对象的创建
类与对象的创建类与对象的关系所以说,面向对象编程的本质就是:以类的方式组织代码,以对象封装数据。创建与初始化对象类与对象的关系类是一种抽象的数据类型,它是对某一类事务整体描述/定义,但是并不能代表某一个具体的事务。如:动物,植物,手机,电脑等Person类,Car类,这些类都是用来描述/定义某一类具体的事务应该具备的特点和行为对象是抽象概念的具体的实例如:张三就是一个人的具体的实例能够体现出特点,展现出功能的是具体的实例,而不是一个抽象的概念一个项目应该只存一个main方法,其他原创 2020-09-28 08:23:36 · 125 阅读 · 0 评论 -
String类
字符串String类String当中与获取相关的常用方法有:字符串的截取方法:String当中与转换相关的常用方法有:String类程序当中所有的双引号字符串,都是String类的对象。(就算没有new,也照样是。)字符串的特点:字符串的内容用不可变。正是因为字符串不可改变,所以字符串是可以共享使用的。字符串效果上可以相当于char[] 字符数组,但是底层原理是byte[] 字节数组。构造方法:String():创建一个空白的字符串,不含有任何内容。String(char[] arr原创 2020-10-02 17:43:19 · 83 阅读 · 0 评论 -
集合
集合ArrayList包装类ArrayList数组有一个缺点:一旦创建,程序运行期间长度不可以发生改变。数组的长度不可以发生改变。但是ArrayList集合的长度是可以随意变化的。对于ArrayList来说,有一个尖括号代表泛型。泛型:也就是装在集合当中的所有元素的类型。注意:泛型只能是引用类型,不是基本类型。对于ArrayList集合来说,直接打印得到的不是地址值,而是内容。如果内容是空,得到的是空的中括号:[]ArrayList当中的常用方法有:add(E e): 向集合当中添原创 2020-10-02 14:32:08 · 66 阅读 · 0 评论 -
面向对象
面向对象面向过程:强调步骤面向对象: 强调对象面向对象编程:OOPbreak和return静态方法和非静态方法值传递和引用传递面向过程:强调步骤一一一步来。第一步做什么,第二步做什么,一步一步实现面向对象: 强调对象分类的思维。思考问题首先会解决问题需要解决哪些分类。然后对这些分类进行思考。最后才是对某个分类下的细节进行面向过程的思索。(抽象出一个类,看成是一个封闭的盒子。在这里有数据也有解决问题的方法,需要什么功能直接使用)面向对象相当于是从宏观上去分析,具体到微观操作,仍然要面向过程的思路去原创 2020-09-27 14:11:20 · 56 阅读 · 0 评论 -
二维数组和稀疏数组
二维数组和稀疏数组多维数组定义稀疏数组多维数组定义多维数组可以看成是数组的数组,比如:二维数组就是一个特殊的一维数组,其每一个元素都是一个一维数组。二维数组int a[][] = new int[2][5];以上的二维数组a可以看成一个两行五列的数组package demo01;import java.util.Arrays;public class Demo07 { public static void main(String[] args) { //原创 2020-09-27 12:37:12 · 122 阅读 · 0 评论 -
简单的冒泡排序
初始简单的冒泡排序冒泡排序冒泡排序冒泡排序:两层循环,外层冒泡轮数,里层依次比较。我们看到嵌套循环,应该立马就可以得出这个算法的时间复杂度为O(n^2);思路:比较数组中,两个相邻的元素,如果第一个数比第二个数大,我们就交换位置每一次比较都会产生一个最大,或者最小的数字。下一轮则可以少一次排序 : array.length - 1 - i;依次循环,直到结束!package demo01;import java.util.ArrayList;import java.util.原创 2020-09-26 19:53:08 · 108 阅读 · 0 评论 -
java的数组
java的数组数组java内存分析三种初始化静态初始化:具体的集合进行赋值的初始化动态初始化:创建容量,然后对容量里面的具体值进行赋值数组的四个基本特点数组边界二维数组数组数组是相同类型的数据的有序集合。{ , ,}首先必须声明数组的变量,才能在程序中使用数组 dateType[] 名字java中使用new来创建数组,new Type[arrraysize] 表示创建的数组的容量可以放多少个数组的元素是通过索引访问的,数组索引是从0开始的获取数组的长度:arrays.lengthjav原创 2020-09-26 18:07:40 · 68 阅读 · 0 评论 -
java的方法
java的方法1. 方法方法的重载2. 可变传参递归扩展:值传递(java)和引用传递1. 方法修饰符:可选的,告诉编译器如何调用该方法,static的话是让其变成类变量,方便直接调用返回值类型:有返回数据,则返回数据类型。如果没有返回值,则返回void。打印输出的话返回的是void参数可以是形参,也可以是实参。参数是可选的当方法返回一个值的时候,方法调用通常被当做一个值。int large = max(30,40);如果方法返回值是void,方法调用一定是一条语句。System.out.pr原创 2020-09-26 10:13:02 · 61 阅读 · 0 评论 -
java的控制流程
文章目录scanner的用法scanner的用法next是不用考虑空格 nextNextLine是以enter为结束,返回的是输入回车之前的所有字符package Control_Flow;import java.util.Scanner;public class Demo05 { // 我们可以输入多个数字,并求其总和与平均数,每输入一个数字都用回车确实,通过输入非数字来结束 // 输入并执行结果 public static void main(String[] ar原创 2020-09-24 14:24:35 · 116 阅读 · 0 评论