JAVA+C笔记

很久前的东西 现在回头看看 这条路上也走了蛮远了 突然翻出来 挺欣慰的 没不小心删掉很知足了 虽然很多知识点现在看都很渣。。 事实上本来就是很渣…… 好歹是一番良苦用心啊…………直接贴上来吧,。就不删减了 也算是个备份吧

先是 JAVA

abstract                    抽象

extends                     继承

implements                  接口继承

synchronized                上锁

public                      公开 所有包

protected                   同一类 同一包 子类 

default                     同一类 同一包

private                     同一类

ArrayList                   容器

Object                      通用

Integer                     整型

StringBuilder           (线程不安全,效率高)

StringBuffer            (线程安全,效率低)

HashMath            (线程不安全,效率高)

HashTable           (线程安全,效率低)

ArrayList           (线程不安全,效率高)

vector              (线程安全,效率低)

float = xxxf                单精度(占用字节少)

double                      双精度(占用字节多)

outer:              标记与返回标记处                                            
continue outer;

break                       只能break掉第一层包装

java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包

http://www.jb51.net/article/17943.htm   JAVA正则表达式 Pattern和Matcher

--------------------------------------------------

append                      String类累加

delete                      String类删除

insert                      String插字符

reverse                     反转

charAt                      查询某位置字符

equals                      比较字符是否相等

equalsIgnoreCase            忽略大小写比较字符是否相等

indexOf                     返回字符对应位置

lastIndexOf                 从尾部

startsWith                  是否以XX开头  

endsWith                            结尾

substring                   从某一位置截取到末尾

replace(All)              替换

.split(",")                 用逗号切割

trim                        去除首尾空格(中间不去)

toCharArray                 转换字符串为字符数组

toLowerCase                 转为小写

toUpperCase                     大写

arraycopy                   复制数组

switch                      情况判断语句
default                      switch条件均未达到时

Arrays.toString             输出数组

Character.isLetter          判断是否为字符

Character.isDigit           判断是否为数字

Character.isSpaceChar       判断是否为空格

in.next()           一次取一个 以空格隔开

in.nextLine()               一次取一行

XXXX.parseXXXX()            强制转换字符串为其他类型

String.valueOf()            强制转换其他类型为字符串

Array.sort                  将数组从小到大排序

Math.pow(a,b)               a的b次方   

pringf("%ns","")            占据n个字节(后面引号内长度>n,无视n;<n在前用空格补上) 

in.next().charAt(0);        录入的第一个字符

while(in.hasNext()){}               当录入值时运行(ACM常用)

用二分法查找 先sort排序 接着binarySearch(数组,数);

Arrays.fill(a,起始,结尾,替换的目标数据)    填充

Math.ceil(向上进位)12.213

Math.floor(向下进位) 12.712

Math.round(四舍五入)

.trim               去掉字符串前后的空格

for(int i : a)              a:数组

string.substring(开始位置,截止位置);

Date.toGMTString()          转换为国际标准时间(不转换时为北京时间)


Integer.toHexString     十→十六进制

Integer.toOctalString       十→八进制

Integer.toBinaryString      十→二进制

//十六进制转成十进制
    Integer.valueOf("FFFF",16).toString();
    //十六进制转成二进制
    Integer.toBinaryString(Integer.valueOf("FFFF",16));
    //十六进制转成八进制
    Integer.toOctalString(Integer.valueOf("FFFF",16));

    //八进制转成十进制
    Integer.valueOf("576",8).toString();
    //八进制转成二进制
    Integer.toBinaryString(Integer.valueOf("23",8));
    //八进制转成十六进制
    Integer.toHexString(Integer.valueOf("23",8));

//二进制转十进制
    Integer.valueOf("0101",2).toString();
    //二进制转八进制
    Integer.toOctalString(Integer.parseInt("0101", 2));
    //二进制转十六进制
    Integer.toHexString(Integer.parseInt("0101", 2));


———————————————————————————
常用类
字符串 包装类 

常用类

Date

DateFormat                  
                          完成时间与字符串间的转化
SimpleDateFormat("yyyy-MM-dd hh:mm:ss")

y 年 M 月
w 年中的周数 W 月中的周数
D 年中的天数 d 月中的天数
F 月中的星期
E 星期中的天数
a Am/pm标记
H 一天中的小时数(0~23)
k 一天中的小时数(1~24)
K am/pm中的小时数(0~11)
h am/pm中的小时数(1~12)
m 小时中的分钟数
s 分钟中的秒数
S 毫秒数
z 时区
Z 时区
*字符数目表示其精确位数

df.parse                  字符串变为时间
df.format                 时间变为字符串       

Calendar c = new GregorianCalendar();
c.setTime(date);            将date变为日历化
c.set(Calendar.DATE,n);         变为该月中几号
c.get(Calendar.DAY_OF_WEEK)         获得c号在该月中第几天
c.getActualMaximum(Calendar.DATE)   获得c月里共几天


保留小数
import java.text.DecimalFormat;

DecimalFormat df2  = new DecimalFormat("###.000");

System.out.println(df2.format(doube_var))

然后C(后来加入ACM刚开始学习的时候整理的 没什么大营养

二.关键字

auto    double  int     struct      break       else    long    switch
case    enum    register    typedef     char        extern  return  union
const   float   short       unsigned    continue    for signed  void
default goto    sizeof      volatile    do      if  static  while

#include <math.h>
por(x,y) x的y次方

while (scanf("%lf", &r) == 1)当正常输入时

————————————————————————————
x = toupper(char x)       判断x是否有小写字母  

getchar(); putchar();     节约时间

指针 不带*赋地址 带*改值

const int *p      说明p是整型常量 指针 试图改变p指向的整数会发出信号

int *const p      保护p本身

clock_t clock()返回的时间类型
clock() :捕捉从运行到clock被调用所耗时间 时间单位:clock tick“时钟打点”。
常数CLK_TCK:机器时钟每秒所走的时钟打点数
duration 记录运行时间 秒为单位


1e----10      1e7------107次方   1e-1--------0.1


树

一、术语

结点的度:结点的子树个数

树的度:树所有结点中最大的度数

叶结点:度为0的结点

父结点:有子树的结点是其子树的父结点

子结点(孩子结点)

兄弟结点:有同一父结点的各结点

路径和路径长度:结点n1到nk的路径 路径所包含的边的个数为路径的长度

祖先结点:沿树根到某一结点路径上所有结点

子孙结点:某结点的子树中所有结点

结点的层次:规定根结点为第一层

树的深度:最大层次

斜二叉树(Skewed Binary Tree)

完美二叉树(Perfect Binary Tree)/满二叉树(Full Binary Tree)

完全二叉树(Complete Binary Tree) 缺叶结点的完美二叉树 但标号后与完美二叉树对应位置相同 即从底从右按顺序缺叶

二、二叉树重要性质

1.第i层最大结点数 2^(i-1) i>=1(1为根结点所在层)

2.深度为k的二叉树最大结点数 2^k-1

3.对任何非空二叉树 若n0表示叶结点数 n2表示度为2的非叶结点数 则满足 n0=n2+1

三、二叉树的遍历

1.PreOrderTraversal     先序------根、左子树、右子树

2.InOrderTraversal      中序------左子树、根、右子树

3.PostOrderTraversal    后序------左子树、右子树、根

4.LevelOrderTraversal   层次遍历--从上到下、从左到右
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值