1. 标识符命名规则:由字母、“_”、“$”或数字组成,并以字母、下划线、美元符开头。
2. 局部变量:方法或语句块内部定义的变量
成员变量:方法外部、类的内部定义的变量
3. java数据类型:引用数据类型、基本数据类型。
引用数据类型:类(class)、接口(interface)、数组。
基本数据类型:布尔型(boolean)只允许取值true或false
字符型(char)用单引号括起来的单个字符,转义字符,如'\n'换行
浮点类型(float, double)
整数类型(byte,short,int,long)
4. 基本数据类型转换:byte,short,char->int->long->float->double
byte,short,char之间不会互相转换,他们三者在计算时首先回转换为int类型
有多种类型的数据混合运算时,系统首先自动的将所有数据转换成容量最大的那一种数据类型,然后再进行计算。
5. Java 语言支持如下运算符:
算术运算符: +,-,*,/,%,++,--{++(--)在前时先运算再取值。在后时先取值再运算。}
关系运算符: >,<,>=,<=,= =,!=
逻辑运算符: !,& , | , ^ , &&,||
位运算符: &,|,^,~ , >>,<<,>>>
赋值运算符: =
扩展赋值运算符:+ =,- =,* =,/ =
字符串连接运算符:+
6. 运算符优先级
注意:字符串连接符优先级等同于+号
[table]
|. ( ) { } ; ,++ -- ~ ! (data type)
|
|* / %
|
|+ -
|
|<< >> >>>
|
|< > <= >= instanceof
|
|== !=
|
|&
|
|^
|
||
|
|&&
|
|||
|
|? :
|
| = *= /= %= += -= <<= >>= >>>= &= ^= |=|
[/table]
7. 语句
8. 递归
2. 局部变量:方法或语句块内部定义的变量
成员变量:方法外部、类的内部定义的变量
public class TestVar{
int j;
public static void main(String [] args){
int x = 0;
System.out.println(j);//输出0 成员变量默认初始化为0
System.out.println(x);//输出0 局部变量必需初始化后才能使用
}
void m1 (){
{
int x = 0;
}
int x = 0;
}//第一个x只存在于那一对大括号内,对第二个不影响
void m2 (){
int x = 0 ;
{
int x = 0 ;
}
}//产生冲突
}
3. java数据类型:引用数据类型、基本数据类型。
引用数据类型:类(class)、接口(interface)、数组。
基本数据类型:布尔型(boolean)只允许取值true或false
字符型(char)用单引号括起来的单个字符,转义字符,如'\n'换行
浮点类型(float, double)
整数类型(byte,short,int,long)
4. 基本数据类型转换:byte,short,char->int->long->float->double
byte,short,char之间不会互相转换,他们三者在计算时首先回转换为int类型
有多种类型的数据混合运算时,系统首先自动的将所有数据转换成容量最大的那一种数据类型,然后再进行计算。
class TestConvert {
public static void main(String arg[]) {
int i1 = 123;
int i2 = 456;
double d1 = (i1+i2)*1.2;//系统将转换为double型运算
float f1 = (float)((i1+i2)*1.2);//需要加强制转换符
byte b1 = 67;
byte b2 = 89;
byte b3 = (byte)(b1+b2);//系统将转换为int型运算,需要强制转换符
System.out.println(b3);
double d2 = 1e200;
float f2 = (float)d2;//会产生溢出
System.out.println(f2+1);
float f3 = 1.23f;//必须加f
long l1 = 123;
long l2 = 30000000000L;//必须加l
float f = l1+l2+f3;//系统将转换为float型计算
long l = (long)f;//强制转换会舍去小数部分(不是四舍五入)
System.out.println(f);
System.out.println(l);
}
}
5. Java 语言支持如下运算符:
算术运算符: +,-,*,/,%,++,--{++(--)在前时先运算再取值。在后时先取值再运算。}
关系运算符: >,<,>=,<=,= =,!=
逻辑运算符: !,& , | , ^ , &&,||
位运算符: &,|,^,~ , >>,<<,>>>
赋值运算符: =
扩展赋值运算符:+ =,- =,* =,/ =
字符串连接运算符:+
6. 运算符优先级
注意:字符串连接符优先级等同于+号
[table]
|. ( ) { } ; ,++ -- ~ ! (data type)
|
|* / %
|
|+ -
|
|<< >> >>>
|
|< > <= >= instanceof
|
|== !=
|
|&
|
|^
|
||
|
|&&
|
|||
|
|? :
|
| = *= /= %= += -= <<= >>= >>>= &= ^= |=|
[/table]
7. 语句
public class TestIF{
public static void main(String [] args){
int i = 2 ;
if(i<=5){
System.out.println("i<=5");
} else if(i<=10){
System.out.println("5<i<=10");
} else {
System.out.println("i>10");
}
}
}
public class TestSwitch{
public static void main(String [] args){
int i = 8;
switch(i){//这里边只能是int类型
case 2:
//System.out.println("A");
//break;
case 4:
System.out.println("B");
break;
case 6:
System.out.println("C");
break;
case 8:
System.out.println("D");
break;
default:
System.out.println("F");
}
}
}
public class TestWhile{
public static void main(String [] args){
int j = 1;
do{
int i = 1;
System.out.println(j);
j++;
}while(j <= 5);//别丢了分号;do{}里边的语句至少执行一次
int i = 1;
while(i <= 5){
System.out.println(i);
i++;
}
}
}//在do里边定义的变量,用在while括号里不能用
public class TestFor{
public static void main(String [] args){
int i = 1;
for(;i<=5;i++){
System.out.println(i);
}
i = 1;
for(;;){
if(i > 5)
break;
if(i ==3)
continue;
System.out.println(i);
i++;
}
System.out.println("i="+i);
}
}
8. 递归
public class TestFib{
public static void main(String [] args){
System.out.println(fib(6));
System.out.println(fib2(6));
}
//递归方法
public static int fib(int i){
if(i == 1 || i == 2){
return 1;
} else {
return fib(i - 1)+fib(i - 2);
}
}
//普通方法
public static int fib2(int i ){
int x=1,y=1,s=0;
if(i <= 0 ){
return -1;
}
if(i == 1 || i == 2){
return 1;
}
for(;i > 2;i--){
s=x+y;
x = y;
y = s;
}
return s;
}
}