第二章
数据类型
byte
1个字节,08位,-128到126
short
2个字节,16位,-32768到32767
int
4个字节,32位,-20亿到20亿
long
8个字节
float
4个字节,float f = 1.0f,有效位数6-7
double
8个字节,double d = 1.0,有效位数15
有效位数
整数从左边第一个非零往右数,减去无效零的个数
小数从左边第一个非零往右数
boolean
java中只能用true/false表示,不能使用0/1
char
使用2个字节,16位的unicode编码,可以表示汉字
转义字符
\u0000-\uffff表示一个字符,可用于引号外。
\b 退格
\t tab
\n 换行
\r 回车
\" 双引号
\' 单引号
\\ 反斜杠
变量
头:字母 下划线
内容:字母 数字 下划线
不能使用JAVA关键字和保留字
常量
用final修饰的常量只能被赋值一次,不能修改。可声明时赋值,也可先声明后赋值
用static final修饰的常量称为类常量,能被本类调用,根据访问修饰符也可被外部类调用
运算符
自增
++i,先+1后计算
i++,先计算后+1
http://topic.csdn.net/u/20090718/12/52a3d353-3bec-441e-acb5-ce577f232166.html
与或
&& ||,代表逻辑与或,当第一个操作能计算表达式的值,那么第二个操作就不会进行了。
&|,代表与或,无论第一个操作是否能计算表达式的值,第二个操作都会进行
运算符优先级
括号>强制转换,自减,自增,非>乘,除,取余>加,减>小于,小等于,大于,大等于,instanceof>等于,不等于>与,或>逻辑与,逻辑或
转换
隐式转换
byte->short->int->long
char->int->double
int-->float,可能损失精度
long-->float,可能损失精度
long-->double,可能损失精度
计算是2个操作数转换优先级:double>float>long,如果操作数不是以上三种,都当int进行计算
强制转换
可能损失精度
Math
数学函数
Math类中是静态方法
Math.sqrt,计算平方根
Math.pow(x,a),幂运算,代表x的a次方
Math.round(),四舍五入,参数为double,返回值为long
字符串
String
String是一个类
String.substring(0,i),截取字符串0到i-1的内容
http://blog.csdn.net/programmer412/archive/2009/08/24/4477573.aspx
http://ajava.org/code/base/13031.html
StringBuilder
可避免浪费空间,效率比较高
sb.append(str)...sb.toString()
读取输入
Scanner
Scanner in = new Scanner(System.in)
String str = in.nextline()
Console
Console con = System.console();
String username = con.readline();
String password = con.readPassword();//不可见
文件读取输出
Scanner
Scanner in = new Scanner(new File("c:\file.txt"));
while(in.hasNext()){
System.out.println(in.next());
}
PrintWriter
PrintWriter out = new PrinteWriter(new File("c:\file.txt"));
pw.println("Text");
pw.close();