第二章 Java基本语法 讲师:复凡.

Slides:



Advertisements
Similar presentations
主要内容 Java 的常用包 Java 的常用包 “ == ” 和 “ equals ” 的用法 “ == ” 和 “ equals ” 的用法 基本数据类型与引用类型 基本数据类型与引用类型 String 和 StringBuffer String 和 StringBuffer 对象的克隆( clone.
Advertisements

软件编程基础 一、程序的编辑 Java 源程序是以 Java 为后缀的简单的文本文件,可以用各种 Java 集成开发环境中的源代码编辑器来编写,也可以用其他文 本编辑工具,如 Windows 中的记事本或 DOS 中的 EDIT 软件等。 利用文字编辑器编写下列程序 public class Hello.
第3-2章 类与 对象 Java类的特性 教学内容: 类的私有成员与公共成员 方法的重载 构造方法 实例成员与静态成员 重点: 重载 难点:
单元二:面向对象程序设计 任务二:借书卡程序设计.
3.2 Java的类 Java 类库的概念 语言规则——程序的书写规范 Java语言 类库——已有的有特定功能的Java程序模块
JAVA 编 程 技 术 主编 贾振华 2010年1月.
项目6 通用堆栈.
问卷调查的规范与技术 问卷调查的规范与技术.
学生教育办介绍 2015年9月.
四資二甲 第三週作業 物件導向程式設計.
面向对象的程序设计(一).
第五章 字符串.
南京理工大学 第2章 Java基本语法 本章我们将学习Java编程语言的基本语法,包括变量、操作符、表达式、语句、字符串、数组、控制流以及如何使用帮助文档。 使用下面的编程框架: public class Test{ public static void main(String []args){ //以下添加测试代码.
第二章 JAVA语言基础.
Ch07 介面與多重繼承 物件導向程式設計(II).
第三章 控制结构.
2.1 基本資料型別 2.2 變數 2.3 運算式與運算子 2.4 輸出與輸入資料 2.5 資料型別轉換 2.6 實例
物件導向程式設計 (Object-Oriented rogramming)
第二章 C# 基础知识.
常用工具类.
Java基础 JavaSE异常.
程序與函數的類別方法 目的:模組化程式設計 方法:由上而下設計 注意事項:(1)獨立性 (2)結合問題 (3)子問題間的溝通.
第3章 語法入門 第一個Java程式 文字模式下與程式互動 資料、運算 流程控制.
第 7 章 陣列 (Array).
程式設計實作.
第四章 基本輸出入 Java應用程式的輸出入介面有三種,分別是命令提示字元視窗、AWT元件、及Swing元件。本單元先介紹命令提示字元視窗,AWT請看第16、17章,Swing請看第20章。 輸入 輸出.
第2章回顾 标识符:不用记,动手 关键字:if, else, switch, for, while, do, break, continue, void, …… 局部变量和成员变量 ①变量作用域 ②内存布局 基本数据类型 ①4类8种 ②互相转换 流程控制语句 ①分支 if……else, switch.
C#程序设计基础 $3 成员、变量和常量.
程式撰寫流程.
Java语言程序设计 第五部分 Java异常处理.
Java程序设计 第9章 继承和多态.
中国矿大计算机学院杨东平 第5章 接口和包 中国矿大计算机学院杨东平
Java
Ch02 陣列 JAVA程式設計入門(II).
3.1 数据类型 3.2 标识符与关键字 3.3 常量 3.4 变量 3.5 运算符与表达式 3.6 一个编程实例
2019/1/16 Java语言程序设计-类与对象 教师:段鹏飞.
2019/1/17 Java语言程序设计-程序流程 教师:段鹏飞.
JAVA 程式設計與資料結構 第四章 陣列、字串與數學物件.
C/C++/Java 哪些值不是头等程序对象
$10 可空类型.
C#程序设计基础 第二章 数据类型.
* 單元:電腦與問題解決 主題:Java物件導向程式設計-類別與物件 台南縣國立善化高中 蕭嘉民 老師
第三章 C# 基础知识.
辅导课程八.
JAVA 编 程 技 术 主编 贾振华 2010年1月.
第二章Java基本程序设计.
第三课 标识符、关键字、数据类型.
第7章 异常处理.
本节内容 字节对齐.
第二章 Java基本语法 讲师:复凡.
Java程式初體驗大綱 大綱 在學程式之前及本書常用名詞解釋 Hello Java!程式 在Dos下編譯、執行程式
主编:钟元生 赵圣鲁.
第二章 Java语法基础.
第二章 Java基本语法 讲师:复凡.
Review 1~3.
龍老師我不會Debug QQ.
第二章 Java基本语法 讲师:复凡.
方法進階及物件導向基礎 Lecturer: 楊昌樺.
第二章 Java基本语法 讲师:复凡.
第二章 Java基本语法 讲师:复凡.
PPT注意事项: 当前PPT课件文件必须和提供的源代码文件夹“代码”在同一目录中即不要移动文件夹“代码”的默认位置。
JAVA 程式設計與資料結構 第三章 物件的設計.
第2章 Java语言基础.
第4讲 类和对象、异常处理 ggao.
對於成員(member)存取權的限制 成員的資料被毫無限制的存取,任誰都可以指定任意值給成員,Java語言為了防止這種現象的產生,規定:有一種成員的資料不能任由類別外部的任何人隨意存取。
判斷(選擇性敘述) if if else else if 條件運算子.
第二章 Java基础语法 北京传智播客教育
輸出執行結果到螢幕上 如果要將執行結果的文字和數值都「輸出」到電腦螢幕時,程式要怎麼寫? class 類別名稱 {
第二章 Java基本语法 讲师:复凡.
Summary
Presentation transcript:

第二章 Java基本语法 讲师:复凡

2.6 数组 数组是多个相同类型数据的组合,实现对这些数据的统一管理 数组中的元素可以是任何数据类型,包括基本数据类型和引用数据类型 数组属引用类型,数组型数据是对象(object),数组中的每个元素相当于该对象的成员变量

一维数组声明 一维数组的声明方式: type var[] 或 type[] var; 例如: int a[]; int[] a1; double b[]; Mydate[] c; //对象数组 Java语言中声明数组时不能指定其长度(数组中元素的数), 例如: int a[5]; //非法

一维数组初始化 动态初始化:数组声明且为数组元素分配空间与赋值的操作分开进行 静态初始化:在定义数组的同时就为数组元素分配空间并赋值。 int[] arr = new int[3]; arr[0] = 3; arr[1] = 9; arr[2] = 8; 静态初始化:在定义数组的同时就为数组元素分配空间并赋值。 int a[] = new int[]{ 3, 9, 8}; int[] a = {3,9,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); MyDate dates[] = { new MyDate(22, 7, 1964), new MyDate(1, 1, 2000), new MyDate(22, 12, 1964) }

创建基本数据类型数组 (1) Java中使用关键字new创建数组对象 创建基本数据类型一维数组对象 public class Test{ public static void main(String args[]){ int[] s; s = new int[10]; for ( int i=0; i<10; i++ ) { s[i] =2*i+1; System.out.println(s[i]); } 栈内存 堆内存 main s 处内存状态

创建基本数据类型数组 (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]); } 栈内存 int[]对象 堆内存 main s

创建基本数据类型数组 (3) 创建基本数据类型一维数组对象 public class Test{ public static void main(String args[]){ int[] s; s = new int[10]; for ( int i=0; i<10; i++ ) { s[i] =2*i+1; System.out.println(s[i]); } 栈内存 int[]对象 1 3 堆内存 5 7 9 11 13 15 17 main 19 s

数组元素的默认初始化 数组是引用类型,它的元素相当于类的成员变量,因此数组一经分配空间,其中的每个元素也被按照成员变量同样的方式被隐式初始化。例如: public class Test { public static void main(String argv[]){ int a[]= new int[5];  System.out.println(a[3]); //a[3]的默认值为0 } 对于基本数据类型而言,默认初始化值各有不同 对于引用数据类型而言,默认初始化值为null(注意与0不同!)

数组元素的引用 定义并用运算符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的长度(元素个数) 数组一旦初始化,其长度是不可变的

练习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。

3. 从键盘读入学生成绩,找出最高分,并输出学生成绩等级。 成绩>=最高分-10 等级为’A’ 成绩>=最高分-20 等级为’B’ 成绩>=最高分-30 等级为’C’ 其余 等级为’D’ 提示:先读入学生人数,根据人数创建int数组,存放学生成绩。

练习5 定义一个int型的一维数组,包含10个元素,分别赋一些随机整数,然后求出所有元素的最大值,最小值,平均值,和值,并输出出来。

练习 6 使用简单数组 (1)创建一个名为TestArray的类,在main()方法中声明array1和array2两个变量,他们是int[]类型的数组。 (2)使用大括号{},把array1初始化为8个素数:2,3,5,7,11,13,17,19。 (3)显示array1的内容。 (4)赋值array2变量等于array1,修改array2中的偶索引元素,使其等于索引值(如array[0]=0,array[2]=2)。打印出array1。 思考:array1和array2是什么关系? 拓展:修改题目,实现array2对array1数组的复制

多维数组 二维数组[][]:数组中的数组 格式1(动态初始化):int[][] arr = new int[3][2]; 二维数组中有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]; 注: int[][]arr = new int[][3]; //非法

练习2:获取arr数组中所有元素的和。使用for的嵌套循环即可。 格式3(静态初始化):int[][] arr = new int[][]{{3,8,2},{2,7},{9,0,1,6}}; 定义一个名称为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 j = 0 j = 1 j = 2 j = 3 i = 0 3 8 2 i = 1 7 i = 2 9 1 6 练习2:获取arr数组中所有元素的和。使用for的嵌套循环即可。

练习3 声明:int[] x,y[]; 以下选项允许通过编译的是: a ) x[0] = y; //no b) y[0] = x; //yes c) y[0][0] = x;//no d) x[0][0] = y;//no e) y[0][0] = x[0];//yes f) x = y; //no 一维数组:int[] x 或者int x[] 二维数组:int[][] y 或者 int[] y[] 或者 int y[][]

数组中涉及的常见算法 1.求数组元素的最大值、最小值、平均数、总和等 2.数组的复制、反转 3.数组元素的排序

0512-57882866 www.bcdaren.com 昆山爱达人 1250121864 昆山爱达人信息技术有限公司 视频录制: 视频提供 视频录制: 联系电话: 0512-57882866 官网地址: www.bcdaren.com 联系公众号: 昆山爱达人 联系QQ: 1250121864 编程达人APP: