首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

马战士课程笔记

2012-10-09 
马士兵课程笔记?J2EE框架EJB (Enterprise JavaBean) 3.0JAVA两大特色JVM一次编译, 到处运行跨平台JAVA是解

马士兵课程笔记

?

J2EE框架EJB (Enterprise JavaBean) 3.0JAVA两大特色JVM一次编译, 到处运行跨平台JAVA是解释型的语言 -- 要编译成.class文件, 再由JVM逐条解释执行垃圾收集器JDK安装安装路径最好没有空格, 以避免在某些情况下出错; 另一种避免的办法是在添写环境变量或类似时候用双引号把路径框起来装完JDK最好再装一个JRE, 让开发环境与其他正常使用的JAVA程序的运行环境区别开环境变量%PATH%: "%JAVA_HOME%\bin;"%CLASSPATH%: ".;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;..."编译器从前向后寻找引用到的类, 因此顺序很重要, 谨防引用到的类在多个地址中出现, 连接到意料以外的类 (在Eclipse中没有这种担心).一个源文件里只能有一个public类(而且必须和源文件同名)入口 -- main方法java严格区分大小写标识符命名规则字母, 数字, '_', '$'以字母, '_'或'$'开头大小写敏感类名首字母大写, 变量和方法名首字母小写;驼峰标识: 命名中的第一个单词后每个单词首字母都大写常量整型常量默认是int, 要定义long常量就得加L浮点型常量默认是double, 要定义float常量就得加f另一种: 值不可变的变量final变量变量从本质上看是一块内存区域, 通过变量名来访问先声明, 再赋值(有默认初始值, 但方法内声明的必须显式地赋值), 才使用int i1, i2, i3 = 4; 只有i3的值是4

马战士课程笔记?

成员变量(类内方法外) 和 局部变量(方法内), 作用域; 编译器会给成员变量初始化默认值, 但局部变量必须自行初始化基本数据类型 和 引用数据类型基本数据类型四类八种整数型 -- byte, short, int, long浮点型 -- double(4), float(8)有一个表示精度问题, 浮点型不能直接判断相等, 而必须采取二者差值足够小的判断方式布尔(逻辑)型 -- boolean, 值只能是true和false, 不能是数字甚至null字符型 -- char, utf-16编码俩字节, "char c = '\n0061';"类型转换依容量, 小向大是自动转换的, 大向小转换要加强制转化符, 会损失精度甚至出错, 需要程序员自行判断和控制整型大向小强制转换时是将超出表示范围的部分简单砍掉, 而浮点型不是多种数据类型在一起运算时, 是自动转换成容量最大那个类型byte, short, char互相转换或者运算时, 其实是先转换成int, 所以需要强制转换引用数据类型--除基本类型以外的数据类型引用类型占两块内存首先是引用名, 仅存放着应用对象的地址;然后是new 出来的对象, 位于引用所指向的地址(在堆内存里)中;如?String s = "Hello world";
// 等同于String s;s = new String("Hello world");

运算符算数运算符关系运算符逻辑运算符: 抑或^, 短路与&& 和 短路或|| (当第一个运算数触发, 就不再算第二个, 效率更高)位运算符: &, |, ^, ~, >>, <<, >>>赋值运算符: =,?扩展赋值运算符: +=等字符串连接运算符: +三目条件运算符
语句条件语句 switch(...) {...case xx:...break;...default:...}使用break防止case穿透多个case可以合并在一起default补漏java的switch语句只能探测int值(其他类型其实是自动转换)循环语句for(初始化语句; 循环判断语句; 修改判断变量) {...}JDK1.5 后的增强型 for (a : C) {...},用于对集合内元素遍历,不适合需要用到数组内元素索引的do {...} while (...) ; 分号一定不能忘break 和 continue: 与if结构无关类与对象思想面向过程: 方法层次上的复用面向对象: 对象层次的复用问题中有哪些类和对象, 各类有什么属性和方法, 类之间有什么关系合适的方法应该出现在合适的类里在内存中区分类和对象类是静态的概念, 位于代码区对象是new出来的, 位于堆内存. 成员变量(静态变量除外)每个对象都有各自存储空间和值, 而方法只有一份, 执行时才占用内存?概念Object = Instance(静态)属性 = 成员变量类之间的关系关联关系: "A类里的某个方法的参数是B类的对象" (最弱的关系)继承关系: "B类是一种A类"?(一般与特殊) (C++的多重继承)聚合关系: "B类是A类的一部分" (整体与部分) 聚集(松耦合)与组合实现关系: (接口, 多态)引用(类似C++中的指针概念)java中的对象是通过引用对其进行操作的.方法的重载: 方法名相同, 参数列表不同, (返回不同不允许)this:在类的方法定义中使用, 代表调用该方法的对象的应用;当必须指出当前调用方法的对象是谁时用到this;可用于区分局部变量(或参数)与成员变量重名的情况;static:为该类的所有对象公用, 在第一次使用时被初始化存储: 在data segment, 仅一份;访问: 类.xxx; 对象直接访问(同一个处空间)用static声明的静态方法, 在调用该方法时, 不会将对象的引用传递给它, 所以在static方法中不可访问非static的成员.package 和 import:解决类的命名冲突问题java编译器把包对应于文件系统的目录管理, 用'.'来指明包(目录)的层次, 所以包应该位于文件系统相应的目录中, 否则解释不能通过;命名惯例: 域名倒过来, 从大到小, 从上到下, 从外到里;该类的源码文件可能会有影响, 别放在同目录或者%CLASSPATH%目录下;必须写在源文件第一行;无名包, 裸体类访问别的包的类: 写全名; import引入, 应避免用*;Class文件的最上层包的父目录必须在%CLASSPATH%内, 强烈建议每个project有独立的%CLASSPATH%;运行时也要写全名.?Eclipse解决了上面许多问题.

热点排行