/*java 语言是1995 年由sun推出 詹姆斯设计 OAK(初名)95被命名java,发布; * java通过解释执行语言 和c++相似 面向对象 跨平台的高级语言 一次编写 到处运行 * 半编译半解释 编译一次,解释是在每次运行的时候都需要进行一次,就是虚拟机对程序进行运行 * 源代码 (.java) --> 编译器-->字节码文件(.class)-->JVM(优化,解释运行)--> * 机器码(二进制机器语言) * java 运用范围: * 1.桌面应用系统开发 * 2.嵌入式系统开发 * 3.电子商务 * 4.交互式系统 * 5.多媒体系统 * 6.分布式系统 * 7.web应用系统 * java 开发工具: * Eclipes ;NetBeans;JBuilder RSSOwl Limewire Azureus CyberDuck OpenOffice * java 版本 java SE(标准) EE(企业) ME(微型) * java特性 * 1.简单 :和C语言类似,取消了指针 垃圾自动收集 简化资源释放 类库丰富 和API文档的提供 第三方开发包 JDK开放源代码 * 2.面向对象 万物皆对象 方法和数据放在类中,java最外部得数剧是对象 所有数据和方法都需要通过类和对象来调用 * 3.分布性 :操作分布 : 多个主机上布置操作 数据分布:同操作 通过URL对象(统一资源定位符)访问网络对象 方式与访问本地系统一样 * 4.可移植:java程序与体系结构无关 类库可实现不同平台的接口 * 5.解释型:移植了解释器后都可以运行java字节码文件 * 6.安全性:删除指针和内存释放 避免用户对内存的非法操作,运行要进行代码和指针校验等,未经允许的不会对平台进行攻击 * 7.编写的程序跟可靠,易维护 * 8.多线程:同时执行多个任务,同步机制可以保证不同线程正确共享数据; * 9.高能性:字节码是在解释器中运行,且被翻译成机器语言,大大提高运行速度 * 10.动态:动态调整类库,简单直接。 * * jdk安装:一建安装 * 环境配置::jdk所在目录 * path:%JAVA_HOME%\bin; * * 变量类型:8种基本数据类型 :整型:long int(默认) short byte 8 4 2 1 bit(字节) * 字符:char 2 * 布尔:boolean 1 * 浮点:float 8 double(默认) 16 * 引用数据类型:String * arry * arrylist * nume * 类 * 接口 * 进制:二进制 2 * 8 0 * 10 * 16 0x * 变量就是 内存空间 变量名为地址 * memory (OS):系统区 * program :程序区 * data :数据区 * * 变量: * 一、成员变量 :在类中定义的变量,分为: * * 1.实例变量:即成员变量:在类中有效 * 2:静态变量:可跨类进行 类名.静态变量的方式进行使用 * 成员变量 前加static * 二、局部变量 * 类的方法中定义,作用范围其所在的方法,当方法被调用时, * 内存为期开辟空间,调用完毕,释放;局部变量销毁,我的 * 地盘我做主即成员变量和和其名字字相同时,成员变量影藏 * * 运算符: * 赋值运算符: * y=x=z=10;可以编译,但不建议不规范 * 算术运算符: * + - * / % (二元运算符) * 自增自减运算符:单目运算符,可放在元之前 *比较运算符:二元运算符 * > < = ! 的组合 * 逻辑运算符: & |和|| && (二元) !(一元) * 位运算:就是逻辑运算 (*00*)重要 p49(*00*) * 1.按位与 & * * 2.按位或| * * 3.按位取反! * * 4.按位异或~ * * * 5.移位 <<2 (左移2位) >>5(右移5位) * * 三元运算: ?: int c=a>b?a:b; a>b吗,大于c=a 小于c=b * * \r:回车 \t: table \n 换行 * 强转:(int) 45.2 把double强转为int型 * (需要类型)被强转类型 * 编码规范: * 文档注释:类 类的成员变量 类的方法前 javadoc 编译时会读取为文档信息 * 每个变量的声明 独占一行 有助于添加注释 局部变量声明并同时初始化即赋值 * 在eclipse 空格是不占空间的,除了字符串里的 是为了易读 * 为了便于维护 不要使用难懂 技术性高 易混淆的判断语句 尽量使用简单的 * 关键的代码,要加注释 形成良好的习惯 * if语句后只有一句,{}加上更好 * * { 。。 。} :复合语句 块语句 其中的变量就是局部变量 (方法中)不是类中 * * 条件语句: * if(){ 每次都会有一判断 若有输出必输出一个 因此在for中有多少次循环 * }else if(){ 就有多少次输出 * }else{ * } * * * * for(int i=0;i<1;i=(i=i+1)) 无限循环 * 初始值 i * 1. 0 * 2. i=0 1 * 3. 1 * * * i=i++; * i=(i=i+1); * * * * * switch (常量值){ * case 常量值: ;break; * default: ; * } * * 1.6版本( 整型 字符型 ) 1.7 (增加了字符串) switch语句中,表达式的数据类型,可以是byte,short,int,char,enum(枚举), JDK7后可以接收字符串 * * int i=0; * while(布尔表达式){ * * * } * * * do{ * 先执行再判断 * * }while(布尔) * * for(初始化表达式1;布尔表达式2;修整变量表达式3){ * 循环体4 * 1->2->4->3->2->3 * } * foreach for 的简化版 * * for(元素变量x:遍历对象obj){ * 引用了x的语句} * * int[] ar1=new int[5]; * int[] ar2=new int[]{1 ,2 ,3 } * int[] ar3={1,2}; * * for(int i:ar1){ * system.out.print(i); * }n * * 字符串 :String(大写S) * 用字符数组创建一个String * String(char a[]) * char a[]={'g','o','o','d'}; * String s=new String(a); * * //Sting s=new Sting ("good"); * * char a[]={'s','t','u','d','e','n','t'}; * String s=new String(a,2,4);//提取数组中的一部分来创建新的字符串 (字符串,截取位置,截取长度 ); * * * char a[]={1,2,3,4,5,6}; * String st1=new string(a); * * string st1=new string(student); * String st1="student"; * * String "str1=123"; * String "st2 =456"; * String st3 =st1+st2; * * * 第一级: 圆括号【()】、下标运算符【[]】、分量运算符的指向结构体成员运算符【->】、结构体成员运算符【.】 第二级: 逻辑非运算符【!】、按位取反运算符【~】、自增自减运算符【++ --】、负号运算符【-】、类型转换运算符【(类型)】、指针运算符和取地址运算符【*和&】、长度运算符【sizeof】 第三级:乘法运算符【*】、除法运算符【/】、取余运算符【%】 第四级:加法运算符【+】、减法运算符【-】 第五级:左移动运算符【<<】、右移动运算符【>>】 第六级:关系运算符【< > <= >= 】 第七级:等于运算符【==】、不等于运算符【!=】 第八级:按位与运算符【&】 第九级:按位异或运算符【^】 第十级:按位或运算符【|】 第十一级:逻辑与运算符【&&】 第十二级:逻辑或运算符【||】 第十三级:条件运算符【?:】 第十四级:赋值运算符【= += -= *= /= %= >>= <<.= &= |= ^=】 第十五级:逗号运算符【,】 说明: ①G1不要求运算对象的个数,G2是单目运算符,G13条件运算符是三目运算符,其他都是双目运算符。 ②G2、G13条件运算符、G14赋值运算符是自右向左的【也就是右结合性】,其他都是自左向右【左结合性】 归纳各类运算符【高到低】: 初等运算符【()、->、.】 G1 单目运算符G2 算术运算符(先乘除【取余】,后加减) G3,4 位运算符【<< >>】 G5 关系运算符G6,7 位运算符【递减& ^ |】 G8,9,10 逻辑运算符(不包括!) G11,12 条件运算符 G13 赋值运算符G14 逗号运算符 G15 */