java基础 day01
java笔记
2013年3月1日星期五
14:18
类是构成所有Java应用程序和applet的“构建块”。Java程序的所有部分都必须包含在类中。
1.源代码的文件必须同共有类的名字相同,且需要以.java作为扩展名。
2.根据Java的语言规范,main方法必须被声明为public。
3.在java中main方法总是静态的。
4.java中的main方法并不是向操作系统返回“退出代码”,在java中,如果main方法正常退出,java程 序的退出代码为0,表示成功的执行完程序。若要用不同的退出代码终止程序,则使用System.exit方法。
5.System.out中海油一个print方法,其与println的区别在于print输出的末尾不加换行符。
6.java有三种注释方法: // 和/* */和C++中使用一致。/** */注释可以用于自动产生文档。
7.java中共有八种基本类型:
四种整数类型: int(4字节) short(2字节) long(8字节) byte(1字节)
(与C++的区别)在java中整数类型的范围与java运行代码所在机器无关。java中午unsigned类型。
两种浮点类型:float(4字节) double(8字节)大部分场合都是使用double类型,float类型使用较少,若要使用float类型则需要在后面追加F,如:3.14F,没有追加F的浮点数据默认为double类型。
注意:三种特殊的浮点值: 正无穷大,负无穷大,NaN(非数字),被用于表示溢出和出错。比如,用0去除一个正数,所得结果为正无穷大,而计算0/0或者对一个负数开平方则会产生NaN。常量 Double.POSITIVE_INFINITY,Double.NEGATIVE_INFINITY和Double.NaN用来表示这些常量值。
If(x==Double.NaN) // never be true
所以不能使用上述语句来检测一个值是否和Double.NaN相等,因为所有的“非数字”值都被认为是不相同的,在这种场合应该使用语句: if(Double.NaN(x))来检测。
字符类型: char类型用来表示Unicode编码表中的字符,Unicode编码用来处理世界上所有的书面语言中的字符,它是2个字符的编码,可以使用655356个字符,而ASCII编码只占用1个字节,可允许128个字符;
几种特殊字符:\b (退格)、\t(制表)、\n(换行)、 \r(换行)
布尔类型:(boolean),只有两个值true和false,注意:boolean值和整型值不能想换转换。
8.在java中用关键字final表示只能对变量进行一次赋值,其值一旦设定便不能再改变。习惯上变量名都为大写。若需要一个常量在一个类的多个方法中都能使用,这种常量通常使用关键字static final设定。常量的定义出现在main方法的外部,这样同个类的多个方法都可访问,如果这个常量被声明为public则其他类的方法也可以使用这个常量。
9.用0除整数将产生异常,而用0除浮点数将得到一个无穷大值或NaN。
10.用strictfp关键字标记的方法必须使用严格的浮点运算,以产生可再生的结果。
- 移位操作符右边的参数首先要先进行模32运算(当左边的边元是long类型,则要进行模64运算)。例如: 1>>35和 1>>3的值是相等的,都是8.
- 数学类math类:开平方(sqrt(x))、求幂值(pow(x,a) x的a次幂、常用的三角函数、指数函数和它的反函数(Math.exp/Math.log)、两个常量(Math.PI/Math.E) 表示数学常量π和e的最可能的近似值。
- 强制类型转换通过截去小数部分,把一个浮点值转换成整数。如果把一个浮点数四舍五入成与其最接近的整型值数应使用(int)Math.round(x)方法。 在调用Math.round()后应进行强制类型转换,因为round返回的是long类型的结果。
- 一个字符串和一个非字符串连接时后者会被转换成字符串形式,每个java对象都可以转换成字符串。
- String类中的substring方法可以从大字符串中提取一个字串。 substring(a,b),参数a表示拷贝的第一个字符,第二个参数表示不想被拷贝的第一个字符位置。利用substring的一个优点在于容易计算子串的长度,b-a便是子串的长度。
- 字符串的length()方法来获取字符串的长度: String greeting=“hello”; int n =greeting.length(); greeting.charAt(n)可以获取greeting串中位置n上的那个unicode字符。
- 使用方法equals()测试两个字符串是否相等,例如: s,t字符串,s.equals(t);如果返回值为true则相等,为false则不相等,注意其中的s.t字符串可以为字符常量,“hello”.equals(command); 要判断两个字符串除了大小写的区别外是否相等,可以使用equalsIgnoreCase()方法,比如:"hello".equalsIgnoreCase("HELLO"); 不要使用==来判断两个字符串是否相等(C++是这样干的),那只能判断两个字符串存储在同一个位置。
- String 类中的常见方法:
①char charAT(int index) 返回指定位置的字符
②int compareto(String other) 如果字符串按照字典顺序在other的前面,返回负数,如果在other的后面则返回正数,相等则返回0;
③boolean endsWith(String suffix) 如果字符串是以suffix结尾的则返回true,否则返回false。