自学
文章平均质量分 60
好像多年之后你依然执着
做自己的观众,为厦门大学而努力
展开
-
JavaDay22
Java学习22抽象类abstract修饰符可以用来修饰方法也可以用来修饰类,如果修饰方法,那么该方法就是抽象方法,如果修饰类,那么该类就是抽象类。抽象类中可以没有抽象方法,但是有抽象方法的类一定要声明为抽象类。抽象类不能使用new关键字来创建对象,它是用来让子类继承的。抽象方法,只有方法的声明,没有方法的实现,它是用来让子类实现的。子类继承抽象类,那么就必须要实现抽象类没有实现的抽象方法,否则该子类也要声明为抽象类。Java类都是单继承,但是,接口可以多继承。不原创 2021-12-05 11:11:43 · 101 阅读 · 0 评论 -
JavaDay21
static关键字若需要很多类进行操作,则变量要设置为静态。静态方法非静态方法可以调用静态方法public class Person1 { //第二个执行 赋初值 { System.out.println("匿名代码块"); } //第一个执行 且只执行一次 static { System.out.println("静态代码块"); } //第三个执行 public Person1(){原创 2021-12-05 11:10:30 · 90 阅读 · 0 评论 -
JavaDay20
Java学习20封装该露的露,该藏的藏程序设计追求“高内聚,低耦合”。高内聚:类的内部数据操作细节自己完成,不允许外部干涉;低耦合:仅暴露少量方法给外部使用。封装(数据的隐藏)通常,应禁止直接访问一个对象中数据的实际表示,而应通过操作接口来访问,这称为信息隐藏。重点:属性私有,get/set**alt + insert 可以自动生成方法 **get用this,set用return。封装中还可进行条件判断private String name;//名字 private i原创 2021-11-20 09:44:21 · 299 阅读 · 0 评论 -
JavaDay19
Java学习19创建对象内存分析该代码呈现;内存分析(图源:狂神说Java )类与对象的小结类与对象:类是一个模板(抽象),对象是一个具体的实例。方法:需要定义,可以调用。对象的引用:引用类型:基本类型(8种)对象是通过引用来操作的:栈---->堆属性:字段Field 成员变量默认初始化: 数字: 0 0.0 char: u0000 **boolean: false** 引用:null修饰原创 2021-11-20 09:38:36 · 329 阅读 · 0 评论 -
JavaDay18
Java学习18创建与初始化对象使用new关键字创建对象使用new关键字创建的时候,除了分配内存空间之外,还会给创建好的对象进行默认的初始化以及对类中构造器的调用类中的构造器也称为“构造方法”,是在进行创建对象的时候必须要调用的。并且构造器有以下两个特点:必须和类的名字相同必须没有返回类型,也不能写void构造器必须要掌握一个类即使什么都不写,它也会存在一个方法。使用new关键字,必须要有构造器(本质是在调用构造器)。用来初始化值。(后续)有参的方法为重载,无参的方法原创 2021-09-28 14:58:26 · 111 阅读 · 0 评论 -
JavaDay17
Java学习17面向过程&面向对象面向过程思想步骤清晰简单,第一步做什么,第二步做什么…面向过程适合处理一些较为简单的问题面向对象思想物以类聚,分类的思维模式,思考问题首先会解决问题需要哪些分类,然后对这些分类进行单独思考。最后才是对某个分类下的细节进行面向过程的思考。面向对象适合处理复杂的问题,适合处理需要多人协作的问题。对于描述复杂的事物,为了宏观上把握、从整体上合理分析,我们需要使用面向对象的思路来分析整个系统。但是,具体到微观操作,仍需要面向过程的思路原创 2021-09-28 14:54:29 · 80 阅读 · 0 评论 -
JavaDay16
Java学习16冒泡排序冒泡排序无疑是最为出名的排序算法之一,总共有八大排序!冒泡的代码还是相对简单的,两层循环,外层冒泡轮数,里层依次比较,江湖中人人尽皆知。我们看到嵌套循环,应该立马就可以得出这个算法的时间复杂度为 O(n2)【O(n^2)】。代码如下:public static void main(String[] args) { int[] a={1,6,8,9,11,985,211,33,69}; int[] sort=sort(a);//调用完我们自原创 2021-09-06 12:35:52 · 68 阅读 · 0 评论 -
JavaDay15
Java学习15数组使用普通循环例int[] arrays={1,2,3,4,5}; //打印全部的数组元素 for (int i = 0; i < arrays.length; i++) { System.out.println(arrays[i]); } System.out.println("----------------"); //计算所有元素的和原创 2021-09-06 12:20:03 · 77 阅读 · 0 评论 -
JavaDay14
Java学习14内存分析Java内存分析(图片来源:B站 遇见狂神说)(思维导图)array中有10个元素且存入栈中,而在堆则是array更详细的展开。可以理解为:栈相当于书的目录,而堆则是书的内容。若要在数组array中寻找第11个元素,则会出现错误,原因是:此数组只有第十个元素,若要强行取第11个元素,则会出现 “数组越界” 。三种初始化静态初始化int[] a = {1,2,3};Man[] mans = {new Man(1,1),new Man(2,2)};例//静态原创 2021-08-29 12:04:41 · 75 阅读 · 0 评论 -
JavaDay13
Java学习13递归A方法调用B方法,易理解递归就是:A方法调用A方法!就是自己调用自己。利用递归可以用简单的程序来解决一些复杂的问题。它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量程序就可描述出解题过程所需要的多次重复计算,大大减少了程序的代码量.递归的能力在于用有限的语句来定义对象的无限集合。递归结构包括两个部分:递归头:什么时候不调用自身方法。如果没有头,将陷入死循环。递归体:什么时候需要调用自身方法。例 (阶层)//以5的阶层为例原创 2021-08-28 17:58:14 · 63 阅读 · 0 评论 -
JavaDay12
Java学习12何谓方法Java方法是语句的集合,它们在一起执行一个功能方法是解决一类问题的步骤的有序组合。方法包含于类或对象中。方法在程序中被创建,在其他地方被引用。设计方法的原则:方法的本意是功能块,就是实现某个功能的语句块的集合。我们设计方法的时候,最好保持方法的原子性,就是一个方法只完成1个功能,这样利于我们后期的扩展。练习1//main方法 public static void main(String[] args) { int sum=add(1,2)原创 2021-08-26 18:37:17 · 83 阅读 · 0 评论 -
JavaDay11
Java学习11练习打印三角形for (int i = 1; i <=5; i++) {//行数 for (int j = 5; j >= i; j--) {//从上往下空格的数量(递减状态) System.out.print(" "); } for(int j = 1; j <= i; j++){//从上往下“*”的数量(递增状态) System.原创 2021-08-26 18:33:58 · 62 阅读 · 0 评论 -
JavaDay10
Java学习10*增强for循环Java5引入了一种主要用于数组或集合的增强型for循环。Java增强for循环语法格式如下:for(声明语句:表达式){ //代码句子}声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等。表达式:表达式是要访问的数组名,或者是返回值为数组的方法。例int[] numbers={10,20,30,40,50};//定义了一个数组 for(int x:原创 2021-08-21 16:14:24 · 56 阅读 · 0 评论 -
JavaDay09
Java学习09顺序结构Java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行。顺序结构是最简单的算法结构。(流程图1)语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。选择结构If单选择结构我们很多时候需要去判断一个东西是否可行,然后我们才去执行,这样一个过程在程序中用if语句来表示语法:if(布尔表达式){ //如果布尔表达式为true将执行的语句}(流程图2)例原创 2021-08-20 11:43:57 · 75 阅读 · 0 评论 -
JavaDay08
Java学习08用户交互Scanner之前我们学习的基本语法中我们并没有实现程序和人的交互,但是Java给我们提供了这样一个工具类,我们可以获得用户的输入。Java.util.Scanner是Java5的新特征,我们可以通过Scanner类来获取用户的输入。基本语法Scanner s = new Scanner(System.in);通过Scanner类的next()与nextLine()方法获取输入字符串,在读取前我们一般需要使用hasNext()与hasNextLine()来判断是否还原创 2021-08-15 21:49:27 · 62 阅读 · 0 评论 -
JavaDay07
Java学习07包机制为了更好地组织类,Java提供包机制,用于区别类名的命名空间。包语句的语法格式为:package pkg1[. pkg2[. pkg3...]];一般利用公司域名倒置作为包名(com.XXX.www)为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包,使用“import”语句可完成此功能。import package1[. package2...].(classname|*);此处的“*”为通配符,它可导入该包下所有的类@author 作者名原创 2021-08-15 21:47:30 · 60 阅读 · 0 评论 -
JavaDay06
Java学习06自增/自减符自增/自减运算符称为一元运算符int a=3;int b=a++;//执行完这段代码后,先给b赋值,再自增//a++ = a + 1int c=++a;//执行完这段代码前,先自增,再给b赋值System.out.println(a);System.out.println(b);System.out.println(c);结果为:我们不妨做出设想,在定义c之前先输出a的值可见如下:可得此时a的值如下此时a的值为4,但b的值为3,说明此时为先赋值原创 2021-08-07 23:35:41 · 121 阅读 · 0 评论 -
JavaDay05
Java学习05运算符算数运算符:+,-,*,/,%,++,–赋值运算符:=关系运算符:>, <, >=, <=, ==, !=, instanceof(面向对象)逻辑运算符:&&,||, !位运算符:&, |, ^, ~, >>, << , >>>(了解)条件运算符:?扩展赋值运算符:+=,-=,*=,/=二元运算符Ctrl + D :复制当前行到下一行实例可原创 2021-08-07 23:31:16 · 113 阅读 · 0 评论 -
JavaDay04
Java学习04类型转换由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换低------------------------------------------------------------------------------------>高**byte short char int long float double **运算中,不同类型数据先转化为同一类型,然后进行运算强制原创 2021-08-07 23:27:15 · 66 阅读 · 0 评论 -
JavaDay03
Java学习03整数拓展 : 进制 二进制(0b) 十进制 八进制(0) 十六进制(0x)浮点数拓展银行业务怎么表示钱floatdouble但是所以float可表示的字长是有限的,其为离散的,存在舍入误差(接近但不等于)。最好完全避免使用浮点数进行比较类:BigDecimal 数学工具类 可以用于银行业务 (Java)字符拓展例所有的字符本质还是数字(从某个表格中查找)编码问题:原创 2021-07-29 19:00:08 · 65 阅读 · 0 评论 -
JavaDay02
Java学习02标识符关键词数据类型基本数据类型引用数据类型类接口数组原创 2021-07-29 18:54:15 · 60 阅读 · 0 评论 -
JavaDay01
Java学习01注释与C++相似,其注释采用的是“/”与“*”的组合单行注释单行注释采用的形式为:// + 注释内容(以上为效果图)多行注释多行注释采用的形式为:/* + 注释内容 + */并可实现跨行注释以及进行有趣的注释图案(以上为效果图)文档注释文档注释采用的形式为:/** +注释内容 + */其可实现跨行注释并且在行首会以“ * ”为分点提示且可实现互动响应(以上为效果图)字体颜色改变首先找到界面的 File,并找到Settings(如图)点击即可出原创 2021-07-29 18:50:33 · 53 阅读 · 0 评论 -
Day02
快捷键Ctrl+C:复制Ctrl+V:粘贴Ctrl+A:全选Ctrl+X:剪切Ctrl+Z:撤销Shift+del:永久删除Window键+R:运行Window键+Tab:任务界面Alt+F4:关闭窗口Ctrl+Shitf+esc:任务管理器打开CMD的方式开始+系统+命令提示符Win键+R 输入cmd打开控制台在任意文件夹下,按住shift键+鼠标右键点击,在此处打开命令行窗口资源管理器的地址栏前面加上cmd路径管理员方式运行常用Dos命令盘符切换某盘字母符号+英原创 2021-07-25 23:58:14 · 55 阅读 · 0 评论