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.2→13

Math.floor(向下进位) 12.7→12

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------10的7次方   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   层次遍历--从上到下、从左到右
时间: 2024-08-09 02:20:35

JAVA+C笔记的相关文章

Java系列笔记(1) - Java 类加载与初始化

目录 类加载器 动态加载 链接 初始化 示例 类加载器 在了解Java的机制之前,需要先了解类在JVM(Java虚拟机)中是如何加载的,这对后面理解java其它机制将有重要作用. 每个类编译后产生一个Class对象,存储在.class文件中,JVM使用类加载器(Class Loader)来加载类的字节码文件(.class),类加载器实质上是一条类加载器链,一般的,我们只会用到一个原生的类加载器,它只加载Java API等可信类,通常只是在本地磁盘中加载,这些类一般就够我们使用了.如果我们需要从远

Java学习笔记3-操作符

Java基本操作符:+.-.*./.%.=.==.!=.+=.-=. 优先级:先乘除后加减,如果是连接符+号会优先往前匹配,比如 a+++++b,会被解释称 a++ ++ +b,所以会报错,需要自行使用括号隔离为 (a++) + (++b). 对象的引用如果赋值给了对象的引用后,2 个对象将指向同一个引用,有一个对象的引用重新赋值后将同时影响到另一个对象,比如 ClassName classA = new ClassName(); ClassName classB = new ClassName

[Java基础笔记]数组

Java基础笔记 定义数组: int[] numbers = new int[100]; //方法一 double[] num = new double[10]; int[][] a = new int[2][5]; 通过new创建的数组,元素默认值为0(0.0) int[] scores = {5,4,33,12,46}; //方法二 int[][] a = { //位数不足,自动补0 {5,3,2,1,6}, {10,12,14,15}, }; 数组特性:存储的都是同类型数据:长度定义后不可

Java系列笔记(2) - Java RTTI和反射机制

目录 前言 传统的RTTI 反射 反射的实现方式 反射的性能 反射与设计模式 前言 并不是所有的Class都能在编译时明确,因此在某些情况下需要在运行时再发现和确定类型信息(比如:基于构建编程,),这就是RTTI(Runtime Type Information,运行时类型信息). 在java中,有两种RTTI的方式,一种是传统的,即假设在编译时已经知道了所有的类型:还有一种,是利用反射机制,在运行时再尝试确定类型信息. 本文主要讲反射方式实现的RTTI,建议在阅读本文之前,先了解类的加载机制(

java学习笔记10--泛型总结

java学习笔记系列: java学习笔记9--内部类总结 java学习笔记8--接口总结 java学习笔记7--抽象类与抽象方法 java学习笔记6--类的继承.Object类 java学习笔记5--类的方法 java学习笔记4--对象的初始化与回收 java学习笔记3--类与对象的基础 java学习笔记2--数据类型.数组 java学习笔记1--开发环境平台总结 本文地址:http://www.cnblogs.com/archimedes/p/java-study-note10.html,转载

think in java 读书笔记

java中没有单独函数的概念,依赖类的方法. java中优化了向前引用,类可以在调用者之后. java中包的命名方法实际上是网址的倒转. c++中因为存在全局变量和函数所以会存在一个变量名冲突的问题,但是java中不存在全局变量,不同程序设计者通过不同的类将相同名字的变量和方法隔离. static关键字 通常,我们创建类时会指出那个类的对象的外观与行为.除非用new 创建那个类的一个对象,否则实际上并 未得到任何东西.只有执行了new 后,才会正式生成数据存储空间,并可使用相应的方法. 但在两种

Java学习笔记_25_Collections类

25.Collections类: Collections类是一个工具类,用来对集合进行操作,它主要是提供一些排序算法,包括随机排序.反相排序等. Collections类提供了一些静态方法,实现了基于List容器的一些常用算法. Collections的一些方法列表: · void sort(List): 对List内的元素进行排序. · void shuffle(List): 对List内的元素随机排序. · void reverse(List): 对List内的元素进行逆序排列. · voi

Effective Java 读书笔记(2创建和销毁对象)

第一章是引言,所以这里不做笔记,总结一下书中第一章的主要内容是向我们解释了这本书所做的事情:指导Java程序员如何编写出清晰.正确.可用.健壮.灵活和可维护的程序. 2.1考虑用静态工厂方法代替构造器 静态工厂方法与构造器相比有四大优势: (1)静态工厂方法有名称,具有适当名称的静态工厂方法易于使用.易于阅读: (2)不必每次在调用它们的时候都创建一个新的对象: (3)可以返回原返回类型的任何子类型的对象: (4)在创建参数化类型实例的时候,它们使代码变得更加简洁. 同时静态工厂方法也有两大缺点

Java虚拟机笔记 – JVM 自定义的类加载器的实现和使用2

1.用户自定义的类加载器: 要创建用户自己的类加载器,只需要扩展java.lang.ClassLoader类,然后覆盖它的findClass(String name)方法即可,该方法根据参数指定类的名字,返回对应的Class对象的引用. findClass protected Class<?> findClass(String name) throws ClassNotFoundException 使用指定的二进制名称查找类.此方法应该被类加载器的实现重写,该实现按照委托模型来加载类.在通过父

【Thinking In Java零散笔记】对于持有对象一章中的显示系统环境变量代码分析

今天仍旧进行着学习java的计划.在学习到持有对象一章中,看到了如下代码: 1 import java.util.*; 2 3 public class EnvironmentVariables { 4 public static void main(String[] args) { 5 for(Map.Entry entry: System.getenv().entrySet()) { 6 System.out.println(entry.getKey() + ": " + 7 en