随笔分类 - 教学
摘要:软件开发的关键在于应用抽象的概念。方法抽象是通过将方法的使用和它的实现分离来实现的。用户在不知道方法是如何实现的情况下,就可以使用方法。方法的实现细节封装在方法内,对使用该方法的用户来说是隐藏的。这就被称为信息隐藏或者个封装。如果决定改变方法的实现,但只要不改变方法签名,用户的程序就不会受到影响。方
阅读全文
摘要:未封装的对象可能会比较难堪 直接将属性暴露出来,使用圆点运算符来存取 d.age=2; 但是无法确定使用者是否这样操作: d.age=-2; 因此,有必要对使用者的使用权限做限制,告诉它可以怎样操作,不可以怎么操作。 封装的手段是: private 修饰类的属性,使得只能本类使用,关闭了外界访问通道
阅读全文
摘要:一个简单的java程序: class Test1{ public static void main(String[] args){ System.out.println("helloWorld"); } } 可以直接执行。这是否用到了其他对象呢?暂时不考虑它 如果需要与其他类型对象进行通信呢,如:
阅读全文
摘要:java内存管理不简单,这里只简单介绍栈、堆、方法区三种,用来解释java程序的运行流程。 堆: 用来装载java对象 栈: 用来装载局部变量和方法的调用,每一个方法的调用载入一块栈帧,栈信息的出入原则与子弹夹类似,先进后出。 方法区: 存储一些公有信息,多个对象可能共同使用的信息,方法结构、静态变
阅读全文
摘要:java是一门面向对象设计的语言,面向对象是什么呢?是一种思想,一种解决问题的手段。 面向对象与面向过程 面向对象与面向过程其目的都是解决问题 而面向对象针对点较为宏观,类似分而治之的解决方式,处理问题找的不是问题的解决步骤,而是针对能完成该步骤的人,也是我们生活中常见的管理方式。 面向过程针对较为
阅读全文
摘要:插入排序,见名知意思,就是将元素插入到它应该待的位置,来实现排序。什么叫应该待的位置呢?通俗点说,插入排序的原理是将一个元素插入到有序数组,不断地扩展有序数组的长度实现整个数组的有序。 插入排序进行的移位操作有两个: 1、是将要插入元素清除,其他与有序数组无关元素后移 2、是在找到了插入位置之后的插
阅读全文
摘要:冒泡排序之所以叫冒泡排序,是因为其排序规则如果水中气泡一样,从底部到顶部依次变大,最顶部的一定是最大值,通过不断的冒泡,实现数据的有序化。 从底部开始冒泡,冒泡到哪个位置,该位置即为底部元素中的最大值,一轮冒泡结束,最大值就到了顶部。进行数组长度-1次数的冒泡,数据就可以实现从大到小的排序了。 这一
阅读全文
摘要:break和continue关键字主要用于语句的流程控制,一般用在循环中,break可用在switch语句中。 顾名思义,break的意思是中断,也就是中断当前循环的意思,continue是继续,指的是跳过当前循环体剩余内容,开始下一次循环。 举例: 从1~1000之间的数值累加,如果数值能被3整除
阅读全文
摘要:java中主要有两种循环: while(){ } 与do{ }while() 和for(;;){ } 循环三要素: 初始化信息、循环体、条件控制语句 选用while还是for循环,注意考虑的是循环次数是否明了,只需要观察循环头,即可知道循环次数,因为初始化语句,判断语句,更改语句都在for的循环头中
阅读全文
摘要:这里简要提一下2进制、8进制、十进制、十六进制的互转 起源: 计算机信息使用电子元件保存,电子元件状态只有开闭两种,通过不同的开闭组合来保存信息,也就是我们的二进制的原型。 生活中的信息往往不只有两个状态,因此需要多个电子元件组合,我们将8个电子元件信息作为最小的存储单位,1byte=8bit。1m
阅读全文
摘要:首先回顾一下我们的基础知识。 sleep: 线程睡眠,不会释放锁 wait: 线程等待。释放锁。 notity: 唤醒随机一个当前对象等待的线程,并不会释放锁 notityAll: 唤醒所有当前对象等待的线程,并不会释放锁 遇到问题: 代码如下: 程序发现wait总是会被唤醒。 怀疑是不是总是先wa
阅读全文
摘要:概述 位运算符就是直接对二进制进行操作的运算符 主要有以下几种: << 左移 符号位参与移动,空位补0,被移除的最高位舍去。 一般正数每左移一位相当于原来的值*2 >> 右移 符号位不参与移动 当为正数,空位补0,;当为负数,空位补1 一般正数每右移一位相当于原来的值/2 >>> 无符号右移 符号位
阅读全文
摘要:逻辑运算符分为以下几个: & 两边为true则为true,否则为false | 一边为true则为true ! true则得false,false则得true ^ 两边不同则为true,两边相同则为false && 短路&,结果与&的一致,区别在于如果左边能得到结果,则右边不执行 || 短路或,结果
阅读全文
摘要:java当中的赋值运算符: = += -= *= /= %= 赋值运算: 赋值运算符的运算时先算等号右边再算等号左边,与其他运算符的从左往右有些不同 += 有什么作用呢? 1、从值的意义上来说 i += 10 相当于i = i+ 10; 2、当需要进行类型转换的时候,+=可以自动进行强制类型转换 通
阅读全文
摘要:常量: 值永远都不会改变的量 与变量类似,常量也分为2种: 字面值常量 整型常量 二进制:0b为开头,0和1组成,逢2进1 八进制:以0开头,0-7组成,逢8进1 十进制:默认数据进制,0-9组成,逢10进1 十六进制:以0x开头,0-9A-F(a-f)组成,逢16进1 进制转换 浮点型常量 字符常
阅读全文
摘要:java中的算数运算符 + - * / % ++ -- + +: 加法运算符 - : 减法运算符 *: 乘法运算符 / : 除法运算符 注意: 除数不能为0,除数为0会报出异常 整数运算默认得到整数,如果要得到浮点数的值,请使用浮点数参与运算 %: 取余运算符 注意: 取模在java中的关键字是Ma
阅读全文
摘要:java当中的数据类型分为两种: 基本数据类型 引用数据类型 基本数据类型与引用数据类型的区别在于: 我们知道,局部变量是存储在栈当中,基本数据类型在栈当中直接存储值,而引用数据类型在栈当中存储的是值的一个引用地址,引用的具体对象在堆中。 例如这张图: 左边为栈,右边为堆。 引用数据类型一般是类对象
阅读全文
摘要:变量概述: 值可以在一定范围内发生改变的量 变量的三要素: 数据类型:限定了变量值的变化范围 变量名:代指了这个变量 变量值:就是这个变量的装载的值,声明该变量后第一次给的变量的值叫初始值 例子: 一个叫钱包的变量 钱包里面只能装钱,钱是数据类型,限定范围 钱包里面不能没东西,没东西就不能使用,对应
阅读全文
摘要:1、转义字符反斜杠(\) 我们知道html中大都是双标签,如果在标签内想要输出带有标签结束符的文本都必须进行转义,html中是采用对应的字符替换,如<可用<替换 在java当中,我们要转义一个字符使用的是反斜杠\,反斜杠的作用就是转义下一个字符 2、回车符\r \r在java中是回车符的意思,
阅读全文
摘要:注释的概述: 用来补充和说明程序的文本,不会对程序造成影响。 注释种类: // 单行注释 /* */ 多行注释 /** */ 文档注释 文档注释主要是用来为生成文档服务的,可以使用javadoc生成对应的文档 注释的作用: 1、清晰思路,增加程序阅读性 2、可利用注释文本对程序不会有影响的特征进行找
阅读全文