java基础之程序流程控制和数组
2015-05-16 13:25
253 查看
------- android培训、java培训、期待与您交流!
----------
一、程序流程控制
1.判断结构
1.1 if语句
三种格式:
(1).if(逻辑表达式)
{
执行语句;
}
(2).if(逻辑表达式)
{
执行语句;
}
else
{
执行语句;
}
(3).if(逻辑表达式)
{
执行语句;
}
else if (逻辑表达式)
{
执行语句;
}
……
else
{
执行语句;
}
if语句特点:
a,每一种格式都是单条语句。
b,第二种格式与三元运算符的区别:三元运算符运算完要有值出现。好处是:可以写在其他表达式中。
c,条件表达式无论写成什么样子,只看最终的结构是否是true 或者 false;
2.选择结构
2.1 switch语句
格式:
switch(表达式)
{
case 取值1:
执行语句;
break;
case 取值2:
执行语句;
break;
12fc7
……
default:
执行语句;
break;
}
switch语句特点:
a,switch语句选择的类型只有:byte,short,int , char。enum(JDK5),String(JDK7)
b,case之间与default没有顺序。先执行第一个case,没有匹配的case执行default。
c,结束switch语句的两种情况:遇到break,执行到switch语句结束。
d,如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运行可以执行的语句,直到遇到break或者switch结尾结束。
3.循环结构
代表语句:
3.1 while
while语句格式:
while(条件表达式)
{
执行语句;
}
1).先判断逻辑表达式的值。若=true.则执行其后面的语句,然后再次判断条件并反复执行,直到条件不成立为止;
2).退出机制:
a.将条件表达式置为false;
b.使用break;强制退出;
break(跳出)和continue(继续)
break语句:应用范围:选择结构和循环结构。
continue语句:应用于循环结构。
注:
a,这两个语句离开应用范围,存在是没有意义的。
b,这个两个语句单独存在下面都不可以有语句,因为执行不到。
c,continue语句是结束本次循环继续下次循环。
d,标号的出现,可以让这两个语句作用于指定的范围。
(for循环后)
3.2 do while
3.3 for
二、数组
1、一维数组
1.1
格式一:元素类型[] 数组名 = new 元素类型[元素个数或数组长度];
示例:int[] arr = new int[5];
格式二:
元素类型[] 数组名 = new 元素类型[]{元素,元素,……};
示例:
int[] arr = new int[]{3,5,1,7};
int[] arr = {3,5,1,7};
1.2
数组操作常见问题:
1.2.1 数组脚标越界异常(ArrayIndexOutOfBoundsException)
int[] arr = new int[2];
System.out.println(arr[3]);
访问到了数组中的不存在的脚标时发生。
1.2.2 空指针异常(NullPointerException)
int[] arr = null;
System.out.println(arr[0]);
arr引用没有指向实体,却在操作实体中的元素时。
1.3
方法的值传递和引用传递:
1.3.1 方法的形参如果是“基本数据类型”:
1)、将“值”复制,传递到方法内部;
2)、在方法内部如果更改“值”,不影响原值;
1.3.2 方法的形参如果是“引用类型”:
1)、将“引用”复制,传递到方法内部;
2)、此时“原引用”和“方法内部的引用”都指向同一块在“堆”中的空间;
3)、如果在方法内部通过引用将堆中的值更改,原引用所获取的值将同时发生更改;
2、二维数组:数组中的数组
2.1 格式1:int[][]
arr = new int[3][2];
1).定义了名称为arr的二维数组
2).二维数组中有3个一维数组
3).每一个一维数组中有2个元素
4).一维数组的名称分别为arr[0],
arr[1], arr[2]
5).给第一个一维数组1脚标位赋值为78写法是:arr[0][1]
= 78;
2.2 格式2:int[][]
arr = new int[3][];
1).二维数组中有3个一维数组
2).每个一维数组都是默认初始化值null
3).可以对这个三个一维数组分别进行初始化
arr[0] = new int[3];
arr[1] = new int[1];
arr[2] = new int[2];
2.3 格式3:int[][]
arr = {{3,8,2},{2,7},{9,0,1,6}};
1).定义一个名称为arr的二维数组
2).二维数组中的有三个一维数组
3).每一个一维数组中具体元素也都已初始化
4).第一个一维数组 arr[0]
= {3,8,2};
5).第二个一维数组 arr[1]
= {2,7};
6).第三个一维数组 arr[2]
= {9,0,1,6};
7).第三个一维数组的长度表示方式:arr[2].length;
注意特殊写法情况:int[] x,y[]; x是一维数组,y是二维数组。
----------
一、程序流程控制
1.判断结构
1.1 if语句
三种格式:
(1).if(逻辑表达式)
{
执行语句;
}
(2).if(逻辑表达式)
{
执行语句;
}
else
{
执行语句;
}
(3).if(逻辑表达式)
{
执行语句;
}
else if (逻辑表达式)
{
执行语句;
}
……
else
{
执行语句;
}
if语句特点:
a,每一种格式都是单条语句。
b,第二种格式与三元运算符的区别:三元运算符运算完要有值出现。好处是:可以写在其他表达式中。
c,条件表达式无论写成什么样子,只看最终的结构是否是true 或者 false;
2.选择结构
2.1 switch语句
格式:
switch(表达式)
{
case 取值1:
执行语句;
break;
case 取值2:
执行语句;
break;
12fc7
……
default:
执行语句;
break;
}
switch语句特点:
a,switch语句选择的类型只有:byte,short,int , char。enum(JDK5),String(JDK7)
b,case之间与default没有顺序。先执行第一个case,没有匹配的case执行default。
c,结束switch语句的两种情况:遇到break,执行到switch语句结束。
d,如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运行可以执行的语句,直到遇到break或者switch结尾结束。
3.循环结构
代表语句:
3.1 while
while语句格式:
while(条件表达式)
{
执行语句;
}
1).先判断逻辑表达式的值。若=true.则执行其后面的语句,然后再次判断条件并反复执行,直到条件不成立为止;
2).退出机制:
a.将条件表达式置为false;
b.使用break;强制退出;
break(跳出)和continue(继续)
break语句:应用范围:选择结构和循环结构。
continue语句:应用于循环结构。
注:
a,这两个语句离开应用范围,存在是没有意义的。
b,这个两个语句单独存在下面都不可以有语句,因为执行不到。
c,continue语句是结束本次循环继续下次循环。
d,标号的出现,可以让这两个语句作用于指定的范围。
(for循环后)
3.2 do while
3.3 for
二、数组
1、一维数组
1.1
格式一:元素类型[] 数组名 = new 元素类型[元素个数或数组长度];
示例:int[] arr = new int[5];
格式二:
元素类型[] 数组名 = new 元素类型[]{元素,元素,……};
示例:
int[] arr = new int[]{3,5,1,7};
int[] arr = {3,5,1,7};
1.2
数组操作常见问题:
1.2.1 数组脚标越界异常(ArrayIndexOutOfBoundsException)
int[] arr = new int[2];
System.out.println(arr[3]);
访问到了数组中的不存在的脚标时发生。
1.2.2 空指针异常(NullPointerException)
int[] arr = null;
System.out.println(arr[0]);
arr引用没有指向实体,却在操作实体中的元素时。
1.3
方法的值传递和引用传递:
1.3.1 方法的形参如果是“基本数据类型”:
1)、将“值”复制,传递到方法内部;
2)、在方法内部如果更改“值”,不影响原值;
1.3.2 方法的形参如果是“引用类型”:
1)、将“引用”复制,传递到方法内部;
2)、此时“原引用”和“方法内部的引用”都指向同一块在“堆”中的空间;
3)、如果在方法内部通过引用将堆中的值更改,原引用所获取的值将同时发生更改;
2、二维数组:数组中的数组
2.1 格式1:int[][]
arr = new int[3][2];
1).定义了名称为arr的二维数组
2).二维数组中有3个一维数组
3).每一个一维数组中有2个元素
4).一维数组的名称分别为arr[0],
arr[1], arr[2]
5).给第一个一维数组1脚标位赋值为78写法是:arr[0][1]
= 78;
2.2 格式2:int[][]
arr = new int[3][];
1).二维数组中有3个一维数组
2).每个一维数组都是默认初始化值null
3).可以对这个三个一维数组分别进行初始化
arr[0] = new int[3];
arr[1] = new int[1];
arr[2] = new int[2];
2.3 格式3:int[][]
arr = {{3,8,2},{2,7},{9,0,1,6}};
1).定义一个名称为arr的二维数组
2).二维数组中的有三个一维数组
3).每一个一维数组中具体元素也都已初始化
4).第一个一维数组 arr[0]
= {3,8,2};
5).第二个一维数组 arr[1]
= {2,7};
6).第三个一维数组 arr[2]
= {9,0,1,6};
7).第三个一维数组的长度表示方式:arr[2].length;
注意特殊写法情况:int[] x,y[]; x是一维数组,y是二维数组。
相关文章推荐
- Java基础——程序流程控制、函数与数组
- Java语言基础组成之:程序流程控制、函数、数组
- 黑马程序员——Java语言基础:程序流程控制、函数、数组
- [java学习笔记]java语言基础概述之运算符&程序流程控制&for循环嵌套
- java基础-程序流程控制
- Java基础学习8(程序流程控制)
- JAVA基础3-程序结构与控制、函数与数组入门
- 黑马程序员——Java基础——程序流程控制、函数操作
- Java基础——标识符+常量与变量+类型转换+进制转换+运算符+程序流程结构控制
- 黑马程序员——Java基本语法(二):程序流程控制、函数、数组
- Java 基础入门随笔(4) JavaSE版——程序流程控制
- 黑马程序员——java基础---流程控制、函数、数组
- Java基础语法(三)(流程控制和数组)
- 黑马程序员-Java基础【2】(流程控制语句,方法,数组)
- JAVA基础学习(三)---程序结构与控制、函数与数组入门
- 黑马程序员--Java基础--程序流程控制
- java语法基础-程序流程控制-选择结构-switch语句
- JAVA基础之程序流程控制:判断结构
- java 基础 第四章流程控制与数组
- JAVA基础知识思维导图:unit01_开发环境,变量,基本类型及转换,数学运算,流程控制,数组