自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

原创 Blog

这里是一名大一学生在CSDN记录自学java的过程

2021-02-06 13:38:31 341

原创 JVM内存以及较难内存作业

JVM内存JVM中主要的三块内存空间:1. 栈内存2. 堆内存3. 方法区除了这三块之外,还有其他的方法区:类加载器classloader,将硬盘上的xxx.class字节码文件装载到JVM的时候,会将字节码文件存放到方法区当中,也就是说方法区中存储的是代码片段,因为类需要加载,所以方法区当中是最先有数据的栈内存:在方法被调用的时候,该方法需要的内存空间以及栈中方法的局部变量在栈中分配,并且调用时就是压栈,方法执行结束之后,该方法所需要的空间就会释放,此时发生弹栈方法调用:压栈,分配空间

2021-03-14 20:12:11 130

原创 重写 多态 向上转型和向下转型 究极易理解篇

前言:在看完狂神说Java的关于重写 多态 向上转型和向下转型的视频之后,我感到了极大的困惑和难以理解,于是我去看了很多不同的视频,最终总结出一套究极容易理解和运用的模式用心看完,你也应该会有很大的收获PS:有些代码我使用图片的形式上传,为的是是结果更加清晰易懂,可以配合Ctrl+滚轮食用方法的重写(override)重写的条件当父类方法无法满足子类的业务需求重写需要有继承关系,子类重写父类的方法方法名必须相同,参数列表相同(否则变成重载了),方法体不同,返回值类型相同抛出的异常不能更多

2021-02-18 22:23:03 422 5

原创 方法重写和多态 (难理解)

方法的重写(override)重写需要有继承关系,子类重写父类的方法方法名必须相同,方法体不同参数列表必须相同,否则就是重载了抛出的异常范围可以被缩小但不能扩大重写都是方法的重写,和属性无关没有static父类的引用可以指向子类当父类和子类的方法都是静态方法,即加上static时方法的调用只和左边,定义的数据类型有关,和new的是谁无关当去掉static时此时子类和父类都有一样的方法,子类重写了父类,那么调用子类的方法重写跟静态方法无

2021-02-16 22:12:31 420 1

原创 封装和继承

封装该露的露,该藏的藏我们的程序设计要追求"高内聚,低耦合"高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;比如说银行的钱,不能给所有人操作低耦合就是仅暴露少量的方法给外部使用*封装(数据的隐藏)就比如电视的遥控器,我们不需要去碰电视的显像管,只需要遥控就能换台,调音量通常,应禁止直接访问一个对象中数据的实际表示,而应通过操作接口来访问,这称为信息隐藏记住这句话就够了:属性私有:get/set封装的作用提高程序的安全性,保护数据隐藏代码的实

2021-02-15 22:06:37 136

原创 类与对象的创建 构造器

类与对象的关系类是一种抽象的数据类型,它是对某一类事物整体的描述/定义,但是并不能代表某一个具体的事物动物、植物、手机、电脑…Person类、Pet类、Car类等,这些类都是用来描述/定义某一类具体事物应该具备的特点和行为类里面只有属性和方法对象是抽象概念的具体实例张三就是人的一个具体实例,张三家里的旺财就是狗的一个具体实例能够体现出特特点,展现出功能的是具体的实例,而不是一个抽象的概念创建与初始化对象使用new关键字创建对象使用new关键字创建的时候,除了分配

2021-02-10 23:23:03 128 1

原创 5分钟让你明白Java只有值传递

很多人说,Java不光有值传递,还有引用传递,在CSDN和博客园都有很多类似的贴子,通过那种"看似"有说服力的代码和例子证明引用传递的存在性,我想让诸君花五分钟看看我的解释首先明确一点! Java只有 只有 只有 值传递public class demo { public static void main(String[] args) { int a = 1; change(a); System.out

2021-02-10 20:21:25 242 2

原创 面向对象

面向对象编程Java的核心思想就是OOP面向过程思想步骤清晰简单,第一步做什么,第二步做什么…面向过程适合处理一些较为简单的问题面向对象思想物理类聚,分类的思维模式,思考问题首先会解决问题需要哪些分类,然后对这些分类进行单独思考 最后才对某个分类下的细节进行面向过程的思索面向对象适合处理复杂的问题,适合处理需要多人协作的问题!一个类=属性+方法对于描述复杂的事物,为了从宏观上把握、从整体上合理分析,我们需要使用面向对象的思路来分析整个系统 但是,具体到微观操作,仍然需要面向过程

2021-02-09 23:57:31 62

原创 稀疏数组

稀疏数组当一个数组中大部分元素为0,或者为同一值的数组时,可以使用稀疏数组来保存该数组稀疏数组的处理方式是:记录数组一共有几行几列,有多少个不同值把具有不同值的元素和行列及值记录在一个小规模数组中,从而缩小数组的规模package com.ycy;import java.lang.reflect.Array;import java.util.Arrays;public class demo { public static void main(String

2021-02-09 23:56:54 81

原创 关于Java中的冒泡排序以及与VB中冒泡排序比较的个人思考

首先在自学Java的第9天,我学到了Java中的冒泡排序,于是自己动手按照高中时期的记忆写了一下,先上代码package com.ycy;import java.lang.reflect.Array;import java.util.Arrays;public class demo { public static void main(String[] args) { int[] array = {1, 9, 8, 3, 24, 12, 21, 3,

2021-02-09 01:43:19 99

原创 Arrays类

Arrays类数组的工具类java.util.Arrays由于数组对象本身并没有什么方法可以供我们调用,但API中提供了一个工具类Arrays供我们使用,从而可以对数据对象进行一些基本的操作Arrays类中的方法都是static修饰的静态方法,在使用的时候可以直接使用类名进行调用,而"不用"使用对象来调用(注意是"不用"而不是"不能")具有以下常用功能给数组赋值:通过fill方法对数组排序:通过sort方法,按升序比较数组:通过equals方法比较数组中元素值是否相等查找数组元素:通过b

2021-02-08 23:48:06 77

原创 内存分析

内存分析Java内存分析:堆存放new的对象和数组可以被所有的线程共享,不会存放别的对象引用栈存放基本变量类型(会包含这个基本类型的具体数值)引用对象的变量(会存放这个引用在堆里面的具体地址)方法区可以被所有的线程共享包含了所有的class和static变量声明的时候数组并不存在,只有创建的时候才出现三种初始化静态初始化:创建+赋值 (不包含默认初始化)int[ ] a = {1,2,3,4,5,6,7}如果输出a[7],就会报错动态初始化:(包

2021-02-08 21:07:28 69

原创 数组

数组数组的定义数组是相同类型数据的有序集合数组描述的是相同类型的若干个数据,按照一i的那个的先后次序排列组合而成其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们数组的声明和创建首先必须声明数组变量,才能在程序中使用数组dataType[ ] arrayRefVar 或 (首选)dataType arrayRefVar[ ] (C与C++中也是这样)Java语言使用new操作符来创建数组dataType[ ] arrayRefVar = new dat

2021-02-08 21:06:35 191

原创 Java方法小作业

作业写一个计算器,要求实现加减乘除功能,通过用户交互实现思路写四个方法:加减乘除利用循环+switch进行用户交互传递需要操作的两个数输出结果package com.ycy;import java.util.Scanner;public class demo { public static void main(String[] args) { Scanner scanner = new Scanner(System.in);

2021-02-07 22:27:36 89 1

原创 命令行传递参数

命令行传递参数有时候你希望运行一个程序时再传递给他消息,这要靠传递命令行参数给main()函数实现package com.ycy;public class demo { public static void main(String[] args) { for(int i = 0;i<args.length; i++){ System.out.println("args["+i+"]:"+args[

2021-02-07 20:21:45 86

原创 Java方法

方法System.out.println() 是什么呢?System是一个类.out是一个对象.println()是方法调用系统类(System)里面的标准输出对象out中的println()方法Java方法是语句的集合,他们在一起执行一个功能方法是解决一类问题的步骤的有序组合方法包含于类或对象中方法在程序中被创建,在其他地方被引用设计方法的原则:方法的本意是功能块,就是实现某个功能的语句块的集合,我们设计方法的时候,最好保持方法的原子性,就是一个方法只完成一个功能,这样利于我

2021-02-07 20:20:40 66 1

原创 流程控制习题一道

流程控制练习打印一个三角形public class demo { public static void main(String[] args) { //打印三角形 for (int i = 1; i <= 5; i++) { for (int j = 5; j >= i; j--) { System.o

2021-02-06 22:13:29 116

原创 break continue

break continuebreak在任何循环语句的主体部分,均可用break控制循环的流程,break用于强行退出循环,不执行循环中剩余的语句break语句也在switch语句中使用public class demo { public static void main(String[] args) { int i = 0; while(i<100){ i++;

2021-02-06 22:12:20 57

原创 循环结构

循环结构while循环while(布尔表达式){}我们大多数情况是会让循环停止下来的,我们需要一个让表达式失效的方式来结束循环少部分情况需要循环一直执行,比如服务器的请求响应监听等public class Demo02 { public static void main(String[] args) { int i = 0; while (i<100){ i = i+1; } System.out.pr

2021-02-06 22:11:51 62

原创 顺序结构 if选择结构 switch多选择结构以及反编译

顺序结构Java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行顺序结构是最简单的算法结构if选择结构if单选择结构if(布尔表达式){}import javax.xml.stream.events.EndDocument;import java.util.Scanner;public class demo { public static void main(String[] args) { Scanner scanner

2021-02-06 02:02:31 97

原创 用户交互Scanner

用户交互ScannerScanner对象之前我们学的基本语法中并没有实现程序和人的交互,但是Java给我们提供了这样一个工具类,我们可以获取用户的输入。java.util.Scanner是java5的新特征,可以获取用户的输入基本语法Scanner s = new Scanner(system.in);用完scanner记得关闭,可以节省资源scanner.close();关于next()和nextline()的区别next()next()不能得到带有空格的字符串,例如Hello

2021-02-05 20:33:20 61

原创 包机制 JavaDoc文档生成

包机制为了更好的组织类,Java提供了包机制,用于区别类名的命名空间包的本质其实就是文件夹包机制有一些规范包名不是凭空定义的一般用公司域名倒置作为包名com.baidu.www尽量不要让包里面的名字重复包语句package pkg1[.pkg2[pkg3…]];包的导入import package1[package2…].(classname|*);Java DocJavaDoc是一种将注释生成HTML文档的技术,生成的HTML文档类似于Java的API,易读且清

2021-02-04 16:06:29 113

原创 JDK JRE JVM

2021-02-04 02:20:43 101

原创 2021-02-03

运算符算数运算符%表示模运算,即取余在进行加减乘除时,如果有long或者double类型参与,最后的类型会变成long或double,如果没有。那么结果都将是int,无论是否有int类型参与如果有小数参与,结果都将变成小数类型public class demo { public static void main(String[] args) { int a=10; int b=21;

2021-02-04 02:00:54 70

原创 2021-02-03

变量变量作用域局部变量:必须声明和初始化值,只在方法里有用实例变量:方法的外面,类的里面,从属于对象,如果不自行初始化,这个类型的默认值是0或0.0(数值) false(布尔值) 除了八个基本类型,其余的都是null类变量:从属于类常量final 常量名 = 值final double PI = 3.14;常量名一般使用大写字母public class demo { public static void main(String[] args) {

2021-02-03 14:20:42 52

原创 2021-02-02

类型转换高–低 强制转换:(类型)变量名低–高 自动转换低-------------------------------------------------------------------->高byte,short,char----->int----->long----->float----->double注意点不能对布尔值进行转换不能把对象的类型转换为不相干的类型在把高容量转换成低容量时,需要强制转换转换的时候可能存在内存溢出或者精度问题publi

2021-02-02 22:09:08 46

原创 2021-02-02

卸载JDK删除java的安装目录删除JAVA_home删除path下关于java的目录cmd中输入java-version安装JDK百度搜索JDK8下载配置环境变量我的电脑右键–>属性环境变量–>Java_Home配置path变量测试是否安装成功java -version...

2021-02-02 21:05:51 51

原创 2021-02-02

Hello World新建文件夹,存放代码新建一个java文件夹后缀为.javaHello.java编写代码public class Hello{ public static void main (String[] args){ System.out.print("Hello,World!"); }}编译javac java文件,会生成一个class文件java class文件,运行class文件(不用加后缀)[外链图片转存失败,源站可能有防盗链机制,

2021-02-02 21:05:36 63

原创 2021-02-01

打开CMD的方式开始+windows系统+命令提示符windows键+R 输出cmd 打开控制台shift+鼠标右键点击,选择在此处打开powershell窗口资源管理器的地址栏前面加上cmd路径常用的Dos命令#盘符切换#查看当前目录下的所有文件 dir#切换目录 cd change direcetorycd /d F:\ (跨盘符) cd.. 返回上一级#清理屏幕 cls clear screen#退出终端 exit#查看电脑IP ipconfig calc

2021-02-01 15:57:51 51

原创 2021-02-01

Markdown学习标题#*n加空格=n级标题(最多六级)字体Hello, worldHello, worldHello, worldHello, world引用Hello, world分割线图片超链接点击跳转列表ABCABC表格名字性别出生日期张三男1999.1.1代码public...

2021-02-01 14:58:54 75

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除