Java基础学习(03Java数据处理)

学习重点:
变量、函数、数组、运算符

 

变量:

    简单的解释,变量就是可以改变值的量,变量是用来保存数据的,就像水杯是用来保存水的作用一样。数据的类型也有不同,就像水杯和皮包中的内容不能互换一样。变量本身不占用内存空间,而是其中的数据会占用部分内存空间。变量相关内容还包括数据类型、数组和常量,后面会详细介绍。

函数:

    函数又叫做方法,用来实现某个特定的操作过程,就像把面团放进烤箱就会出来面包一样,烤箱中就是特定的操作过程。
    最近领导想自己做面包了,去商场选烤箱,导购MM耐心的给我介绍:A品牌烤箱需要放进一个面团,会出来一个面包(不错,很方便);B品牌烤箱放进去一个面团、一根香肠,会出来一个热狗(流口水);C品牌烤箱什么都不放就可以出来汉堡堡?(太好了,就要它)。原来函数可以有0至N个参数。
    上述的例子中,函数都会给我们返回一点东西,但有时候函数并不需要返回,例如烤箱坏了,我们调用维修函数,维修对烤箱的性质进行了调整,并没有给我们什么新的东西。记住,函数可以有或没有返回值。
    函数相关的概念还有调用、传参等,后面我们会慢慢学习。

数据类型:

    Java是一种强类型语言,它的数据类型包括基本数据类型(8种)、类、接口和数组。

Java的8种基本数据类型:

  • byte 1字节  -128~127
  • short 2字节  -32768~32767
  • int  4字节  -2147483648~2147483647
  • long 8字节  -9223372036854775808~9223372036854775807
  • float 4字节  1.4e-045~3.4e+038
  • double 8字节  4.9e-324~1.8e+308
  • char 2字节  0~65535
  • boolean 1字节  true/false

基本类型的封装类:

    为什么需要封装类?

        基本数据类型不是类,不是继承Object;

        基本数据类型没有用来进行类型转换和助理的各种方法;

  • byte  java.lang.Byte
  • short  java.lang.Short
  • int   java.lang.Integer
  • long  java.lang.Long
  • float  java.lang.Float
  • double  java.lang.Double
  • char  java.lang.Character
  • boolean  java.lang.Boolean

数据类型转换:

    我们在具体的开发过程中,常常需要把一种类型的值赋给另一种数据类型的变量,这样我们就需要转换数据类型。

        1、自动类型转换:

            自动类型转换需要在互相兼容的数据类型间进行,比如数字类型是相互兼容的,而和字符串类型或布尔类型则不兼容。

            只能有小范围数据类型向大范围数据类型转换,就像可以把杯子中的水全部倒入水盆中,而水盆中的水不能完全倒入杯子中那样。例如:

                byte b = 21;

                int i = b; // 正确的,byte取值范围小于int取值范围

                short s = i; // 错误的,int取值范围大于short取值范围

        2、强制类型转换:

               强制转换为了解决不兼容数据之间的转换,这是一种显性的类型转换,格式为:(type) value; 例如:

                int i = 128;

                byte b = (byte)i;

                128超出了byte的取值范围1,转化完成后b显示为-128,如果a等于129,则b将显示为-127直到byte的256个范围用完后开始取模。

复杂数据类型:

    Java 虚拟机(JVM)定义了索引数据类型:

        Java 没有指针,采用的是地址引用法。

        一个对象可以被一个以上的索引引用。

 索引类型分为三种:

     类;

     接口;

     数组;

 类:

        类是指定义属性和方法的数据类型,类需要声明和实例化,例如下面是一个简单的类定义:

 

class Student{
     public Student(){
     }
}
  接口:
        接口是一种模版,里面定义了对象必须实现的方法。我们可以把接口想象成一种对象的抽象,这个对象必须具备什么样的功能,就是接口要研究的内容,例如下面的接口定义:

public interface MyInterface{

    public void work();

}

     这样所有实现了MyInterface接口的类就必须实现work方法,所以说接口定义了类的行为,可以理解成一种模版。

数组:

     将多个基本数据类型或复杂数据类型组织在一起就成为了数组,数组在内存空间中是连续排列的。

            int [] arr = null;

            int [] arr = new int[5];

            int [] arr = {1, 52, 31, 9};

            MyClass [] mc = null;

            MyClass [] mc = new MyClass[8];

            注:针对复杂数据类型还需要针对每个数组元素进行构造方可使用。

        数组是多个相同类型变量的集合;

        数组可以定义成任何数据类型;

        数组可分为一维数组和多维数组;

        数组种的元素通过下标访问,下标由0开始;

        数组由一对以上的方括号“[]”表示。

    一维数组相当于相同类型变量的列表。

       格式: TYPE  name[]; 

       例如: int  number[]; 

       此时数组 number 的初始值为 null 。

       初始化: name = new  TYPE[size];

       例如: number = new  int[12]; 

       所有元素的初始值为该类型的默认初始值,int 类型为0 ,给每个元素赋值需要遍历所有数组元素。

       number[0] = 19;

       number[1] = 24;

       number[2] = 13;

       ……

       number[11] = 8;

       对于简单数组的赋值可采用下面方法:

            int  number[5] = {23, 16, 9, 17, 31};

        如果大括号中填写的数值不够声明中的数字:

            int  number[5] = {23, 16, 9};

            剩下的 number[3] 和 number[4] 取值为该类型默认值0。

        还可以在声明时不写数组数量,由右边大括号中的具体数量作为直接参考:

            int  number[ ] = {23, 16, 9, 17, 31};

        例,在控制台将26个英文字母按顺序打印出来:

        char  c[] = new  char[26];

        for ( int i = 0; i < c.length; i++ ) {

            c[i] = (char) (‘a’ + i);

            System.out.print( c[i] + “  ” );

        }

    多维数组:

        在 Java 中,二维或二维以上数组统称多维数组,我们可以把多维数组理解成数组的数组。
        int  twain[ ][ ] = new int[ 3 ][ 4 ];

Java基础学习(03Java数据处理)_第1张图片

        例3.1:编程将上页图形中的数组赋值并打印到控制台。

        多维数组在分配内存时,可以只为第一维指定内存,然后再分配其它维的内存,并且不需要每个维的元素数量都相同。

        例3.2:编程实现一个二维数组,声明时先给第一维分配内存,第二维在循环中按照递减方式分配内存。

  对二维数组进行初始化时,可以使用一对大括号“{}”中间再加一些大括号“{}”的方法。

            int  myArray[ ][ ] = {{2, 3, 12}, {51, 0, 23}, {1, 37, 20}};

            三维数组也可以用同样地方法。

        例3.3:编程实现一个三维数组,数组中各个元素都是程序分配的。

运算符:

    Java 的运算符可归纳为四种:

        算术运算符

        位运算符

        关系运算符

        逻辑运算符

    算术运算符常用于算术表达式中,使用方法和我们平时使用的算术运算一样:

Java基础学习(03Java数据处理)_第2张图片

    Java 的位运算符是在整数范围内对位进行操作:Java基础学习(03Java数据处理)_第3张图片

        例3.4:编程验证位运算符
    运算两个运算数的对比关系就叫关系运算符:

Java基础学习(03Java数据处理)_第4张图片

        关系运算符有两个运算数:

Java基础学习(03Java数据处理)_第5张图片

        关系运算符一定返回布尔值;
        关系运算符经常用于条件或循环语句,如:if语句、for语句、while语句等。
        例3.5:编程实现条件语句和循环语句,使用多种关系运算符。
    逻辑运算符又称为布尔运算符,它的操作数只能是布尔类型的,而且逻辑运算的结果也是布尔类型的。Java基础学习(03Java数据处理)_第6张图片

        例3.6:编程验证逻辑运算符

 运算符的优先级:

Java基础学习(03Java数据处理)_第7张图片

 

本文中涉及的所有源代码下载地址:http://download.csdn.net/source/556311

 

<待续>

本Blog中文章均为原创,欢迎转载,但请著名作者:米强,出处:http://hi.csdn.net/mq612

你可能感兴趣的:(Java基础,java,byte,编程,null,interface,object)