- 博客(63)
- 收藏
- 关注
原创 java-----抽象类与接口
抽象类和接口--------->是搭配多态使用的重要语法特性一、抽象类1.什么是抽象类?抽象类是用来表征对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象。在面向对象的概念中,所有的对象都是通过类来描绘的,但反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就称为抽象类2.实例表述三角形、圆形、正方形-------->具体概念形状---------------------------.
2021-01-23 19:46:12
419
原创 java---面向对象编程2(多态)
多态的实现::向上转型动态绑定方法重写注意:三者缺一不可一、向上转型---------------“is-a”所谓向上转型,就是使用父类的引用指向一个子类的实例(也可以说是子类的引用转成了父类的引用)1、语法规则: //方式一 Animal animal=null; Cat cat=new Cat("喵喵"); animal=(Animal)cat;//不同类型的引用之间一般不可相互赋值(要进行强制类型转换),除非两者是父子关系
2021-01-22 21:56:23
554
2
原创 Java--super关键字
super关键字主要存在子类方法中,表示获取到父类实例的引用(引用只是代表对象中的一块内存,并不是代表对象本身)作用:1.访问父类非私有属性2.访问父类非私有方法(成员方法+构造方法)注意:super关键字调用父类的构造方法时,该语句必须要是子类构造方法中第一个语句//父类构造方法 public Animal(String name) { this.name = name; }//子类构造方法://正确写法: p.
2021-01-20 19:48:56
393
原创 java---面向对象编程1(继承和组合)
一、继承目的:实现代码重用,且在保持现有功能的前提下,加入新的功能,所产生的类称为派生类主要解决的问题:共性的抽取例如:鸟和猫都属于动物,二者在某些方面具有共性,将这些共性内容抽取出来,放在一个新的类Animal中,让Cat和Bird分别继承Animal类,以达到代码重用效果将Animal这种被继承的类称为父类/基类/超类将Cat和Bird这种类称为子类/派生类语法规则:public class 子类 extends 父类{}注意:使用extends指向父类Java中一个子类只
2021-01-20 18:38:27
465
原创 Java方法练习
1.打印0-999中所有水仙花数水仙花数即把这个数字每一位取出来后,针对每一位去求立方,立方之和正好就是其本身public class Test { public static void main(String[] args) { // 打印0-999中的所有水仙花数 //思路:判断0-999中的水仙花数并将其打印出来 // 水仙花数即把这个数字每一位取出来后,针对每一位去求立方,立方之和正好就是其本身 printALLNarcis
2021-01-19 21:52:47
465
原创 Java中的String类
Java中String类包含了许多现成功能,其与’\0’毫无关系,字符串是不可变对象, 不能修改字符串的内容1.创建字符串常用方式: //方式一 String str1="hello"; //方式二 String str2=new String("hello"); //方式三 char[] arr={'a','b'}; String str3=new String(arr);2.字符串的比较(1)相等与其他语言的区别(除C语言外):Java中String使用"=="
2021-01-19 21:46:40
454
原创 Java程序逻辑控制练习
1.计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值public class Test { public static void main(String[] args) { //计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值 double sum=0.0; for(int i=1;i<=100;i++){ if(i%2==0) {
2021-01-18 00:37:44
536
原创 Java输入
1、每个进程启动的时候,都会默认打开三个文件:标准输入:对应到键盘 System.in标准输出:对应到显示器 System.out标准错误:对应到显示器 System.err(其所对应的OS中的思想:一切皆文件)2.使用Scanner读取字符串/整数/浮点数Scanner是Java标准库中提供的一个类(类可以理解为“高配结构体”,是用户自定义类型)使用方法:(1)先创建一个Scanner类型的对象scanner,并把System.in作为参数传进去Scanner scanner=new
2021-01-17 20:48:30
555
1
原创 猜数字游戏
import java.util.Random;import java.util.Scanner;public class Test { public static void main(String[] args) { //1.完成猜数字游戏 //先生成一个[1,100]的随机整数 Random random=new Random(); int toGuess=random.nextInt(100)+1;//java中支持方法重
2020-12-14 22:23:45
432
原创 Java 打印大x图形
题目:打印大x图形题目链接https://www.nowcoder.com/practice/83d6afe3018e44539c51265165806ee4题目分析:以打印5行为例,所打印x的位置如下:由以上描述可知:打印X的规律为i=j以及i+j=numimport java.util.Scanner;public class Test { public static void main(String[] args) { //打印X图形 Scann
2020-12-11 23:27:31
628
1
原创 JAVA的变量、数据类型与运算符
1.JAVA的环境搭建:(1)JDK:JAVA开发工具包包括:JRE:JAVA运行时环境+JVM:JAVA虚拟机(2)IDEA专业版2.利用JAVA写一个“hello world”public class Test { public static void main(String[] args) {//main即main方法,main中的参数固定写作String[] //类型,是一个字符串数组(不包括‘\
2020-12-06 23:35:54
480
2
原创 c语言的文件操作
文件的四个核心操作:1、打开文件 fopen2、读文件 fread3、写文件 fwrite4、关闭文件 fclose打开文件:fopen()//打开文件 //以下的FILE是一个C标准库已经定义好的结构体,返回结果为“文件指针”(即:句柄) //如果文件打开失败,返回NULL FILE* f = fopen("D:/test.txt", "w");//第二个参数为'r',针对文本文件 if (f == NULL) { perror("文件打开失败"); //等价代码:printf
2020-11-27 18:18:30
603
原创 c语言 找单身狗
找单身狗:一组元素只出现一次的数据eg:[7,3,3,4,4,5,5,7,1,9]单身狗:1,7,8,9思路:首先对该组元素进行冒泡排序[1,3,3,4,4,5,5,7,8,9]从首元素开始将相邻元素进行比较#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>void bubblesort(int arr[], int size) { //设定一个边界值bound,用来区分已排区和未排区
2020-11-27 12:03:33
930
1
原创 模拟实现strncat,strncpy函数
1.模拟实现strncat#include<stdio.h>#include<stdlib.h>#include<assert.h>//模拟实现strncat函数(长度受限制的字符串拼接)//函数原型:char* strncat(char* dest,count char* src,size_t count)//作用:将源字符串里的count个字符拼接到目标字符串上//注意:目标字符串空间必须足够大void myStrncat(char* dest, co
2020-11-27 10:13:32
454
原创 模拟实现atoi函数
模拟实现atoi函数:把字符串转换成整型数,返回整形值函数原型:int atoi(const char* string);实现过程:atoi()传入一个char*,返回一个int,跳过前面的空格字符直到遇上数字或者正负符号才开始做转换,再次遇到非数字或者’\0’时转换结束#include<stdio.h>#include<stdlib.h>#include<assert.h>int myAtoi(const char* str) { //参数合法性校验
2020-11-25 19:02:46
449
原创 c语言实现字符串旋转问题
1.利用函数实现字符串左旋num个字符#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#include<assert.h>void leftSwap(char str[],int len ,int n) {////断言:用来进行合法性校验,如果条件为真,断言无效,条件为假,程序崩溃 assert(str != NULL); while (n) { //将数组首元素的值“
2020-11-25 16:42:12
610
原创 冒泡排序
冒泡排序//实现一个对整形数组的冒泡排序//该方法从后往前升序遍历#include<stdio.h>int main() { int arr[] = { 9,5,2,7 }; //设定一个边界值bound ,用来区分已排区和未排区 //[0-bound]:已排区 //(bound-size):未排区 int bound = 0; int size = sizeof(arr) / sizeof(arr[0]); int i = 0; //外循环遍历4次 for (int
2020-11-17 17:56:46
356
原创 二分查找
#include<stdio.h>int binaryFind(int arr[],int size, int toFind) { int left = 0; int right = size - 1; while (left <= right) { int mid = (left + right) / 2; if (toFind > arr[mid]) { left = mid + 1; } else if (toFind < arr[m
2020-11-04 23:33:21
414
原创 移位(<<,>>),按位与&,异或 运算符的应用
1.统计二进制中1的个数#include<stdio.h>int countOnebit(int num) {//找到规律:分别将其与二进制的1,10,100,1000...进行&运算//涉及到移位运算和位运算 int i = 0; int count = 0; for (i = 0;i < 32;i++) { //将1左移后,如果当前这个1的位置,对应的第一个操作数比特位也是1,结果就是非0,此时count++ if (((1 << i)&
2020-11-04 23:31:31
725
原创 利用函数交换两个整数
思想:函数内部交换的是x,y,而x,y相当于新创建出的变量,只在函数内部有效,只不过是通过a,b对x,y进行了初始化,交换形参并不能改变实参的值解决方案:利用指针间接访问#include<stdio.h>int swap(int* x, int* y){int tmp;tmp = *x;*x = *y;*y = tmp;}int main() {int a=0,b=0;scanf("%d %d", &a,&b);swap(&a,&b)
2020-10-26 23:12:39
868
原创 利用函数打印100-200间的素数
素数:除1之外只能被1和它本身整除```#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>void isPrime() {int j, num = 0;//外循环:从100遍历到200for (j = 100;j <= 200;j++) {//内循环:从2开始到j结束,看能否被j整除for (num = 2;num <= j;num++) {if (j%num == 0)break;}//遍历到j时,即其只能被1和
2020-10-26 23:04:59
887
原创 利用函数判断闰年
函数判断闰年#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>//定义判断闰年的函数//普通闰年:能被4整除但不能被100整除//世纪闰年:可以被400整除void isLeapyear(int year) { if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) { printf("是"); } else printf("不是");
2020-10-26 22:56:33
935
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅