自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java基础---自定义异常

自定义异常及小结使用Java内置的异常类可以描述在编程时出现的大部分异常情况。除此之外,用户还可以自定义异常。用户自定义异常,只需继承Exception类即可。在程序中使用自定义异常,可以分为以下几个步骤:  1、创建自定义异常类。  2、在方法中通过throw关键字抛出异常对象。  3、如果在当前抛出的异常方法中处理异常,可以使用try…catch语句捕获并处理;否则在方法的声明处通过throws指明要抛出给方法调用者的异常,继续进行下一步操作。  4、在出现异常方法的调用者中捕获并处理异常。

2021-03-26 22:55:07 179

原创 java基础---抽象类、接口、内部类

抽象类abstract修饰符可以用来修饰方法也可以用来修饰类,如果修饰方法,那么该方法就是抽象方法;如果修饰类,那么该类就是抽象类。抽象类中可以没有抽象方法,但是有抽象方法的类一定要声明为抽象类。抽象类:可以使用new关键字来创建对象,它是用来让子类继承的。抽象方法,只有方法的声明,没有方法的实现,它是用来让子类实现的。子类继承抽象类,那么就必须要实现抽象类没有实现的抽象方法,否则该子类也要声明为抽象类。抽象类及抽象方法:代码:package oop.Abstract;// abstra

2021-03-22 23:05:59 123

原创 java基础---多态及instanceof

多态即同一方法可以根据发送对象的不同而采取多种不同的行为方式。一个对象的实际类型是确定的。但可以指向的引用类型就不确定了。我们定义一个Application类代码:public class Application { public static void main(String[] args) { Student s1 = new Student(); Person s2 = new Student(); // 父类引用指向子类 Obj

2021-03-17 23:14:15 184

原创 java基础---super与重写

super详解代码:我们再在Person类与Student类中分别写一个方法:print()与构造器结合:这说明在Student类中,无参构造中有一句隐藏代码:super();调用父类的无参构造。调用父类的构造器,super();必须要在子类构造器的第一行。super注意点:  1、super是调用的父类的构造方法,必须在子类构造方法的第一行。  2、super只能出现子类的方法或者构造方法中。  3、super和this不能同时调用构造方法。与this的区别:  1、代表的对象

2021-03-16 23:07:31 329

原创 java基础---封装与继承

封装该露的露,该藏的藏  我们程序设计要求“高内聚,低耦合”。高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;低耦合:仅暴露少量的方法给外部使用。封装(数据的隐藏)  通常,应禁止直接访问一个对象中数据的实际表示,而应通过操作接口来访问,这成为信息隐藏。记住这句话:属性私有:get/set代码:public class Student { // 属性私有 // 姓名 private String name; // 年龄 private int

2021-03-15 22:45:34 83

原创 java基础---创建对象内存分析及小结

创建对象内存分析我们先定义一个Application类,并在里面实例化一个dog对象,对属性进行赋值,调用Pet类中shout方法,并输出。package oop.demo08;public class Application { public static void main(String[] args) { Pet dog = new Pet(); dog.name = "旺财"; dog.age = 3; dog.s

2021-03-15 22:44:52 99

原创 java基础--构造器

构造器详解构造器的作用  1、使用new关键字,必须要有关键字  2、构造器用来初始化值我们来看一段代码:1、我们定义一个Application类package oop.demo07;public class Application { public static void main(String[] args) { // 实例化了一个对象 Person person = new Person(); System.out.prin

2021-03-15 22:10:51 75

原创 java基础---类与对象的关系

类与对象的关系类是一种抽象的数据类型,它是对某一类事物整体的描述/定义,但是并不能代表某一个具体的事物。创建与初始化对象使用new关键字创建对象使用new关键字创建的时候,除了分配内存空间外,还会给创建好的对象进行默认的初始化以及对类中构造器的调用。类中的构造器也称为构造方法,是在进行创建对象的时候必须要调用的。并且构造器有以下两种特点:  1、必须和类的名字相同。  2、必须没有返回类型,也不能写void。构造器使用new关键字,本质是在调用构造器构造器用来初始化值无参构造有参构

2021-03-14 17:47:11 77

原创 java基础---什么是面向对象

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

2021-03-12 22:15:19 197

原创 java基础---冒泡排序

冒泡排序冒泡的代码还是非常简单的,两层循环,外层冒泡轮数,里层依次比较,江湖中人人皆知。我们可以得出这个算法的时间复杂度为o(n2)总的来说:  1、比较数组中两个相邻的元素,如果第一个数比第二个数大,我们就交换他们的位置。  2、每一次比较都会产生一个最大或者最小的数字。  3、下一轮则可以少一次排序。  4、依次循环,直到结束。代码:package array;import java.util.Arrays;public class Demo10 { public st

2021-03-12 21:26:02 68

原创 java基础---Arrays类使用

Arrays类1、数组的工具类:java.util.Arrays2、由于数组对象本身并没有什么方法可以供我们调用,但API中提供了一个工具类Arrays类供我们使用,从而可以对数据对象进行一些基本的操作。3、可以查看JDK帮助文档4、Arrays类中的方法都是static修饰的静态方法,在使用的时候可以直接使用类名进行调用,而“不用”使用对象来调用(注意:是“不用”,而不是“不能”)5、Arrays类具有以下常用功能:  一、给数组赋值,通过fill方法。  二、对数组排序,通过sort方法,

2021-03-11 23:24:52 202

原创 java基础---数组

内存分析内存具体的有:堆、栈、方法区堆:  1、存放new的对象和数组  2、可以被所有的线程共享,不会存放别的对象引用栈:  1、存放基本变量类型(会包含这个基本类型的具体数据)  2、引用对象的变量(会存放这个引用在堆里面的具体地址)方法区:  1、可以被所有的线程共享  2、包含了所有的class和static变量这么说可能太模糊。上代码:package array;public class demo01 { //变量的类型 变量名 = 变量的值; pub

2021-03-10 23:03:33 143

原创 java基础---数组

数组数组的定义1、数组是相同类型数据的有序集合2、数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成3、其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们。数组的声明和创建首先必须声明数组变量,才能在程序中使用数组。下面是声明数组变量的语法:dataType[] arrayRefVar;   //首选的方法dataType arrayRefVar[];   //效果相同,但不是首选方法代码:package array;public class de

2021-03-09 23:07:42 74

原创 java基础---递归

递归A方法调用B方法,我们很容易理解递归就是A方法调用A方法,就是自己调用自己!利用递归可以用简单的程序来解决一些复杂的问题。它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大的减少了程序的代码量。递归的能力在于用有限的语句来定义对象的无限集合。递归结构包括两个部分:  1、递归头:什么时候不调用自身方法。如果没有头,将陷入死循环。  2、递归体:什么时候需要调用自身方法。自己调用自己是什么意思?代码

2021-03-09 22:32:30 99

原创 java基础---方法的重载、命令行传参及可变参数

方法的重载重载就是在一个类中,有相同的函数名称,但形参不同的函数方法的重载的规则:  1、方法名称必须相同。  2、参数列表必须不同(个数不同、或类型不同、参数列表顺序不同等)。  3、方法的返回类型可以相同也可以不相同。  4、仅仅返回类型不同不足以成为方法的重载。实现理论:  方法名称相同时,编译器会根据调用方法的参数个数、参数类型等去逐个匹配,以选择对应的方法,如果匹配失败,则编译器报错。来段代码感受一下:package method;public class MethodDe

2021-03-08 22:52:52 165

原创 java基础---方法

方法何谓方法?java方法是语句的集合,它们在一起执行一个功能。  1、方法是解决一类问题的步骤的有序集合  2、方法包含于类或对象中  3、方法在程序中被创建,在其他地方被引用设计方法的原则:方法的本意是功能块,就是实现某个功能的语句块的集合。我们设计方法的时候,最好保持方法的原子性:就是一个方法只完成一个功能,这样利于我们后期的扩展。方法的定义java的方法类似于其他语言的函数,是一段用来完成特定功能的代码片段,一般情况下,定义一个方法包含一下语法:方法包含一个方法头和一个方法体。下面

2021-03-07 22:31:05 125 2

原创 Java基础---选择结构

选择结构1、if单选择结构2、if双选择结构3、if多选择结构4、嵌套的if结构5、switch多选择结构if单选择结构我们很多时候需要去判断一个东西是否可行,然后我们才去执行,这样一个过程在程序中用if语句来表示语法:if (布尔表达式) {  // 如果布尔表达式为true将执行的语句}代码:package struct;import java.util.Scanner;public class Demo01 { public static void main

2021-03-06 23:59:53 153 1

原创 java基础---Scanner对象的使用

用户交互Scanner与Scanner的进阶使用Scanner对象之前我们学的基本语法中我们并没有实现程序和人的交互,但是Java给我们提供了这样一个工具类,我们可以获取用户的输入。java.util.Scanner是Java5的新特性,我们可以通过Scanner类来获取用户的输入。基本语法:Scanner scanner = new Sacnner(System.in);通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与ha

2021-03-05 22:52:08 142

原创 java基础---JavaDoc命令生成API文档

JavaDocjavadoc是用来生成自己的API文档参数信息:@author 作者名@version 版本号@since 指明最早需要使用的jdk版本@param 参数名@return 返回值情况@throws 异常抛出情况步骤1:右击Doc,点击Show in Explorer步骤2:会显示当前java文件所在的位置,然后在位置栏输入cmd步骤3:我这里是D:\java练习\base,会发现路径有中文输入下图的命令:javadoc -encodin

2021-03-05 21:54:07 202

原创 java基础---三元运算符及小结

扩展运算符上代码:package operator;public class demo05 { public static void main(String[] args) { int a = 10; int b = 20; a+=b; //相当于:a = a + b a-=b; //相当于:a = a - b System.out.println(a); //结果为30 System

2021-03-04 22:20:08 159 1

原创 java基础---逻辑运算与位运算

逻辑运算符、位运算符话不多说,先上代码感受一下:package operator;public class demo04 { // 逻辑运算符 public static void main(String[] args) { // 与(and) 或(or) 非(取反) boolean a = true; boolean b = false; // 逻辑与运算,两个变量都为真,结果才为true Sy

2021-03-04 21:50:57 439 1

原创 java基础---自增自减运算符,初识Math类

自增自减运算运算符:++、–:自增,自减,也叫一元运算符代码:package operator;public class Demo01 { public static void main(String[] args) { // ++ -- ,自增 自减:一元运算符 int a = 3; int b = a++; //执行完这行代码后,先给b赋值,再自增 // 执行完上一步后,a = a + 1

2021-03-04 17:29:59 125 1

原创 java基础---运算符

运算符java语言支持如下运算符算术运算符:+、-、*、/、%、++、- -赋值运算符:=关系运算符:>、<、>=、<=、==、!=、instanceof逻辑运算符:&&、||、!位运算符:&、|、^、~、>>、<<、>>>(了解即可!)条件运算符:?、: 也叫三目运算符扩展赋值运算符:+=、-=、*=、/=算术运算符代码:package operator;public class

2021-03-03 22:22:14 470 1

原创 java基础---变量、常量及作用域

变量、常量及作用域Java是一种强类型语言,每个变量都必须声明其类型而Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域表达式:type varName = [value] 或 [{, varName[=value]}];数据类型 变量名 = 值; 可以使用逗号隔开来声明多个同类型变量,但不建议在*一行中定义多个变量。什么是变量?变量就是可以变化的量变量定义注意类型:1、每个变量都有类型,类型可以是基本类型,也可以是引用类型2、变量名必须是合法的标识符3、变量声明

2021-03-03 19:31:13 162 1

原创 java基础

数据类型java的数据类型分为两类基本类型(primitive type)引用类型(reference type)基本类型数据类型默认值数值范围byte0-128~127short0-32768~32767int0-2,147,483,648~2,147,483,647long0L-9,223,372,036,854,775,808~9,223,372,036,854,775,807float0.0f-double0.0

2020-10-29 21:30:55 107

空空如也

空空如也

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

TA关注的人

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