程序的流程控制:
上一章我习了基础语法、数据类型、和表达式,数据类型为java提供了操作内存的方式,基础语法
和表达式,让我们可以写简单的java程序。
在表达式和运算符中,学习的运算符:算数运算符、关系运算符、罗技运算符、三目运算等等;但
是写的java程序都是至上而下的简单程序,只有其中的三目运算提供了一种供我们选择执行的方式;
三目运算就是一个控制程序流程的简单方式,它的表现形式:(表达式1) ? 表达式2 :表达式3
;但是有时候,我们需要复杂的选择流程,那么就需要复合型的三目运算,但是这是三目运算的形式就变得
非常复杂,不利于我们编写和读程序。
因此我们既得让程序具有选择执行的能力,又必须简单、易懂、不容易出错,所以java中引入了程
序的流程控制;
java中程序的流程控制,包括选择控制,和循环控制;
选择控制:单if语句 、双分支、嵌套:
写法如下:
if( 条件表达式 ){
语句块;
}
if( 条件表达式 ){
语句块;
}else if( 条件表达式 ){
语句块;
}
if(条件表达式){
if(条件表达式){
语句块;
}else if(条件表达式){
语句块;
}else{
语句块;
}
}
其中 条件表达式可以直接是true、false本身、也可以是关系运算符的表达式
除了if选择语句,还有switch语句,基本的书写规定如下
switch(算数表达式){
case 常量1 :语句;
break;
case 常量2 :语句;
break;
case 常量3 :语句;
break;
case 常量4 :语句;
break;
......
default: 语句;
break;
其中 break代表跳出选择,不能省略,要不然会出现一系列错误
default默认写在最后,也可以写在前面,但也必须带上break结尾
除了选择流程,java还有循环流程语句:
比如一个事情重复出现很多次,如写1000遍“我要吃蛋炒饭”,不可能一遍一遍输入或者CTRL+C/+V,java中
提供了循环;
while---循环体系:结构如下
while(布尔表达式){
语句;
}
它是先验表达式,先进行判断,再按流程运行;
do----while---体系
do{
语句;
}while( 布尔 );
它是后验表达式,先执行一次,再进行判断
for循环的控制:
格式: for( 表达式 一 ;表达式 二 ;表达式 三 ){
循环语句;
}
表达式一只初始化一次;表达式二作为循环是否继续执行的判断;表达式三是控制循环变量的改变;
其中,表达式一在整个循环中只执行一次,之后的循环与表达式一没有关系,表达式二是布尔表达式;
for循环的流程:
表达式一(只执行一次)--->表达式二 进行判断---> 循环语句--->表达式三--->表达式二 判断--->如果成
立--->循环表达式--->表达式三.....依次类推
for循环的嵌套:
for(int i;判断条件;i++){
for(int j;判断条件;j+=){
}
}
也是根据单一for循环的流程一步一步走;
循环的控制:
continue: 跳出本次循环,进入下一次循环
break: 直接终止循环;
什么是数组:
数组不是基本数据类型,它是同一个类型的一个集合,Java中数组的形式是:
数据类型 [] 变量名字 = {......};
或者 数据类型 [] 变量名字= new 数据类型 [数组的长度];
数组是内存空间中连续的内存空间,它的使用可以减少计算机寻找变量的时间,因此
把同一种数据类型都定义在一起的这种形式叫数组
操作数组的方式:
数组的变量名可以看成数组的引用,因此,操作一个数组,首先要找到数组的引用,既变量名,然后数组是内
存空间的连续表现形式,因此,我们用从0开始的下标表示数组的每个元素,所以操作一个数组从中找具体的
指,就是找到变量名+找到该数组的下标:表现的形式就是 ... a[n]
创建一个数组的3种方式:以int类型的数组,变量以a表示:
int[] a={1,2,3};
int[] a=new int[3];
int[] a=new int[] {1,2,3};
以上3种方式;
数组的特点:在内存中是连续存在的;数组中的元素是同一类型;数组的变量名,是数组首元素的地址;数组创建完成后,是不能增加容量或减小容量
的;
多维数组:以int类型数组为例:
int[] [] a=new int [3][5];
可以看成是元素也是数组的一维的数组,前一个[]代表行,后一个代表列数,可以用双for遍历,只可意会不可言传;
数组的回顾:
数组中是存放一个数据类型的集合,数组的表达式: 数据类型[] 变量名...,然而在java中一切数据类型的基
本类是Object,因此我们可以用Object来定义一个数组,Object[] o=new Object[10];这样我们就可以
在这个数组中存放所有的数据类型;这里同时引入了一个概念:类-对象,类是一个抽象的事物,而对象是类的具体实例化,用关键字new创建;
方法:
java是高级编程语言,遵循低耦合,单一性原则,因此将一系列解决同一问题所用的办法封装、打包,java中方法的表现形式: 访问修饰符 可选修饰符,返回类型,方法名(形参列表){方法体},有的方法没有返回值,使用关键字void表示,如果定义时有返回值的方法,那么在方法体内部,使用return返回值,定义方法时,形参是一份用,隔开的参数列表,并且定义形式参数的时候,包含定义参数的数据类型,方法名,参数列表,返回值类型定义了方法的签名,调用方法的时候,只需要写出方法名和实际参数;java方法调用对于基本数据类型是按值传递的方式执行的,相当于把实参的一个拷贝发送给了形参。