循环语句可以在满足循环条件的情况下,反复执行某一点代码,这段被重复执行的代码被称为循环体,当反复执行这个循环体时,需要在合适的时候把循环条件该为假,从而结束循环,否则循环将一直执行下去,形成死循环.循环语句可能包含如下4个部分: 1.初始化语句:一个或多条语句,这些语句用于完成一些初始化工作,初始化语句在循环开始之前执行. 2.循环条件:这是一个boolean表达式,这个表达式能决定是否执行循环体. 3.循环体:这个部分是循环的主体,如果循环条件允许,这个代码块将被重复执行.如果这个代码块只有一…
do-while循环 Java还有一种循环是do-while.与for.while这些在循环顶部判断条件表达式的语句不同,do-while是在循环底部进行条件表达式的检查.这意味着do-while循环至少要执行一次循环体.do-while循环的语法格式如下: do{ 循环体; }while(循环条件); 与while循环不同的是,do-while循环的循环条件后必须有一个分号,这个分号表明循环结束. 例:下面的程序演示了do-while循环的执行流程: public class DoWhileD…
while循环 Java中的另外一种循环是while循环.while循环的语法格式如下: while(条件表达式){ 循环体; } 其中条件表达式定义了控制循环的条件,可以使任何有效的boolean表达式,条件为真时,循环会迭代.条件为假时,程序控制流会立刻转移到循环后面的代码. 例:下面是一个使用while循环输出字母表的简单示例: public class WhileDemo{ public static void main(String[] args){ char ch = 'a'; wh…
双重for循环 如果把一个循环放在另一个循环体中,那么就可以形成嵌套循环,也就是双重for循环,当然嵌套循环也可以是for循环嵌套while循环,也可以是while循环嵌套while循环……,即各种类型的循环都可以作为外层循环,也可以作为内层循环. 当程序遇到嵌套循环时,如果外层循环的循环条件允许,则开始执行外层循环的循环体,而内层循环将被外层循环的循环体来执行--只是内层循环需要反复执行自己的循环体而已.当内层循环执行结束,且外层循环的循环体执行结束时,则再次计算外层循环的循环条件,决定是否再…
不论哪一种编程语言,都会提供两种基本的流程控制结构:分支结构和循环结构.其中分支结构用于实现根据条件来选择性地执行某段代码,循环结构则用于实现根据循环条件重复执行某段代码.Java同样提供了这两种流程控制结构的语法,Java提供了if和switch两种分支语句,并提供了while.do-while和for三种循环语句.除此之外,JDK5还提供了一种新的循环:foreach循环,能以更简单的方式来遍历集合.数组的元素.Java还提供了break和continue来控制程序的循环结构. 分支结构语句…
5  switch-case条件语句 Java中的第二种分支控制语句时switch语句,switch语句提供了多路支持,因此可以使程序在多个选项中进行选择.尽管一系列嵌套if语句可以执行多路测试,然而多数情况下使用switch则更为高效.其完整形式如下: switch(expression){ case constant1: statement sequence; break; case constan2: statement sequence; break; ... ... default:…
3  if-else if-else条件语句 if-else if-else的完整形式如下: if(判断条件A){ A语句块(判断条件A的值为true,执行) }else if(判断条件B){ B语句块(判断条件B的值为true,执行) }else{ C语句块(判断条件A和判断条件B的值都为false,执行) }… 当然,如果语句块中只有一条语句的话,也可以使用以下形式简化代码: if(判断条件A) A语句块; else if(判断条件B) B语句块; else C语句块; … 条件表达式被从上…
4  嵌套if-else条件语句 嵌套if语句是作为另一个if或else语句的目标的if语句.嵌套if语句在程序设计中非常普遍.Java中,关于嵌套if语句需要记住的是,else语句总是和同一代码块中最近的且没有else与之匹配的if语句相匹配,语法格式如下所示: if(判断条件A){ if(判断条件B){ A语句块 } if(判断条件C){ B语句块 }else{ C语句块 } }else{ D语句块 } 例:下面将演示嵌套if的执行流程: public class IfElseIfElseD…
2  if-else条件语句 if-else语句的完整形式如下: if(判断条件){ A代码块(判断条件的值为true,执行) }else{ B代码块(判断条件的值为false,执行) } 当然,如果代码块只有一条语句的话,也可以使用以下形式简化代码: if(判断条件) A代码块; else B代码块; 在if-else语句中,如果判断条件表达式为真,那么执行if中的A代码块:否则,退出if,去执行else中的B代码.两个代码块是不能同时也是不可能同时执行的.控制if语句的条件表达式必须生成bo…
Java语言没有提供goto语句来控制程序的跳转,这种做法提高了程序流程控制的可读性,但降低了程序流程控制的灵活性.为了弥补这种不足,Java提供了continue和break来控制循环结构.除此之外,return可以结束整个方法,当然也就结束了一次循环. 使用break结束循环 某些时候需要在某种条件出现时强行终止循环,而不是等到循环条件为false时才退出循环.此时,可以使用break来完成这个功能.break用于完全结束一个循环,跳出循环体.不管是哪种循环,一旦在循环体中遇到break,系…
使用continue忽略本次循环剩下的语句 continue的功能和break有点类似,区别是continue只是忽略本次循环剩下的语句,接着开始下一次循环,并不会终止循环:而break则是完全终止循环本身.如下程序示范了continue的用法. public class ContinueDemo{ public static void main(String[] args){ for(int i = 0; i<3; i++){ System.out.println("i的值是"…
使用continue忽略本次循环剩下的语句 continue的功能和break有点类似,区别是continue只是忽略本次循环剩下的语句,接着开始下一次循环,并不会终止循环:而break则是完全终止循环本身.如下程序示范了continue的用法. public class ContinueDemo{ public static void main(String[] args){ for(int i = 0; i<3; i++){ System.out.println("i的值是"…
使用continue忽略本次循环剩下的语句 continue的功能和break有点类似,区别是continue只是忽略本次循环剩下的语句,接着开始下一次循环,并不会终止循环:而break则是完全终止循环本身.如下程序示范了continue的用法. public class ContinueDemo{ public static void main(String[] args){ for(int i = 0; i<3; i++){ System.out.println("i的值是"…
Java语言也和其它编程语言一样,使用标识符作为变量.对象的名字.也提供了一系列的关键字用以实现特别的功能.本小节将详细介绍Java语言的标识符和关键字等内容. 1.分隔符 Java语言里的分号“;”.花括号“{}”.方括号“[]”.圆括号“()”.空格.圆点“.”都具有特殊的分隔作用,因此被统称为分隔符. Ø  分号 Java语言中对语句的分隔不是使用回车来完成的,Java语言采用分号“;”作为语句的分隔,因此每个Java语句必须使用分号作为结尾.Java程序允许一行书写多个语句,每个语句之间…
从JDK5之后,Java提供了一种更简单的循环:foreach循环,也叫作增强for循环,这种循环遍历数组和集合更加简洁.使用foreach循环遍历数组和集合元素时,无需获得数组或集合的长度,无需根据索引来访问数组元素或集合元素,foreach循环自动遍历数组或集合的每个元素. foreach循环的语法格式如下: for(type variableName:array|collection){ //variableName自动迭代访问每个元素 } 在上面语法格式中,type是数组元素或集合元素的…
Java提供了丰富的运算符环境.可以将大部分Java运算符划分为4组:算术运算符.位运算符.关系运算符以及逻辑运算符.Java还定义了一些用于处理某些特定情况的附加运算符.本章将介绍除类型比较运算符instanceof和新的箭头运算符->之外的所有Java运算符. 算符运算符 算术运算符用于数学表达式,使用方式与在代数中的使用方法相同.表1中列出了算术运算符. 表1  算术运算符 算术运算符的操作数必须是数值类型.不能为boolean类型使用算术运算符,但是可以为char类型使用算术运算符,因为…
这次主要把循环结构的控制语句补上,主要包含while.for.continue.break.循环嵌套.主要写一些基本的认识以及包含的一些实例.当只有唯一路径且只跑一次的时候选择上一节中的选择结构语句就可以了,但是当执行一次或者重复循环执行时就需要另辟蹊径了,那就来认识一下这个蹊径吧. 一.while 语句 1.干啥用? 答:主要用于循环执行程序,既在某种条件下,循环执行某段程序,进而完成对需要重复处理的相同任务处理工作. 2.语法形式长啥样? 答:while 判断条件: 执行语句 其中,执行语句…
只有少数几种编程语言对程序设计带来过根本性的影响.其中,Java的影响由于迅速和广泛而格外突出.可以毫不夸张的说,1995年Sun公司发布的Java1.0给计算机程序设计领域带来了一场变革.这场变革迅速地把Web转变了一个高度交互的环境,也给计算机语言的设计设置了一个新标准. 多年以来,Java不断地发展.演化和修订.和其他语言加入新功能的动作迟缓不同,Java一直站在计算机程序设计语言的前沿,部分原因是变革的文化,部分原因是它所面对的变化.Java已经做过或大或小的多次升级. 第一次主要的升级…
1.案例需求 编写程序,模拟斗地主游戏洗牌和发牌的流程. 2.应用知识 ●  数组的声明 ●  数组的遍历 ●  for循环 ●  if-else分支结构 3.需求解析 模拟斗地主游戏洗牌和发牌,需要在程序中定义一个String类型的数组用来存储扑克牌,数组的大小为54,初始化这个数组,将不同花色不同点数以及大小王以字符串的形式存储到这个数组中共54张牌.开始洗牌,定义一个新的数组,数组长度也是54,用来存储洗后的扑克牌,使用随机数在未洗牌的扑克数组中进行抽取,被随机到的扑克牌进入新数组中,然后…
数组最常用的用法就是访问数组元素,包括对数组元素进行赋值和取出数组元素的值.访问数组元素都是通过在数组引用变量后紧跟一个方括号([]),方括号里是数组元素的索引值,这样就可以访问数组元素了.访问到数组元素后,就可以把一个数组元素当成一个普通变量使用了,包括为该变量赋值和取出该变量的值,这个变量的类型就是定义数组时使用的类型. Java语言的数组索引是从0开始的,也将就是说,第一个数组元素的索引值为0,最后一个数组的索引值为数组长度减1.下面代码示范了输出数组元素的值,以及为指定数组元素赋值: /…
什么是变量 在Java程序中,变量是基本的存储单元.是在程序运行中值可以改变的一块内存区域.变量是通过标识符(变量名).变量类型及可选的初始化器来定义的,此外,所有的变量都有作用域,作用域定义了变量的可见性和生命周期. 例如:计算两个班级的总人数,需要将两个班级的人数加在一起,在计算机运算过程中需要先分配一块内存保存第一个班级的人数,再分配一块内存保存第二个班级的人数,最后经过CPU的调度进行数学运算得出最后的结果.代码如下: int classA = 20;             //定义变…
Java语言中除了非常重要的跨平台特性外,还有如下几个关键特性: ●  语法简单易学 Java语言的语法简单明了,容易掌握,而且是纯面向对象(OOP)的语言,Java语言的简单性主要体现在以下几个方面: 语法规则和C++类似.从某种意义上讲,Java语言是由C和C++语言转变而来的,所以C程序设计人员可以很容易地掌握Java语言的语法.(C和C++属于高级语言,是最接近人类的语言,而不是像机器码和汇编语言那样生涩难以理解的语言) Java语言对于C++进行了简化和提高.例如,Java使用接口取代…
案例需求: 编程实现双色球中奖号码的生成 1)应用知识: ●  数组的声明 ●  数组的使用 ●  for循环 2)需求解析: 在该程序中,需要定义一个长度为7的数组,用来存储中奖号码,使用Random对象获取1-33以内的随机数最为中奖号码,使用for循环循环6次产生6个普通的中奖号码存入数组中,最后使用Random对象随机生成一个1-16以内的中奖号码,需要注意,已经产生的中奖号码不能再次作为中奖号码,所以需要使用if分支结构控制. 3)需求实现: import java.util.Rand…
二维数组的初始化与一位数组初始化类似,同样可以使用静态初始化或动态初始化. 1)静态初始化 静态初始化的格式如下: 数组名字 = new 数组元素的类型[][]{new 数组元素的类型[]{元素1,元素2,...},new 数组元素的类型[]{元素1,元素2,...},...}; 不难看出,二维数组的静态初始化跟一维数组的静态初始化很像,只是把一维数组中每个元素再次静态初始化为一位数组. 下面的代码演示了如何静态初始化一个二维数组: int[][] arr; arr = new int[][]{…
Java语言里提供了支持多维数组的语法.但是这里还想说,从数组底层的运行机制上来看是没有多维数组的. Java语言里的数组类型是引用类型,因此数组变量其实是一个引用,这个引用指向真实的数组内存,数组元素的类型也可以是引用,如果数组元素的引用再次指向真实数组内存,这种情形看上去很像多维数组. 二维数组的声明 如果一维数组中的各个元素仍然是一个数组,那么它就是一个二维数组.二维数组常用于表示表,表中的信息以行和列的形式组织,第一个索引代表元素所在的行,第二个索引代表元素所在的列. 二位数组可以看作是…
Java语言中数组必须先初始化,然后才可以使用.所谓初始化,就是为数组的数组元素分配内存空间,并为每个数组元素赋初始值. 这时有人会问,能不能只分配内存空间,不赋初始值呢?答案是肯定不行的,一旦为数组的每个数组元素分配了内存空间,每个内存空间里存储的内容就是该数组元素的值,即使这个内存空间存储的内容是空,这个空也是一个值(null),不管以哪种方式来初始化数组,只要为数组分配了内存空间,数组元素就具有了初始值.初始值的获得由两种形式:一种由系统自动分配:另一种由程序员指定. 数组的初始化有如下两…
Java语言支持两种语法格式来定义数组: type[] arrayName; type arrayName[]; 对这两种语法格式而言,通常推荐使用第一种格式,因为第一种格式不仅具有更好的语义,而且具有更好的可读性.对于type[] arrayName;方式,很容易理解这是定义一个变量,其中变量名是arrayName,而变量类型是type[].前面已经指出:type[]确实是一种新类型,与type类型完全不同(例如int类型是基本类型,但int[]是引用类型).因此,这种方式即容易理解,也复合定…
在程序代码中适当地添加注释可以提高程序的可读性和可维护性.好的编码规范可以使程序更易阅读和理解.下面将介绍Java中的集中代码注释以及应该注意的编码规范. 代码注释 通过在程序代码中添加注释可提高程序的可读性.注释中包含了程序的信息,可以帮助程序员更好的阅读和理解程序.在Java源程序文件的任意位置都可添加注释语句.注释中的文字Java编译器不进行编译,所有代码中的注释文字对程序不产生任何影响.Java语言提供了3种添加注释的方法,分别为单行注释.多行注释和文档注释. ●  单行注释 “//”为…
类型转换是将一个值从一种类型更改为另一种类型的过程.例如,可以将String(字符串,字符串是Java中非常特殊的数据类型,字符串属于引用类型,但是可以像基本类型一样使用字面值赋值)类型数据“456”转换为一个数值型,而且可以将任意类型的数据转换为String类型. 如果从低精度(比如byte,最大值127)数据类型向高精度(比如short,最大值32767)数据类型转换,则永远不会溢出,并且总是成功的:而把高精度数据类型向低精度数据类型转换则必然会有信息丢失,有可能失败. 数据类型转换有两种方…
关系运算符用来判定一个操作数与另外一个操作数之间的关系.特别是,它们可以判定相等和排序关系.表7中列出了关系运算符. 表7  关系运算符 关系运算符的结果为布尔值.关系运算符最常用与if语句和各种循环语句的控制表达式中. Java中的任何类型,包括整数.浮点数.字符以及布尔值,都可以使用相等性测试运算符“==”和不等性测试运算符”!=”进行比较.需要注意的是,在Java中,”相等“是用两个等号表示的,而不是一个等号(请记住:单个等号是赋值运算符).只有数值类型才能使用排序运算符进行比较,即只有整…