自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(57)
  • 问答 (1)
  • 收藏
  • 关注

原创 Java求前一天和后一天、相差天数

1. 日期(年、月、日)2.+1天 -1天3.返回当前日期的字符串package mjh.week.day6;//约束要求//1.year只能从1000-3000//2.month只能从1-12//3.day每个月都不同public class Date<month> { private int year; private int month; private int day; public Date(int year, ...

2021-12-28 21:18:41 468

原创 类与对象----方法和行为

行为:也是面向对象中非常关注的一个焦点,在java中以实例方法的形式体现。方法: 1.静态方法(类方法) 加static修饰 不能访问属性,不可以使用this 2.普通方法(实例方法) 不加static修饰 能访问属性,可以使用this调用: 实例方法的调用,必须依赖于一个对象(通过引用)的存在。...

2021-12-28 20:02:11 560

原创 java中this的两个作用

什么是this引用:java编译器给每个“成员方法“增加了一个隐藏的引用类型参数,该引用参数指向当前对象(成员方法运行 时调用该成员方法的对象),在成员方法中所有成员变量的操作,都是通过该引用去访问。只不过所有的 操作对用户是透明的,即用户不需要来传递,编译器自动完成。this一共有两个作用:第一个作用:this就是一个引用,类型就是当前类。class Person(){ this 类型就是Person}class Cat(){this 类型就是Cat}指向当前对象,构造器中thi.

2021-12-28 12:01:21 3539

原创 面向对象与面向过程(清晰明了的讲述)

面向过程传统洗衣服:传统洗衣服,注重的是洗衣服的过程,少了其中一个环节都不行。其中不同的衣服,洗的时间,拧干的时间都不同,处理起来难度也不一样。将来处理鞋子的时候,中间的环节也都不一样。这里的话,类比成我们写的代码,扩展或维护起来就特别的困难。面向对象现在洗衣服:这个过程中就有人、衣服、洗衣粉、洗衣机这四个对象。人将衣服放入洗衣机中,把洗衣粉倒入洗衣机中。启动洗衣机,洗衣机把衣服洗干净,并且甩干。整个洗衣服的过程都是人、衣服、洗衣粉、洗衣机这四个对象之间进行交互.

2021-12-28 09:08:49 236

原创 类(class)和对象(object)

概念层:电脑、人、自行车、学生逻辑层:学生(学号、姓名、性别、班级...) 相当于档案物理层:储存在内存中是怎么回事?对象就是把一些相关的属性进行绑定。类的作用之一:构造对象的模板。Student:姓名 小A 小B身高 173 165模板(类) 对象 对象类的定义 ...

2021-12-05 21:35:39 458

原创 java的多维数组

int[][] a = {{1, 2, 3, 4}, {2, 3, 4, 5}, {3, 4, 5, 6} };int[][] a的数组的类型是int[];int[] a的数组的类型是int;int[][] a;a=new int[3][2];a就是一个引用变量,创建的是一个三行两列的int类型的二维数组。同时需要说明的是多维数组的索引都是从0开始的。可使用a[row][col]访问a数组中的每一个元素。..

2021-12-04 23:29:49 434

原创 java汉诺塔游戏

汉诺塔游戏:把n个盘子从1号柱移动到3号柱1.把n-1个盘子从1号柱移动到2号柱(递归)2.把最后一个盘子移动到3号柱3.把n-1个柱从2号柱移动到3号柱(递归)

2021-12-04 22:57:38 209

原创 Java冒泡排序与sort方法排序

冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”。package mjh.week.day3;import java..

2021-12-04 16:08:23 410

原创 java引用与对象

引用(reference)相当于是遥控器 对象(object)相当于是空调引用可以指向对象,但是对象不能指向引用。使用数组的过程中常见的两个异常: 1.数组下标越界异常。 2.空指针异常import java.util.Arrays;public class Test1 { public static void main(String[] args) { ...

2021-12-03 21:57:34 152

原创 Java中数组的应用场景

1.保存数据public static void main(String[] args) { int[] array1 = new int[]{1, 2, 3}; for (int i = 0; i < array1.length; i++) { System.out.println(array1[i] + ""); } }1 2 32.作为函数的参数 1...

2021-12-03 18:51:20 753

原创 认识java中的null

null在Java中是表示的是"空引用",也就是一个不指向对象的引用。null的作用类似于C语言中的空指针(NULL),都表示一个无效的内存空间。因此不能对这个内存进行任何的读写操作。注意:Java 中并没有约定 null 和 0 号地址的内存有任何关联. ...

2021-12-03 18:15:52 1206

原创 基本数据类型与引用数据类型的区别

基本数据类型创建的变量,一般称为"基本变量",该变量空间中直接存放的是其所对应的值。引用数据类型创建的变量,一般称为"对象的引用",该变量空间中储存的是对象所在空间的地址。public static void main(String[] args) { int a=10; int b=20; int[] c=new int[]{1,2,3}; }a,b,c都是函数内部的变量,因此其空间都在main方法对应的栈帧中分配。a、b是内置类型

2021-12-03 18:12:30 88

原创 java中的数组(应用与对象)

数组(Array):一组具有相同类型的元素的集合。int[] a 定义一个a,类型是存放int类型元素的数组,大小暂时不确定。long[] a char[] a String[] a Scanner[] a Random[] a...

2021-12-03 09:34:53 939

原创 java静态变量与类的加载

静态变量、类变量、静态属性:除局部变量之外的另一种变量种类。定义位置:类里,方法外+stataic进行修饰。1.作用域:跟着大括号(整个类的内部是有效的)2.生命周期:伴随着类在运行中的生命周期而运行的静态属性的初始化问题类的生命周期:.java文件 经过编译 .class文件 硬盘类的加载:计算机的体系结构决定了CPU要处理的数据必须要在内存中。意味着,把类的数据从硬盘上(以类文件作为代表)加载到内存中来。类的卸载:把放在内存中的类数据从内...

2021-12-02 22:14:29 1272

原创 java方法的重载

在自然语言中,经常会出现“一词多义”的现象,比如:“好人”。 在java中,如果几种方法的名字相同,但是参数列表不同,则称这几种方法重载了。package mjh.week.day2;public class Test2 { public static int add(int x, int y) { return x + y; } public static double add(double x, double y) { ret.

2021-12-02 20:34:39 169

原创 java递归和斐波拉契数列

感觉这种图与递归的概念特别的贴切。一个方法在执行过程中调用自身, 就称为 "递归". 递归相当于数学上的 "数学归纳法", 有一个起始条件, 然后有一个递推公式. package mjh.week.day2;//求阶乘public class Test1 { public static int factor(int n) { if (n == 1) { return 1; } return n ...

2021-12-02 20:16:15 80

原创 java中包的知识点、局部变量的生命周期、形参与实参

类是以一个个文件的形式存在的。包是以文件夹的形式存在。包是用来放类的组织单位,包(文件夹)中含有很多的类(文件)命名规范大总结:类名、包名、方法名、变量名称1.不能以数字开头2.不能出现特殊符号(字母、数字、下划线、$)3.类名通常HelloWorld方法名和变量名 hellloWorld包名 hello_world...

2021-12-01 23:05:26 374

原创 java的方法的定义与使用(应用)

方法(method)方法定义在类(class)里,但不能定义在其他方法中。方法只定义,没有被调用,里面的语句永远不会被执行,但是main方法是一个例外。方法的定义的格式:public static 返回值类型(void代表没有返回值) 方法名称(形参列表){语句...}备注:1.没有返回值类型,用void表示 2.形参就是特殊的局部变量方法的调用:能出现语句的位置,就可以进行方法的调用。add(1,3) int r=add(2,5)...

2021-12-01 19:30:36 484

原创 java猜数字游戏

import java.util.Random;import java.util.Scanner;public class Test2 { public static void main(String[] args) { //Random random = new Random(); // 默认随机种子是系统时间 //int toGuess = random.nextInt(100); //游戏规则: //系统自动生成一个随机整.

2021-11-30 21:32:15 2518

原创 java中printfln、printf、print的区别

输入输出1.输出到控制台printSystem.out.println(msg); // 输出一个字符串, 带换行,括号中只能跟一个参数System.out.print(msg); // 输出一个字符串, 不带换行,System.out.printf(format, msg); // 格式化输出,有多个参数,参数的个数是不确定的System.out.printf("%d %s %f\n",1+1,"您好",1.3);println 输出的内容自带 \n, print 不带 \n

2021-11-30 21:30:29 1390

原创 java打印 X XXX XXXXX

public class Test3 { int i = 0; int n = 3; while (i < n) { //打印空格 n-i-1个 for (int j = 0; j < n - i - 1; j++) { System.out.print(" "); } //打印X i*2+1个 .

2021-11-30 21:13:56 72377

原创 java打印 X XX XXX XXXX

public class Test3 { int i = 0; int n = 5; while (i < n) { //打印空格 n-i-1个 for (int j = 0; j < n - i - 1; j++) { System.out.print(" "); } //打印X i+1个 .

2021-11-30 21:07:25 50167

原创 java逻辑控制和输入输出

好代码的标准:1.代码容易理解 2.运行效率更高1.循序结构按顺序的方式执行的,也就是说,按照指定的顺序,一条指令一条指令的执行,执行完一条指定之后,再执行下一条指令。当然现在很多CPU都是多核心、多线程的,并发执行多条指令,但对于同一个程序而言,CPU还是通过顺序的方式来执行指令的。2.分支结构1.if语句if(布尔表达式){ // 语句 }if(布尔表达式){ // 语句1 } else {// 语句2 }if(布尔表达式1){ // 语句...

2021-11-30 20:12:33 175

原创 变量和运算符

变量是指程序运行时可变的量,相当于开辟了一块内存空间来保存一些数据。java的 double 类型的内存布局遵守IEEE754 标准(和C语言一样), 尝试使用有限的内存空间表示可能无限的小数, 势必会存在一定的精度误差.此时我们在执行 javac 时加上 -encoding UTF-8 选项即可 javac -encoding UTF-8 Test.java int 和 String 之间的相互转换 int 转成 String int num = .

2021-11-30 17:01:05 611

原创 java的类型转换

类型转换(type cast)1.等号左右两边类型一致的情况2.数值类型之间可以赋值。数值类型和boolean类型之间、数值类型和引用类型之间无法转换3.数值类型之间转换的规则1)long a = 10; int ->long; 天生成立2) int a=10L; long->int 默认不成立,需要类型转换。3)具体的情况chardouble >...

2021-11-30 08:50:04 251

原创 数据类型与变量

数据(data) 一般都默认是内存上的数据1.数据类型(data type)2.变量(variable)3.基本数据类型的一定规则(数据转换和类型提升)。基本数据类型一共八种1.整型(byte1、short2、int4、long8) 2.字符型(char2)3.浮点型(float4、double8) 4.布尔数据类型(boolean)true/false负数到正数都有、和32位、64位...

2021-11-29 22:00:27 195

原创 Linux

项目分为前端和后端,而后端服务器一般都是linux系统的,作为需要:1.负责搭建及维护测试环境2.负责跟踪及定位bug硬件服务器(价格昂贵) 云服务器(阿里云、亚马逊、腾讯云、华为云)linux的远程连接工具:1.远程连接工具:putty、SSH、XShell2.远程传输文件工具:xftp、filezilla|管道符,用来过滤inode(索引节点)。...

2021-11-29 20:50:15 1034

原创 动态内存管理

动态内存管理: 如何释放一个内存? 如何申请一个内存?以前是通过创建变量的方式来申请内存的。全局变量:就跟随程序释放静态变量:也跟随程序释放局部变量:跟随代码块释放1.动态内存管理,能够更灵活的决定申请时机和释放时机。2.动态内存管理可以在运行时决定内存申请的大小。让用户输入一个数字,通过这个数字来决定申请多少内存。(这是一个彻底的运行时行为)malloc 标准库提供的函数 <stdlib...

2021-11-29 20:49:54 44

原创 初始化java

.java 源码文件编译(compile).class类文件/字节码(byte code)文件调试(bebug) 断点(breakpoint)IDEA小结:1.工程(project)2.类(class)3.方法(method)/函数(function)4.构建(build)->编译(compile)5.Java源文件、类文件(字节码文件)6.编译器(compiler)-----javac7.Java虚拟机(JVM)运行字节...

2021-11-29 20:49:36 281

原创 面向对象和面向过程

首先面向过程编程思想的概念:传统的C语言就属于面向过程编译的语言。面向过程编译解决问题的思路就是:通常是分析出解决问题所需要的步骤,然后用方法把这些步骤一步一步的实现,最后一个一个依次调用方法来解决。面向过程编译的过程侧重于整个问题的解决步骤,着眼于局部和具体。面向对象编译思想的概述:从现实世界中存在的事物出发来构造软件系统,并在系统构造中尽可能运用人类的自然思维方式,强调直接以问题域中的事物为中心来思考问题,认识问题,并根据这些事物的本质特点,把它们抽象地表示为系统中的对象,作为系统的基本构成

2021-11-29 17:48:06 286

原创 C语言——通讯录

#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <string.h>#include <stdlib.h>#include <assert.h>#include <Windows.h>/*通讯录程序*///通过一个结构体就描述了一个联系人的情况typedef struct PersonInfo { char name[1024]; char phone.

2021-11-02 08:53:21 102

原创 vs调试技巧

编程常见的错误 1 编译型错误 直接看错误提示信息(双击),解决问题。或者凭借经验就可以搞定。相对来说简单。 2 链接型错误 看错误提示信息,主要在代码中找到错误信息中的标识符,然后定位问题所在。一般是标识符名 不存在或者拼写错误。 3 运行时错误 借助调试,逐步定位问题。最难搞栈溢出是运行时错误的一种,因此C程序为将栈溢出单独列出,栈溢出包含在运行时错误中。vs调试器:最常使用的几个快捷键: F5 启动调试,经常用来直接跳到下一个断点处

2021-10-26 14:56:33 82

原创 作业内容:打印整数二进制的奇数位和偶数位,获取整数二进制序列中所有的偶数位和奇数位,分别打印出二进制序列

#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <assert.h>int main(){ int num = 0 ; printf("请输入一个整数:", num); scanf("%d", &num); int i = 0; for (int i = 31; i >= 1; i -= 2) { printf("%d", (num >> i) & 1); .

2021-10-26 14:23:47 118

原创 C语言---字符串函数和内存函数

库函数:别人写好的,让我们直接去使用1.降低了门槛2.提高的效率标准库函数(C语言自带的)+第三方库函数(如果需要使用需要额外下载安装)size_t strlen ( const char * str ); const char*char const*这两个作用是相同的,都是规定了指针指向的内容不能发生变化。char* const这个规定了指针本身不能发生变化。strlen函数的意义是求字符串的长度,所以规定了const char*指针指向的内容不能发生变化。size_.

2021-10-25 21:12:16 53

原创 C语言---指针笔试题

第一题:、(&a)就得到了一个int(*)[5]这样的一个数组指针。再+1就跳过了整个数组,指向了5后面的那个位置。*(a+1)=a[1]=2; *(ptr-1)=跳一个元素指向5int main(){ int a[5] = { 1, 2, 3, 4, 5 }; int* ptr = (int*)(&a + 1); printf("%d,%d", *(a + 1), *(ptr - 1));第二题:1.指针+1就跳过一个元素,当前的一个元素就是一个结构体...

2021-10-25 19:53:54 1241

原创 指针和数组笔试题解析

int a[] = {1,2,3,4};//printf("%d\n", sizeof(arr));//16 sizeof求的是字节,一个int类型占四个字节。 //printf("%d\n", sizeof(arr + 0));//4 当前由于数组名参与了+0的运算,隐式转成了指针。 //printf("%d\n", sizeof(*arr));// 4 当前arr参与*运算,也隐式转成了指针int* ,针对int*解引用,结果是一个int //printf("%d\n", s.

2021-10-24 20:32:30 80

原创 C语言---使用回调函数来实现冒泡排序

#include <stdio.h>//按照升序进行排序void bubbleSort(int arr[], int len) { for (int count = 0; count < len; count++) { for (int cur = 0; cur < len-1-count; cur++) { if (arr[cur] > arr[cur + 1]) { int temp = arr[cur]; arr[cur] = arr[.

2021-10-24 15:21:31 250

原创 C语言---扫雷

1.开始游戏部分:主要处理开始游戏或者结束游戏。a.理解游戏的玩法b.讨论游戏棋盘的设定c.假设扫雷展示的棋盘为9*9,则存放雷的棋盘应当设置为多大?2.游戏部分a.初始化游戏 a.1 初始化棋盘 a.2 初始化雷区b.判断用户输入的坐标位置是否是雷 b.1 如果是雷,则游戏结束 b.2 如果不是雷,游戏继续 b.2.1在用户输入的坐标上计算周围有多少颗雷 ...

2021-10-24 14:37:01 353

原创 C语言---指针的进阶

char* str3 = "hello"; char* str4 = "hello"; if (str3 == str4) { printf("相等\n"); } else { printf("不相等\n"); } //str1和str2的地址不相等 /*char str1[] = "hello"; char str2[] = "hello"; if (str1 == str2) { printf("相等\n"); } else { printf("不相等\n");.

2021-10-23 17:54:53 403

原创 数据在内存中的存储

高位存储在低地址上,称为大端字节序;低位存储在低地址上,称为小端字节序。 字节序是和CPU相关的。写一个代码,通过这个代码来区别这个机器是大端字节序还是小端字节序

2021-10-23 12:48:07 48

空空如也

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

TA关注的人

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