API:Application program interface 程序调用一个方法去实现一个功能 正则表达式:regex 用来匹配的 javaEE里边有三大框架 SSH struts spring hiberate java c/c++ java c# c语言 32个保留关键字
数据类型
原始数据类型(primitive)/基本数据类型
bit 8bit=1byte(字节) class 字节码 bytecode
java中四类八种 1、数值型 byte 2的7次方 1字节 -2的7次方到正的2的7次方-1 -128 ~ 127 short 2的15次(正数) 2字节 1,2,3 int 2的31次 4个字节 long 2的63次 8个字节 2、文本型 char 2的15次方 2个字节 3、浮点型 float double 4个字节 8字节 0.0f 0.0 4、逻辑性 boolean(布尔) true false 在c语言中可以与零和1置换 在java中不行 1/8个字节
变量是对程序中数据存储的抽象 数据类型是变量运算属性的抽象 1.表数范围 2.施加的运算种类
引用数据类型(reference)/复合数据类型 数组array 类class 接口interface
可能损失精度 定义变量的时候数据类型出错
字面量:数值类型的字面量是int 浮点类型的字面量是double 报错的原因:类型转换异常。 大类型的数据转换为小类型的数据会出错 标识符的概念 :class public static interface int byte 命名规范: 类名和方法名和变量名的命名规范:组成内容包括:字符(字母和符号)数字下划线$组成,但是不能以数字开头! 命名方法:java驼峰命名法 c匈牙利命名法 对于类和方法的要求 类名首字母必须大写Class 对于方法小写,但是对于多个单词组成的方法名从第二个单词的首字母开始依次大写 eg:binarySearchInt 折半查找
注释:注释不是给机器看的,是给人看的!
//java中一共有三种注释 // // 单行注释,多行注释(段落注释),文档注释(是一种特殊的多行注释) //注释在程序中不会被翻译 //单行注释: // // 段落注释 /*开始 */ 结尾 //段落注释不可以嵌套
//文档注释 /**开始 */ 结尾 编译程序遇到段落注释的开头就会把直到段落标志结束以前的所有内容都当作注释的内容 //提前闭合的问题 段落注释是从c++中沿袭过来的 关于单行注释和段落注释和文档注释:javadoc中有用途 注释的重要性:一个优秀的程序的要求3分之一的注释 常量:不会改变的量 1,2,3 变量:相当于一个箱子,可以随时往里边存值 进制的表现:10 165 012八进制 0x表示16进制 0x123
byte b1=3,b2=4,b; b=b1+b2; b=3+4;
补充: 所有数据类型排序(按照字节码)byte,short,char-->int-->long-->float,double 如果高类型的转换为低类型的会出现类型转换异常
========================================================== 总结: 赋值号右边的东西: 1,是变量 1,低类型和高类型相互运算出来一定是高类型的byte+int=int 2,相同类型的,根据字面量而定。 2,是常量,检查该常量值是否超过了表数范围
byte b1=3,b2=4,b; b=b1+b2; b=3+4;
运算符,流程控制 与或非 乘 + 事物的另一面 & && 的区别 true & false 假 真 | 假 真
&&只看左面 左面是假了右边不用看,直接是假 ||
流程控制: 四种:顺序结构,选择(if),循环(while,for) if/else、switch语句 注意1:switch语句要注意防穿透 switch case:break default:(默认要执行的) 注意2:switch语句接收的数据类型 short int byte 数组 枚举(enum),字符不能接收long 循环:for while for(初始化;判断;增量) 有明确的循环次数的时候用 while(条件) 有明确的结束条件时用while循环 for循环和while循环可以替换
最简单的无限循环 for(;;) while(true)
自增自减运算符
优先级:
一元运算符>二元运算符>三元运算符
+ - * / % 二元运算符 a+b
++i i++ 自增运算符
格式:?:三目运算符 if条件判断做区别 在一定程度上互换的。 判断的条件?判断成立执行的语句:判断失败执行的语句
字符形式char类型用''引起来,String类型字符串类型用""双引号引起来
补充:运算符的运算顺序
语言中的=赋值运算符 数学中的== 双等于才是语言= a=10; a==10;判断a是否为10
=赋值运算符的优先级最低,其次是双目运算符这些,单目运算符 运算符运算是必须出结果的 如果我运算的的输出内容不是结果就不行 必须要有明确的输出结果返回,才可以互换
转义字符
换行 水平制表 v 垂直制表 \ 斜杠
以为标志开头的一些字符就是转义字符 u57899
jdk1.5以后包装类。自动拆装箱
=========================================================
面向对象
封装 继承 多态
封装:就是把数据包裹起来。属性和方法 继承:子类继承父类 小的继承大的,但是小的比大的的内容要丰富extends 多态:有了继承才有了多态,子类和父类的相互转换
面向过程,为什么被取代?
是不是所有的方法都要自己写,不利于程序的开发
而对于面向过程:省时
面向对象:万物皆对象
封装:方法(动作)和属性(固有的状态)
对象:new对象,第二种用静态方法调用