巩固落实Java
-梁小迪
这个作者很懒,什么都没留下…
展开
-
交换排序-冒泡排序
大体思想:重复的走过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已将排序完成。算法描述:1.比较相邻的两个元素。如果第一个比第二个大,就交换它们两个。2.对每一对相邻元素做同样的工作,从开始第一对对结尾的最后一对,这样在最后的元素应该是最大的数。3.针对所有的额元素重复以上的步骤,除了最后一个;4.重复1-3,直到排序完成。...原创 2021-04-12 19:20:08 · 61 阅读 · 0 评论 -
排序算法
原创 2021-04-12 15:18:21 · 71 阅读 · 0 评论 -
==操作符和equal方法
==:基本类型比较值:只要两个变量的值相等,即为true.引用类型比较引用(是否指向同一个对象)两者区别:1、==既可以比较基本数据类型也可以比较引用类型。对于基本数据类型就是比较值,对于引用数据类型就是比较内存地址。2、equals的话,它是属于Java.lang.Object类里面的方法,如果该方法没有被重写过,默认也是 ==;我们可以看到String等类的equals方法是被重写过的,而且String类在日常开发中用的比较多,久而久之,形成了equals是比较值的错误观点3.具体要看自定原创 2021-04-07 20:26:53 · 101 阅读 · 0 评论 -
面向对象特征之三:多态性
对象的多态性:对象的引用指向父类的对象Java引用变量有两个类型:编译时类型和运行时类型。编译时类型由声明该变量时使用的类型决定,运行时类型由实际赋给该变量的对象决定(编译时,看左边;运行时,看右边)若编译时出现类型不一致,就出现了对象的多态性。多态情况下,“看左边”:看的是父类的引用(父类中不具备子类特有的方法)“看右边”:看的是子类的对象(实际运行的是子类重写父类的方法)2.一个引用类型的变量如果声明为父类的类型,但实际引用的是子类对象,那么该变量就不能在访问子类中添加的属性和方法3.原创 2021-04-07 19:23:23 · 86 阅读 · 0 评论 -
面向对象特征之二:继承;方法的重写
为啥要有继承:多个类中存在相同属性和行为时,将这些内容抽取到单独的一个类中,那么多个类无需在定义这些属性和行为,只要继承那个类即可。作用:继承的出现减少了代码冗余,提高了代码的复用性。更有利于功能的扩展让类和类之间产生了关系,提供了多态的前提。子类是对父类的扩展;关于继承的规则:子类不能直接访问父类中私有的成员变量和方法。Java只支持单继承和多层继承(一个子类只能有一个父类,一个父类可以派生出多个子类)方法的重写:在子类中可以根绝需要对从父类中继承来的方法进行改造。在程序执行原创 2021-04-07 15:53:25 · 84 阅读 · 0 评论 -
this
在方法内部使用,即这个方法所属对象的引用;在构造器内部使用,表示该构造器正在初始化的对象。注意:this可以作为一个类中构造器相互调用的特殊格式class Person{ private String name; private int age; public Person(){ } public Person(String name){ this();//无参构造器 this.name =name; } //可以在定义重载的构造器,用t.原创 2021-04-07 14:55:18 · 66 阅读 · 0 评论 -
JavaBean
一种Java语言写成的可重用组件所谓JavaBean,是指符合如下标准的Java类:(1、类是公共的2、有一个无参的公共的构造器3、有属性,且有对应的get、set方法)用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以用Java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、Servlet、其他JavaBean、applet程序或者应用来使用这些对象。...原创 2021-04-07 14:10:35 · 73 阅读 · 0 评论 -
面向对象的特征之一:封装和隐藏
1、程序追求高内聚和低耦合高内聚:类的内部数据操作细节自己完成,不允许外部干涉。低耦合:仅对外暴露少量的方法用于使用2、隐藏对象内部的复杂性、只对外公开简单的接口。便于外界调用,从而提高系统的可扩展性、可维护性。(把该隐藏的隐藏起来,该暴露的暴露出来,这就是封装性的设计思想)3、使用类内部的定义的属性的直接操作会导致数据的错误、混乱和安全性问题。 Java中通过将属性定义为私有的,在提供公共的方法实现对该属性的操作,可以实现下列目的:隐藏一个类中不需要对外提供的实现细节;使用者只能通过事先定义原创 2021-04-07 14:03:12 · 250 阅读 · 0 评论 -
位运算符
位运算是直接对整数的二进制(32位)进行的运算<<(左移):空位补0.被移除的高位丢弃,空缺位补0;(右移):被移除的二进制最高位是0,右移后,空缺位补0;最高位是1,空缺位补1;(对正数拿0补,对负数拿1补)(无符号右移):被移位二进制最高位无论是0或者1,空缺位都用0补。&(与运算):只有1&1时结果为1,其余为0;|(或运算):只有0|0时结果为0,否则为1;^(异或运算);注重的异.取反运算:正数取反,各二进制码按补码各位取反;原创 2021-04-04 21:00:10 · 68 阅读 · 0 评论 -
方法参数的值传递机制
Java的实参值是如何传入方法的:传递方式:值传递。即将实际参数值的副本传入方法内,而参数本身不受影响。形参是基本数据类型:将实参基本数据类型变量的“数据值”传递给形参。形参是引用数据类型:将实参引用数据类型变量的“地址值”传递给形参。...原创 2021-04-01 17:49:01 · 70 阅读 · 0 评论 -
方法的重载
重载的概念:在同一个类中,允许存在一个以上的同名方法,只要他们的参数个数或者参数的类型不同即可。重载的特点与返回值类型无关,只看参数列表,且参数列表必须不同。(参数个数或参数类型)。调用时,根据方法参数列表的不同来区别。注意:方法的参数部分有可变形参,需要放在形参声明的最后...原创 2021-04-01 17:40:20 · 55 阅读 · 0 评论 -
匿名对象
匿名对象:不定义对象的句柄,直接调用这个对象的方法。ex:new Person().shout().如果对一个对象只需要进行一次方法的调用,那么就可以使用匿名对象经常将匿名对象作为实参传递给一个方法调用。...原创 2021-04-01 17:33:12 · 56 阅读 · 0 评论 -
面向过程 面向对象
面向对象:强调具备了功能的对象,以类/对象为最小单位,考虑谁来做面向过程:强调的是功能行为,以函数为最小单位,考虑怎么做面向对象的三大特性:封装、继承、多态面向对象的分析问题的思路和步骤根据问题需要,选择问题所针对的现实世界中的实体。从实体中寻找解决问题相关的属性和功能,这些属性和功能就形成了概念世界中的类。把抽象的实体用计算机语言尽心描述,形成计算机世界中类的定义。将类实例化成计算机世界中的对象。对象是计算机世界中解决问题的最终工具。万事万物皆对象面向对象程序设计的重点是类的原创 2021-04-01 17:27:04 · 50 阅读 · 0 评论 -
内存解析
堆:所有的对象实例和数组都要在堆上分配栈:存储局部变量,方法执行完,自动释放方法区:用于存储已经被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据原创 2021-04-01 08:24:17 · 51 阅读 · 0 评论 -
数组
动态初始化静态初始化数组一旦初始化,长度是不可改变的a.length数组是引用数组类型,他的元素相当于类的成员变量对于基本数据类型,默认初始化值各有不同对于引用数据类型,默认初始化值为null...原创 2021-04-01 08:12:18 · 127 阅读 · 0 评论 -
break continue return
break用于终止某个语句块的执行,当出现多层嵌套的语句块时,可以通过标签指明要终止的是那个语句块循环,switch语句终止本层循环contiue只能用在循环中用于跳出其所在循环语句的一次执行,继续下一次循环出现在多层嵌套的循环语句体时,可以通过标签指明要跳出的那一层循环终止本次循环return直接结束一个方法,不论这个方法处在多少层循环中...原创 2021-04-01 07:55:28 · 55 阅读 · 0 评论 -
程序流程控制
顺序结构分支结构if-else,witch-case循环结构JDK1.5提供了for each循环,方便遍历集合,数组原创 2021-03-31 10:46:48 · 43 阅读 · 0 评论 -
运算符
算符运算符:赋值运算符比较运算符insatnceof:检查是否是类的对象逻辑运算符:注意:在Java中没有3<x<6- &和&&的区别&:左边无论真假,右边都进行运算&&:如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。|和||的区别:同理,||表示当左边为真,右边不参与运算。注意::异或:注重的是异位运算符:三元运算符:()?表达式1:表达式2;...原创 2021-03-31 10:13:38 · 43 阅读 · 0 评论 -
数据类型转换,强制类型转换
自动类型转换容量小的类型自动转换为容量大的数据类型【char byte short】->int->long->float->double多种类型的数据混合运算,系统首先自动将所有数据转换为容量最大的那种数据类型,然后在进行计算。强制类型转换强制转换符(),造成精度降低和溢出进制数二进制数:以0b或0B开头八进制:以0开头十六进制:以0x或者0X开头...原创 2021-03-31 09:33:54 · 116 阅读 · 0 评论 -
成员变量和局部变量
1.成员变量:方法体外,类体内声明,包括实例变量(不以static修饰)和 类变量(以static修饰)2.局部变量:方法体内声明(包括形参(方法,构造器中定义)、方法局部变量(在方法内定义)、代码块局部变量(在代码块里定义))注意:都要生命周期,局部变量除形参外,需显示初始化实例变量:属于对象私有,其中一个对象将其值改变,不影响其他对象。类变量:对象共有,其中一个对象将其值改变,其他对象得到的就是改变后的结果。声明long型常量须加l或Lfloat型常量须加f或F...原创 2021-03-31 09:06:22 · 58 阅读 · 0 评论 -
注释/命名规范/数据类型
一、JDK;Java开发工具包JRE:Java运行环境JDK=JRE+开发工具集JRE=JVM+Java SE标准类库二、单行注释多行注释文档注释(Java特有)三、Java基本语法:1.关键字与保留字(关键字都是小写)2.标识符:凡是自己可以起名字的地方都加标识符Java严格区分大小写Java中的命名规范包名:多单词组成时所有字母都小写类名、接口名:多单词组成时,所有单词的首字母大写。变量名、方法名、多单词组成时,第一个单词首字母小写,第二个单词开始每个首字母大写常量:原创 2021-03-31 08:40:55 · 73 阅读 · 0 评论 -
Java的三大特点和两大核心机制
一.java的特点特点一、面向对象两大基本概念:类、对象三大特性:封装、继承、多态特点二:健壮性吸收了c/c++语言的优点,去掉了影响其健壮性的部 分(指针、内存的申请和释放等),提供了相对安全的内存管理和访问机制特点三:跨平台性跨平台性:通过Java语言编写的应用程序在不同的系统平台上都可以运行原理:只要在需要运行Java应用程序的操作系统上,先安装一个Java虚拟机即可。由Java虚拟机来负责Java程序在该系统中的运行二、Java的两种核心机制Java虚拟机(JVM):虚拟原创 2021-03-30 16:34:19 · 724 阅读 · 0 评论