首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

基础门类和语法

2012-10-10 
基础类型和语法一、变量及其作用范围java变量可以分为:静态变量、成员变量和局部变量3种。静态变量指的是在类

基础类型和语法

一、变量及其作用范围

java变量可以分为:静态变量、成员变量和局部变量3种。

静态变量指的是在类中用static修饰的变量。====》生命周期由类来决定,当类加载的时候他就生成并初始化。

成员变量是在类中没有用static修饰的变量。====》生命周期由对象来决定,当对象加载的时候他就生成并初始化。

局部变量是定义在方法里的变量、方法的参数或者代码块里定义的变量。====》作用范围用大括号{}来界定,随着方法的调用而生成,随着方法的执行而消失。

?

二、两种大的数据类型

java的变量分为基本数据类型和引用数据类型两种大的数据类型。

?

基本数据类型:byte、short、int、long、float、double、boolean和char。(8种基本数据类型)它们存储的都是数据量比较小的数据,只需要1个或少量几个字节就可以了。因此,这些数据类型的变量的二进制值就直接保存着它们的值。

?

引用数据类型是除了基本数据类型以外的数据类型,它主要用来指向某个对象,有点像C里面的指针,但是没有像指针那么灵活。对象保存的数据一般都比较大,如果传参数、赋值等工作的时候,每次都把数据完全的拷贝一次就会影响到效率。因此java就为所有操作对象的类型定义了一种引用类型的数据。

?

注意:引用数据类型的变量,在作用域上和基本数据类型是一样的,它们也有一定的生存周期,只不过它们的存值特别了一点,是一个内存地址。

?

三、java中的main()方法

main()方法是java程序的执行入口,它是一个定义在类中的、公开的、静态的、无返回值的、参数为一个字符串数组的方法,他的参数args与执行参数一一对应。例如:

public class Main{      //main()方法,程序的入口函数      public static void main(String [] args)      {       }}

?

四、equal和==的区别

equal和==两者均为表示相等的意思,但是他们相等的含义却是有所区别。

==御用在基本数据类型的时候,通过比较他们实际的值来判定是否相同;而用于比较引用类型的时候,则是比较他们两个引用的地址是否相等,也就是是否只想同一个对象。

equal方法是java.lang.Object的方法,也就是所有的java类都会有的方法。它可以被程序员覆盖重写,通过自定义的方法来判定两个对象是否相等,对于字符串java.lang.String类来说,它的equal方法用来比较字符串的字符序列是否完全相等(也就是值是否相等)

例如:

public class  EqualTest{public static void main(String[] args) {String a="1234";String b="1234";String c=new String("1234");System.out.println(a==b);System.out.println(a==c);System.out.println(a.equals(c));}}

?

执行结果:

基础门类和语法

?

解析:

第二个为false的原因在于a、c指向的是不同的对象。==运用在基本数据类型的时候,通过比较它们实际的值来判定是否相同;而用于比较引用类型的时候,则是比较两个引用的地址是否相等。也就是是否指向同一个对象。通过new String()来创建的字符串会单独生成一个对象,所以a、c指向的不是同一个对象。

?

重载equal方法的例子如下:

class Student{private String name;private int age;public Student(String name,int age){this.name=name;this.age=age;}public boolean equals(Object obj){Student stu=(Student)obj;return this.name.equals(stu.name)&&this.age==stu.age;}}public class EqualTest02{public static void main(String[] args) {Student stu1=new Student("zhangsan",20);Student stu2=new Student("zhangsan",20);System.out.println(stu1.equals(stu2));}}

?

?

结果如下:

基础门类和语法?

?

如果把名字后者年龄其中一个改掉的话,就是false;

?

?

五、java的几种循环结果,以及特点。

?

java提供了3种循环结构,即:for、while、do...while语句。它们各自适用不同的情况,其中,for循环适合于能确定循环次数的循环结构。while语句则适合单条件的循环,而do...while语句在执行某段代码之后,再循环的时候更适合一些;

?

下面本别用着三种形式输出1....100:

//forfor(int i=1;i<=100;i++){System.out.println(i);}//whileint i=1;while(i<=100){System.out.println(i);i++;}//do...whileint i=1;do{System.out.println(i++);}while (i<100);

?

?

六、java中的三元运算符

?

语法如下:表达式1?表达式2:表达式3

相当于if~else

在问号?之前是一个布尔表达式,它只能返回true或者false,如果表达式1返回的是true则执行表达式2,否则执行表达式3,并返回相应的值。(这样做的好处是使代码更加简洁)

?

下面给一个例子:

public class Max{public static void main(String [] args){int a=5,b=6;String result=null;System.out.println("========三目运算========");result=a>b?"a bigger than b":"b bigger than a";System.out.println(result);System.out.println("========if~else========");if(a>b){System.out.println("a bigger than b");}else{System.out.println("b bigger than a");}}}

?

运行结果:

基础门类和语法

?

每天一点点希望对大家有帮助~基础门类和语法

热点排行