尚硅谷_宋红康_Java中的数据存储机制(1) —数组

合集下载

115个Java面试题和答案——终极(上)_尚硅谷_宋红康

115个Java面试题和答案——终极(上)_尚硅谷_宋红康

题目:115个Java面试题和答案——终极(上)本文我们将要讨论Java面试中的各种不同类型的面试题,它们可以让雇主测试应聘者的Java 和通用的面向对象编程的能力。

下面的章节分为上下两篇,第一篇将要讨论面向对象编程和它的特点,关于Java和它的功能的常见问题,Java的集合类,垃圾收集器,第二篇主要讨论异常处理,Java小应用程序,Swing,JDBC,远程方法调用(RMI),Servlet和JSP。

目录面向对象编程(OOP)常见的Java问题Java线程Java集合类垃圾收集器面向对象编程(OOP)Java是一个支持并发、基于类和面向对象的计算机编程语言。

下面列出了面向对象软件开发的优点:代码开发模块化,更易维护和修改。

代码复用。

增强代码的可靠性和灵活性。

增加代码的可理解性。

面向对象编程有很多重要的特性,比如:封装,继承,多态和抽象。

下面的章节我们会逐个分析这些特性。

封装封装给对象提供了隐藏内部特性和行为的能力。

对象提供一些能被其他对象访问的方法来改变它内部的数据。

在Java当中,有3种修饰符:public,private和protected。

每一种修饰符给其他的位于同一个包或者不同包下面对象赋予了不同的访问权限。

下面列出了使用封装的一些好处:通过隐藏对象的属性来保护对象内部的状态。

提高了代码的可用性和可维护性,因为对象的行为可以被单独的改变或者是扩展。

禁止对象之间的不良交互提高模块化。

参考这个文档获取更多关于封装的细节和示例。

多态多态是编程语言给不同的底层数据类型做相同的接口展示的一种能力。

一个多态类型上的操作可以应用到其他类型的值上面。

继承继承给对象提供了从基类获取字段和方法的能力。

继承提供了代码的重用行,也可以在不修改类的情况下给现存的类添加新特性。

抽象抽象是把想法从具体的实例中分离出来的步骤,因此,要根据他们的功能而不是实现细节来创建类。

Java支持创建只暴漏接口而不包含方法实现的抽象的类。

java数组的用法

java数组的用法

java数组的用法
Java数组是一种用于存储相同数据类型的连续内存空间的数据结构。

它可以存储基本数据类型和对象类型。

数组在Java程序中非常常见,因为它可以轻松地存储一组数据,并对它们进行快速访问和操作。

使用Java数组,你可以轻松地创建一个一维或多维数组。

在创建数组时,你需要指定数组的大小和类型。

Java数组的大小是固定的,一旦数组被创建,就无法更改其大小。

为了访问数组中的元素,你可以使用数组索引来访问。

数组索引从0开始,到数组大小减1。

在Java中,你可以使用循环语句来遍历数组中的元素,也可以使用数组的内置方法来操作数组。

Java数组的内置方法包括:排序、查找、复制、填充等。

这些方法可以使你的程序更加高效和简洁。

Java数组还有一些常见的问题,如数组越界、空指针异常等。

因此,在使用数组时,你需要小心谨慎,并遵守Java数组的最佳实践。

总之,Java数组是Java编程中不可或缺的一部分。

它们提供了一种高效的方式来处理一组数据,并为程序员提供了在处理数据时灵活性和控制力。

- 1 -。

尚硅谷_宋红康_第2章_Java基本语法2

尚硅谷_宋红康_第2章_Java基本语法2

静态初始化:在定义数组的同时就为数组元素分配空间并赋 值。 MyDate dates[] = { int a[] = new int[]{ 3, 9, 8}; new MyDate(22, 7, 1964), int[] a = {3,9,8}; new MyDate(1, 1, 2000), new MyDate(22, 12, 1964) }
练习1
1.(1)定义类Pritimive,在类中定义一个有3个元素的boolean类型的 数组t作为其成员变量。数组元素未赋值。 定义类Array1,在Array1的main()方法中创建Pritimive对象d, 输出其成员变量t的三个元素值。 练习目的:检验基本数据类型数组创建时的自动赋值。 (2)给对象d的成员变量t赋值为{true,true,true},并输出t的三个元 素值。 2. 定义类Student,包含三个属性:学号number(int),年级 state(int),成绩score(int)。 创建20个学生对象,学号为1到20,年 级和成绩都由随机数确定,打印出3年级(state值为3)的学生信息。 提示:生成随机数:Math.random(),返回值类型double; 四舍五入取整:Math.round(double d),返回值类型long。
一维数组声明
一维数组的声明方式:
type var[] 或 type[] var; 例如:
int a[]; int[] a1; double b[]; Mydate[] c; //对象数组
Java语言中声明数组时不能指定其长度(数组中元素的数), 例如: int a[5]; //非法
一维数组初始化
0x1234 null null null null null stu[0]= 0x3344

[尚硅谷]_宋红康_Java之23种设计模式解析

[尚硅谷]_宋红康_Java之23种设计模式解析

[尚硅谷]_宋红康_Java之23种设计模式解析—————————————————————————————题目:Java 之23种设计模式解析一、设计模式概述总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。

结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。

行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。

具体如下:其中创建型有:一、Singleton,单例模式:保证一个类只有一个实例,并提供一个访问它的全局访问点二、Abstract Factory,抽象工厂:提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们的具体类。

三、Factory Method,工厂方法:定义一个用于创建对象的接口,让子类决定实例化哪一个类,Factory Method使一个类的实例化延迟到了子类。

四、Builder,建造模式:将一个复杂对象的构建与他的表示相分离,使得同样的构建过程可以创建不同的表示。

五、Prototype,原型模式:用原型实例指定创建对象的种类,并且通过拷贝这些原型来创建新的对象。

行为型有:六、Iterator,迭代器模式:提供一个方法顺序访问一个聚合对象的各个元素,而又不需要暴露该对象的内部表示。

七、Observer,观察者模式:定义对象间一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知自动更新。

八、Template Method,模板方法:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中,TemplateMethod使得子类可以不改变一个算法的结构即可以重定义该算法得某些特定步骤。

九、Command,命令模式:将一个请求封装为一个对象,从而使你可以用不同的请求对客户进行参数化,对请求排队和记录请求日志,以及支持可撤销的操作。

115个Java面试题和答案——终极(下)_尚硅谷_宋红康

115个Java面试题和答案——终极(下)_尚硅谷_宋红康

题目:115个Java面试题和答案——终极(下)第一篇讨论了面向对象编程和它的特点,关于Java和它的功能的常见问题,Java的集合类,垃圾收集器,本章主要讨论异常处理,Java小应用程序,Swing,JDBC,远程方法调用(RMI),Servlet和JSP。

异常处理Java小应用程序(Applet)SwingJDBC远程方法调用(RMI)ServletJSP异常处理43.Java中的两种异常类型是什么?他们有什么区别?Java中有两种异常:受检查的(checked)异常和不受检查的(unchecked)异常。

不受检查的异常不需要在方法或者是构造函数上声明,就算方法或者是构造函数的执行可能会抛出这样的异常,并且不受检查的异常可以传播到方法或者是构造函数的外面。

相反,受检查的异常必须要用throws语句在方法或者是构造函数上声明。

这里有Java异常处理的一些小建议。

44.Java中Exception和Error有什么区别?Exception和Error都是Throwable的子类。

Exception用于用户程序可以捕获的异常情况。

Error 定义了不期望被用户程序捕获的异常。

45.1 throw和throws有什么区别?throw关键字用来在程序中明确的抛出异常,相反,throws语句用来表明方法不能处理的异常。

每一个方法都必须要指定哪些异常不能处理,所以方法的调用者才能够确保处理可能发生的异常,多个异常是用逗号分隔的。

45.2 异常处理的时候,finally代码块的重要性是什么?无论是否抛出异常,finally代码块总是会被执行。

就算是没有catch语句同时又抛出异常的情况下,finally代码块仍然会被执行。

最后要说的是,finally代码块主要用来释放资源,比如:I/O缓冲区,数据库连接。

46.异常处理完成以后,Exception对象会发生什么变化?Exception对象会在下一个垃圾回收过程中被回收掉。

尚硅谷_宋红康_参悟Java基础核心技术-精选文档

尚硅谷_宋红康_参悟Java基础核心技术-精选文档

– 移动领域应用,主要表现在消费和嵌入式领域,是指在各种小型 设备上的应用,包括手机、PDA、机顶盒、汽车通信设备等。
1.从java语言的诞生、特点说起
java之父Jgosling团队在开发”Green”项目时,发现C缺少垃圾回收系 统,还有可移植的安全性、分布程序设计、和多线程功能。最后,他们想 要一种易于移植到各种设备上的平台。 Java确实是从C语言和C++语言继承了许多成份,甚 至可以将Java看成是类C语言发展和衍生的产物。比 如Java语言的变量声明,操作符形式,参数传递,流 程控制等方面和C语言、C++语言完全相同。但同时, Java是一个纯粹的面向对象的程序设计语言,它继承 了 C++语言面向对象技术的核心。Java舍弃了C语言 中容易引起错误的指针(以引用取代)、运算符重载 (operator overloading)、多重继承(以接口 取代)等特性,增加了垃圾回收器功能用于回收不再 被引用的对象所占据的内存空间。JDK1.5又引入了 泛型编程(Generic Programming)、类型安全的 枚举、不定长参数和自动装/拆箱
现实世界中的分子、原子又是由什么构成的呢?原子核、 电子!那么,Java中用类class来描述事物也是如此
属 性:对应类中的成员变量 行 为:对应类中的成员方法 Field = 属性 = 成员变量,Method = (成员)方法 = 函数
Java语言是原生支持多线程的。在Java语言中,线程是一种特殊的 对象,它必须由Thread类或其子(孙)类来创建。
2.从java语言的市场需求来看
2019年2月 TIOBE 编程语言排行榜单
2.从java语言的市场需求来看
2019年2月 TIOBE 编程语言排行榜单

尚硅谷_宋红康_第1章_Java语言概述

尚硅谷_宋红康_第1章_Java语言概述

TIOBE Programming Community Index for Feb 2014
数据来源:TIOBE
2.从java语言的诞生、特点说起
java之父Jgosling团队在开发”Green”项目时,发现C缺少垃圾回收系 统,还有可移植的安全性、分布程序设计、和多线程功能。最后,他们想 要一种易于移植到各种设备上的平台。 Java确实是从C语言和C++语言继承了许多成份,甚 至可以将Java看成是类C语言发展和衍生的产物。比 如Java语言的变量声明,操作符形式,参数传递,流 程控制等方面和C语言、C++语言完全相同。但同时, Java是一个纯粹的面向对象的程序设计语言,它继承 了 C++语言面向对象技术的核心。Java舍弃了C语言 中容易引起错误的指针(以引用取代)、运算符重载 (operator overloading)、多重继承(以接口 取代)等特性,增加了垃圾回收器功能用于回收不再 被引用的对象所占据的内存空间。JDK1.5又引入了 泛型编程(Generic Programming)、类型安全的 枚举、不定长参数和自动装/拆箱
用户 user
字节码文件 JVM 操作系统
硬件
核心机制—垃圾回收
不再使用的内存空间应回收—— 垃圾回收。 在C/C++等语言中,由程序员负责回收无用内存。
Java 语言消除了程序员回收无用内存空间的责任:它提供 一种系统级线程跟踪存储空间的分配情况。并在JVM空闲 时,检查并释放那些可被释放的存储空间。 垃圾回收在Java程序运行过程中自动进行,程序员无法精 确控制和干预。
java语言的主要特性
Java语言是安全的。Java通常被用在网络环境中,为此,Java提供 了一个安全机制以防恶意代码的攻击。如:安全防范机制(类 ClassLoader),如分配不同的名字空间以防替代本地的同名类、 字节代码检查。 Java语言是体系结构中立的。Java程序(后缀为java的文件)在 Java平台上被编译为体系结构中立的字节码格式(后缀为class的文 件),然后可以在实现这个Java平台的任何系统中运行。 Java语言是解释型的。如前所述,Java程序在Java平台上被编译为 字节码格式,然后可以在实现这个Java平台的任何系统的解释器中运 行。 Java是性能略高的。与那些解释型的高级脚本语言相比,Java的性 能还是较优的。

尚硅谷_宋红康_Java中数组结构及经典排序算法解析

尚硅谷_宋红康_Java中数组结构及经典排序算法解析
public class Test { public static void main(String argv[]){ int a[]= new int[5]; System.out.println(a[3]); //a[3]的默认值为0 } } 对于基本数据类型而言,默认初始化值各有不同 对于引用数据类型而言,默认初始化值为null(注意与0不 同!)
一维数组初始化
动态初始化:数组声明且为数组元素分配空间与赋值的操作分 开进行
int[] arr = new int[3]; arr[0] = 3; arr[1] = 9; arr[2] = 8;
MyDate dates[]; dates = new MyDate[3]; dates[0] = new MyDate(22, 7, 1964); dates[1] = new MyDate(1, 1, 2000); dates[2] = new MyDate(22, 12, 1964);
多维数组
二维数组[][]:数组中的数组 格式1(动态初始化):int[][] arr = new int[3][2]; 定义了名称为arr的二维数组 二维数组中有3个一维数组 每一个一维数组中有2个元素 一维数组的名称分别为arr[0], arr[1], arr[2] 给第一个一维数组1脚标位赋值为78写法是:arr[0][1] = 78; 格式2(动态初始化):int[][] arr = new int[3][]; 二维数组中有3个一维数组。 每个一维数组都是默认初始化值null (注意:区别于格式1) 可以对这个三个一维数组分别进行初始化
arr[0] = new int[3]; arr[1] = new int[1]; arr[2] = new int[2];

尚硅谷宋红康参悟Java基础核心技术ppt课件-文档资料

尚硅谷宋红康参悟Java基础核心技术ppt课件-文档资料

java语言的主要特性
Java语言是安全的。Java通常被用在网络环境中,为此,Java提供 了一个安全机制以防恶意代码的攻击。如:安全防范机制(类 ClassLoader),如分配不同的名字空间以防替代本地的同名类、 字节代码检查。 Java语言是体系结构中立的。Java程序(后缀为java的文件)在 Java平台上被编译为体系结构中立的字节码格式(后缀为class的文 件),然后可以在实现这个Java平台的任何系统中运行。 Java语言是解释型的。如前所述,Java程序在Java平台上被编译为 字节码格式,然后可以在实现这个Java平台的任何系统的解释器中运 行。 Java是性能略高的。与那些解释型的高级脚本语言相比,Java的性 能还是较优的。
JDBC
集合
类库
IO
网络
何谓“面向对象”的编程思想?
顿 悟?OR 渐 悟?
例子:人把大象装冰箱 1.打开冰箱 2.把大象装进冰箱 3.把冰箱门关住
人{ 打开(冰箱){ 冰箱.开门(); } 操作(大象){ 大象.进入(冰箱); } 关闭(冰箱){ 冰箱.关门(); } } 冰箱{ 开门(){} 关门(){} }
Java基础知识图解
JAVA发展历程 JAVA环境搭建 基础程序设计
Eclipse使用 泛型
数据类型
运算符
流程控制
数组
枚举 装箱/拆箱 可变 参数 JAVA 新特 性 类和 对象 属性
面向对象编程
三大 特性
接口
方法
设计模式
应用程序开发
Annotation
异常处理 多线程 反射
Oracle/MySQL
– 移动领域应用,主要表现在消费和嵌入式领域,是指在各种小型 设备上的应用,包括手机、PDA、机顶盒、汽车通信设备等。

尚硅谷宋红康Java基础教程2019版

尚硅谷宋红康Java基础教程2019版

尚硅⾕宋红康Java基础教程2019版day00_编程⼊门_01-尚硅⾕-Java语⾔基础-资料⽂件结构1day00_编程⼊门_02-尚硅⾕-Java语⾔基础-资料⽂件结构2day00_编程⼊门_03-尚硅⾕-Java语⾔基础-⼊门概述day00_编程⼊门_04-尚硅⾕-Java语⾔基础-冯诺依曼体系结构day00_编程⼊门_05-尚硅⾕-Java语⾔基础-CPU和IT⾏业三⼤定律day00_编程⼊门_06-尚硅⾕-Java语⾔基础-持久化存储设备day00_编程⼊门_07-尚硅⾕-Java语⾔基础-bit与byteday00_编程⼊门_08-尚硅⾕-Java语⾔基础-内存day00_编程⼊门_09-尚硅⾕-Java语⾔基础-输⼊输出设备和⽹络连接设备day00_编程⼊门_10-尚硅⾕-Java语⾔基础-计算机史上的两个⿐祖day00_编程⼊门_11-尚硅⾕-Java语⾔基础-操作系统day00_编程⼊门_12-尚硅⾕-Java语⾔基础-万维⽹与软件架构⽅式day00_编程⼊门_13-尚硅⾕-Java语⾔基础-职业发展与提升day00_编程⼊门_14-尚硅⾕-Java语⾔基础-学习经验探讨day01_Java语⾔概述_01-尚硅⾕-Java语⾔基础-Java基础阶段⽬录概述day01_Java语⾔概述_02-尚硅⾕-Java语⾔基础-Java后续学习⼤纲简述day01_Java语⾔概述_03-尚硅⾕-Java语⾔基础-Java主要应⽤场景day01_Java语⾔概述_04-尚硅⾕-Java语⾔基础-Java基础图谱及基础阶段项⽬说明day01_Java语⾔概述_05-尚硅⾕-Java语⾔基础-每天授课须知day01_Java语⾔概述_06-尚硅⾕-Java语⾔基础-图形化界⾯操作与命令⾏操作介绍day01_Java语⾔概述_07-尚硅⾕-Java语⾔基础-常⽤的命令⾏指令day01_Java语⾔概述_08-尚硅⾕-Java语⾔基础-计算机语⾔的划分day01_Java语⾔概述_09-尚硅⾕-Java语⾔基础-不同编程语⾔的介绍day01_Java语⾔概述_10-尚硅⾕-Java语⾔基础-Java语⾔的历史及技术体系平台day01_Java语⾔概述_11-尚硅⾕-Java语⾔基础-Java语⾔的特点day01_Java语⾔概述_12-尚硅⾕-Java语⾔基础-JVM与垃圾收集机制day01_Java语⾔概述_13-尚硅⾕-Java语⾔基础-JDK、JRE、JVM的关系day01_Java语⾔概述_14-尚硅⾕-Java语⾔基础-JDK与JRE的安装day01_Java语⾔概述_15-尚硅⾕-Java语⾔基础-环境变量的配置day01_Java语⾔概述_16-尚硅⾕-Java语⾔基础-配置环境变量中⼏个问题的解决day01_Java语⾔概述_17-尚硅⾕-Java语⾔基础-第⼀个Java程序:HelloWorldday01_Java语⾔概述_18-尚硅⾕-Java语⾔基础-⼏个常见的bug的解决day01_Java语⾔概述_19-尚硅⾕-Java语⾔基础-EditPlus的安装和配置day01_Java语⾔概述_20-尚硅⾕-Java语⾔基础-单⾏注释与多⾏注释day01_Java语⾔概述_21-尚硅⾕-Java语⾔基础-⽂档注释的使⽤day01_Java语⾔概述_22-尚硅⾕-Java语⾔基础-多⾏注释使⽤的⼀个注意点day01_Java语⾔概述_23-尚硅⾕-Java语⾔基础-API⽂档的说明day01_Java语⾔概述_24-尚硅⾕-Java语⾔基础-第⼀个Java程序的总结day01_Java语⾔概述_25-尚硅⾕-Java语⾔基础-Java开发⼯具的说明day02_Java基本语法_01-尚硅⾕-Java语⾔基础-每天⼀考day02_Java基本语法_02-尚硅⾕-Java语⾔基础-复习1day02_Java基本语法_03-尚硅⾕-Java语⾔基础-复习2day02_Java基本语法_04-尚硅⾕-Java语⾔基础-关键字和保留字的说明day02_Java基本语法_05-尚硅⾕-Java语⾔基础-标识符及命名规则day02_Java基本语法_06-尚硅⾕-Java语⾔基础-标识符的命名规范day02_Java基本语法_07-尚硅⾕-Java语⾔基础-变量的定义day02_Java基本语法_08-尚硅⾕-Java语⾔基础-定义变量的注意点day02_Java基本语法_09-尚硅⾕-Java语⾔基础-变量的分类day02_Java基本语法_10-尚硅⾕-Java语⾔基础-整型变量的使⽤说明day02_Java基本语法_11-尚硅⾕-Java语⾔基础-浮点型变量的使⽤说明day02_Java基本语法_12-尚硅⾕-Java语⾔基础-char型变量的使⽤说明day02_Java基本语法_13-尚硅⾕-Java语⾔基础-乱码的情况和字符集的说明day02_Java基本语法_14-尚硅⾕-Java语⾔基础-boolean型变量的使⽤day02_Java基本语法_15-尚硅⾕-Java语⾔基础-⾃动类型提升运算1day02_Java基本语法_16-尚硅⾕-Java语⾔基础-⾃动类型提升运算2day02_Java基本语法_17-尚硅⾕-Java语⾔基础-强制类型转换运算day02_Java基本语法_18-尚硅⾕-Java语⾔基础-变量运算规则的两个特殊情况day02_Java基本语法_19-尚硅⾕-Java语⾔基础-String类型变量的使⽤day02_Java基本语法_20-尚硅⾕-Java语⾔基础-两个关于String的练习题day02_Java基本语法_21-尚硅⾕-Java语⾔基础-String使⽤的强化说明day02_Java基本语法_22-尚硅⾕-Java语⾔基础-不同进制的表⽰⽅式day02_Java基本语法_23-尚硅⾕-Java语⾔基础-⼆进制转换为⼗进制的说明day02_Java基本语法_24-尚硅⾕-Java语⾔基础-⼆进制转换为⼗进制的练习day02_Java基本语法_25-尚硅⾕-Java语⾔基础-⼗进制转⼆进制的操作day02_Java基本语法_26-尚硅⾕-Java语⾔基础-⼆进制与⼋进制⼗六进制间的转换day03_Java基本语法_01-尚硅⾕-Java语⾔基础-每天⼀考day03_Java基本语法_02-尚硅⾕-Java语⾔基础-复习1day03_Java基本语法_03-尚硅⾕-Java语⾔基础-复习2:变量的定义day03_Java基本语法_04-尚硅⾕-Java语⾔基础-复习3:变量的运算规则day03_Java基本语法_05-尚硅⾕-Java语⾔基础-算术运算符的使⽤1day03_Java基本语法_06-尚硅⾕-Java语⾔基础-算术运算符的使⽤2day03_Java基本语法_07-尚硅⾕-Java语⾔基础-算术运算符的练习day03_Java基本语法_08-尚硅⾕-Java语⾔基础-关于敲代码和练指法day03_Java基本语法_09-尚硅⾕-Java语⾔基础-赋值运算符的使⽤day03_Java基本语法_10-尚硅⾕-Java语⾔基础-赋值运算符的课后练习day03_Java基本语法_11-尚硅⾕-Java语⾔基础-⽐较运算符的使⽤day03_Java基本语法_12-尚硅⾕-Java语⾔基础-逻辑运算符的使⽤说明day03_Java基本语法_13-尚硅⾕-Java语⾔基础-逻辑运算符的使⽤测试day03_Java基本语法_14-尚硅⾕-Java语⾔基础-逻辑运算符的课后练习day03_Java基本语法_15-尚硅⾕-Java语⾔基础-左移右移位运算符的使⽤day03_Java基本语法_16-尚硅⾕-Java语⾔基础-其它位运算符的使⽤day03_Java基本语法_17-尚硅⾕-Java语⾔基础-位运算符的练习day03_Java基本语法_18-尚硅⾕-Java语⾔基础-三元运算符的使⽤day03_Java基本语法_19-尚硅⾕-Java语⾔基础-三元运算符与if-else的转换day03_Java基本语法_20-尚硅⾕-Java语⾔基础-运算符的优先级day03_Java基本语法_21-尚硅⾕-Java语⾔基础-关于流程控制的说明day03_Java基本语法_22-尚硅⾕-Java语⾔基础-if-else结构的基本使⽤day04_Java基本语法_01-尚硅⾕-Java语⾔基础-每天⼀考day04_Java基本语法_02-尚硅⾕-Java语⾔基础-复习1:算术与⽐较运算符day04_Java基本语法_03-尚硅⾕-Java语⾔基础-复习2:⽐较与逻辑运算符day04_Java基本语法_04-尚硅⾕-Java语⾔基础-复习3:位运算符与三元运算符day04_Java基本语法_05-尚硅⾕-Java语⾔基础-使⽤Scannner从键盘获取int型数据day04_Java基本语法_06-尚硅⾕-Java语⾔基础-使⽤Scannner从键盘获取多种类型数据day04_Java基本语法_07-尚硅⾕-Java语⾔基础-if-else的例题1day04_Java基本语法_08-尚硅⾕-Java语⾔基础-if-else的例题2day04_Java基本语法_09-尚硅⾕-Java语⾔基础-if-else课后练习1:笔试题day04_Java基本语法_10-尚硅⾕-Java语⾔基础-if-else课后练习2:狗的年龄。

尚硅谷_宋红康_数据结构_排序算法

尚硅谷_宋红康_数据结构_排序算法
数据结构-排序算法
讲师:宋红康
新浪微博:尚硅谷-宋红康
JavaSE知识图解
JAVA发展历程 JAVA环境搭建 基础程序设计
Eclipse使用 泛型
数据类型
运算符
流程控制
数组
枚举 装箱/拆箱 可变 参数 JAVA 新特 性 类和 对象 属性
面向对象编程
方法
三大 特性
接口
设计模式
应用程序开发
Annotation
直接插入排序、折半插入排序、Shell排序
归并排序 桶式排序 基数排序
InsertSort.java
直接插入排序效率分析
算法的时间效率:在最坏的情况下,所有元素的比较次 数总和为(0+1+2+…+n-1)= ;在其他情况下,
也要考虑移动元素的次数,故时间复杂度为
算法的空间效率:空间效率很高,只需要一个附加程序 单元用于交换,其空间效率为 算法的稳定性:稳定
异常处理 多线程 反射
连接Oracle
JDBC
集合
类库
IO
网络
I ? T?
算法+数据结构=程序
数据结构
编程的本质就是对数据(信息以数据的形式而存在)的 处理,实际编程中不得不处理大量数据,因此实际动手编 程之前必须先分析处理这些数据,处理数据之间存在的关 系。 现实的数据元素之间有着纷繁复杂的逻辑关系,需要采 用合适的物理结构来存储这些数据,并以此为基础对这些 数据进行相应的操作。同时,还要分析这些数据结构在时 间、空间上的开销的优劣。这种专门研究应用程序中数据 之间逻辑关系、存储方式及其操作的学问就是数据结构。
SelectSort2.java
直接选择排序效率分析

lesson10-01 Java数据结构 --数组

lesson10-01 Java数据结构 --数组

Java 核心技术
第十章Java数据结构
第一节数组
1
•数组是一个存放多个数据的容器–数据是同一种类型
–所有的数据是线性规则排列
–可通过位置索引来快速定位访问数据
–需明确容器的长度
•Java数组定义和初始化
•数组索引
–数组的length属性标识数组的长度
–从0开始,到length -1
–int[] a = new int[5]; //a[0]~a[4], not a[5]; a.length是5–数组不能越界访问,否则会报
ArrayIndexOutOfBoundsException异常
•数组遍历:两种方法
•多维数组
–数组的数组
–存储是按照行存储原则
•总结
–数组是一种确定大小的存储同种数据的容器–初始化和遍历方法,特别是两种遍历方式
代码(1) ArrayTest.java
代码(2) MultiDimArrayTest.java
谢谢!
10。

尚硅谷测试题b卷及答案

尚硅谷测试题b卷及答案

尚硅谷测试题b卷及答案一、选择题(每题5分,共20分)1. 下列选项中,哪一个是Java语言的特点?A. 面向过程B. 面向对象C. 面向函数D. 面向模块答案:B2. 在Java中,下列哪个关键字用于定义一个类?A. interfaceB. classC. structD. enum答案:B3. 在Java中,下列哪个关键字用于捕获异常?A. tryB. catchC. finallyD. all of the above答案:D4. 下列哪个选项不是Java集合框架中的一部分?A. ListB. SetC. MapD. Array答案:D二、填空题(每题5分,共20分)1. 在Java中,____关键字用于定义一个接口。

答案:interface2. Java语言支持两种类型的继承,分别是____和实现。

答案:继承3. Java中,____关键字用于定义一个方法。

答案:def4. Java集合框架中的ArrayList类实现了____接口。

答案:List三、简答题(每题10分,共20分)1. 简述Java语言的跨平台特性是如何实现的?答案:Java语言的跨平台特性是通过Java虚拟机(JVM)实现的。

Java源代码首先被编译成字节码,然后可以在任何安装了相应版本JVM的平台上运行。

2. 描述Java中垃圾回收机制的作用。

答案:Java中的垃圾回收机制负责自动回收不再使用的对象所占用的内存,防止内存泄漏,提高程序的性能和稳定性。

四、编程题(每题20分,共40分)1. 编写一个Java程序,实现计算两个整数的和。

答案:```javapublic class Sum {public static void main(String[] args) {int num1 = 10;int num2 = 20;int sum = num1 + num2;System.out.println("The sum is: " + sum);}}```2. 编写一个Java方法,实现字符串反转。

java中的数组

java中的数组

java中的数组关于数组的基础知识1、 Java语⾔中的数组是⼀种引⽤数据类型,不属于基本数据类型。

数组的⽗类是Object。

2、数组实际上是⼀个容器,可以同时容纳多个元素。

(数组是⼀个数据的集合)数组:宇⾯意思是“⼀组数据”。

3、数组当中可以存储"基本数据类型"的数据,也可以存储"引⽤数据类型"的数据。

4、数组因为是引⽤类型,所以数组对象是堆内存当中。

(数组是存储在堆当中的)5、数组在内存⽅⾯是怎么样的⼀个图形?6、数组当中如果存储的是"java对象”的话,实际上存储的是对象的“引⽤(内存地址)"。

7、数组⼀旦创建,在java中规定,数组长度不可变。

8、数组的分类:⼀维数组、⼆维数组、三维数组、多维救组... (⼀维数组较多,⼆维数组偶尔使⽤)所有的数组对象都有Length属性(java⾃带的),⽤来获取数组中元素的个数。

9、java中的数组要求数组中元素的类型统⼀。

⽐如int类型数组只能存储int类型,Person类型数组只能存储person类型。

10、数组在内存⽅⾯存储的时候,数组中的元素内存地址(存储的每⼀个元素都是有规剧的挨着排列的)是连续的。

内存地址连续这是救组存储元素的特点(符⾊)。

数组实际上是⼀种简单的教据结构。

11、所有的数组都是拿"第⼀个⼩⽅框的内存地址”作为整个数组对象的内存地址。

数组中每⼀个元素都是有下标的,下标从0开始,以1递增。

最后⼀个元素的下标是:Length - 1。

下标⾮常重要,因为我们对数组中元素进⾏"存取"的时候,都需要通过下标来进⾏。

例图:数组这种数据结构的优点和缺点1、优点:查询/查找/检索某个下标上的元素时效事极⾼。

可以说是查询效率最⾼的⼀个数据结构。

为什么检索效率⾼?①:每⼀个元素的内存地址在空间存储上是连续的。

②:每⼀个元素类型相同,所以占⽤空间⼤⼩⼀样。

③:知道第⼀个元素内存地址,知道每⼀个元素占⽤空间的⼤⼩,⼜知道下标,所以通过⼀个数学表达式就可以计算出某个下标上元素的内存地址。

java存储数据的方法

java存储数据的方法

java存储数据的方法
Java是一种基于面向对象编程的高级编程语言。

在Java中,有多种方法可以存储数据。

以下是一些常用的Java存储数据的方法: 1. 变量:Java中的变量用于存储数据。

可以通过声明变量来存储不同类型的数据,例如整数,浮点数,布尔值等。

变量可以在程序中使用,并且可以根据需要更改其值。

2. 数组:Java中的数组是一组具有相同数据类型的变量。

可以使用数组来存储更大量的数据,而不必为每个变量声明单独的变量。

可以使用循环和其他技术来访问数组中的数据。

3. 集合:Java中的集合是一组对象的容器。

Java中的集合框架包含多个接口和类,用于创建集合对象。

集合可以存储不同类型的数据,并且可以根据需要更改其大小。

4. 文件:可以使用Java中的文件I / O类来存储数据。

文件可以用于存储大量的数据,并且可以在不同的程序之间共享数据。

5. 数据库:Java中的JDBC(Java Database Connectivity)API 可用于与数据库进行交互。

可以使用JDBC API来执行各种数据库操作,例如插入,更新,删除和查询数据。

可以使用不同的数据库管理系统,例如MySQL,Oracle和Microsoft SQL Server等。

这些是Java中常用的一些数据存储方法。

开发人员可以根据其需求选择适当的方法来存储数据。

- 1 -。

java保存数组到数据库的方法

java保存数组到数据库的方法

在Java编程中,我们经常需要将数组中的数据保存到数据库中。

这篇文章将介绍一些常见的方法和技巧,来帮助你在Java中实现这一功能。

一、使用JDBC保存数组数据到数据库1. JDBC(Java Database Connectivity)是Java用于与数据库进行连接和操作的一套API。

我们可以使用JDBC来将数组中的数据保存到数据库中。

2. 我们需要在Java程序中引入JDBC相关的包,然后通过JDBC连接数据库、创建SQL语句,并执行插入操作。

3. 对于数组,我们通常需要使用循环来逐个将数组中的数据插入到数据库中。

这里需要注意的是,不同的数据库可能对于插入数据的方式有一些差异,需要根据具体的数据库类型来编写相应的SQL语句。

4. 在使用JDBC操作数据库的过程中,我们需要注意异常处理和资源释放,以确保程序的稳定性和性能。

二、使用ORM框架保存数组数据到数据库1. 除了直接使用JDBC操作数据库外,我们还可以通过ORM (Object-Relational Mapping)框架来简化数据库操作。

ORM框架可以将Java对象与数据库表进行映射,从而实现对象的持久化。

2. 使用ORM框架保存数组数据到数据库,通常需要首先定义好对应的实体类,并在实体类中设置数组属性。

3. 我们需要配置ORM框架的映射规则,以及数据库连接等相关信息。

4. 我们可以通过ORM框架提供的API来操作数据库,将数组中的数据保存到数据库中。

ORM框架会帮助我们生成对应的SQL语句,并执行数据库操作。

5. 在使用ORM框架时,我们需要注意配置文件的编写、映射关系的设置以及性能优化等方面。

三、使用Spring Data JPA保存数组数据到数据库1. Spring Data JPA是Spring框架中的一个子项目,它提供了一种简化数据库访问的方式。

通过Spring Data JPA,我们可以很方便地将数组数据保存到数据库中。

2. 我们需要在Spring项目中引入Spring Data JPA相关的依赖,然后配置好数据源和实体类。

尚硅谷Java——宋红康笔记【day11-day18】

尚硅谷Java——宋红康笔记【day11-day18】

尚硅⾕Java——宋红康笔记【day11-day18】day11Eclipse中的快捷键:* 1.补全代码的声明:alt + /* 2.快速修复: ctrl + 1* 3.批量导包:ctrl + shift + o* 4.使⽤单⾏注释:ctrl + /* 5.使⽤多⾏注释: ctrl + shift + /* 6.取消多⾏注释:ctrl + shift + \* 7.复制指定⾏的代码:ctrl + alt + down 或 ctrl + alt + up* 8.删除指定⾏的代码:ctrl + d* 9.上下移动代码:alt + up 或 alt + down* 10.切换到下⼀⾏代码空位:shift + enter* 11.切换到上⼀⾏代码空位:ctrl + shift + enter* 12.如何查看源码:ctrl + 选中指定的结构或 ctrl + shift + t* 13.退回到前⼀个编辑的页⾯:alt + left* 14.进⼊到下⼀个编辑的页⾯(针对于上⾯那条来说的):alt + right* 15.光标选中指定的类,查看继承树结构:ctrl + t* 16.复制代码: ctrl + c* 17.撤销: ctrl + z* 18.反撤销: ctrl + y* 19.剪切:ctrl + x* 20.粘贴:ctrl + v* 21.保存: ctrl + s* 22.全选:ctrl + a* 23.格式化代码: ctrl + shift + f* 24.选中数⾏,整体往后移动:tab* 25.选中数⾏,整体往前移动:shift + tab* 26.在当前类中,显⽰类结构,并⽀持搜索指定的⽅法、属性等:ctrl + o* 27.批量修改指定的变量名、⽅法名、类名等:alt + shift + r* 28.选中的结构的⼤⼩写的切换:变成⼤写: ctrl + shift + x* 29.选中的结构的⼤⼩写的切换:变成⼩写:ctrl + shift + y* 30.调出⽣成getter/setter/构造器等结构: alt + shift + s* 31.显⽰当前选择资源(⼯程 or ⽂件)的属性:alt + enter* 32.快速查找:参照选中的Word快速定位到下⼀个:ctrl + k* 33.关闭当前窗⼝:ctrl + w* 34.关闭所有的窗⼝:ctrl + shift + w* 35.查看指定的结构使⽤过的地⽅:ctrl + alt + g* 36.查找与替换:ctrl + f* 37.最⼤化当前的View:ctrl + m* 38.直接定位到当前⾏的⾸位:home* 39.直接定位到当前⾏的末位:end⾯向对象的特征之⼆:继承性 why?⼀、继承性的好处:① 减少了代码的冗余,提⾼了代码的复⽤性② 便于功能的扩展③ 为之后多态性的使⽤,提供了前提⼆、继承性的格式: class A extends B{}A:⼦类、派⽣类、subclassB:⽗类、超类、基类、superclass2.1体现:⼀旦⼦类A继承⽗类B以后,⼦类A中就获取了⽗类B中声明的所有的属性和⽅法。

java 数据结构 中数组的底层原理

java 数据结构 中数组的底层原理

java 数据结构中数组的底层原理Java 数据结构中的数组是一种非常基础的数据结构,它可以用来存储一系列同类型的数据。

比如说,我们可以使用数组来存储一组数字,一组字符串等等。

在 Java 中,数组是一个特殊的对象,它被定义为一个具有固定长度和相同数据类型的有序集合。

数组的底层实现原理是非常重要的,这是因为了解底层原理可以帮助我们更好地理解数组的特性和使用方式。

本文将深入剖析 Java 数组的底层实现原理,包括数组的内存分配、访问方式以及一些常用的算法实现等方面。

1. 数组的内存分配在 Java 中,数组是通过申请连续的内存空间来实现的。

当我们声明一个数组时,Java 虚拟机会为这个数组分配一块连续的内存空间。

这个内存空间包含了每一个数组元素的内存空间,而每一个数组元素的大小则取决于数组元素的数据类型。

下面是一个简单的 Java 数组声明示例:int[] arr = new int[10];这段代码声明了一个长度为 10 的整型数组。

当这个数组初始化时,Java 虚拟机会在内存中为其分配 10 个整型空间,并且为每一个空间初始化一个默认值为 0 的整数。

除了基本类型之外,数组还可以存储对象。

当一个数组存储对象时,Java 虚拟机并不会为对象分配连续的内存空间。

相反,它会在数组中存储指向对象的引用。

这意味着,数组实际上只存储了对象的引用,而不是对象本身。

2. 数组的访问方式在 Java 数组中,每一个元素都有一个索引值。

这个索引值用来访问数组中的元素。

在 Java 中,数组的索引从 0 开始,也就是说,第一个数组元素的索引为 0,第二个数组元素的索引为 1,以此类推。

我们可以使用方括号来访问数组中的元素。

比如,访问一个名为 arr 的整型数组的第一个元素可以使用以下代码:int firstElement = arr[0];在这个例子中,我们使用了一个方括号来访问数组中的第一个元素。

注意,我们并没有指定数组的长度或大小。

java数组的底层原理

java数组的底层原理

java数组的底层原理Java 中的数组是一组相同类型的数据元素的集合。

它们在内存中分配连续的一段区域,并可以通过下标访问其中的元素。

数组是 Java 语言的一项基本功能,但在底层却有着很多奥秘,让我们一起来了解一下其底层原理。

Java 数组的数据结构Java 数组是一个对象,它存储在堆中,它的元素是基本类型或对象。

Java 数组的所有元素都必须是相同类型,这意味着在创建数组时必须指定类型,并且在运行时不允许添加或删除元素。

在 Java 中,数组被视为一块连续的内存空间。

这意味着对于数组来说,所有元素在内存中的位置都是连续的。

因此,可以通过下标来访问任何元素。

访问数组元素的速度非常快,因为寻址只需要一次内存查找操作。

Java 数组的基本特征包括以下内容:1. 长度固定Java 数组的长度是固定的。

因此,在创建数组时必须指定大小。

在运行时,数组的大小不能更改。

2. 顺序访问在 Java 数组中,元素的顺序是固定的,并且可以通过下标访问指定元素。

因此,数组只能按顺序访问。

3. 数组元素类型相同Java 数组中的所有元素必须是相同的类型。

这意味着所有元素都存储在相同的内存块中。

4. 从 0 开始的下标在 Java 中,数组的下标从 0 开始,而不是从 1 开始。

这意味着第一个元素的下标是 0,第二个元素的下标是 1,以此类推。

Java 数组在内存中的布局与其他语言中的数组有所不同。

在 Java 中,数组作为对象存储在堆中,而不是存储在栈中。

这意味着在创建数组时,需要在堆中为每个元素分配内存,并将所有元素的引用存储在一个数组对象中。

我们来看一个示例。

假设我们有一个存储整数的数组:int[] arr = {1, 2, 3, 4, 5};在内存中,这个数组会使用以下方式排布:在堆中,创建一个数组对象,它包含 5 个整数。

为每个整数分配内存,并将它们的值存储在内存中。

将每个整数的引用存储在数组对象中。

因此,在堆中,这个数组对象存储了对应整数的引用,实际的整数数据存储在连续的内存块中。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数组元素的引用
定义并用运算符new为之分配空间后,才可以引用数组中的每 个元素; 数组元素的引用方式:数组名[数组元素下标] 数组元素下标可以是整型常量或整型表达式。如a[3] , b[i] , c[6*i]; 数组元素下标从0开始;长度为n的数组合法下标取值范围: 0 —>n-1;如int a[]=new int[3]; 可引用的数组元素为a[0]、 a[1]、a[2] 每个数组都有一个属性length指明它的长度,例如:a.length 指明数组a的长度(元素个数) 数组一旦初始化,其长度是不可变的
Java中的数据存储 机制(1) —数组
讲师:宋红康
新浪微博:尚硅谷-宋红康
数 组
数组是多个相同类型数据的组合,实现对这些数据的统 一管理 数组中的元素可以是任何数据类型,包括基本类型和引 用类型
基本数据类型的默认初始化值为0 引用数据类型的默认初始化值为null
数组属引用类型,数组型数据是对象(object) ,数组中的 每个元素相当于该对象的成员变量
栈内存
MyDate[] 对象
***** ***** ***** null null null null null null null
1 1 1990 2 2 1991 3 3 1992
m
堆内存
heap stack 1 1 **** **** **** 3 **** 3 1992 4 4 myDate: 1993 2 2 1991 1990
处内存状态
MyDate[]对象
null null null null null null null null null null
堆内存
创建对象数组 (4)
Java中使用关键字new 创建数组对象
public class Test{ public static void main(String args[]){ MyDate[] m; m = new MyDate[10]; for ( int i=0; i<10; i++ ) { m[i] =new MyDate(i+1, i+1,1990+i); m[i].display(); } } } main for循环执行三次后内存状态
栈内存
堆 内 存
创建基本数据类型数组 (2)
创建基本数据类型一维数组对象
public class Test{ public static void main(String args[]){ int[] s; 栈内存 s = new int[10]; //int[] s=new int[10]; //基本数据类型数组如果没有赋初值, //Java自动给他们赋默认值。 for ( int i=0; i<10; i++ ) { s[i] =2*i+1; System.out.println(s[i]); } main s } 处内存状态 }
int[] myInt = new int[5]; for(int i = 0;i < myInt.length;i++){ sysout(myInt[i]); myInt[i] = 2*i+1; sysout(myInt[i]);
0x1234
}
1
3 5 7
9
堆 heap:程序new出 来的东西
myInt:0x1234 栈 stack
动态初始化:数组声明且为数组元素分配空间与赋值的操作 分开进行
int[] arr = new int[3]; arr[0] = 3; arr[1] = 9; arr[2] = 8;
MyDate dates[]; dates = new MyDate[3]; dates[0] = new MyDate(22, 7, 1964); dates[1] = new MyDate(1, 1, 2000); dates[2] = new MyDate(22, 12, 1964);
3. 从键盘读入学生成绩,找出最 高分,并输出学生成绩等级。 成绩>=最高分-10 等级为’A’ 成绩>=最高分-20 等级为’B’ 成绩>=最高分-30 等级为’C’ 其余 等级为’D’
提示:先读入学生人数,根据人数创建 int数组,存放学生成绩。
多维数组
二维数组[][]:数组中的数组 格式1(动态初始化):int[][] arr = new int[3][2]; 定义了名称为arr的二维数组 二维数组中有3个一维数组 每一个一维数组中有2个元素 一维数组的名称分别为arr[0], arr[1], arr[2] 给第一个一维数组1脚标位赋值为78写法是:arr[0][1] = 78; 格式2(动态初始化):int[][] arr = new int[3][];
练习1
1.(1)定义类Pritimive,在类中定义一个有3个元素的boolean类型的 数组t作为其成员变量。数组元素未赋值。 定义类Array1,在Array1的main()方法中创建Pritimive对象d, 输出其成员变量t的三个元素值。 练习目的:检验基本数据类型数组创建时的自动赋值。 (2)给对象d的成员变量t赋值为{true,true,true},并输出t的三个元 素值。 2. 定义类Student,包含三个属性:学号number(int),年级 state(int),成绩score(int)。 创建20个学生对象,学号为1到20,年 级和成绩都由随机数确定,打印出3年级(state值为3)的学生信息。 提示:生成随机数:Math.random(),返回值类型double; 四舍五入取整:Math.round(double d),返回值类型long。
int[]对象
1 3 5 7 9 11 13 15 17 19
堆 内 存
创建对象数组 (1)
创建元素为引用类型(对象)的数组
class MyDate{ private int day; private int month; private int year; public MyDate(int d, int m, int y){ day = d; month = m; year = y; } public void display(){ System.out.println(year + "-" + month + "-" + day); } }
练习2:获取arr数组 中所有元素的和。使 用for的嵌套循环即可。
j=0
3 2
j=1
8 7
静态初始化:在定义数组的同时就为数组元素分配空间并赋 值。 MyDate dates[] = { int a[] = new int[]{ 3, 9, 8}; new MyDate(22, 7, 1964), int[] a = {3,9,8}; new MyDate(1, 1, 2000), new MyDate(22, 12, 1964) }
处内存状态 栈内存
堆内存Biblioteka m创建对象数组 (3)
创建元素为引用类型(对象)的数组演示
public class Test{ 栈内存 public static void main(String args[]){ MyDate[] m; m = new MyDate[10]; for ( int i=0; i<10; i++ ) { m[i] =new MyDate(i+1, i+1,1990+i); m[i].display(); } } main m }
定义一个名称为arr的二维数组,二维数组中有三个一维数组 每一个一维数组中具体元素也都已初始化 第一个一维数组 arr[0] = {3,8,2}; 第二个一维数组 arr[1] = {2,7}; 第三个一维数组 arr[2] = {9,0,1,6}; 第三个一维数组的长度表示方式:arr[2].length; 注意特殊写法情况:int[] x,y[]; x是一维数组,y是二维数组。 Java中多维数组不必都是规则矩阵形式 j i i=0 i=1
二维数组中有3个一维数组。 每个一维数组都是默认初始化值null (注意:区别于格式1) 可以对这个三个一维数组分别进行初始化 arr[0] = new int[3]; arr[1] = new int[1]; arr[2] = new int[2]; 注: int[][]arr = new int[][3]; //非法
int[][] i = new int[3][2];
i[0][1] = 12;
12
i[0]
i[1] i[2]
int[][] x = new int[3][]; x[0] = new int[3]; x[1] = new int[2]; x[2] = new int[4]; x[1][0] = 12;
0x1432 0x1234
0x1432 null null 0x1452
0x1452 null 0x1652
0
0
0
0 12
0
0x1652 0 x:0x1234 stack heap 0 0 0
格式3(静态初始化):int[][] arr = new int[][]{{3,8,2},{2,7},{9,0,1,6}};
一维数组声明
一维数组的声明方式:
type var[] 或 type[] var; 例如:
int a[]; int[] a1; double b[]; Mydate[] c; //对象数组
Java语言中声明数组时不能指定其长度(数组中元素的数), 例如: int a[5]; //非法
一维数组初始化
0x9876 1990 0x5435 null 0x9876 null null null 12 12 1991 2 12 1999 1
相关文档
最新文档