美文网首页
Java4Android

Java4Android

作者: 木子丨Jay | 来源:发表于2017-03-23 10:38 被阅读0次

    Google选用了Java作为Android的开发语言,所以在学习Android以前,你需要掌握一些Java的基础知识。

    Java程序的基本结构

    下面是一个简单的Java程序,我们将通过它来讲解Java程序的基本结构。

    public class Main {
        public static void main(String[] args) {
            System.out.println("Hello World");
        }
    }
    
    • 运行方法:

      1. 在桌面创建一个文本文档,将文件名更改为Main.java;
      2. 用记事本打开Main.java,输入以上代码(注意大小写);
      3. Windows+R,在弹出的窗口中输入cmd,点击确定,输入:cd desktop,回车(也可以按住shift然后在桌面空白目录点击鼠标右键,然后选择:在此处打开命令窗口);
      4. 输入Javac Main.java,如果没有任何提示证明编译成功,可以继续下一 步。如果出现错误提示,由于可能的问题很多,请自己想办法解决;
      5. 输入java Main,如果一切正常你将看到屏幕上输出了:Hello World
        如果未能得到此结果,请自行解决。

    注:以后的Java程序都以这种方式运行,不再重复书写运行方式。

    • 代码分析

      • 关键字public称为访问修饰符,用于表示一个程序的其他部分对这段代码的访问权限,访问修饰符的更多内容将在后面介绍;
      • 关键字class用于表示这是一个类。类是Java的重要组成部分,后面会进行详细讲解,这里仅需要将它当成一个存放程序逻辑的容器。
      • class后面的Main这个类的名字(类名需首字母大写,后跟任意字母数字组合,但不能使用Java保留字,此外类名必须与文件名一致)。
      • public static void main(String[] args)声明了一个方法(函数),main是函数名,其余符号后面慢慢讲。

    基本结构介绍到这里,不懂的先不管,后面慢慢就会揭晓,下面介绍Java的数据类型。

    Java数据类型

    JavaScript的一个var吃遍天不同,Java对于变量有着严格的类型限制。下面对Java的常用类型做了简单总结。

    • 整型

    整型用于表示没有小数部分的数值,允许是负数,Java提供了4种整型,具体如下:

    类型 占用空间 存储范围
    short 2字节 -32 768 ~ 32 767
    int 4字节 -2 147 483 648 ~ 2 147 483 647
    long 8字节 - 9 233 372 036 854 775 808 ~ 9 223 372 036 854 775 807
    byte 1字节 - 128 ~ 127

    在通常情况下,int比较常用,如果遇到int无法存储时再考虑用longshortbyte通常用于特定场合,遇到时再介绍。

    • 浮点类型

    浮点类型用于表示带有小数部分的数值。Java中有两种浮点类型,具体如下:

    类型 占用空间 存储范围 有效位
    float 4字节 大约 ±3.402 823 47E +38 6 ~ 7位
    double 8字节 大约 ±1.797 693 134 862 315 70E +308 15位

    在通常情况下,float的精度很难满足需求,所以一般使用double,当Android的坐标通常是使用float,除此之外,尽量用double

    注:3.402 823 47E +38是Java里的科学计数法,2.0E +10表示2.0乘以10的10次方。

    • char类型

    char类型用于表示单个字符。例如:char ch = 'A';

    注:与JavaScript不同的是,Java中字符用单引号包含,双引号表示字符串。

    • boolean类型

    boolean(布尔)类型只有两个值truefasle。通常用于逻辑换。

    注:与C语言不同的是,Java中整型与boolean类型不能互相转换,例如下面这段代码将产生一个错误:

    if(1)
      System.out.printf("it will produce an error");
    
    • String类型

    String(字符串)类型用于表示一串用双引号括起来的字符,例如:String str = "abc";

    注:严格来说String类型这样的叫法是错误的,因为Java没有内置String类型,而是在标准库中添加了一个名为String的类库。

    • 变量声明

    java中的变量声明和JavaScript类似,首先写上变量类型,然后写上变量名,然后以分号结尾。例如:int a;。也可以对其进行初始化操作,例如:double c = 1.0;

    注:和C语言不同的是,在Java中如果未对变量初始化,数值类型会自动被初始化为0,boolean类型会被初始化为false。

    • 常量声明

    常量的声明与比较简单,仅需在 变量类型前面添加关键字final,例如:
    final double PI = 3.1415926;

    注:常量通常采用全大写。

    • 数组声明

    数组通常采用以下形式声明:

    int[] numbers = new int[4];  //数据类型[] 数组名 = new 数据类型[数据个数];
    /*也可以声明时通过大括号进行初始化*/
    double[] numbers = new double[] {1.0, 2.0, 3.0};  //采用大括号进行初始化时不能再在[]里填数据个数
    

    数据类型的知识就介绍到这里,下面进入Java的重点内容——面向对象。

    面向对象程序设计

    我们常说面向对象编程,那什么是面向对象编程呢?这里我先不回答这个问题,随着学习的深入你会有一个自己独特的理解,但肯定不是面对你的女(男)朋友编程的意思。

    • 类(class)

    类是Java的一个重要组成部分,也是面向对象的编程需要掌握的重要内容。

    • 什么是类?

    类是一种宏观的概念,例如我们单独说人时就是指的的人类,此时的“人”可以看做一个类,“狗”也可以看成一个类。

    • 类之间的关系

    整个程序当然不可能只有一个类,不同的类之间可能存在着一些关系。Java中常见的关系有下列三种:
    + 依赖(uses-a):如果一个类的方法操作另一个的对象,我们就说一个类依赖另一个类。例如:如果将人与狗分别看成一个类,那人遛狗即是一种依赖关系。
    + 聚合(has-a):如果一个类包含了另一个类的对象,那么我们就说这是一种聚合关系。例如:你将狗作为了你的私有属性,那么你们之间就是聚合关系。
    + 继承(is-a):继承可以说是一种扩展关系,我们知道人与人之间是不同的,有白种人、黑种人、黄种人……当不管肤色任何,他们都属于人,那么黄种人类就可以说是继承自人类(其他亦然)。

      注:真实情况下继承关系需要特殊的说明。
    
    • 类中有什么?

    类中一般存放着一些属性,以及可以执行的操作。比如我们定义一个Person类:

    /**
    * 定义了一个Person类
    */
    public class Person {
       /**
        * 以下是Person类的一些属性
        */
       private int age;    //年龄
       private String sex; //性别
       private String name;    //性别
    
       /**
        * 这是一个构造方法,用于构造一个Person类对象,构造方法的名字必须和类名一致
        *构造器方法没有返回值
        */
       public Person(String name, int age, String sex) {
           //因为这里有两个name(类中一个,参数一个),为了区分它们通常在本类定义的变量(对象)前添加this.
           this.name = name;
           this.age = age;
           this.sex = sex;
       }
    
       /**
        * 以下是可以执行的操作
        */
    
       /**
        * 吃东西是每一个Person都应该会的,所以我们定义一个eat()方法
        */
       public void eat(String food) {
           //当然我们不可能真的让它吃东西,简单的打印一下吧
           //证明它已经吃了
           System.out.println("我吃了" + food);
       }
    
       /**
        * 走路
        */
       public void walk(String place) {
           System.out.println("我在" + place + "散步");
       }
    }
    

    一个人当然不可能只有这么一些操作,为了简单起见,就这样吧。

    注:你可能不知道privatepublic的意思,但是没关系,先忽略掉它们。

    • 对象

    面向对象中的对象终于出现了,有没有一丝小激动呢?

    • 什么是对象

    对象是类的实例。前面说类是一种宏观概念,那对象就是一个具体的东西了。比如人是一个类,那么具体的一个人就可以说是人类的一个对象,例如:张三就可以说是一个对象。

    • 构建对象

    创建对象的方法和声明一个变量的方法比较类似,你可以先下面一样声明:
    Person zhangsan = new Person("张三", 18, "男");
    首先是类名,后跟对象的名字(命名方式同变量),new关键字用于创建一个对象,还记得之前Person类中的构造器方法吗?new关键字会调用Person类的构造器方法对对象的属性(实例域)进行初始化,然后将初始化好的对象返回。

    好了,Java的基础知识就讲解到这,补充内容上课时再讲,这里的东西有不懂的可以问问部长或者我。

    相关文章

      网友评论

          本文标题:Java4Android

          本文链接:https://www.haomeiwen.com/subject/wvuanttx.html