![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 56
Noa-Noa
小小初学者,欢迎大佬批评指正
展开
-
学习笔记(Java篇)---类和对象的一点内存解答
(3)类相当于一个**自定义类型**,能定义变量。通过关键字**new**实例化对象,其中一个类可以实例化多个对象,实例化出来的对象占用实际的物理空间,存储成员变量。 **通过new关键字实例化对象时,就会为其在堆上分配一块内存。里面是包含类的属性,和一些其他信息(没有成员方法)。** **成员方法存储在方法区。存储类的方法时其实存储的是类的信息,那么方法的信息存储在哪呢?当一个java文件编译好之后,会生成一个字节码文件,其包含了整个类的信息。方法是没办法存的,但是其里原创 2022-05-09 09:12:26 · 143 阅读 · 0 评论 -
java实例内部类
先贴一段整体代码,后续进行每个小点的说明class OutClass{ public int data1 = 10; private int data2 = 20; public static int data3 = 30; /** * @Description:实例内部类 */ class InnerClass{ public int data4 = 40; private int data5 = 50;原创 2022-04-08 16:34:07 · 4260 阅读 · 0 评论 -
java篇---this引用
java有关于this的一些总结原创 2022-04-08 15:26:50 · 803 阅读 · 0 评论 -
java的static关键字
其中,需要注意的是:1.普通和静态的区别就是有无被static关键字修饰。2.普通成员变量和普通成员方法是属于对象的。而静态的成员变量和成员方法是属于类的,不属于任何一个对象,是所有对象共有的。static修饰成员变量class Student{ private String name; private String sex; private int age; private double score; private static String clas.原创 2022-04-08 14:08:29 · 114 阅读 · 0 评论 -
java只出现一次的数组
找只出现一次的数字给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 public static int oneSearch(int[] arr){ int ret = 0; for (int i = 0; i < arr.length; i++) { ret = ret ^ arr[i]; } return ret; } public st原创 2022-04-07 22:48:43 · 297 阅读 · 0 评论 -
二叉树的四种遍历方式(普通实现+力扣实战)
二叉树的四种遍历方式1.前序遍历2.中序遍历3.后序遍历(前三种都采用递归实现)4.层序遍历所谓遍历(Traversal)是指沿着某条搜索路线,依次对树中每个结点均做一次且仅做一次访问。访问结点所做的操作依赖于具体的应用问题(比如:打印节点内容、节点内容加1)。遍历是二叉树上最重要的操作之一,是二叉树上进行其它运算之基础。前序遍历:ABCDEF中序遍历:DBAECF后序遍历:DBEFCA层序遍历:ABCDEF总结:遍历路径是一样的,只不过打印时机不一样,才导致了不同的结果。下面分原创 2021-01-28 18:03:04 · 305 阅读 · 0 评论 -
力扣--平衡二叉树
平衡二叉树题目描述给定一个二叉树,判断它是否是高度平衡的二叉树。一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。也就是说,一个二叉树是不是一个平衡二叉树,取决于每一个节点他的左右子树是不是平衡二叉树可以看出,输入是层序遍历的结果。下面举例说明平衡二叉树。平衡二叉树:不是平衡二叉树:第一种解法(子问题思路)判断一棵树是不是平衡二叉树,就要判断每个节点是不是平衡的二叉树,即递归遍历每个节点。思路如下:1.判断当前节点的左树和右树的高度差的绝对值是否不超过 12.看原创 2021-01-28 16:33:59 · 460 阅读 · 2 评论 -
图书管理代码小练习--java
图书练习–java要求1.实现简单的登录2.管理员端①.查找图书②.新增图书③.删除图书④.显示图书⑤.退出系统①.查找图书②.借阅图书③.归还图书④.退出系统思路:1.创建一个图书相关的类:先创建package book;①创建book类,表示一本书public class book { private String name; private String author; private int price; private String原创 2021-01-23 13:34:46 · 120 阅读 · 0 评论 -
JAVA的异常
JAVA的异常1. 异常的背景2. 异常的用法3. 异常处理流程1. 异常的背景①除数为0的异常:System.out.println(10/0);②数组越界异常:int[] arr = {1,2,3};System.out.println(arr[100]);③访问null对象:public int num = 10; public static void main(String[] args) { test_abnormal t= null;原创 2021-01-22 16:26:42 · 130 阅读 · 0 评论 -
力扣---杨辉三角(用线性表实现)
java–杨辉三角(用线性表实现)题目:给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。标题在杨辉三角中,每个数是它左上方和右上方的数的和。 class Solution { public List<List<Integer>> generate(int numRows) { //将杨辉三角看作一个list,每一行也是一个list List<List<Integer>> r原创 2021-01-22 14:18:21 · 147 阅读 · 0 评论 -
力扣--反转字符串
力扣–反转字符串题目描述给一个字符类型的数组chas和一个整数size,请把大小为size的左半区整体右移到右半区,右半区整体移动到左边。思路:代码实现如下:import java.util.*;public class Main { public static String reverse(int left,int right,String str){ int len = str.length(); //把字符串转换成数组 char原创 2021-01-19 16:56:12 · 268 阅读 · 0 评论 -
java数组拷贝的四种方法
java数组拷贝的四种方法for循环拷贝数组工具类-Arrays.copyOf工具类-System.arraycopyclone()方法1. for循环拷贝数组import java.util.Arrays;public class test2020_12_23 { public static int[] mycopy(int[] arr) { int[] ret = new int[arr.length]; for (int i = 0; i &原创 2020-12-13 14:16:09 · 345 阅读 · 0 评论 -
汉诺塔问题---java递归
题目描述:在经典汉诺塔问题中,有 3 根柱子及 N 个不同大小的穿孔圆盘,盘子可以滑入任意一根柱子。一开始,所有盘子自上而下按升序依次套在第一根柱子上(即每一个盘子只能放在更大的盘子上面)。移动圆盘时受到以下限制:(1) 每次只能移动一个盘子;(2) 盘子只能从柱子顶端滑出移到下一根柱子;(3) 盘子只能叠在比它大的盘子上。请编写程序,用栈将所有盘子从第一根柱子移到最后一根柱子。分析题目:当只有一个盘子时,设n表示移动的次数,即n=1当有两个盘子时,即n=3当有三个盘子时,即n=7原创 2020-12-08 00:53:26 · 456 阅读 · 2 评论 -
java三种打印数组的方法以及两种常见异常
java三种打印数组的方法以及两种常见异常三种打印数组的方法两种常见异常一、三种打印数组的方法1.for循环遍历数组int[] arr = {1,2,3}; for(int i = 0;i < arr.length;i++){ System.out.print(arr[i] + " "); }2.for-each遍历数组int[] arr = {1,2,3};for(int x:arr){ System.out.print(x + " ");}原创 2020-12-08 00:17:16 · 928 阅读 · 0 评论 -
JAVA--数组的三种定义方法以及在内存上的理解
JAVA–数组的三种定义方法以及在内存上的理解数组的三种定义方法在内存上的理解一、数组的三种定义方法什么是数组?数组是一块连续的内存,存放相同的数据类型的集合。在java中,数组也叫做数组对象。静态初始化int[] arr1 = {1,2,3};动态初始化(定义时初始化)int[] arr2 = new int[]{1,2,3};注意:这里[ ]内不能出现数字。动态初始化(定义时不进行初始化)int[] arr3 = new int[3];注意:1.这里[原创 2020-12-07 23:48:48 · 449 阅读 · 0 评论 -
java中的方法递归
JAVA中的方法递归递归的思路代码举例一、递归的思路一个方法在执行时,调用自身被称为“递归”。递归相当于数学归纳法,有一个起始条件,有一个递推公式。递归可以分为:单路递归和多路递归(如二叉树和斐波那契数列)。二、代码举例1、n的阶乘 //n的阶乘 public static int fac(int num){ if(num == 1){ return 1; } return num * fac(num-1)原创 2020-12-06 17:32:58 · 10914 阅读 · 19 评论 -
JAVA中的方法重载以及可变参数编程
JAVA中的方法重载重载解决的问题重载的规则重载的使用可变参数编程一、重载解决的问题有时我们需要用一个函数,同时兼顾多种参数的情况。这时就需要用到方法的重载。二、重载的规则针对同一个类:方法名相同方法的参数不同(参数的个数或者参数的类型)方法的返回值不做要求,不影响重载二、重载的使用代码如下:public static int add(int a,int b){ return a + b; } public static double a原创 2020-12-06 16:28:06 · 394 阅读 · 0 评论 -
java中类型转换与类型提升问题
类型转换类型提升1.类型转换JAVA是一种强类型的编程语言,当不同类型的变量之间进行相互赋值的时候,会有严格的校验。①int和long/double相互赋值:int a = 10;long b = 20;a = b; //编译出错,可能会损失精度b = a; //编译通过int a = 10;double b = 2.0;a = b; //编译出错,可能会损失精度b = a; //编译通过注意事项:*不同数字类型的变量之间进行赋值时,表示范围更小的类型会隐式转换成范围.原创 2020-12-04 12:27:13 · 548 阅读 · 3 评论 -
java中的基本数据类型
java中的数据类型 JAVA是一门优秀的半编译型,半解释型的语言,具有赏心悦目的语法和易于理解的语义。变量是程序运行时可变的量,类型对于变量的种类进行了划分,不同类型的变量具有不同的特性。本文将对JAVA中的类型做一个汇总。小结基本数据类型特殊的字符串类型类型转换类型提升1.小结其中需要注意以下几点:<1>JAVA的安全性。①在变量使用前必须对变量进行初始化,否则会编译报错。②如果运算结果超出了基本类型所能表示的范...原创 2020-12-04 10:03:00 · 338 阅读 · 1 评论