JAVA——第三章——语言基础

之前已经总结了对象的状态存储中,Java程序语言经常会使用变量,下面总结变量与字段的关系,变量的命名规则和约定、基本的数据类型、默认值和字。

一. 变 量

1).实例变量(非静态字段)。对象将个体的状态存入非静态字段中,也就是说不用关键字 static 声明的字段,值唯一。
2).类变量。是用关键字 static 生命的任意字段,
3).局部变量。局部变量的声明没有特殊的关键字,完全取决于变量的位置,也就是说在方法体内生效,因此,局部变量只对声明他的方法可见,类的其他部分都不能访问该局部变量。
4).参数。即为方法的参数,参数总被归于变量,而非字段


二. 数据类型

数据类型(字段)默认值
byte0
short0
int0
long0L
float0.0f
double0.0d
char“\u0000”
string(或任意对象)null
boolenfalse

三. 数组
数组是固定数目的单一数据类型值得容器对象。创建数组是要指定其长度;创建后,其长度就固定了。下面的ArrayDemo创建了一个整型数组anArray,并赋予了anArray[1]的值为1

public class ArrayDemo{
    public static void main(String[] args){
        int[] anArray = new int[10];
        anArray[0]=1;
        for(int i=1;i<10;i++){
            anArray[i]=anArray[i-1]+2;
        }
        for(int j=0;j<10;j++){
            System.out.println(anArray[j]);
        }
    }
}

(1)声明变量引用数组
与其他类型的变量声明一样,数组声明也包含两个组件:数组类型和数组名。写法type[]。数组名可以是任意名称,但是该声明不会创建数组,而只是告诉编译器该变量可用于保存特定类型的数组。

(2)创建、初始化和访问数组
创建数组的方法是使用new运算符

anArray = new int[10]

也可以用两个或多个方括号声明多维数组,如String[][] names。其元素必须用相应的索引值来访问。

(3)复制数组
Java中System类有arraycopy方法,可用于数组之间数据的高校复制:

public static void arraycopy(Object src,int srcPos,
        Object dest,int destPos,int length)

两个 object 参数分别指定源数组和目的数组,三个 int 参数分别指定源数组的起始位置、目的数组的起始位置和待复制的元素个数。如下:

public class ArrayCopyDemo{
    public static void main(String[] args){
        char[] copyForm =     {'d','e','f','g','h','i','j','k','l','m'};
        char[] copyTo = new char[7];
        System.arraycopy(copyForm,2,copyTo,0,7);
        System.out.println(new String(copyTo));
    }
}

输出结果如下:

fghijkl

四. 运算符

简单赋值运算符
=简单赋值运算符
算术运算符
+
-
*
/
%取模
一元运算符
+表示正值
-一元减运算符;否定表达式
++递增运算符;值将加一
递减运算符;值将减一
逻辑补运算符;反转布尔值
等式和关系运算符
==等于
!=不等于
>大于
<小于
条件运算符
&&逻辑与
?:三元运算符
类型比较运算符
instanceof将对象和指定的类型进行比较
位与移位运算符
~一元按位求补
<<带符号左移
>
带符号右移
>
无符号右移
&按位与
^按位异或

类型比较运算符例子:

public class test{
    public static void main(String[] args){

        Parent obj1 = new Parent();
        Parent obj2 = new Child();

        System.out.println("obj1 instanceof Parent:"
            + (obj1 instanceof Parent));
        System.out.println("obj1 instanceof Child:"
            + (obj1 instanceof Child));
        System.out.println("obj1 instanceof MyInterface:"
            + (obj1 instanceof MyInterface));
        System.out.println("obj2 instanceof Parent:"
            + (obj1 instanceof Parent));
        System.out.println("obj2 instanceof Child:"
            + (obj1 instanceof Child));
        System.out.println("obj2 instanceof MyInterface:"
            + (obj1 instanceof MyInterface));
    }
}
class Parent{}
class Child extends Parent implements MyInterface{}
interface MyInterface{}

结果输出如下:

obj1 instanceof Parent:true
obj1 instanceof Child:false
obj1 instanceof MyInterface:false
obj2 instanceof Parent:true
obj2 instanceof Child:false
obj2 instanceof MyInterface:false
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值