自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

qq_41889292的博客

C语言学习心得

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

原创 用C语言写一个三子棋游戏

1.三子棋规则:在九宫格棋盘上,只要将自己的三个棋子走成一条线(横、竖、对角线),对方就算输了。2.三子棋过程程序过程(三部分:头文件,源文件函数部分,源文件游戏规则部分):>先写一个头文件:#ifndef _GAME_H_#define _GAME_H_#include<stdio.h>#include<Windows.h>#include<stdli...

2018-04-17 19:26:22 611

原创 java中==和equals的区别

1.关系操作符:==>基本数据类型"=="比较的是值是否相等,equals方法不能作用于基本数据类型的变量public static void main(String[] args) { int a=2; int b=2; System.out.println("a与b是否相等:"+(a==b)); }运行结果:true>如果作用于引用类型的变量,则比较的是所指向的对...

2018-04-14 18:05:18 128

原创 StringBuffer和StringBuilder

1.在String中只要对String对象进行修改就会产生新的对象,这样很浪费存储空间。所以引入了StringBuffer类和StringBuilder类。当对他们的对象进行多次修改时,不会产生新的未修改对象。2.StringBuffer的主要方法:1.public StringBuffer append(String s):将指定的字符串追加到此字符序列。2.public StringBuff...

2018-04-14 17:02:40 131

原创 字符串

1.字符串:字符串类型不可变,是常量,,String类中每一个修改字符串的方法其实就是创建了一个新的对象,最初的字符串内容并没有被修改。2.创建字符串:>直接创建:String s="abcd";>通过一个字符数组参数来创建:char a[]= {'a','b','c','d'};String s=new String(a);System.out.println(s);3.字符串中...

2018-04-14 16:24:40 135

原创 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。

&&的短路功能:即A&&B中,加入A为假,那么B就不会被运算,因此把递归放在B中,而将终止条件放在A中。代码如下:#include<stdio.h>int is_add(int n){ int sum=0; (n>0)&&(sum=is_add(n-1)); //当前面条件成立时执行后面的条件。后面是一个递归条件。 re...

2018-04-13 23:03:19 225

原创 java异常编程题

题目:1.编写异常类:空异常、年龄低异常、年龄高异常、 工资低异常、工资高异常、身份证非法异常。 2.编写一个员工类, (1) 有属性:编号,姓名,年龄,工资,身份证号码,员工人数,员工工资总额(2) 有构造器: 构造器1:设置编号,年龄,姓名;如果年龄小于18,抛出年龄低异常;如果年龄大于60抛出年龄高异常,如果姓名为null或为空字符串,抛出空异常。构造器2:设置工资,设置身份证号码;如果工资...

2018-04-12 22:30:08 6424

原创 java异常中常见的问题

1.在自定义异常类时注意: 所有异常都必须是 Throwable 的子类。 如果希望写一个检查性异常类,则需要继承 Exception 类。 如果你想写一个运行时异常类,那么需要继承 RuntimeException 类。2.运行时异常和一般异常的不同异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。Java编...

2018-04-12 19:47:42 344

原创 final, finally, finalize的区别。

final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。内部类要访问局部变量,局部变量必须定义成final类型,例如,一段代码……finally是异常处理语句结构的一部分,表示总是执行。finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。JVM不保证此方法总被调用...

2018-04-12 19:12:11 69

原创 异常实例:一个银行账户的模拟,通过银行卡的号码完成识别,可以进行存钱和取钱的操作。

分析:自定义一个异常类,定义变量amount:用来储存当出现异常(取出钱多于余额时)所缺乏的钱通过银行卡号,进行存取钱。在银行类中:定义变量money:卡里余额,变量number:卡号,当存钱时余额就变成存入的钱加上卡里原有的钱,取钱时用余额减去取出的钱。当取的钱大于余额时会报错并提示你还差多少钱。下面是代码:建一个异常类:@SuppressWarnings("serial")public cl...

2018-04-12 19:04:48 3879

原创 java中的异常处理机制

1.异常:程序运行时发生了不期望的事,它阻止了程序按按程序员的预期正常执行。2.异常的意义:Java的" 异常机制"就是在处理各类问题时给了程序员非常简单而灵活的方式。一般来说,其它高级语言主要是让函数使用者来关注该函数可能会出现的异常情况,而 java则是把这件事情交给方法的设计者来做。这对于方法的使用者来说带来的方便是不会因为责任心不强,或者办事丢三那四,会忘了在使用方法时处理可能发生的异常情...

2018-04-12 11:39:35 188

原创 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。

解题思路:栈是先进后出,队列是先进先出,有两个栈:栈1,栈2,可以先把栈1的元素弹出放入到栈2中,然后在弹出栈2的元素,这样就实现了先进先出。如: 依次输入到栈1的元素为a,b,c;栈1从顶到底:c,b,a;栈1弹出的元素放入栈2中,则栈2从顶到底为:a,b,c;实现了队列的先进先出。代码如下:import java.util.Stack;public class TestStack { St...

2018-04-11 23:24:26 371

原创 集合中出现的问题

1.Java集合框架的长处?(1)使用核心集合类减少开发成本,而非实现我们自己的集合类。(2)随着使用经过严格測试的集合框架类。代码质量会得到提高。(3)通过使用JDK附带的集合类,能够减少代码维护成本。(4)复用性和可操作性。2.集合框架中的泛型有什么长处?Java1.5引入了泛型。全部的集合接口和实现都大量地使用它。泛型同意我们为集合提供一个能够容纳的对象类型,因此。假设你加入其他类型的...

2018-04-11 19:51:36 574

原创 Collections和Collection的区别

1.区别:>Collections则是集合类的一个工具类/帮助类,其中提供了一系列静态方法,用于对集合中元素进行排序、搜索以及线程安全等各种操作。>Collection 是各种集合接口的父接口,继承它的接口主要有Set和List,提供了关于集合的一些操作,如删除,插入,判断一个元素是否是其成员,遍历等。2.Collections方法:>排序(sort):以根据元素的自然顺序 对指...

2018-04-10 23:10:25 4166

原创 Map集合

1.Map是一种依照键(key)存储元素的容器,键(key)很像下标,在List中下标是整数。在Map中键(key)可以使任意类型的对象。Map中不能有重复的键(Key),每个键(key)都有一个对应的值(value)。Map中的元素是两个对象,一个对象作为键,一个对象作为值。键不可以重复,但是值可以重复。>保证键的唯一性->Set,值可以重复->Collection2.Map下...

2018-04-10 22:05:05 173

原创 简单的函数

1.函数的定义:子程序,是一个大型程序中的部分代码,由一个或多个语句块组成,负责完成某项特定任务,具有相对独立性。2.函数分类:>库函数(完成有限的功能)>自定义函数(可以实现自己想要的逻辑)3.库函数:顾名思义是把函数放到库里..是别人把一些常用到的函数编完放到一个文件里,供别人用.>库函数分类:IO函数,字符串操作函数,字符操作函数,内存操作函数,时间/日期函数,数学函数,其...

2018-04-10 00:19:45 226

原创 Java中的Set接口

1.Set:不允许有重复元素,和Collection的方法相同。使用equals()方法进行比较,如果返回true,两个对象的HashCode值也应该相等Set取出的方法只有一个:迭代器。2.Set实现的类:>LinkedHashSet:HashSet的子类,不允许重复的值,使用HashCode确定在集合中的位置,使用链表的方式确定位置(按照输入的顺序输出)。>HashSet:底层数据...

2018-04-08 23:25:14 165

原创 java中的迭代器

1.为什么要使用迭代器?   Java容器的种类有很多种,比如ArrayList、LinkedList、HashSet...,每种容器都有自己的特点,ArrayList底层维护的是一个数组;LinkedList是链表结构的;HashSet依赖的是哈希表,每种容器都有自己特有的数据结构。因为容器的内部结构不同,很多时候可能不知道该怎样去遍历一个容器中的元素。所以为了使对容器内元素的操作更为简单,使用...

2018-04-08 19:36:33 159

原创 每日一题第一题:编写一个程序,可以一直接收键盘字符,如果是小写字符就输出对应的大写字符,如果接收的是大写字符,就输出对应的小写字符,如果是数字不输出。

分析:在ASCII码表中,如‘A’(65)与‘a’(97)之间相差32个序号,其他大小写相差也是32,所以给定大写输出小写只需加上32就可以得到相应的小写。程序如下:#include<stdio.h>int main(){ char c; int t; while((c=getchar())!=EOF){ //用来判断是否已经读取完 if(c>='a'&...

2018-04-08 18:14:25 550

原创 C语言操作符

1.操作符:指令系统的每一条指令都有一个操作符,它表示该指令应进行什么性质的操作。不同的指令用操作符这个字段的不同编码来表示,每一种编码代表一种指令。2.C语言操作符的分类:算数操作数移位操作符位操作赋值操作符单目操作符关系操作符逻辑操作符条件操作符逗号表达式下标引用,函数调用和结构成员 算术操作符(不要移动负数位):      算术操作符有:+  -  *  /   % 注意:...

2018-04-03 22:45:31 345 1

原创 求一个整数储存在内存中二进制的个数

有三种方法:1.直接法,除2取余。#include<stdio.h>int main(){ int num=10; int count=0; while(num){ if(num%2==1){ count++; } num=num/2; } printf("二进制1的个数:%d",count); return 0;} 2.通过右移,检测最低比特位是否...

2018-04-03 00:39:22 277

原创 List中接口中的ArrayList和LinkedList

List1.  List接口是Collection的子接口,可以将元素维护在特定的序列中;List在Collection基础上添加了大量的方法,使得可以再List中间插入和移除元素,并却List允许有重复元素出现,元素存入的顺序和取出的顺序一致。2.List支持对元素的增,删,改,查;(1)添加:       add(index,element):指定索引位置插入元素。       addAll(...

2018-04-02 15:05:57 1133

原创 猜数字游戏

游戏规则:开始会出现一个选择菜单:1.开始,0.退出,键盘输入0或1确定要不要开始游戏,如果输入其他数字,会有提示让你重新输入。随机生成一个数字,然后输入你想的那个数,如果你输入的数字比生成的那个数大或者小,会显示猜大了或者猜小了,知道猜出来为止;下面是代码:#include<stdio.h>#include<windows.h>#include<time.h&g...

2018-04-02 01:29:08 304

原创 集合简单介绍

为什么要使用集合    Java集合就是一个容器。面向对象语言对事物的体现都是以对象的形式存在,所以为了方便对多个对象的操作,就对对象进行存储,集合就是存储对象最常用的一种方式。集合只用于存储对象,集合长度是可变的,集合可以存储不同类型的对象。如果往集合里存放基本数据类型,在存取过程中会有个自动装箱和拆箱。因为容器中数据结构不同,容器有很多种。不断地将共性功能向上抽取,形成了集合体系,称之为集合框...

2018-04-02 01:10:13 340

原创 二分法查找具体的某个数

二分法查找:确定该区间的中间位置mid将查找的值key与a[mid]比较。若相等,查找成功返回此位置;否则确定新的查找区域,继续二分查找。#include<stdio.h>#include<windows.h>int sceach(int arr[],int left,int right,int key){ int mid = 0; while (left <...

2018-04-02 00:45:55 394

空空如也

空空如也

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

TA关注的人

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