`
Swifly
  • 浏览: 13419 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

二、基础语法

阅读更多
1. 标识符命名规则:由字母、“_”、“$”或数字组成,并以字母、下划线、美元符开头。
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. 运算符优先级
   注意:字符串连接符优先级等同于+号
.   ( )   { }   ;   , ++ --   ~ ! (data type)
* / %
+ -
<< >> >>>
<  >  <=  >=  instanceof
== !=
&
^
&&
? :
=   *=   /=   %=  +=   -=   <<=   >>=   >>>=   &=   ^=   =


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;
	}
}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics