
java
Do next
❤♪(^∇^*)加油 ヾ(◍°∇°◍)ノ゙
展开
-
【Java】包装类、拆箱和装箱
转载转载 2021-08-07 16:34:06 · 68 阅读 · 0 评论 -
泛型(语法糖)
泛型:让一个类/一个方法支持不同的数据类型。为什么引入泛型在Java中,为了方便接收参数类型的统一,提供了一个核心类object,利用此类对象可以接受所有类型的数据(包括基本数据类型与引用数据类型),但是由于其所描述的范围过大,所有在实际使用中就会出现传入数据类型错误,从而引发classCastException。假如我们要设计可以描述坐标点的类Point(包括x与y坐标的信息),对于坐标点允许保留3类数据整型数据:x=10,y=10;浮点型数据 x=10.1,y=20.9字符串型数据 x=原创 2021-07-29 22:09:50 · 177 阅读 · 1 评论 -
为什么要重写toString()方法
博客园转载 2021-07-29 22:04:42 · 101 阅读 · 0 评论 -
【java】面向对象--图书管理系统
先找对象,设计类,然后在考虑流程1.核心需求用户分为两类:管理员,普通用户管理员:a)查阅书籍信息b)增加书籍c)删除书籍d)查看所有书籍列表e)退出程序普通用户a)查阅某个书籍的信息b)借阅书籍c)归还书籍d)退出程序2.由上面需求可以看出:有四个类:管理员、用户、书籍、书籍列表所以先创建四个类:Admin,NormalUser,Book,BookList(红色标记)还有7中操作:(蓝色标记),把这几个操作放入一个包(查询,增加)3.丰富每个类的内容接下来我们涉及原创 2021-07-29 17:34:16 · 396 阅读 · 0 评论 -
【oj】剪布条
牛客网址题目描述一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案。对于给定的花布条和小饰条,计算一下能从花布条中尽可能剪出几块小饰条来呢?输入输入包含多组数据。每组数据包含两个字符串s,t,分别是成对出现的花布条和小饰条,其布条都是用可见ASCII字符表示的,可见的ASCII字符有多少个,布条的花纹也有多少种花样。花纹条和小饰条不会超过1000个字符长。输出对应每组输入,输出能从花纹布中剪出的最多小饰条个数,如果一块都没有,那就输出0,每个结果占一行。示例思路贪心算原创 2021-07-23 11:57:18 · 185 阅读 · 0 评论 -
【oJ】客似云来
牛客网址题目描述NowCoder开了一家早餐店,这家店的客人都有个奇怪的癖好:他们只要来这家店吃过一次早餐,就会每天都过来;并且,所有人在这家店吃了两天早餐后,接下来每天都会带一位新朋友一起来品尝。于是,这家店的客人从最初一个人发展成浩浩荡荡成百上千人:1、1、2、3、5……现在,NowCoder想请你帮忙统计一下,某一段时间范围那他总共卖出多少份早餐(假设每位客人只吃一份早餐)输入测试数据包括多组。每组数据包含两个整数from和to(1≤from≤to≤80),分别代表开店的第from天和第原创 2021-07-23 10:30:55 · 117 阅读 · 0 评论 -
【java】异常
这里写目录标题异常的种类防御编程“未言胜先言败”捕获异常try-catch的执行顺序e.printStackTrace()打印异常catch中的异常和try出现的异常类型匹配try中多个异常,多个catch匹配用一个 catch 捕获所有异常异常的种类异常:程序运行时出现的错误。编译期:通过javac命令.java转成.class,例如拼写。而运行时是指程序已经编译通过得到class文件了,再由JVM执行过程中出现的错误。1.算术异常(除以0) int a=10;原创 2021-07-24 20:22:13 · 249 阅读 · 3 评论 -
【java】抽象类和抽象方法和接口
使用abstract 关键字描述抽象类和抽象方法。abstract存在,告诉编译器,这个类是抽象类,不能被实例化抽象类在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。Shape不需要创建实例,存在是为了创建子类实例,完成多态。像这种不需要实例化,就可以把它设定为抽象类**public abstract class Shape { abstract public void转载 2021-07-21 22:33:42 · 197 阅读 · 0 评论 -
【java】斐波那切数列
牛客链接题目描述NowCoder号称自己已经记住了1-100000之间所有的斐波那契数。为了考验他,我们随便出一个数n,让他说出第n个斐波那契数。当然,斐波那契数会很大。因此,如果第n个斐波那契数不到6位,则说出该数;否则只说出最后6位。输入输入有多组数据。每组数据一行,包含一个整数n (1≤n≤100000)。输出对应每一组输入,输出第n个斐波那契数的最后6位。例子输入1234100000输出1235537501思路但现在的和上述斐波那契不同,现在第一项是1,第二项是2,所以原创 2021-07-21 18:16:20 · 166 阅读 · 0 评论 -
【java】super关键字
super 关键字得到父类实例的引用,在籽类中调用父类的属性和方法普通调用父类的成员属性和成员方法super.成员变量super.成员方法()调用父类的构造方法super(参数1,参数2,参数3)public class Animal { public String name; public Animal(String name) { this.name = name; } public void eat(String food) {原创 2021-07-21 10:17:22 · 80 阅读 · 0 评论 -
【java】this关键字
this关键字这里写目录标题this关键字1.通过this调用类中的属性2.通过this调用类中的方法3.this调用自身的构造方法1.通过this调用类中的属性1.如果形参名字int x和成员名字相同,通过this关键字可以明确的去访问一个类的成员变量,解决与局部变量名称冲突的问题;public class Point { public int x; public int y; public Point(){ } public Point(int x){原创 2021-07-21 10:17:39 · 122 阅读 · 0 评论 -
【oj练习】有一组数据,只有一个数字是出现一次,其他是两次,请找出这个数字
有一组数据,只有一个数字是出现一次,其他是两次,请找出这个数字思路:我们知道相同的两个数字异或结果肯定为0,而0与任何数异或都为任何数。那么这组数据我们依次异或下来最后肯定剩下一个单独存在的数。 int[] arr = {2,3,3}; System.out.println(findNum(arr));private static int findNum(int[] arr) { int n = 0; for(int i = 0;i<arr.le原创 2021-06-23 16:04:17 · 148 阅读 · 0 评论 -
【oj练习题】小易升级之路
小易题目描述 public static void main(String[] args){ Scanner sc=new Scanner(System.in); //判断输入的几个回合,上图示例四行(2个回合) while(sc.hasNext()){ int n=sc.nextInt();//表示怪物的数量 int a=sc.nextInt();原创 2021-06-18 21:36:27 · 136 阅读 · 0 评论 -
【java】重载和重写
重载和重写完全不同的两个概念重载:同一个作用域下,方法名相同,参数不同(参数个数/类型)重写:父类和子类之间,存在同名同参数,通过父类引用该方法,就会出发重写,此时具体执行什么方法...原创 2021-07-19 09:53:30 · 84 阅读 · 0 评论 -
【java】面向对象-多态
向上转型定义:父类的引用指向子类的实例发生的时候(Animal是cat的父类)直接赋值Animal animal =new Cat();方法传参func(new Cat());public static void func(Animal animal){}方法返回Animal animal=func2();private static Animal func2() { return new Cat(); }...原创 2021-07-19 12:00:21 · 120 阅读 · 1 评论 -
【java】初始化顺序
规则:1.子类在创建实例的时候,会首先构造父类的实例(调用父类的构造方法)2.初始化顺序:先执行就地初始化,在执行代码块,在执行构造方法执行过程:1.首先main()方法,new Z()[子类对象实例化],会先创建父类实例,则进入X中2.根据初始化顺序,先执行就地初始化Y(),进入Y()中执行3.执行Y()的构造方法打印Y4.返回到X,执行X()的构造方法,打印X5.父类的实例构造好,返回到Z().6.对Z,也是先执行就地初始化Y()『』,在执行构造方法中()7.就地初始化是进入Y执行,转载 2021-07-16 11:48:45 · 114 阅读 · 0 评论 -
【java】面向对象-继承
继承–extends支持单继承子类会继承父类所有的属性和方法,无论是public还是private,只不过private修饰的成员在子类中无法访问子类的实例也包含父类的实例1.当我们new一个cat实例,就会先创建一个Animal实例,就需调用父类构造方法,就需要和父类的构造方法相匹配。2.public class Animal { public String name; public Animal(String name) { this.name = n转载 2021-07-14 18:18:56 · 98 阅读 · 0 评论 -
相对路径和绝对路径
相对路径:相对于自己的位置去找别人。./ 表示当前位置../表示返回上两层绝对路径从盘符出发找文件原创 2021-04-07 16:01:32 · 122 阅读 · 0 评论 -
【java】构造方法-yyds
java中构造方法及其作用作用:构造方法作用就是对类进行初始化。 如果你没有定议任何构造方法的形式,程式会为你取一个不带任何参数的构造函数,那么你产生类的对像时只能用不带参数的方法,如:class a {}//没有任何构造函数。构造方法就是与类同名的那个方法,它的作用是可以用来初始化,例子如下class Person //人类{public Person(String n,int a) //构造方法{ name = n; age = a;} private string na原创 2021-07-14 11:06:59 · 301 阅读 · 0 评论 -
【java】面向对象-类和对象
1.类中有成员变量(属性/字段),成员方法(函数)2.成员变量的默认值如果对象中的成员没有初始化,此时存在一个默认值默认值的规则:1.数字类型(byte,short,int。long)(包括整数和浮点型)默认初始化为02.布尔类型,默认初始化为false3.引用类型默认初始化为null(String,int【】)小注:1.java中,一个.java文件中至少有一个class是public修饰2.public 关键字修饰的类名,必须和java一模一样3., 此处写的方法不带 static原创 2021-07-19 17:08:23 · 119 阅读 · 0 评论 -
【java】Stringbulider和StringBuffer
相同点:两个用法相同,由于string的不可更改性,为了方便字符串的修改,提供这两个类.直接打印本身。不同点:StringBulider:线程不安全StringBuffer:线程安全的append()调用append直接把参数拼接到原来的内存末尾append能把字符串内容相加,相当于String 的+=,由于String的+=会产生新的String对象,如果在循环制使用,是比较低效 StringBuffer stringBuffer=new StringBuffer("hello原创 2021-07-11 20:12:12 · 110 阅读 · 0 评论 -
【java】String创建比较查找替换拆分截取
常见的比较.equals():返回一个boolean类型.compareTo():返回一个整数值常见的查找.contains() :返回一个boolean类型.indexOf()返回一个第一个相同弄得下标String a="world"; String b="hello world world"; System.out.println(b.contains(a)); System.out.println(b.indexOf(a));//6 b包含a原创 2021-07-11 11:40:21 · 161 阅读 · 0 评论 -
【java】字符串String
字符串String转载 2021-07-19 16:56:10 · 78 阅读 · 0 评论 -
【java】引用配合ppt
1.打印数组内容的时候,通常需要把数组转成字符串 int[] arr={1,3,5}; //使用Arrays.toString String abc= Arrays.toString(arr); System.out.println(abc);原创 2021-06-17 19:17:34 · 72 阅读 · 0 评论 -
抓包工具使用(Fiddler,浏览器自带的开发工具),使用tomcat访问某个资源
Fidder对于某次http请求、响应,重点关注以下内容1.请求方法——405状态码2.URL-4043.状态码4.head投中:如果有body,要关注Content-Type5.body开发者工具开发这工具也可以抓包,但是要注意,没有完整地http原生数据格式,都是解析过的F12;使用开发者工具,然后点击Network使用tomcat访问某个资原的步骤整体流程步骤1.开发2.打包部署(把应用/项目(html-study/web)复制到tomcat/webapps 目录)3原创 2021-04-14 21:39:42 · 427 阅读 · 0 评论 -
【java】数组-排序
1.冒泡排序(升序来算)bubbleSort思路:一次比较相邻的两个元素一趟下来,就能把最大的元素放到最后或者把最小的元素放在最前9,5,2,7,3,6(排升序)左边为待排序区间,右边为已排序区间从后向前排序,小的放前面第一趟6和3比较,6比3大,不需要交换3和7比较,3《7,3和7交换,9,5,2,3,7,63和2比较,不需要交换2和5比较,交换,9253762和9比较,交换295376第一趟下来:2为已排序,后面为待排序2.java 标准库中提供了一个现成的排序方法A原创 2021-06-22 21:41:26 · 116 阅读 · 0 评论 -
【java】数组
数组1.数组的定义1.静态数组int[] arr=new int[]{1,2,3,4}int[] arr2={1,2,3}int[] 是一个整体,整体代表数组2.动态数组int[] arr3=new int[4];2.数组的使用1.获取数组长度arr.lengthint[] arr={1,2,3};System.out。printLn(arr.length);2.数组的访问//使用下标访问System.out.printLn(arr[0]);3.遍历数组遍历:很多原创 2021-04-23 16:48:40 · 69 阅读 · 0 评论 -
【java】方法及重载
方法的定义方法执行过程如果不调用方法,方法体内部的代码不会执行如果调用方法,代码就会进入方法体内部执行,在内部执行到return或者整个方法都结束的时候,回到调用为止继续执行下去//写一个方法/求两个数的最小值 public static int min(int a,int b){ if(a>b){ return b; }else{ return a; } }//打原创 2021-04-21 15:33:23 · 107 阅读 · 0 评论 -
IDEA中的快捷键
ALT +Enter 导包原创 2021-03-22 10:06:30 · 62 阅读 · 0 评论 -
【java】乘法口诀表
思路一共9行row,每一行的col都等于row。代码1 for(int row=1;row<=9;row++){ printLine(row); } public static void printLine(int num){ for(int col=1;col<=num;col++){ //记住用printf System.out.printf("%d原创 2021-04-22 11:22:43 · 107 阅读 · 0 评论 -
【java】打印1-100之间所有的素数
//打印1-100之间所有的素数1.写一个方法判定某一个数是不是素数2.循环1-100,调用是否是素数的方法。 for (int i = 1; i <= 100; i++) { if(isPrimerNumber(i)){ System.out.println(i); } }public static boolean isPrimerNumber(int num){ //一定要考原创 2021-04-21 15:03:44 · 229 阅读 · 0 评论 -
【java】求两个数的最大公约数
思路1.先找出两个数a和b的最小值,从较小值开始,依次递减进行求解,到12.在递减过程中,拿到当前数字,判断是否能够被a和b同时整除3.如果可以,概述就是最大公约数。 int result=caculateGreatestCommonvisor(100,10); System.out.println(result); public static int caculateGreatestCommonvisor(int a,int b){ int num=min(a,原创 2021-04-16 17:21:39 · 280 阅读 · 0 评论 -
【java】猜数字游戏
1. 题目描述随机输入1-100的数字,判断高了还是低了2. 思路1.首先随机生成[1,100]的数字2.循环从控制面板输入数字,获取输入的数字3.将输入的数字和随机数进行比较3. 代码 //随机猜数字游戏 //1. 首先生成一个随机整数 [1, 100] Random random = new Random(); Scanner scanner = new Scanner(System.in);50 int toGuess原创 2021-04-16 11:29:18 · 112 阅读 · 0 评论 -
【java】输入一个整数,输出该数二进制1的个数。
前顾知识&:按位与无符号右移思路(图片转自https://blog.youkuaiyun.com/u012415458/article/details/106503583)如果一个数与1按位与,则可以判断最后一位是不是“1”如果一个数逻辑右移,则可以从右到左一次找到最后一位.先与1取按位与操作,判断最后一位是不是1,然后再向左移动二进制位代码 Scanner sc=new Scanner(System.in); int num=sc.nex原创 2021-04-22 13:34:25 · 492 阅读 · 0 评论 -
【java】区分Scanner的方法
hasNext() 是检测 还有没有下一个输入next()是指针移动到当前下标,并取出下一个输入nextLine() 把指针移动到下一行 让然后取出当前这一行的输入hasNextLine() 是检测下一行有没有输入原创 2021-07-09 10:29:55 · 133 阅读 · 0 评论 -
【java】Scanner的使用步骤及引用类型的一般使用步骤
Scanner类的功能,可以实现键盘输入数据,到程序当中引用类型的一般使用步骤:1.导包import 包路径.类名称如果使用的目标类和当前类在同一个报下则可以使用不写只有Java.lang 包下的内容不需要导包,其他包都需要import 语句2.创建类名称 对象名 = new 类名();3.使用对象名.成员方法()获取键盘输入的一个 int 数字;int num =sc.nextInt();//sc.nextInt()属于单独调用,有返回值类型。获取键盘输入的一个字符串:String原创 2021-07-24 20:07:32 · 745 阅读 · 0 评论 -
【java】从键盘输入数据---Scanner()使用步骤
Scanner类的功能,可以实现键盘输入数据,到程序当中引用类型的一般使用步骤:1.导包import 包路径.类名称如果使用的目标类和当前类在同一个报下则可以使用不写只有Java.lang 包下的内容不需要导包,其他包都需要import 语句2.创建类名称 对象名 = new 类名();3.使用对象名.成员方法()获取键盘输入的一个 int 数字;int num =sc.nextInt();//sc.nextInt()属于单独调用,有返回值类型。获取键盘输入的一个字符串:String原创 2021-03-18 15:56:59 · 560 阅读 · 0 评论 -
【java】判断一个数是奇数还是偶数
关键思路取余(模)二等于零,就是偶数,否则就是奇数代码 int num=10; if(num%2==0){ System.out.println(num+"是偶数"); }else{ System.out.println(num+"是奇数"); }原创 2021-03-18 15:30:44 · 641 阅读 · 0 评论 -
【java】循环语句
这里写目录标题一、循环语句while循环题目案例1.打印1到102.计算从1到10的和3.计算5!4.计算1!+2!+3!+4!+5!for 循环题目案例1.打印1到102.计算从1到10的和3.计算5!4.计算1!+2!+3!+4!+5!一、循环语句while循环while(循环条件){内容循环的步数}题目案例1.打印1到102.计算从1到10的和3.计算5!4.计算1!+2!+3!+4!+5!//1.从1打印到10 int num=1; int sum=0;原创 2021-04-15 11:12:52 · 337 阅读 · 0 评论 -
【java】break和continue关键字
break关键字1.用于循环语句和switch语句,用来跳出整个语句2.break跳出最里面的循环,并且继续执行下面的语句continue关键字1.用于任何循环控制语句2.跳过循环中剩余的语句,执行下一次循环。...原创 2021-03-19 19:37:13 · 156 阅读 · 0 评论