自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 学习笔记(Java篇)---类和对象的一点内存解答

(3)类相当于一个**自定义类型**,能定义变量。通过关键字**new**实例化对象,其中一个类可以实例化多个对象,实例化出来的对象占用实际的物理空间,存储成员变量。 **通过new关键字实例化对象时,就会为其在堆上分配一块内存。里面是包含类的属性,和一些其他信息(没有成员方法)。** **成员方法存储在方法区。存储类的方法时其实存储的是类的信息,那么方法的信息存储在哪呢?当一个java文件编译好之后,会生成一个字节码文件,其包含了整个类的信息。方法是没办法存的,但是其里

2022-05-09 09:12:26 202

原创 安卓:fragment之间互相传递数据

安卓:fragment之间互相传递数据 发送方 btnMine.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Bundle result = new Bundle(); result.putString("account", account);

2022-05-05 10:54:38 581 1

原创 安卓:利用接口在activity和fragment之间传递数据

安卓:利用接口在activity和fragment之间传递数据 应用场景:实现登陆界面,从LoginActivity传递数据到MainActivity **发送方** //在MainActivity定义接口 private OnDataChangeLister myDataChangeLister;//用变量接受小兵 //给小兵赋值 public void setOnDataChangeLister(OnDataChangeLister DataChangeLister){

2022-05-05 10:52:23 345

原创 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 4390

原创 java篇---this引用

java有关于this的一些总结

2022-04-08 15:26:50 894

原创 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 170

原创 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 388

原创 OJ处理多组输入的方法

针对多组整形输入 针对多组字符输入 1.针对多组整形输入 #include<stdio.h> int main(){ int n = 0; //while循环控制多组输入 while(~scanf("%d",&n)){ if(0==(n%2)){ printf("Even\n");} else{ printf("Odd\n"); } } return 0; } ** while(~scanf("%d",&a

2022-03-11 10:53:43 1358

原创 4种方法判断二进制中1的个数

4种方法判断二进制中1的个数 1.判断二进制位的个数 2.判断一个数是否是2^k 3.m&(m-1)表达式的含义 #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> //方法1 :int count_1(int n) 问题在于不能计算负数,参数类型改为unsigned int把所有二进制位看成有效位 int count1_1(unsigned int n) { //计算的是内存中补码的2进制中1的个数 int count = 0;

2022-03-10 20:55:19 2079

原创 二叉树的四种遍历方式(普通实现+力扣实战)

二叉树的四种遍历方式 1.前序遍历 2.中序遍历 3.后序遍历 (前三种都采用递归实现) 4.层序遍历 所谓遍历(Traversal)是指沿着某条搜索路线,依次对树中每个结点均做一次且仅做一次访问。访问结点所做的操作依赖于具体的应用问题(比如:打印节点内容、节点内容加1)。 遍历是二叉树上最重要的操作之一,是二叉树上进行其它运算之基础。 前序遍历:ABCDEF 中序遍历:DBAECF 后序遍历:DBEFCA 层序遍历:ABCDEF 总结:遍历路径是一样的,只不过打印时机不一样,才导致了不同的结果。 下面分

2021-01-28 18:03:04 397

原创 力扣--平衡二叉树

平衡二叉树 题目描述 给定一个二叉树,判断它是否是高度平衡的二叉树。 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。 也就是说,一个二叉树是不是一个平衡二叉树,取决于每一个节点他的左右子树是不是平衡二叉树 可以看出,输入是层序遍历的结果。 下面举例说明平衡二叉树。 平衡二叉树: 不是平衡二叉树: 第一种解法(子问题思路) 判断一棵树是不是平衡二叉树,就要判断每个节点是不是平衡的二叉树,即递归遍历每个节点。思路如下: 1.判断当前节点的左树和右树的高度差的绝对值是否不超过 1 2.看

2021-01-28 16:33:59 653 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 169

原创 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 160

原创 力扣---杨辉三角(用线性表实现)

java–杨辉三角(用线性表实现) 题目:给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。 标题在杨辉三角中,每个数是它左上方和右上方的数的和。 class Solution { public List<List<Integer>> generate(int numRows) { //将杨辉三角看作一个list,每一行也是一个list List<List<Integer>> r

2021-01-22 14:18:21 212

原创 力扣--反转字符串

力扣–反转字符串 题目描述 给一个字符类型的数组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 314

原创 java数组拷贝的四种方法

java数组拷贝的四种方法 for循环拷贝数组 工具类-Arrays.copyOf 工具类-System.arraycopy clone()方法 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 404

原创 C语言冷门之柔性数组

C语言冷门之柔性数组 柔性数组的概念 柔性数组的特点 柔性数组的使用 柔性数组的优势 1. 柔性数组的概念 柔性数组是C语言中比较冷门的一个知识。在C99中,结构中的最后一个元素允许未知置大小的数组,这就叫做柔性数组的成员。需要注意的是,必须是最后一个成员。 typedef struct st { int i; double j; int a[0]; //柔性数组成员 }type_a; 有些编译器报错,造成无法编译的情况,可以改成: typedef struct st {

2020-12-09 00:44:16 380 2

原创 汉诺塔问题---java递归

题目描述: 在经典汉诺塔问题中,有 3 根柱子及 N 个不同大小的穿孔圆盘,盘子可以滑入任意一根柱子。一开始,所有盘子自上而下按升序依次套在第一根柱子上(即每一个盘子只能放在更大的盘子上面)。移动圆盘时受到以下限制: (1) 每次只能移动一个盘子; (2) 盘子只能从柱子顶端滑出移到下一根柱子; (3) 盘子只能叠在比它大的盘子上。 请编写程序,用栈将所有盘子从第一根柱子移到最后一根柱子。 分析题目: 当只有一个盘子时,设n表示移动的次数,即n=1 当有两个盘子时,即n=3 当有三个盘子时,即n=7

2020-12-08 00:53:26 506 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 1018

原创 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 500

原创 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 11121 17

原创 JAVA中的方法重载以及可变参数编程

JAVA中的方法重载 重载解决的问题 重载的规则 重载的使用 可变参数编程 一、重载解决的问题 有时我们需要用一个函数,同时兼顾多种参数的情况。这时就需要用到方法的重载。 二、重载的规则 针对同一个类: 方法名相同 方法的参数不同(参数的个数或者参数的类型) 方法的返回值不做要求,不影响重载 二、重载的使用 代码如下: public static int add(int a,int b){ return a + b; } public static double a

2020-12-06 16:28:06 435

原创 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 611 3

原创 java中的基本数据类型

java中的数据类型 JAVA是一门优秀的半编译型,半解释型的语言,具有赏心悦目的语法和易于理解的语义。变量是程序运行时可变的量,类型对于变量的种类进行了划分,不同类型的变量具有不同的特性。本文将对JAVA中的类型做一个汇总。 小结 基本数据类型 特殊的字符串类型 类型转换 类型提升 1.小结 其中需要注意以下几点: <1>JAVA的安全性。 ①在变量使用前必须对变量进行初始化,否则会编译报错。 ②如果运算结果超出了基本类型所能表示的范...

2020-12-04 10:03:00 377 1

空空如也

空空如也

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

TA关注的人

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