标识符:Java标识符是以字母、下划线(_)或美元符号($)开头;随后跟随字母、下划线(_)、美元符号($)或数字。
标识符是大小写区别对待的。标识符未规定最大长度。
下列标识符是有效的:identifier、userName、User_name、_sys_varl、$change、_3_ 、OK。
下面的标识符是非法的:#name,25name,class,&time,if
标识符不能是关键字,例如:this是一个关键字不能作为标识符。
Java关键字:
保留字2个:goto、const
注意:
关键字和保留字都是小写,如true、false。
所有类型的长度和表示是固定的,不依赖执行。
无sizeof运算符。
数据类型:
实线箭头表示无信息丢失的转换,虚线箭头表示可能有精度损失的转换。
强制类型转换:通过截断小数部分将浮点值转换为整型。
如果想对浮点数进行摄入运算,以便得到最接近的整数,那就需要使用Math.round方法,不过当调用round的时候,仍然需要使用强制类型转换,原因是round方法返回的结果为long类型,由于存在信息丢失的可能性,所以只有使用显式的强制类型转换才能够将long类型转换成int类型。
double x=9.997;
int nx=(int)Math.round(x);
在Java中,所有数值类型所占据的字节数量与平台无关。
注意:Java没有任何无符号类型(unsigned)。
运算符:
基本用法:
整数类型:
byte、short、int和long用法与C/C++相同。
如:17(十),017(八),0x17(十六),17L(长整型)
浮点数:
float和double用法与C/C++相同。
如:3.14、3.02E23、2.718F、123.4D
注意:
float a=3.4F; ( 'F' 不能丢:float a=3.4; × )
正确用法:double a=3.4; √
注意:
算术运算:
两个整数类型的数据做除法时,结果只保留整数部分,表示整数除法;否则,表示浮点除法。 如:3/2=1, 但是 3.0/2=1.5
整数被0除将会产生一个异常,而浮点数被0出将会得到无穷大或NaN结果。
自增与自减运算符只适用于变量. 如 10++; ×
前缀方式先进行加运算,后缀方式则使用变量原来的值。
%运算不仅能用于整型,也能用于浮点类型. 如:
9%2=1 9.5%2=1.5 √
异或:相同为0,不同为1
“>>”和”<<”运算符将二进制位进行右移或左移操作。
>>>运算符将用0填充高位;>>运算符用符号位填充高位。没有<<<运算符。
注意:对移位运算符右侧的参数需要进行模32的运算(除非左边的操作数是long类型,在这种情况下需对右侧操作数模64)。例如1<<35与1<<3或8是相同的。
数据输出格式的控制:
方法1:String.format("格式串",数值数据)
方法2:System.out.printf("格式串",数值数据)
示例:
int n1=100;
double d1=123.456;
System.out.println(String.format("%-5d,%.2f", n1,d1));
System.out.printf("%05d,%.2f\n", n1,d1);
boolean类型用法:
boolean有两个文字值,即true和false(小写)。
注意:
Java中,数字值不能自动转换为boolean 。
例如:
int flag = 1;
if ( flag ) //Java Error! but C/C++ Correct
if (flag !=0) // OK,显示写出条件
boolean flag = true;
if( flag ) //OK,条件使用布尔值
char类型用法:
一个char代表一个16bit无符号的Unicode字符。
一般用法:char ch1='a', ch2='\n';
Unicode写法:
char ch='\u0041'; → 字母“A” \u开头,后跟4个16进制数字
Unicode编码查询:
http://www.unicode.org/
http://www.nengcha.com/code/unicode/class/
字符检测方法:
已知 char ch='a'; Character类
Character.isLetter(ch) -- ch是否是字母
Character.isDigit(ch) -- ch是否是数字
Character.isLetterOrDigit(ch) -- ch是否是字母或数字
Character.isWhitespace(ch) -- ch是否是空格
Character.isLowerCase(ch) -- ch是否是小写字母
Character.isUpperCase(ch) -- ch是否是大写字母
符号常量:
自定义符号常量:final double PI=3.14159;
系统提供的符号常量,如:
Integer.MIN_VALUE
Integer.MAX_VALUE
变量初始化:
任何变量都必须经初始化后才能被使用。
注意:
当一个对象被创建时,在方法外定义的变量(属性)将被自动初始化。
public class test {
private int i=100, j; //j、f实例化后将自动初始化
private boolean f;
public void display(){
System.out.println("j="+ j );
System.out.println("f="+ f );
}
public static void main (String args[]) {
test t=new test();
t.display();
}
}
输出结果:
j=0
f=false
实例变量在分配存储单元的同时被下列值初始化:
byte、short、int:0
long:0L
float:0.0f
double:0.0d
char:'\u0000' (即Null)
boolean:false
所有引用类型: Null