流程控制
Java提供了两种流程控制结构:分支结构和循环结构。Java提供if和switch两种分支语句,还提供了while、dowhile、for三种循环结构,除此之外,foreach循环可以更简单的来遍历集合、数组的元素。Java还提供break和continue来控制程序的循环结构。
1. if条件语句
if(条件)
{
如果条件为真,则执行此段代码
}
if(条件)
{
如果条件为真,则执行此段代码
}else{
如果条件为假,则执行此段代码
}
if(条件)
{
}ifelse{
}else{
}
2. switch分支语句
switch(expression)
{
case condition1:
……
break;
case condition2:
……
break;
default:;
……
}
每个case标签后的每个代码块都有一个break;语句。Switch先计算expression的表达式的值,然后与每个case标签后的值进行比较,一旦相等,开始执行case后边的代码,直到遇到brea才结束。注意,switch后的expression表达式的数据类型只能是byte、short、int、char类型。
3. while循环语句
while(test_expression)
{
}
每次循环之前,先对test_expression循环条件求值,如果循环条件为true,则运行循环体部分。使用while循环时,一定要保证循环条件有变成false的时候。
4. do while 循环语句
do while循环与while循环的区别在于:while循环是先判断循环条件,如果条件为真才执行循环体;而dowhile循环则先执行循环体,然后判断循环条件,如果循环条件为真,则执行下一次循环,否则中止循环。
do
{
statements;
[iteration_statements]
}
while(test_expression);
5. for循环语句
for([init_statements]; [test_expression]; [iteration_statement])
{
}
执行for循环时,先执行初始化语句init_statements,这个语句只在循环开始前执行依次。每次执行循环体之前,先计算test_expression循环条件的值,如果循环条件为true,则执行循环体部分代码,然后执行循环迭代语句iteration_statement。因此,对于for循环,循环条件总比循环体要多执行一次。
6. foreach循环
使用这个循环结构可以方便的遍历数组和集合。
for(typevariableName : array | collection)
{
}
注意:foreach循环不能给数组赋值!
7. 嵌套循环
当程序语带嵌套循环时,如果外层循环的循环条件允许,则开始执行外层循环的循环体,而内层循环将外层循环的循环体来执行—只是内层循环需要反复执行自己的循环体而已。当内层循环执行结束、且外层循环的循环体执行介绍,则再次计算外层循环的循环条件,决定是否再次开始执行外层循环的循环体。
l 使用break结束循环
break用于完全结束一个循环,跳出循环体。
l 使用continue结束本次循环
continue只是中止本次循环,开始执行下一次循环。
l 使用return结束方法
当使用return语句时,return后边的语句则不执行,直接结束整个方法。
数组类型
Java的数组要求所有数组具有相同的数据类型。一旦数组的初始化完成,则数组在内存中所占用的空间大小就被固定了,数组的长度也就固定了。即使把某个数组元素的数据清空,但它所占的空间依然被保留,依然属于该数组,数组的长度依然不变。
数组的初始化:
newType[] arrayName;
arrayName =newType[]{element1, element2, element3…};//静态初始化数组
arrayName = new Type[length];//动态初始化数组
int[][] b = new int[4][5];//二维数组
使用arrayName[index]来访问数组元素的值。index表示数组元素的索引值,数组索引从0开始。使用arrayName.length来访问数组的长度。
数组是一个引用数据类型,数组引用变量只是一个引用,数组元素和数组变量在内存里是分开存放的。数组元素存储在堆(heap)内存中,数组引用变量存储在栈(stack)内存中。
为什么有栈内存和堆内存之分?
答:当一个方法执行时,每个方法都会建立自己的内存栈,在这个方法内定义的变量将会逐个放入这块栈内存里,随着方法的执行结束,这个方法内存栈也将自然销毁了。因此,所有在方法中定义的变量都是放在栈内存中的;当我们在程序中创建一个对象时,这个对象将被保存到运行时数据区中,以便反复利用(因为对象的创建成本通常较大),这个运行时数据区就是堆内存。堆内存中的对象不会随着方法的结束而销毁,即使方法结束后,这个对象还可能被另一个引用变量所引用(方法的参数传递时很常见),则这个对象依然被销毁。只有当一个对象没有任何引用变量引用它的时候,系统的垃圾回收机制会在合适的时候回收它。
分享到:
相关推荐
2.0mm单排双排排针排母直插直角90度弯角排座AD封装库(ALTIUM 3D PCB封装库): Component Count : 90 Component Name ----------------------------------------------- HDR2.0-LI-2P HDR2.0-LI-2x2P HDR2.0-LI-2...
【Java学习+面试宝典】 一份涵盖大部分Java程序员所需要掌握的核心知识。 目录: Java 面试题 文章推荐 ...从零开始单排学设计模式「单一职责原则」黑铁 - 青铜 晋级赛 学习书籍: Java 技术书籍大全
2.54mm单排双排排针排母直插表贴排针排座90度弯针AD封装库(ALTIUM 3D PCB封装库): Component Count : 177 Component Name ----------------------------------------------- HDR2.54-LI-1P HDR2.54-LI-2P HDR...
2.54mm间距单排座双排座排母表贴SMD排母AD集成3D封装库(原理图库+PCB封装库): PCB Library : 排母.PcbLib Date : 2021/5/11 Time : 17:27:53 Component Count : 60 Component Name -------------------------...
贴片类PCB接插件0.5mm 1.0mm 2.0mm 2.54mm单排双排接口插件Altium封装库三维视图PCB封装库(3D封装库),317个 Component Count : 317 Component Name ----------------------------------------------- 1_27_2_40 3-...
包含2-8PIN单排排针等封装,总共几百个封装,是allegro的PCB封装,只有PCB封装,有dra文件,pad文件,psm文件,fsm文件。还包含了一些其他的封装, 所有的封装名和器件名都在excel表里面有对应关系,库文件很全
jQuery按钮控制单排图片切换代码是一款带有左右箭头按钮控制的图片动感滚动切换特效
常用插装接插件 2.0 2.54 5.08mm单排双排接口插件Altium封装库三维视图PCB封装库(3D封装库合集), 965 个封装,PcbLibb后缀文件,封装列表如下: Component Count : 965 Component Name --------------------------...
1.27mm单排双排排针排母直插表贴排针排座AD封装库(ALTIUM 3D PCB封装库): Component Count : 152 Component Name ----------------------------------------------- HDR1.27-LI-2P HDR1.27-LI-2x2P HDR1.27-LI-...
行业分类-设备装置-一种单排孔蒸压灰加气混凝土墙体砌块.zip
自己的Go语言小轮子实践记录与教程文档~~~ 不会Golang的程序员会怎么去学一门新语言呢?来看看吧~~~
CRYSTAL-2P 2脚 5.0x3.2x1.3 无源 24MHz -40~85℃ 20pF CRYSTAL-4P MC-306 8.0 x 3.8 x 2.4 mm Ceramic SMD Package DLP11SN900SL2 CHIP COMMON MODE CHOKE 90ohm/100MHz FUSE SMD1812 SERIES PTC Devices 3A H1102...
行业分类-设备装置-单排气囊双向倾斜式洗衣机.zip
jquery带分页数字左右按钮控制单排图片切换 jquery带分页数字左右按钮控制单排图片切换 jquery带分页数字左右按钮控制单排图片切换
行业分类-设备装置-单排孔混凝土墙体芯柱砌块.zip
行业资料-交通装置-一种单排轮滑鞋刹车装置.zip
国产单片机-SWM181CBT6-50-LQFP48封装最小系统开发板ALTIUM设计硬件原理图+...Header 2 单排排针, Header, 2-Pin Header 24 双排排针, Header, 24-Pin Header 4 单排排针, Header, 4-Pin LED 发光二极管, 蓝色 MHDR2X10
插贴片类0.5mm 1.0mm 2.0mm 2.54mm单排双排接口PCB接插件ad库三维视图PCB封装库(2D3D封装库).-317个 DC3-4P-2.54mm DC3-6P-2.54mm DC3-8P-2.54mm DC3-10P-2.54mm DC3-12P-2.54mm DC3-14P-2.54mm DC3-16P-2.54mm DC3-...
2.0mm距单双排针封装库 单排1-30,双排2*2-2*30