• 1. Java 基本语法
  • 2. 本章内容2.1 关键字 2.2 标识符 2.3 变 量 2.4 进制 2.5 运算符 2.6 流程控制 选择结构 循环结构 2.7 数组 一维数组 多维数组
  • 3. 本章内容2.1 关键字 2.2 标识符 2.3 变 量 2.4 进制 2.5 运算符 2.6 流程控制 选择结构 循环结构 2.7 数组 一维数组 多维数组
  • 4. 关键字关键字的定义和特点 定义:被Java语言赋予了特殊含义,用做专门用途的字符串(单词) 特点:关键字中所有字母都为小写 用于定义数据类型的关键字classinterfaceenumbyteshortintlongfloatdoublecharbooleanvoid用于定义数据类型值的关键字truefalsenull用于定义流程控制的关键字ifelseswitchcasedefaultwhiledoforbreakcontinuereturn
  • 5. 关键字用于定义访问权限修饰符的关键字privateprotectedpublic用于定义类,函数,变量修饰符的关键字abstractfinalstaticsynchronized用于定义类与类之间关系的关键字extendsimplements用于定义建立实例及引用实例,判断实例的关键字newthissuperinstanceof用于异常处理的关键字trycatchfinallythrowthrows用于包的关键字packageimport其他修饰符关键字nativestrictfptransientvolatileassert
  • 6. 标识符标识符: Java 对各种变量、方法和类等要素命名时使用的字符序列称为标识符 凡是自己可以起名字的地方都叫标识符。 定义合法标识符规则: 由26个英文字母大小写,数字:0-9 ,_或 $ 组成 数字不可以开头。 不可以使用关键字和保留字,但能包含关键字和保留字。 Java中严格区分大小写,长度无限制。 标识符不能包含空格。 注意:在起名字的时,为了提高阅读性,要尽量有意义,“见名知意”。&abc 2abc class class1 Animal animal last name a age
  • 7. Java中的名称命名规范Java中的名称命名规范: 包名:多单词组成时所有字母都小写:xxxyyyzzz 类名接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz 变量名和函数名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz 常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ lastName userName surveyName orderName
  • 8. 变量变量的概念: 内存中的一个存储区域 该区域有自己的名称(变量名)和类型(数据类型) Java中每个变量必须先声明,后使用 该区域的数据可以在同一类型范围内不断变化 定义变量的格式:数据类型 变量名 = 初始化值 变量是通过使用变量名来访问这块区域的 Java是强类型语言,每个变量必须先声明类型,后使用. 使用变量注意: 变量的作用域:一对{ }之间有效 15.2int 类型a
  • 9. 变量的分类按被声明的位置划分: 成员变量:方法外部、类的内部定义的变量 局部变量:方法或语句块内部定义的变量 注意:类外面(类对应的大括号外面)不能有变量的声明 按所属的数据类型划分: 基本数据类型变量 引用数据类型变量
  • 10. 变量的分类-按数据类型对于每一种数据都定义了明确的具体数据类型,在内存中分配了不同大小的内存空间。数据类型 基本 数据类型 引用 数据类型数值型字符型(char)布尔型(boolean)整数类型(byte,short,int,long)浮点类型(float,double)类(class)接口(interface)数组([ ])字符串在这里
  • 11. a堆栈12int a = 12; char c = ‘m’;mcString str = “abcde”;abcde0x2244str
  • 12. 整数类型:byte、short、int、longJava各整数类型有固定的表数范围和字段长度,不受具体 OS 的影响,以保证 java 程序的可移植性。 Java 的整型常量默认为 int 型,声明 long 型常量须后加 ‘l’ 或 ‘L’ 类 型占用存储空间表数范围byte1字节-128 ~ 127short2字节-215 ~215-1 int4字节-231 ~ 231-1long8字节-263 ~ 263-1
  • 13. 浮点类型:float、double与整数类型类似,Java 浮点类型也有固定的表数范围和字段长度,不受具体OS的影响。 Java 的浮点型常量默认为 double 型,声明 float 型常量,须后加 ‘f’ 或 ‘F’。 浮点型常量有两种表示形式: 十进制数形式:如:5.12 512.0f .512 (必须有小数点) 科学计数法形式:如:5.12e2 512E2 100E-2类 型占用存储空间表数范围单精度float4字节-3.403E38 ~ 3.403E38双精度double8字节-1.798E308 ~ 1.798E308
  • 14. 字符类型:charchar 型数据用来表示通常意义上"字符"。 字符型常量的三种表现形式: 字符常量是用单引号(‘ ’)括起来的单个字符,涵盖世界上所有书面语的字符。例如:char c1 = 'a'; char c2 = '中'; char c3 = '9'; Java中还允许使用转义字符‘\’来将其后的字符转变为特殊字符型常量。例如:char c3 = '\n'; -- '\n'表示换行符 直接使用 Unicode 值来表示字符型常量:‘\uXXXX’。其中,XXXX代表一个十六进制整数。如:\u000a 表示 \n。 char 类型是可以进行运算的。因为它都对应有 Unicode 值。
  • 15. 布尔类型:booleanboolean 类型适于逻辑运算,一般用于程序流程控制: if条件控制语句; while循环控制语句; do-while循环控制语句; for循环控制语句; boolean类型数据只允许取值true和false,不可以0或非 0 的整数替代true和false,这点和C语言不同。
  • 16. 基本数据类型转换自动类型转换:容量小的类型自动转换为容量大的数据类型。数据类型按容量大小排序为: 有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那种数据类型,然后再进行计算。 byte,short,char之间不会相互转换,他们三者在计算时首先转换为int类型。 当把任何基本类型的值和字符串值进行连接运算时(+),基本类型的值将自动转化为字符串类型。 charbyteshortintlongfloatdouble
  • 17. 强制类型转换自动类型转换的逆过程,将容量大的数据类型转换为容量小的数据类型。使用时要加上强制转换符(()),但可能造成精度降低或溢出,格外要注意。 通常,字符串不能直接转换为基本类型,但通过基本类型对应的包装类则可以实现把字符串转换成基本类型。如: String a = “43”; int i = Integer.parseInt(a); boolean类型不可以转换为其它的数据类型。
  • 18. 本章内容2.1 关键字 2.2 标识符 2.3 变 量 2.4 进制 2.5 运算符 2.6 流程控制 选择结构 循环结构 2.7 数组 一维数组 多维数组
  • 19. 进 制对于整数,有四种表示方式: 二进制:0,1 ,满 2 进 1.以 0b 或 0B 开头。 十进制:0-9 ,满 10 进 1. 八进制:0-7 ,满 8 进1. 以数字 0 开头表示。 十六进制:0-9 及 A-F,满 16 进1. 以 0x 或 0X开头表示。此处的A-F不区分大小写。
  • 20. 进 制所有数字在计算机底层都以二进制形式存在。 计算机以补码的形式保存所有的整数。 正数的补码与其原码相同;负数的补码是在其反码的末位加1。 原码:直接将一个数值换成二进制数。 反码:是对原码按位取反,只是最高位(符号位)保持不变。 Java整数常量默认是int类型,当用二进制定义整数时,其第32位是符号位;当是long类型时,二进制默认占64位,第64位是符号位
  • 21. byte 的范围:-128 ~ 127000000011000000111111110-1 的源码最小的正数:20 。源码即为其补码 反码11111111-1 的补码011111111111111110000000-127的源码最大的正数:127。源码即为其补码 反码10000001-127 的补码10000000最小的负数 -128 的补码
  • 22. 进 制制的基本转换 十进制 二进制互转 十进制转成二进制 除以2取余数 二进制转成十进制 乘以2的幂数 二进制 八进制互转 二进制 十六进制互转 十进制 八进制互转 十进制 十六进制互转
  • 23. 123510123510123101210十进制转成二进制 除以2取余数17281240220211111235 = 5 * 10^0 + 3 * 10^1 + 2 * 10^2 + 1 * 10^315 = 1 * 2^0 + 1 * 2^1 + 1 * 2^2 + 1 * 2^3二进制转成十进制 乘以2的幂数01120
  • 24. 运算符算术运算符 赋值运算符 比较运算符(关系运算符) 逻辑运算符 位运算符 三元运算符
  • 25. 算术运算符运算符运算范例结果+正号+33-负号b=4; -b-4+加5+510-减6-42*乘3*412/除5/51%取模5%50++ ++自增(前):先运算后取值 自增(后):先取值后运算a=2;b=++a; a=2;b=a++;a=3;b=3 a=3;b=2- - - -自减(前):先运算后取值 自减(后):先取值后运算a=2;b=- -a a=2;b=a- -a=1;b=1 a=1;b=2+字符串相加“He”+”llo”“Hello”
  • 26. 算术运算符的注意问题如果对负数取模,可以把模数负号忽略不记,如:5%-2=1。 但被模数是负数就另当别论。 对于除号“/”,它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分。 例如:int x=3510;x=x/1000*1000; x的结果是? “+”除字符串相加功能外,还能把非字符串转换成 字符串.例如:System.out.println("5+5="+5+5); //打印结果是?
  • 27. 赋值运算符符号:= 扩展赋值运算符: +=, -=, *=, /=, %=
  • 28. 比较运算符注1:比较运算符的结果都是boolean型,也就是要么是true,要么是false。 注2:比较运算符“==”不能误写成“=” 。 运算符运算 范例 结果==相等于 4==3 false!=不等于 4!=3 true<小于 4<3 false>大于 4>3 true<=小于等于 4<=3 false>=大于等于 4>=3 falseinstanceof检查是否是类的对象 “Hello” instanceof String true
  • 29. 逻辑运算符运算符运算范例结果&AND(与)false & truefalse|OR(或)false|truetrue^XOR(异或)true^falsetrue!Not(非)!truefalse&&AND(短路)false&&truefalse||OR(短路)false||truetrue
  • 30. 逻辑运算符逻辑运算符用于连接布尔型表达式,在Java中不可以写成33 && x<6 。 “&”和“&&”的区别: 单&时,左边无论真假,右边都进行运算; 双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。 和“||”的区别同理,双或时,左边为真,右边不参与运算。 异或( ^ )与或( | )的不同之处是:对于 ^ 而言,当左右都为true时,结果为false。
  • 31. 位运算符位运算符的细节<<被移除的高位丢弃,空缺位补0。>>被移位的二进制最高位是0,右移后,空缺位补0; 最高位是1,空缺位补1。>>>被移位二进制最高位无论是0或者是1,空缺位都用0补。&二进制位进行&运算,只有1&1时结果是1,否则是0;|二进制位进行 | 运算,只有0 | 0时结果是0,否则是1;^相同二进制位进行 ^ 运算,结果是0;1^1=0 , 0^0=0 不相同二进制位 ^ 运算结果是1。1^0=1 , 0^1=1
  • 32. 位运算符位运算是直接对二进制进行运算 位运算符运算符运算范例<<左移3 << 2 = 12 --> 3*2*2=12>>右移3 >> 1 = 1 --> 3/2=1>>>无符号右移3 >>> 1 = 1 --> 3/2=1&与运算6 & 3 = 2|或运算6 | 3 = 7^异或运算6 ^ 3 = 5~反码~6 = -7
  • 33. 三元运算符格式: (条件表达式)?表达式1:表达式2; 如果条件为true,运算后的结果是表达式1; 如果条件为false,运算后的结果是表达式2;
  • 34. 本章内容2.1 关键字 2.2 标识符 2.3 变 量 2.4 进制 2.5 运算符 2.6 流程控制 选择结构 循环结构 2.7 数组 一维数组 多维数组
  • 35. 分支语句分支语句根据一定的条件有选择地执行或跳过特定的语句 Java分支语句分类 if-else 语句 switch 语句
  • 36. if-else语句语法格式 if(布尔表达式){ 语句或语句块; } if(布尔表达式) { 语句或语句块; } else if(布尔表达式){ 语句或语句块; }else { 语句或语句块; }
  • 37. if-else语句应用举例 public class TestAge{ public static void main(String args[]){ TestAge t = new TestAge(); t.age(75); } public void age(int age){ if (age< 0) { System.out.println("不可能!"); } else if (age>250) { System.out.println("是个妖怪!"); } else { System.out.println("此人芳龄 " + age + " 马马乎乎啦!"); } } }
  • 38. if语句练习(1)编写程序:由键盘输入三个整数分别存入变量num1、num2、num3,对它们进行排序(使用 if-else if-else),并且从小到大输出。
  • 39. if语句练习(2)对下列代码,若有输出,指出输出结果。 int x=2; int y=3; if(x>2) { if(y>2) { int z=x+y; System.out.println(“z is ”+z); } }else System.out.println(“x is ”+x);
  • 40. switch语句语法格式 switch(表达式){ case 常量1: 语句1; break; case 常量2: 语句2; break; … … case 常量N: 语句N; break; [default: 语句; break;] }
  • 41. switch语句应用举例 public class Test{ public static void main(String args[]){ int i = 1; switch (i) { case 0: System.out.println("zero"); break; case 1: System.out.println("one"); //break; default: System.out.println("default"); break; } } }
  • 42. switch语句有关规则switch(表达式)中表达式的返回值必须是下述几种类型之一:int, byte, char, short, 枚举, 字符串; case子句中的值必须是常量,且所有case子句中的值应是不同的; default子句是任选的; break语句用来在执行完一个case分支后使程序跳出switch语句块;
  • 43. switch语句练习(1)使用switch语句改写下列if语句: int a = 3; int x = 100; if(a==1) x+=5; else if(a==2) x+=10; else if(a==3) x+=16; else if(a==4) x+=34; else x += 100;
  • 44. switch语句练习(2)编写程序:从键盘上读入一个学生成绩,存放在变量score中,根据score的值输出其对应的成绩等级: score>=90 等级:A 70=
  • 45. 本章内容2.1 关键字 2.2 标识符 2.3 变 量 2.4 进制 2.5 运算符 2.6 流程控制 选择结构 循环结构 2.7 数组 一维数组 多维数组
  • 46. 循环语句循环语句功能 在循环条件满足的情况下,反复执行特定代码 循环语句的四个组成部分 初始化部分(init_statement) 循环条件部分(test_exp) 循环体部分(body_statement) 迭代部分(alter_statement) 循环语句分类 for 循环 while 循环 do/while 循环
  • 47. for 循环语句语法格式 for (初始化表达式; 布尔值测试表达式; 更改表达式){ 语句或语句块; } 应用举例 public class ForLoop { public static void main(String args[]){ int result = 0; for(int i=1; i<=100; i++) { result += i; } System.out.println("result=" + result); } }
  • 48. ①②③④⑤
  • 49. for语句练习编写程序FooBizBaz.java,从1循环到150并在每行打印一个值,另外在每个3的倍数行上打印出“foo”,在每个5的倍数行上打印“biz”,在每个7的倍数行上打印输出“baz”。1 2 3 foo 4 5 biz 6 foo 7 baz … 15 foo biz …. 105 foo biz baz …
  • 50. while 循环语句语法格式 [初始化语句] while( 布尔值测试表达式){ 语句或语句块; [更改语句;] } 应用举例 public class WhileLoop { public static void main(String args[]){ int result = 0; int i=1; while(i<=100) { result += i; i++; } System.out.println("result=" + result); } }
  • 51. do/while 循环语句语法格式 [初始化语句] do{ 语句或语句块; [更改语句;] }while(布尔值测试表达式); 应用举例 public class WhileLoop { public static void main(String args[]){ int result = 0, i=1; do{ result += i; i++; }while(i<=100); System.out.println("result=" + result); } }
  • 52. while、do/while语句练习编写程序:求1到100之间所有偶数的和。用while语句分别完成。 编写程序:从键盘读入个数不确定的整数,并判断读入的正数和负数的个数,输入为0时结束程序。
  • 53. 特殊流程控制语句break 语句 break语句用于终止某个语句块的执行 { …… break; …… } break语句出现在多层嵌套的语句块中时,可以通过标签指明要终止的是哪一层语句块 label1: { …… label2: { …… label3: { …… break label2; …… } } }
  • 54. 特殊流程控制语句break 语句用法举例 public class TestBreak{ public static void main(String args[]){ for(int i = 0; i<10; i++){ if(i==3) break; System.out.println(" i =" + i); } System.out.println("Game Over!"); } }
  • 55. 特殊流程控制语句continue 语句 continue语句用于跳过某个循环语句块的一次执行 continue语句出现在多层嵌套的循环语句体中时,可以通过标签指明要跳过的是哪一层循环 continue语句用法举例1 public class ContinueTest { public static void main(String args[]){ for (int i = 0; i < 100; i++) { if (i%10==0) continue; System.out.println(i); } } }
  • 56. i=1
  • 57. 特殊流程控制语句说明break只能用于switch语句和循环语句中。 continue 只能用于循环语句中。 标号语句必须紧接在循环的头部。标号语句不能用在非循环语句的前面。 break和continue之后不能有其他的语句,因为程序永远不会执行break 和 continue之后的语句。
  • 58. 本章内容2.1 关键字 2.2 标识符 2.3 变 量 2.4 进制 2.5 运算符 2.6 流程控制 选择结构 循环结构 2.7 数组 使用 Eclipse 一维数组 多维数组
  • 59. 使用 EclipseEclipse 是目前最流行的 Java IDE(Integrated Development Environment,集成开发环境) 下载:http://www.eclipse.org/downloads/ 安装:直接解压到非中文目录下即可。
  • 60. 数组概述数组是多个相同类型数据的组合,实现对这些数据的统一管理 数组属引用类型,数组型数据是对象(Object),数组中的每个元素相当于该对象的成员变量 数组中的元素可以是任何数据类型,包括基本类型和引用类型
  • 61. 一维数组声明一维数组的声明方式: type var[] 或 type[] var; 例如: int a[]; int[] a1; double b[]; Mydate []c; //对象数组 Java语言中声明数组时不能指定其长度(数组中元素的数), 例如: int a[5]; //非法
  • 62. a堆栈ox2233
  • 63. 数组元素的引用Java中使用关键字 new 创建数组对象 定义并用运算符 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 的长度(元素个数)
  • 64. 数组元素的默认初始化数组是引用类型,它的元素相当于类的成员变量,因此数组一经分配空间,其中的每个元素也被按照成员变量同样的方式被隐式初始化。例如: public class Test { public static void main(String argv[]){ int a[]= new int[5];  System.out.println(a[3]); //a[3]的默认值为0 } }
  • 65. 数组元素的默认初始值数组元素类型
  • 66. 创建基本数据类型数组 (1) 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]); } } } Java中使用关键字new 创建数组对象 创建基本数据类型一维数组对象演示1main栈内存s堆内存处内存状态
  • 67. 创建基本数据类型一维数组对象演示2main栈内存ox1122s0int[]对象000000000堆内存处内存状态 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]); } } }创建基本数据类型数组 (2)
  • 68. main栈内存s1int[]对象35791113151719堆内存 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]); } } }处内存状态 创建基本数据类型一维数组对象演示3创建基本数据类型数组 (3)
  • 69. 创建对象数组 (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(day + "-" + month + "-" + year); } }
  • 70. 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堆内存 创建元素为引用类型(对象)的数组演示处内存状态创建对象数组 (2)
  • 71. main栈内存mnullMyDate[]对象nullnullnullnullnullnullnullnullnull堆内存处存状态 创建元素为引用类型(对象)的数组演示创建对象数组 (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(); } } }
  • 72. Java中使用关键字new 创建数组对象main栈内存m*****MyDate[]对象**********nullnullnullnull nullnullnull堆内存111990221991331992for循环执行三次后内存状态创建对象数组 (4) 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(); } } }
  • 73. 数组初始化 动态初始化:数组定义与为数组元素分配空间并赋值的操作分开进行。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);int a[]; a = new int[3]; a[0] = 3; a[1] = 9; a[2] = 8;
  • 74. 数组初始化 静态初始化:在定义数组的同时就为数组元素分配空间并赋值。int a[] = { 3, 9, 8}; MyDate dates[] = { new MyDate(22, 7, 1964), new MyDate(1, 1, 2000), new MyDate(22, 12, 1964) };
  • 75. 练习11.(1)定义类Pritimive,在类中定义一个有3个元素的boolean类型的数组t作为其成员变量。数组元素未赋值。 定义类Array1,在Array1的main()方法中创建Pritimive对象d,输出其成员变量t的三个元素值。 练习目的:检验基本数据类型数组创建时的自动赋值。 (2)给对象d的成员变量t赋值为{true,true,true},并输出t的三个元素值。 2.从键盘读入学生成绩,找出最高分,并输出学生成绩等级。 成绩>=最高分-10 等级为’A’ 成绩>=最高分-20 等级为’B’ 成绩>=最高分-30 等级为’C’ 其余 等级为’D’ 提示:先读入学生人数,根据人数创建int数组,存放学生成绩。 定义类Student,包含三个属性:学号number(int),年级state(int),成绩score(int)。创建20个学生对象,学号为1到20,年级和成绩都由随机数确定,打印出3年级(state值为3)的学生信息。 提示:生成随机数:Math.randon(),返回值类型double; 四舍五入取整:Math.round(),返回值类型long。
  • 76. 2.从键盘读入学生成绩,找出最高分,并输出学生成绩等级。 成绩>=最高分-10 等级为’A’ 成绩>=最高分-20 等级为’B’ 成绩>=最高分-30 等级为’C’ 其余等级为’D’ 提示:先读入学生人数,根据人数创建int数组,存放学生成绩。 请输入学生人数:5 请输入5个成绩 56 74 89 41 89 最高分是:89 student 0 score is 56 grade is D student 1 score is 74 grade is B student 2 score is 89 grade is A student 3 score is 41 grade is D student 4 score is 89 grade is A
  • 77. 多维数组 (1)二维数组举例: int [][] a = {{1,2},{3,4,0,9},{5,6,7}}; i jj = 0j = 1j = 2j = 3i = 012i = 13409i = 2567
  • 78. int [][] test = new int[5][];nullnullnullnullnullfor(int j = 0; j < test.length; j++){ //2. 为二维数组的每一个元素(即一维数组)分配内存空间 test[j] = new int[j + 1]; }0x12340x23450x3456nullnull000000
  • 79. 多维数组 (2)Java中多维数组被做为数组的数组处理 Java中多维数组的声明和初始化应按从高维到低维的顺序进行 int t [][] = new int [4][];//t有4行,第一个维数不空即可 t[0] = new int[5]; //每一行都是一个有5个元素的一维数组 t[1] = new int[5]; int t1[][] = new int [][4]; //非法
  • 80. 多维数组 (3) Java中多维数组不必须是规则矩阵形式 int[][] tt = new int[4][]; tt[0] = new int[2]; tt[1] = new int[4]; tt[2] = new int[6]; tt[3] = new int[8]; int tt[][] = new int[4][5]; //tt是一个4行5列的二维数组
  • 81. int [][] aa = new int[4][]; aa[0] = new int[5]; aa[1] = new int[1]; aa[2] = new int[3]; //… 000000000
  • 82. 多维数组初始化 静态初始化: int intArray[][] = {{1,2},{2,3},{3,4,5}}; int intArray1[3][2] = {{1,2},{2,3},{4,5}}; //illegal,等号左边不能指定维数 动态初始化 int a[][] = new int[4][5]; int b[][] = new int[3][] b[0] = new int[2]; b[1] = new int[3]; b[2] = new int[5];
  • 83. 数组排序Java.util.Arrays类的 sort() 方法提供了数组元素排序功能: import java.util.*; public class Sort { public static void main(String[] args) { // TODO Auto-generated method stub int [] number = {5,900,1,5,77,30,64,700}; Arrays.sort(number); for(int i = 0; i < number.length; i++) System.out.println(number[i]); } }
  • 84. 练习 23.使用简单数组 (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。
  • 85. (本页无文本内容)