![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java学习
java学习
Tomato_pzc
这个作者很懒,什么都没留下…
展开
-
一次弄懂各种内部类(静态,局部,匿名)以及Lambda表达式
package com.pzc.demo01; //1.1 定义一个函数式接口(即只包含一个抽象方法的接口)(因为在同一个.java 前缀不用写 public ) interface Ilike{ void lambda(); //可以不写 public abstract } //1.2 实现类 class Like implements Ilike{ @Override public void lambda() { System.out.println("I原创 2021-04-23 16:16:55 · 72 阅读 · 0 评论 -
Map示例代码
Map示例代码 User类: package com.pzc.Map; public class User { public static final String HAERBIN = "哈尔滨"; public static final String BEIJING = "北京"; private int id; private String name; private String city; public User(){}; public原创 2021-03-30 21:33:54 · 302 阅读 · 0 评论 -
集合(Collection)
集合(Collection) List集合 list集合:有序的(通过index可以指定找到每个元素),允许包含重复元素的集合. 代码举例 User类: package com.pzc.example20; public class User { public String name; public User(){ } public User(String name){ this.name = name; } public String原创 2021-03-30 18:56:03 · 64 阅读 · 0 评论 -
final
final 1.修饰类中的成员变量: 基本类型:值不可变(一般要大写. 必须初始化且只能初始化一次,在定义处或者构造函数中) 引用类型:值可以变,引用地址不可变. 2.修饰类中方法: 只可以继承,不可以重写,可被重载(方法名相同而参数不同) 3.修饰类 不可继承,不能重写 ...原创 2021-03-30 18:54:36 · 49 阅读 · 0 评论 -
JVM
JVM 1.对象实例化内存情况 (两个对象调用同方法内存图) 子类对象实例化内存图原创 2021-03-29 15:10:08 · 52 阅读 · 0 评论 -
static
static 原因:static修饰的类方法是在类加载时同时加载的,而此时实例对象还未被创建,当然调用不了.原创 2021-03-29 15:09:47 · 43 阅读 · 0 评论 -
this和super
this class Person{ int id; //编号 String name; //姓名 int age; //年龄 //构造函数 public Person(int id,String name ,int age){ this.id = id; this.name = name; this.age = age; } //比较年龄的方法,这是本身就具备的,还有一个和谁比较是未知数 public void compareAge(Person p2){ if(th原创 2021-03-28 20:10:32 · 78 阅读 · 0 评论 -
查找和排序(更新)
查找 二分查找 package com.pzc.array; public class ArrayDemo04 { public static void main(String[] args) { int []arr={5,8,12,26,34,55,64,78,89,112}; int ans= getIndexByEle(arr,12); System.out.println("查找的数字序列号(没找到为-1):"+ans); }原创 2021-03-28 20:09:39 · 81 阅读 · 0 评论 -
抽象类和接口
抽象类(单继承) abstract 抽象方法只有方法名字,没有实现 public abstract class Person { public abstract void doSome(); } 1.不能new这个抽象类(先创建子类,由子类对象创建新对象) 2.子类(不是抽象类)继承必须实现父类所有抽象方法 3.抽象类可以有抽象方法也可以没有,但是抽象方法必须写在抽象类里 4.抽象类里可以有具体方法 5.抽象方法不可以用static,final修饰 接口 接口1: package com.pzc.原创 2021-03-28 20:08:16 · 49 阅读 · 0 评论 -
递归
递归 方法自己调用自己 package com.pzc; public class DiGui { public static void main(String[] args) { System.out.println(test(5)); } public static int test(int i){ if(i==1){ return 1; } else { retur原创 2021-03-28 20:07:27 · 53 阅读 · 0 评论 -
可变长参数
可变长参数 允许传递不固定数量个数参数 一个方法中只能指定一个可变参数,且必须是方法最后一个参数 package com.pzc; public class Varargs { public static void main(String[] args) { Varargs varargs = new Varargs(); varargs.test("pzc",2,15,521,1,12); } //int... i 可变长参数 publi原创 2021-03-28 19:20:13 · 58 阅读 · 0 评论 -
重载和重写
方法的重载 重载定义: 在一个类中,有相同函数名称,但形参不同的函数。 重载规则: 方法名称必须相同 参数类表必须不同(个数不同||类型不同||参数排列顺序不同) 方法返回值类型可相同可不同 仅仅返回类型不同不足以构成重载 实现理论: 方法名称相同时,编译器会根据调用方法参数类型、参数个数等逐个去匹配,来选择对应的方法,如果匹配失败,则编译器报错。 重写 重写定义: 重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。 重写规则: ...原创 2021-03-28 19:19:46 · 49 阅读 · 0 评论 -
Markdown学习
Markdown学习 标题 #加空格 一级标题(ctrl +1) ##加空格 二级标题 … 字体 粗体 Ctrl+b 例子 斜体 Ctrl+i 例子 下划线线 Ctrl+u 例子 删除线 alt+shift+5 例子 引用 引用 > + 空格 图片 !+[图片名称]+(图片地址) (一定全英文符号) 超链接 [链接名]+(链接地址) [例子:跳转百度](百度一下,你就知道 (baidu.com)) 列表 1.+空格 -+空格 表格 右键插入 表格即可原创 2020-12-05 18:23:41 · 31 阅读 · 0 评论 -
idea快捷键(持续更新)
idea快捷键(持续更新) Shift + Ent 光标跳转下一行 Alt + Ent 自动补全代码 Ctrl + D 复制当前行到下行 Shift + F10 快速运行 Alt + Fn + Insert (右键 generate) 自动生成{ 按住 shift 选择属性 } Ctrl + alt +T try catch 快捷键 ...原创 2021-03-26 14:31:43 · 64 阅读 · 0 评论 -
Scanner
Scanner package com.scanner; import java.util.Scanner; public class Demo02 { public static void main(String[] args) { //创建扫描器对象 Scanner scanner = new Scanner(System.in); System.out.println("请输入字符串:");原创 2021-03-26 14:34:00 · 42 阅读 · 0 评论 -
switch
case穿透现象: package com.scanner; import java.util.Scanner; public class Demo04 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String s=scanner.nextLine(); switch (s){ case "pzc"原创 2021-03-28 19:06:44 · 70 阅读 · 0 评论 -
值传递和引用传递的区别
值传递和引用传递的区别 java中在参数传递时有2种方式,两者的区别: 1、按值传zhi递dao:值传递是指在调用函数时将实际参zhuan数复制一份传递到函数中,这样在函数中如果对参数进行修改,将不会影响到实际参数。简单来说就是直接复制了一份数据过去,因为是直接复制,所以这种方式在传递时如果数据量非常大的话,运行效率自然就变低了,所以java在传递数据量很小的数据是值传递,比如java中的各种基本类型:int,float,double,boolean等类型的。 结果: 2、按引用传递:引用传递其实就弥补转载 2021-03-28 19:08:09 · 1772 阅读 · 0 评论 -
增强for循环
增强for循环 package com.pzc.for1; public class Demo02 { public static void main(String[] args) { int[] num = {1,2,3,4,5}; //普通for循环 for (int i = 0; i < 5; i++) { System.out.print(" "+num[i]); } Syste原创 2021-03-28 19:10:05 · 47 阅读 · 0 评论