首页 > 代码库 > JAVASE课程 第一章 第三讲程序控制与数组

JAVASE课程 第一章 第三讲程序控制与数组

作用:  
1、可以了解程序的三种结构
2、可以了解一维数组,二维数组,多维数组,不规则数组 
3、可以了解移位运算符和随机数类,控制台输入 


1  程序的三种结构
顺序结构  自上而下的逐行执行代码
选择语句  根据逻辑判断代码的执行顺序
循环语句  根据逻辑重复执行某个代码块


2  选择语句 
1) if语句
1/  直接输出
2/  if...else 
3/  if...else if ... else if ... 
4/  if的三目运算符  如 (a>b)?a/b:a*b


2) switch语句
开关语句: 只能是byte,int,char,short 枚举类型
语句格式:  switch(变量)
{
    case 变量1: 语句块1 ; break;
case 变量2: 语句块2 ; break;
default: 语句;
}


3 循环语句
1) while语句
语句特点: 先判断,后执行循环


2) do ... while 语句
语句特点:  先至少执行一次循环,后判断


3) for循环 


4 关键字
break: 跳出循环体,直接截止循环.
continue: 中止本次循环,直接下次循环.


5 数组
1) 数组申明与初始化
a 动态表达式  int[] 数组名 = new int[数组个数]
b 静态初始化  int[] 数组名 = new int[]{数组值1,数组值1...}
 int[] 数组名 = {数组值1,数组值1...}
2) 数组下标(也称数组索引)
a  数组下标是从0开始的
b  不要访问不存在的数组元素,挤超过数组元素的方位


3) 数组的长度
a  运用   数组名.length 来取得数组长度
b  代码,length遍历


4) 数组的默认与初始化
a  定义了数组,却没有为数组赋值,在这种情况下,系统会默认给数组初始化
b  注意:  byte short int  float dobuble 默认值为0,布尔型默认值是flase


5) 转换
a  将字符串转换为字符
String str = "strValue";
char charVal = str.charAt(0);


b  将字符串转换为字符型数组    
String str = "strValue";
char[] charArray = str.toCharArray();


6) 二维数组
a 显示初始化
1/ int[][] results = {{1,2,3},{1,2,3}};  //{{第一行初值},{第二行初值},{第三行初值}...}
2/ int[][] results = new int[][]{{1,2,3},{1,2,3}};


b 应用
1/  矩阵互转 => 将一个二维数组的行和列的元素互转,存储到另一个二维数组中.
2/  杨辉三角形 => 它的斜边都是有数字1组成,而其余的数则是他肩上两个数之和.


c 理解
1/ 一位数组: 当成几何中的线性图形.
2/ 二维数组: 相当于一个表格 


7) 多维数组
数组的维度就是类型后面的中括号对数.
多维数组元素的个数 = 每个二维上大小的乘积


8) 不规则数组与规则数组
规则数组: 呈线性分布,每行元素个数相同
不规则数组: 每行元素个数不相同
a 不规则数组定义: 由于多维数组在内存中不是呈线性分配的,所以多维数组可以以不规则的形式存在.
b 如 1/ int[][] results = {{1,2,3},{5,7},{0}}
     2/ int[][] x = new int[5][]
0行有4个元素 => x[0] = new int[4]  1行有3个元素 =>  x[1] = new int[3] ... 


6 移位运算符
>> 向右移一次,相当于除以2(向右移动两位,右边补1)
<< 向左移一次,相当于乘以2(向左移动两位,左边补0)
>>> 向右移两位,左边补0 (没有<<<运算符)


7 小应用
a 产生随机数
int num = new java.util.Random().nextInt(10);  //随机产生1-10的随机数


b 从键盘输入,出现一个输入方框
String obj_str = javax.swing.JOptionPane.showInputDialog("输入数字:");
int num_int = Integer.parseInt(obj_str);
Double num_dou = Double.parseDouble(obj_str); 

JAVASE课程 第一章 第三讲程序控制与数组