精华内容
下载资源
问答
  • Java数组的声明基本数据类型的数组声明方式如下:type var[]type[] var;其中:type 用来标识数组的类型名,主要用来表示数组中元素的类型;var 用来声明数组的变量名。其基本的定义方式如下:i...

    在《Java数组简介》一节中,我们已经了解了什么是数组、什么是基本数据类型的数组,那么大家是不是迫不及待地想知道一个基本数据类型的数组是什么样子的呢?下面我们就一起来揭开它神秘的面纱吧!

    Java数组的声明

    基本数据类型的数组声明方式如下:

    type var[]

    type[] var;

    其中:

    type 用来标识数组的类型名,主要用来表示数组中元素的类型;

    var 用来声明数组的变量名。

    其基本的定义方式如下:

    int[] scores;

    char set[];

    需要说明的是,在 Java 语言中声明数组时不能指定其长度,即不指定数组中元素的个数,类似于“ int a[5]; ”这样的定义方式是非法操作。

    经过上面的操作,我们就在栈空间开辟了一个空间,存放着局部变量和对象的引用(数组可以看作一个对象,元素都是它的属性),如图 1 所示。

    7723600959d4e44d72dd5e508277ecd9.png

    图 1  数组声明后在内存中的位置

    Java数组的初始化

    在上面我们学会了如何声明一个基本类型的数组,但是它现在还没有存放任何东西,还等着初始化,给它填充内容。现在就让我们一起来初始化它吧!

    动态初始化

    动态初始化指的是数组声明,且为数组元素分配空间与赋值的操作分开进行。初始化的时候使用关键字new。创建方式如下面的代码片段所示:

    public class Test {

    public static void main(String[] args) {

    int[] scores; // 声明数组

    scores = new int[3]; // 分配空间

    scores[0] = 80; // 为元素赋值

    scores[1] = 99;

    scores[2] = 88;

    }

    }

    声明数组的时候在栈空间开辟了一块区域,用于存储引用值,那么当我们使用关键字 new 为数组分配元素空间的时候发生了什么事呢?其实当我们使用关键字 new 之后,Java 虚拟机在内存中的堆空间开辟了一块区域,用于存放数组中的元素,声明数组的引用就指向这个堆空间,如图 2 所示。

    f00490df96a27145b1a05f68896f6a05.png

    图 2  数组初始化后的内存示意图

    静态初始化

    静态初始化是在定义数组时常用的初始化方式,即在定义数组的同时,就为数组元素分配空间并赋值。一般包含两种方式:声明之后初始化和声明的同时完成初始化。下面介绍如何完成这两种初始化方式。

    1)声明之后初始化

    public class Test {

    public static void main(String[] args) {

    int[] scores; // 声明数组

    scores = new int[] { 80, 99, 88 }; // 分配空间并赋值

    scores = {80,99,88}; // 另外一种方式

    }

    }

    2)声明的同时初始化

    public class Test {

    public static void main(String[] args) {

    int[] scores1 = new int[] { 80, 99, 88 }; // 声明数组、分配空间、赋值

    int[] scores2 = { 80, 99, 88 }; // 另外一种方式

    }

    }

    这时候的内存分配与动态初始化方式不同的是:动态初始化数组元素的值是默认值(int 就是0),而静态初始化在分配空间的同时,就已经为元素赋好了值,如图 3 所示。

    9cbfbd296284d1c676e71e1d80d7d067.png

    图 3  静态初始化数组的内存示意图

    默认初始化

    数组是引用类型,它的元素相当于类的成员变量,因此数组一经分配空间,其中的每个元素也会按照成员变量同样的方式被隐式初始化。

    对于基本数据类型而言,默认初始化值各有不同:

    byte、short、int、long 类型数组的元素的默认初始值是 0。

    float、double 类型数组的元素的默认初始值是 0.0。

    char 类型数组的元素的默认初始值是空格。

    boolean 类型数组的元素的默认初始值是 false。

    对于引用数据类型而言,默认初始化值为 null,如示例 1 所示。

    【示例 1】数组的默认初始化

    package chapter5;

    public class defaultInitClass {

    public static void main(String[] args) {

    int[] ints = new int[5]; // 定义不同数据类型的数组

    double[] doubles = new double[5];

    char[] chars = new char[5];

    boolean[] booleans = new boolean[5];

    String[] strings = new String[5];

    for (int i = 0; i < booleans.length; i++) { // 输出数组中的数值

    System.out.println("int数组第" + (i + 1) + "个元素值:" + ints[i]);

    System.out.println("double数组第" + (i + 1) + "个元素值:" + doubles[i]);

    System.out.println("char数组第" + (i + 1) + "个元素值:" + chars[i]);

    System.out.println("boolean数组第" + (i + 1) + "个元素值:" + booleans[i]);

    System.out.println("String数组第" + (i + 1) + "个元素值:" + strings[i]);

    }

    }

    }

    程序编译后,运行结果如下:

    int数组第1个元素值:0

    double数组第1个元素值:0.0

    char数组第1个元素值:

    boolean数组第1个元素值:false

    String数组第1个元素值:null

    int数组第2个元素值:0

    double数组第2个元素值:0.0

    char数组第2个元素值:

    boolean数组第2个元素值:false

    String数组第2个元素值:null

    int数组第3个元素值:0

    double数组第3个元素值:0.0

    char数组第3个元素值:

    boolean数组第3个元素值:false

    String数组第3个元素值:null

    int数组第4个元素值:0

    double数组第4个元素值:0.0

    char数组第4个元素值:

    boolean数组第4个元素值:false

    String数组第4个元素值:null

    int数组第5个元素值:0

    double数组第5个元素值:0.0

    char数组第5个元素值:

    boolean数组第5个元素值:false

    String数组第5个元素值:null

    通过示例 1 可以看出,在定义了数组之后,系统会给数组进行默认的赋值,如果不对数组的数值进行更改,那么在使用数组时会使用系统的默认数值。

    展开全文
  • 声明和实例化和初始化的区别

    声明 是指使用一个对象的时候,先定义属于哪个类型,比如str被赋值了String类型,String str;

    实例化 一般是由类创建的对象,在构造一个实例(对象)的时候需要在JVM堆内存中开辟空间,还没有赋值。
    但它的是默认值:null,从0到1,即:String str = new String();当new的时候为对象分配内存,这个过程是对象的实例化。

    初始化 在实例化的基础上,并且会把对象中的值进行赋一下初始值,从1到1.1。
    比如:String str ="HelloWorld!!!",初始化可以理解为给声明的对象赋值的过程。

    声明 是指生成实例(对象)不赋值的过程。

    初始化 是给实例(对象)赋值的过程。

    实例化 是使用new关键字为实例(对象)分配内存的过程。

    总结:

    声明:就是孤儿(无名无姓),初始化:就是生娃过程()赋值),实例化:就是生出来有名有姓的儿子(冒尖了)。

    展开全文
  • 循环定义初始化初始化一个变量。它可以在时间完成宣言。赋值:赋值给变量。它可以在任何地方完成,只有一次与最终标识符。声明:向变量声明值。[更新,试图用lambda calc理解主题]D(x type) = (λx.x is declared ...

    我发现defs是循环的,主题是由他们的动词定义的,但动词是不确定的!那么如何定义它们呢?

    循环定义

    初始化:初始化一个变量。它可以在时间完成

    宣言。

    赋值:赋值给变量。它可以在任何地方完成,只有一次与最终标识符。

    声明:向变量声明值。

    [更新,试图用lambda calc理解主题]

    D(x type) = (λx.x is declared with type)

    A(y D(x type)) = (λy.y is assigned to D(x type))

    %Then after some beta reductions we get initialization.

    D(x type) me human // "me" declared with type "human"

    A(y (D(x type) me human)) asking // "asking" assigned to the last declaration

    %if the last two statemets are valid, an initialization exists. Right?

    展开全文
  • Java语言是强类型(strongly typed)语言,强类型包含以下两方面的含义:所有的变量必须先声明、后使用。指定类型的变量只能接受类型与之匹配的值。这意味着每个变量每个表达式都有一个在编译时就确定的类型。类型...

    Java 语言是强类型(strongly typed)语言,强类型包含以下两方面的含义:所有的变量必须先声明、后使用。

    指定类型的变量只能接受类型与之匹配的值。

    这意味着每个变量和每个表达式都有一个在编译时就确定的类型。类型限制了一个变量能被赋的值,限制了一个表达式可以产生的值,限制了在这些值上可以进行的操作,并确定了这些操作的含义。常量和变量是 Java 程序中最基础的两个元素。常量的值是不能被修改的,而变量的值在程序运行期间可以被修改。本文详细介绍 Java 中变量的声明和赋值方法。

    声明变量

    对开发人员来说,变量是用来描述一条信息的别名,可以在程序代码中使用一个或多个变量。变量中可以存储各种类型的信息,如登录信息、版本名称、文件的大小、某个英文单词以及飞机票价格等。在 java 中用户可以通过指定数据类型和标识符来声明变量,其基本语法如下所示:

    DataType identifier;

    或者

    DataType identifier=value;

    上述语法代码中涉及 3 个内容:DataType、 identifier 和 value,其具体说明如下:DataType:变量类型,如 int、string、 char 和 double 等。

    identifier:标识符,也叫变量名称。

    value:声明变量时的值。

    变量标识符的命名规范如下:首字符必须是字母、下划线(―)、美元符号($)或者人民币符号(¥)。

    标识符由数字(0~9)、大写字母(A~Z)、小写字母(a~z)、下划线(―)、美元符号($)、人民币符号(¥)以及所有在十六进制 0xc0 前的 ASCII 码组成。

    不能把关键字、保留字作为标识符。

    标识符的长度没有限制。

    标识符区分大小写。

    如下代码分别声明了 String、boolean 和 int 类型的变量。String employee;    // String 类型的变量

    boolean isSave;    // boolean 类型的变量

    int create_at;    // int 类型的变量

    变量赋值

    初始化变量是指为变量指定一个明确的初始值。初始化变量有两种方式:一种是声明时直接赋值,一种是先声明、后赋值。如下代码分别使用两种方式对变量进行了初始化。char usersex='女';    // 直接赋值

    或者String username;    // 先声明

    username ="琪琪";    // 后赋值

    另外,多个同类型的变量可以同时定义或者初始化,但是多个变量中间要使用逗号分隔,声明结束时用分号分隔。String username,address,phone,tel;  // 声明多个变量

    int num1=12,num2=23,result=35;    // 声明并初始化多个变量

    Java 中初始化变量时需要注意以下事项:变量是类或者结构中的字段,如果没有显式地初始化,默认状态下创建变量并默认初始值为 0。

    方法中的变量必须显式地初始化,否则在使用该变量时就会出错。

    本文来自投稿,不代表访得立场,如若转载,请注明出处:http://www.found5.com//view/1181.html

    展开全文
  • 1 定义时系统会为定义的变量分配空间,而声明时,不会分配空间。这个是本质上的区别。 2定义在程序中只能出现一次,而声明可以多次。假如在程序的不同位置对变量进行了定义,那么...声明也就不能初始化。 ...
  • vector的声明初始化

    2021-09-16 17:40:17
    vector的声明初始化: 1.声明一个简单int容器 vector<int> v; 2.声明一个长度为5的容器 vector<int> v(5); 3.声明一个长度为5,所有元素初始值为0的容器 vector<int> v(5,0); 4.用已有的数组...
  • 一.Java变量的声明在 Java 程序设计中,每个声明的变量都必须分配一个类型。声明一个变量时,应该先声明变量的类型,随后再声明变量的名字。下面演示了变量的声明方式。double salary;int age;Boolean op;其中第一项...
  • 慕虎7371278有两种类型的数组。...给定值的语法(变量/字段初始化):int[]num={1,2,3,4,5};或者(不太喜欢)intnum[]={1,2,3,4,5};注意:为了方便int [] num更可取,因为它清楚地告诉你这里是关于数组的。否...
  • 变量声明有多种形式,未初始化的标准格式如下所示。var 变量名 变量类型定义一个变量名为 a 的 int 类型变量,示例代码如下:var a int批量声明初始化的变量,不需要每行都通过 var 关键字声明,具体语法格式如下...
  • 结构体初始化1、结构体的构造函数中初始化在C++中,结构体与类在使用上已没有本质上的区别了,所以可以使用构造函数来初始化。如下代码所示:struct Stu{int nNum;bool bSex;char szName[20];char szEmail[100];...
  • 对象的初始化

    2021-03-16 21:58:58
    上一篇博文简要分析了Java程序的执行流程,现在再来深入了解一下类对象的初始化,下面是转载的博文,人家整理的不错,就拿来主义了,哈哈。类的生命周期:分为装载,链接,初始化如图:1)装载:查找并装载类型的二...
  • 很多人都会把赋值和初始化混为一谈,下面我们就来研究一下赋值和初始化的区别。先上结论: 初始化 赋值 在变量生命周期中只能进行一次 可以无限次数进行 任何类型的变量都必须初始化(基本类型无初值也...
  • 给已经声明的对象进行赋值的过程,a=8,a已经别初始化初始化后其值为8 static int a,默认给a赋值0,静态是默认赋值 实例化:使用new为对象分配内存 对类进行实例化,Button b = new Button(),在进行new的时候会...
  • 有三个与此主题相关的术语:声明,初始化和实例化.从后到前工作.实例化这是为对象分配内存的时候.这就是新关键字正在做的事情.从new关键字返回对创建的对象的引用.初始化这是将值放入已分配的内存中的时间.这是使用...
  • C++ 语言变量 (variable) 初始化 - 赋值 - 声明 - 定义 变量提供一个具名的、可供程序操作的存储空间。C++ 中的每个变量都有其数据类型,数据类型决定着变量所占内存空间的大小布局方式、该空间能存储的值的范围,...
  • 在使用elementivew的表单重置时,发现this.ref[′formData′].reset(),这种方法未将我们预期的数据全部还原为声明时的数据,导致有脏数据,vue的api通过ref['formData'].reset(),这种方法未将我们预期的数据全部...
  • Java中对数组的声明初始化

    千次阅读 2021-03-15 21:18:03
    Java语言中,使用数组必须经过数组的声明和分配储存空间两个步骤。1.数组声明就是确定数组名,数组的维数和数组元素的数据类型,如以下int arr [] = null; int是数据类型,arr是数组名,null是给出的默认值,int [] ...
  • 首先,初始化父类中的静态成员变量静态代码块,按照在程序中出现的顺序初始化;2.然后,初始化子类中的静态成员变量静态代码块,按照在程序中出现的顺序初始化;3.其次,初始化父类的普通成员变量代码块,在...
  • Java基础(五):Java数组声明初始化

    千次阅读 2021-01-04 11:31:27
    1、初始化 Java语言中数组必须先初始化,然后才可以使用。 初始化就是为数组的数组元素分配内存空间,并为每个数组元素附初始值。 注意:数组完成初始化后,内存空间中针对该数组的各个元素就有个一个默认值: ...
  • 做您想要的事情的常用方法是:声明期间的初始化public class MyClass{private int i = 0;}通常,如果要为字段定义默认值,则是一个好主意。构造器块中的初始化public class MyClass{private int i;public MyClass(){...
  • 所有的变量必须先声明、后使用。 指定类型的变量只能接受类型与之匹配的值。 本篇文章由泉州SEOwww.234yp.com 整理发布,Java教程www.234yp.com/Article/198115.html谢谢合作! 这意味着每个变量每个表达式都有一...
  • Java类接口的初始化

    2021-03-06 14:08:07
    类的初始化由执行类中静态代码块的初始化和类中声明的静态域的初始化两部分组成接口的初始化由接口中声明的域(常量)的初始化组成初始化的时机类或接口T在以下任意情况发生之前会立即进行初始化:T是一个类并且创建了...
  • 【总结】一维数组、二维数组的声明和初始化 1.一维数组的声明和初始化:  1.1静态初始化:数组的初始化和数组元素的赋值操作同时进行  1.2动态初始化:数组的初始化和数组元素的赋值操作分开进行    数组一旦...
  • Java的赋值与初始化

    2021-03-16 19:21:06
    zhangleispirit@gmail.comJava的赋值和初始化包括很多容易被忽视的地方,在此分类总结如下:1.赋值相关:基本类型的赋值运算需要注意的是赋值时的类型转换问题,什么时候可以自动转换,什么时候需要强制类型转换是...
  • 结构体变量初始化

    2021-05-24 06:33:00
    数组的初始化,需要通过一常量数据列表,对其数组元素分别进行初始化,形式如下:数据类型 数组名称[数组长度]={初始化值1,初始化值2,…, 初始化值n};例如,定义长度为5的整型数组,并对其初始化的语句如下:int...
  • 2、初始化:(1)、初始化方式一://数组的定义:int a[length]; //这是数组的定义//可以使用for循环进行遍历初始化for (int i = 0; i < length; i++) {a[i] = i;}(2)、初始化方式二:int b[4] = {1,2,3}; //分配...
  • 在 Java 中初始化 List 的五种方法

    千次阅读 2021-02-26 14:07:18
    Java 中经常需要使用到 List,下面简单介绍几种常见的初始化方式。1.构造List后使用List.add初始化这是最常规的做法,用起来不太方便。2.使用{{}}双括号语法这种方式相对方便了一些。外层的{}定义了一个 LinkedList ...
  • c++在类的声明中初始化私有成员变量 之前的学习都没有... } 结果 调用构造函数可以只给一个参数,按声明中参数的顺序排列初始化,给的一个参数就对应第一个,给两个就对应前两个参数 函数声明和定义中的参数顺序要一致
  • Java 对象初始化

    2021-02-26 21:18:01
    Static BlockEmployee Company:china softNon-Static BlockEmployee phone:0755-51595599Employee(String)Empoloyee()下面我们来对结果做分析:1在代码34行实例化对象时,先对给静态变量分配内存空间并初始化,然后...
  • C语言变量的初始化

    2021-05-24 01:14:35
    1. 全局变量的初始化对于不同编译单位的全局变量,其初始化的顺序没有任何的保证,因此对不同编译单位里的全局变量,在它们的初始化顺序之间建立依赖性都是不明智的。此外也没办法捕捉到全局变量初始化抛出的异常,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 973,328
精华内容 389,331
关键字:

初始化和声明

友情链接: yggl.rar