[java]代码库
/*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
*/