Java基本语法--变量

Variables
    
    就像之前的课程所说一样,一个对象把它的属性存在fields里面;
    
        int cadence = 0;
        int speed = 0;
        int gear = 1;
    
    前面介绍了fields的概念,但是可能你还有些问题,如:变量的命名规则,除了int以外还有别的数据类型?当变量声明的
    时候他初始化了吗?变量是不是有一个默认值如果没有初始化,我们会在这里一一解答,但是在讲之前,有些约定你必须注意,
    在java里面 “field”和“variable” 都被使用;这个是新开发人员普遍的误区,都认为field和变量是一回事。
    
    在java语言里,定义以下几种类型的变量:
    
        1.变量实例(不是静态 空间) 专业的说,对象把他们独立的属性存在 非静态空间, 也就是说,fields 定义没有static
        关键字,非静态领域被认为是变量实例,因为他们的变量对于不同的类实例来说是不同的, 一个bike的currentSpeed跟另外
        一个bike的currentSpeed是不同的
        2. 类变量 (静态变量) 一个类的的static变量,它告诉编译器 只有这个变量只有一块拷贝地址,无论这个类被多少次实例化。
        如 对某一种特别的自行车,可以定义 static int numGears = 6;将创建这么一块静态空间,另外 如果不想修改他的大小 直接
        在前面加final 这样 这个gears的个数就不会被改变了。
        3. 局部变量 就是指在区域里面定义的变量,如在一个方法中定义的变量,它的作用域只能在这个方法内有效,出了作用域外就
        没有作用了。
        4. Parameters 你已经看到过参数的例子了 就是函数中的变量 通过外部传进来 作用函数内部。主要参数是变量不是fields
        
    命名
    
    每一种编程语言都有自己的命名规范,java也不例外,java的命名规则和约定如下:
    
        1.java区分大小写,约定都以字母开始,不能用别的符号,虽然以“_”开始时合法的 但是最好别用,而且变量之间不能用空格
    
        2. 命名建议 尽量使用全拼,方便代码阅读,代码本身就是注释。 然后选择value不能使用java关键字
        
        3.如果你的变量只有一个单词 用小写,如果有多个 第一个小写 后面几个开头大写,如果你的变量是常量,就用大写形式,每个
        单词之间用下划线。除此之外下划线一般不使用
        
    如下优秀的命名: int speed;  String gearRatio;  int currentGear;  static final NUM_GEARS = 6;
        
Primitive Data Types

    java语言如果是static-typed的, 就是说所有的变量必须在使用前被声明。这种声明并初始化的方式如下:
    
        int gear = 1;
    这样做告诉你的程序 一个叫gear的变量已经存在了, 并且拥有数据 。除了int java支持另外7种原始数据类型,一个原始数据类型是指
    提前被语言定义,并且命名为一个保留的关键字,原始类型变量不和其他原始类型变量共享属性,8种java语言支持的原始数据类型:
        
        byte byte数据类型是一个8位 范围 -128到127, byte类型被用来存储大的数组内存,还可以替代int
        
        short short data 16位  范围 -32768到32767 跟byte一样 可以用来存储打的数组内存
        
        int  32位 范围 -2147483 到2147483647 这个数据类型默认选择使用表示数据大小 足够存储数据在你的程序里 如果不够 还可以更大的long
        
        long  64位  主要用来替代int来表示更大的数据
        
        float 32 用来存储浮点型的数据;
        
        double 用来存储小数 默认
        
        boolean 有两种状态 true 和 false
        
        char 16-bit Unicode 最小 ‘\u 0000’ 最大 ‘\uffff’.
        
        除此之外 java语言还有之中特殊的数据类型 String 不用new就可以使用的对象
        
    Arrays
    
        数组时一个容器对象,用来容纳多个简单类型的变量, 数组的长度在数组创建的时候就已经确定好了,创建以后 这个长度就定死了。
        数组的声明: int[] anArray;
        数组demo:
        
            class ArrayDemo {
                public static void main(String[] args) {
                    // declares an array of integers
                    int[] array;
                    
                    //allocates memory for 10 integers
                    array = new int[10];
                    
                    //initialize :
                    for(int i =0; i < 10; i++){
                        array[i] = i;
                        System.out.println("The Element at index" +
                            i + ":" + array[i]);
                    }
                }
            }
        
        除了int数组 还有别的类型数组 如 byte short long double float char string boolean
        同时 你可以把[]转移到变量后面 如: int array[];
        这种方式不好,建议还是用 第一种方法 这样能一眼就看出是Array
        
    创建 初始化 并且访问数组
    
    第一种方法就是用new 如之前的demo: array = new int [10];
    
    如果这个语句没有 就会报错 :ArrayDemo.java:4: Variable anArray may not have been initialized.
    
    第二种方法: int[] array = {10,9,8,7,6,5,4,3,2,1,0};
    
    数组长度计算 ;
    int length;
    int[] array = {....};  
    length = array.length;
    
    copying arrays
    
    public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length);
    
    举个例子:
        class ArrayCopyDemo {
        
            public static void main(String[] args) {
            
                char[] copyFrom  = {'f','u','g','u','o','c','a','n'};
                char[] copyTo = new char[];
                
                System.arraycopy(copyFrom,2,copyTo,0,7);
                System.out.println(new String(copyTo));
            
            }
            
        }
    
    
    
    
   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值