JAVASE
JAVASE基础
衰小孩、519
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
集合的简述
定义可以动态保存任意多个对象,使用比较方便提供了一系列方便的操作对象的方法:add,remove,set,get使用集合添加、删除新元素的示意代码更简洁框架体系原创 2021-09-08 13:51:12 · 104 阅读 · 0 评论 -
常用类之Object类
Object类Object:所有类的直接或间接父类,位于继承树最顶层,Object类中所定义的方法是所有对象都具备的方法Object类型可以存储任何对象作为参数,可接受任何对象作为返回值,可返回任何对象类中的方法getClass方法获取对象的类型Class calss1 = s1.getClass();hashCode方法返回对象的哈希码值哈希值根据对象的地址或字符串或数字使用hash算法计算出来的int类型的数值一般情况下相同对象返回相同hash码toStri原创 2021-05-29 19:12:23 · 149 阅读 · 0 评论 -
常用类总结
总结:内部类在一个类的内部再定义一个完整的类成员内部类,静态内部类,局部内部类,匿名内部类Object类所有类的直接或间接父类,可存储任何对象包装类基本数据类型所对应的引用数据类型,可以使Object统一所有数据String类字符串是常量,创建之后不可改变,字面值保存在字符串池中,可以共享BigDecimal类可精确计算浮点数Date类获取特定时间Calendar类日历...原创 2021-06-02 13:02:17 · 97 阅读 · 0 评论 -
常用类之System类
主要用于获取系统的属性数据和其他操作,构造方法私有public class SystemClass { public static void main(String[] args) { //1.arraycopy();数组复制 //src:源数组 //srcPos:开始复制位置 //dest:目标数组 //destPos:目标数组的位置 //length:复制的长度 int[] src原创 2021-06-02 12:34:22 · 154 阅读 · 0 评论 -
常用类之SimpleDateFormat类
一个与语言环境有关的方式来格式化和解析日期的具体类进行格式化(日期–>文本)解析(文本–>日期)原创 2021-06-01 22:01:35 · 114 阅读 · 0 评论 -
常用类之Calendar类
提供了获取或设置各种日历字段的方法构造方法protected Calendar();由于修饰符是protected,所以无法直接创建该对象方法:getInstance();创建对象使用方法,使用默认时区和区域获取日历set();设置时间get();获取给定日历字段的值add();按照日历的规则,给指定字段添加或减少时间量getTimeInMillies();毫秒为单位返回改日历的时间值getTime();返回一个Date值表示此日历的时间setTime();用给原创 2021-06-01 21:52:10 · 192 阅读 · 0 评论 -
常用类之Date类
表示特定瞬间,精确到毫秒1秒=1000毫秒1毫秒=1000微秒1微秒=1000纳秒public class DateClass { public static void main(String[] args) { Date date1 = new Date(); //今天 System.out.println(date1.toString()); System.out.println(date1.toLocaleString()原创 2021-06-01 20:51:55 · 76 阅读 · 0 评论 -
常用类之BigDecimal类
意义:精确计算浮点数四种方法:add();加法subtract();减法multiply();乘法divede();除法做除法时,若除不尽,则取保留位数和取舍方法divede(BigDecimal bd(被除数),int scal(取得位数),RoundingMode.HALF_UP(四舍五入))public class Dome07 { public static void main(String[] args) { double d1 = 1.0;原创 2021-05-31 19:27:29 · 166 阅读 · 0 评论 -
常用类之String类
String类字符串是常量,创建之后不可改变。字符串字面值存储在字符串池中,可以共享创建字符串对象的不同方式当使用String s = “hello”;创建对象时,字符串存储在字符串池中当使用String s = new String(“hello”);创建对象时,会在堆和池中各产生一个对象public class Demo03 { public static void main(String[] args) { String name = "hello"; //常原创 2021-05-31 18:54:48 · 134 阅读 · 0 评论 -
常用类之包装类
包装类基本数据类型所对应的引用数据类型Object可统一所有数据,包装类默认值为null类型转换与装箱、拆箱装箱:基本类型—>引用类型拆箱:引用类型—>基本类型将基本类型转换为字符串类型使用toString();String s1 = 10 +" ";String s2 = Integer.toString(10);将字符串转换为基本类型使用parsexxx();方法int n1 = Integer.parseInt(str);public class Demo01原创 2021-05-29 20:01:21 · 119 阅读 · 0 评论 -
常用类之内部类
内部类概念内部类概念:在一个类内部在定义一个完整的类,内部类可以访问外部类私有成员,而不破坏封装内部类分类成员内部类静态内部类局部内部类匿名内部类成员内部类特点:成员内部类是外部类的一个实例部分,创建内部类对象时,必须依赖外部类对象重名属性优先访问内部类成员内部类不能定义静态成员,但可以定义静态变量public class Outer { private String name = "fang"; private int age = 20; clas原创 2021-05-28 13:22:26 · 181 阅读 · 0 评论 -
常用类类型
内部类Object类Object类常用方法包装类String类BigDecimal类原创 2021-05-28 11:11:29 · 89 阅读 · 0 评论 -
自定义异常
处理运行异常时,采用逻辑合理规避同时辅助try-catch处理在多重catch块后面,可以加一个catch(Exception)来处理可能会被遗漏的异常对于不确定的代码,也可以加上try-catch来处理潜在的异常尽量去处理异常,切记只是简单的去调用printStackTrace()去打印输出尽量添加finally语句块去释放占用的资源package com.exception.demo02;//自定义异常类public class MyException extends Exceptio.原创 2021-04-29 22:20:16 · 74 阅读 · 0 评论 -
Error和Exception
分类检查性异常:用户错误或问题引起的异常,例如要打开一个不存在的文件夹运行时异常错误捕获和抛出关键字:try、catch、finally、throw、throwspackage com.exception;public class Test { public static void main(String[] args) { int a=1; int b=0; try { new Test().test(1原创 2021-04-29 21:32:25 · 85 阅读 · 0 评论 -
接口
定义普通类:只有具体实现抽象类:具体实现和规范(抽象方法)都有接口:只有规范,自身无法写方法,约束和实现分离接口就是规范,定义的是一组规则作用约束定义一些方法,让不同的人去实现接口里的方法都为abstract public,属性都为public static final接口不能被实例化,没有构造方法implements可以实现多个接口实现必须重写接口中的方法实现package com.opp.demo09;public interface TimeService {原创 2021-04-29 19:36:40 · 98 阅读 · 0 评论 -
抽象类与接口
package com.opp.demo08;//abstact:抽象类 类只能单继承,但接口可以多继承//抽象类的所有方法,继承了它的子类都必须去实现,除非子类也是抽象类public abstract class Action { //约束 //abstract:抽象方法,只有方法名字,没有方法实现 public abstract void doSomething(); //1.抽象类不能new,只能靠子类去实现它;约束! //2.抽象类可以写普通原创 2021-04-29 18:21:32 · 86 阅读 · 0 评论 -
static关键字、final关键字以及匿名代码块
静态方法和属性可以直接使用类进行调用被final修饰的类无法被继承静态代码块最先执行,匿名代码块次之,构造方法最后执行可以使用static调用包中方法以直接使用方法package com.opp.demo07;//可以使用static关键字导入包中的方法import java.lang.Math;import static java.lang.Math.random;public class Student { //只执行一次 static{ Syste.原创 2021-04-29 17:59:03 · 84 阅读 · 0 评论 -
多态
定义同一方法可以根据发送对象的不同而采用多种不同的行为方式一个对象的实际类型是确定的,而可以指向的引用类型可以不确定,父类的引用可以指向子类注意点多态是方法的多态,属性没有多态父类和子类,有联系才可以进行类型转换类型转换异常ClsssCastException存在条件:继承方法,方法要重写,父类引用指向子类对象不能被重写方法:static方法(属于类,不属于实例),final常量,private方法package com.opp;import com.opp.demo04.St原创 2021-04-29 16:01:56 · 91 阅读 · 0 评论 -
继承
extends:扩展,子类是父类的扩展,java中只有单继承,没有多继承super调用父类的构造方法,必须在构造方法的第一个super必须只能出现在子类的方法或构造方法中super和this不能同时调用构造方法相对于this的区别代表对象不同this:本身调用这个对象super:代表父类对象的引用前提this:没有继承也可使用super:只能在继承条件才可使用构造方法this():本类构造super():父类构造方法重写override需要有继承关系,子类重写父类方原创 2021-04-21 19:53:21 · 102 阅读 · 0 评论 -
封装
封装:通常应该禁止直接访问一个对象中数据的实际表示,而应通过操作接口来访问属性私有,get/set:类中属性设为私有,通过公共方法get以及set来操作package com.opp.demo02;public class Student { //private 属性私有 private String name; private int age; //提供一些可以操作私有属性的公共方法 //get 获得数据 public String getNa.原创 2021-04-21 17:46:50 · 78 阅读 · 0 评论 -
构造器
构造器:必须和类名相同,必须无返回值作用:初始化值,使用new关键字本质是在调用构造器注意:定义有参构造之后,如果想使用无参构造,必须显示的定义无参构造快捷生成构造器:alt+insertpackage com.opp.demo01;public class Person { //一个类即使什么都不写,也会存在一个方法 String name; int age; //实例化初始值 //使用new关键字,本质是在调用构造器 //构造器一般用来初.原创 2021-04-21 15:25:41 · 76 阅读 · 0 评论 -
什么是面向对象,方法调用回顾
属性+方法=类面向对象:分类思维,把具有相同特性的事物归于一个类,以类的方式组织代码,以对象的形式封装数据static静态方法:所有类都可以调用非静态方法:必须实例化对象才可以调用...原创 2021-04-13 19:45:48 · 108 阅读 · 0 评论 -
稀疏数组
当数组中存有大量无意义重复的数据时,可以对数组进行压缩public class ArrayDemo08 { public static void main(String[] args) { //稀疏数组 //1.创建一个二维数组11*11, 0:没有棋子 1:黑棋 2:白棋 int[][] array1 = new int[11][11]; array1[1][2] = 1; array1[2][3] =原创 2021-04-13 17:21:11 · 115 阅读 · 0 评论 -
冒泡排序法和选择排序法
使用双层嵌套循环,和一个中间变量int tem实现import java.util.Arrays;public class ArrayDemo07 { public static void main(String[] args) { int[] array = {11,27,26,95,42,34,15,10,9,}; int[] sorts = sort(array); System.out.println(Arrays.toString(s原创 2021-04-02 17:15:39 · 98 阅读 · 0 评论 -
Array类
Array.toString:打印数组元素,但不输出,输出需用System.out.printIn(Array.toString())Array.sort:对数组进行排序,升序排序Array.fill:给数组指定段赋值import java.util.Arrays;public class ArrayDemo06 { public static void main(String[] args) { int[] a = {1,2,3,999,596,66}; .原创 2021-04-02 17:12:36 · 148 阅读 · 0 评论 -
数组的使用
public class ArrayDemo04 { public static void main(String[] args) { int[] arrays = {1,2,3,4,5};// //增强for循环,没有下标,适用于打印输出// for (int array : arrays) {// System.out.println(array);//// } int[] reve.原创 2021-04-02 12:54:09 · 83 阅读 · 0 评论 -
数组特点
长度确定,一旦创建,大小不可改变数组中元素元素必须是相同类型元素可以是任意数据类型,包括基本类型和引用类型数组本身即对象,每个元素相当于成员变量,Java中对象位于堆中,因此数组对象本身是在堆中的数组边界:下表合法区间:[0,length-1]ArrayIndexOutOfBoundsException:数组下标越界异常...原创 2021-04-01 19:50:47 · 111 阅读 · 0 评论 -
java内存分析
堆:存放new的对象和和数组可以被所有线程共享,不会存放别的对象引用栈:存放基本变量类型(包含具体数值)引用对象的变量(会存放这个引用在堆里面的具体地址)方法区:可以被所有线程共享包含了所有class和static变量...原创 2021-04-01 19:26:13 · 99 阅读 · 0 评论 -
数组
数组定义:相同类型数据的有序集合每一个数据称作一个数组元素,每一个元素可以通过一个下标来访问创建方法:静态创建并赋值:int[ ] numb = {1,2,3,4,5,6}动态创建并赋值:int[ ] numb = new int[10]public class ArrayDemo02 { public static void main(String[] args) { //静态初始化 int[] a = {1,2,3,4,5,6,7,8,9}原创 2021-04-01 19:18:24 · 128 阅读 · 0 评论 -
递归
递归定义:自己调用自己的方法,将大型复杂的问题层层转化为一个与原问题相似的规模较小的问题,用有限的语句来定义对象的无限集合结构:递归头:包含结束调用自身方法的语句,即边界条件,如果没有这个条件,方法将陷入死循环递归体:调用自身方法的部分 //阶乘 public static void main(String[] args) { Demo05 demo05 = new Demo05(); int x = demo05.f(100原创 2021-04-01 19:09:40 · 142 阅读 · 0 评论 -
可变参数
可变参数表示方法:在方法声明中,在指定参数类型后加一个省略号,如int…i(相当于数组)一个方法只能指定一个可变参数,它必须是方法最后一个参数,任何普通的参数必须在它之前声明 public static void main(String[] args) { printMax(1,2,3); printMax(new int[]{3,6,9}); } public static void printMax(int...i){原创 2021-04-01 18:58:10 · 97 阅读 · 0 评论 -
命令行传参
原创 2021-04-01 15:05:24 · 87 阅读 · 0 评论 -
方法以及方法的定义和调用
方法方法:语句的集合,执行一个功能方法是解决一类问题的步骤的有序组合方法包含于类或对象中方法在程序中被创建,在其他地方被引用设计方法原则:原子性,即一个方法只完成一个功能方法结构:修饰符 返回值类型 方法名(参数类型 参数值){…方法体…return 返回值;}修饰符:可选,告诉编译器如何调用该方法,定义了该方法的访问类型返回值类型:若无返回值则定义为void方法名:与参数表共同构成方法签名方法体:定义方法功能方法调用对象名.方法名(原创 2021-03-31 21:30:17 · 173 阅读 · 0 评论 -
break、continue、return
break:在任何循环语句的主体部分均可用break控制循环的流程,break用于强行退出循环,不执行循环中剩余的语句(在switch中也有使用)continue:中止某次循环,跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定...原创 2021-03-31 19:27:12 · 98 阅读 · 0 评论 -
循环
循环语句whiledo…whileforwhile与do…while区别:while判断后执行,do…while先执行后判断do…while至少执行一次语句for循环最有效,最灵活的循环结构输出九九乘法表public class forDemo03 { public static void main(String[] args) { for (int i = 1; i <10; i++) { for (int j =原创 2021-03-31 18:58:15 · 102 阅读 · 0 评论 -
选择结构
结构顺序结构选择结构.equals()语句:判断字符串是否相等选择结构if选择switch选择:在case中匹配一个值,做与之对应的操作,若无匹配值,则执行default操作;break语句作用防止case穿透,若无break,则匹配case值之后的所有操作都会执行反编译查看class文件文件框架中寻找文件输出目录,打开文件所在目录,拖入IDEA即可查看...原创 2021-03-30 20:43:37 · 103 阅读 · 0 评论 -
用户交互Scanner
Scanner对象java.util.Scanner一个工具类,通过Scanner来获取用户输入基本语法Scanner S = new scanner使用方法通过next()与nextLine()方法获取输入,在获取前使用hasNext()与hasNextLine()方法判断是否还有输入的数据next:一定要读取到有效字符后才可以结束输入对输入有效字符前的空白,next方法会自动去掉只有输入有效字符后才将其后面的空白作为分隔符或结束符next()不能得到带有空格的字符串nextLi原创 2021-03-30 19:02:48 · 84 阅读 · 0 评论 -
包机制
语法格式:package pkg1[.pkg2[.pkg3…]];一般利用公司域名倒置作为包名使用import语句导入包中成员import package1【.package2…】(class|*)*代指所有类原创 2021-03-29 19:48:42 · 81 阅读 · 0 评论 -
运算符
运算符算术运算符:+、-、*、/、%、++、- -赋值运算符:=、+=、-=、*=、/=关系运算符:>、<、=、>=、<=、==、!=逻辑运算符:&&(与)、||(或)、!(非)位运算符:&(与)、|(或)、^(抑或)、~(取反)、<<(左移)、>>(右移)条件运算符: ? :字符串连接符:+算术运算符当整型数据进行运算时,如果其中含有long型,则结果为long型;如果不包含long型,则自动转换为int型,就原创 2021-03-29 19:24:15 · 211 阅读 · 0 评论 -
变量、常量、作用域
变量包括变量名、变量类型、作用域,每个变量都必须声明类型常量使用final关键字final 数据类型 常量名=值作用域类变量:从属于类,static实例变量:从属于对象,位于类里方法外,有默认值,如布尔型默认值为false局部变量:位于方法中,必须声明和初始化值命名类名:首字母大写,驼峰原则方法名、类成员变量、局部变量:首字母小写,驼峰原则常量:一般使用大写字母和下划线...原创 2021-03-28 20:57:30 · 102 阅读 · 0 评论
分享