黑马程序员_JAVA之路3——循环语句与函数
来源:互联网 发布:app的数据库设计 编辑:程序博客网 时间:2024/04/29 13:51
------- android培训、java培训、期待与您交流! ----------
1 循环结构:while do while for
while(条件表达式) //先判断条件,条件满足再执行语句。
{
循环体 执行语句
}
注意:while(条件表达式)后面不要加;,若加分号则成死循环
题外话:(ctrl+c 强行停止命令行)
do //先执行语句再判断条件,若满足条件再执行循环体。do while 至少执行一次
{
循环体执行语句
}
while(条件表达式);//注意加分号。
for(初始化表达式;循环条件表达式;循环后的操作表达式)//只要是合法表达式即可,不一定非得int x=0.表达式也可以多个,用,分开即可。
{
执行语句
}
例如:for(int x=0;x<3;x++)//x只作用于for中
{
System.out.println("x="+x);
}
执行过程:先int x=0,再x<3,再System.out.println("x="+x);再x++,再x<3,再 System.out.println("x="+x);再x++。。。。。。。其中int x=0只执行一次。
另外:也可以写成:
int x=0;
for(;x<3;)
{
x++;
}
初始化表达式和循环后的操作表达式可以省略,如果这样的话其实直接用while就可以了。
while与for的区别:变量作用域不一样,for中变量只存在于for中,while是全局的。如果变量只为循环存在的话,用for语句,内存会相对优化一些,局部变量再使用完后会立即释放内存空间。另外,for和while可以互换。
注意:
int x=1;
for(System.out.println("a");x<3;System.out.println("c"))
{
System.our.println("d");
x++;
}
运算结果:adcdc
无限循环的最简单表达形式:
for(;;){} //其中表判断的表达式默认为true
while(true){}
2 示例
打印1-10的和
int sum=0;int x=1;
while(x<=10)
{
sum=sum+x;
x++;
}
1-100之间7的倍数的个数,并打印。
int x=0;//用于存放7的倍数的个数
int y;//用于存放7的倍数
for(int z=1;z<=100;z++)
{
if(z%7==0)
{
x++;
System.out.println(z);
}
}
System.out.println("7的倍数的个数为"+x);
注意:其实这就是累加思想,通过变量记录住循环操作后的结果。
3 语句嵌套形式,循环中含有循环,即循环嵌套
打印九九乘法表
for(int x=1;x<=9;x++)
{
for(int y=1;y<=x;y++)
{
System.out.print(y+"*"+x+"="+x*y+" ");
}
System.out.println();
}
用*打印由每边5个*的等边三角形,
for(int x=1;x<=5;x++)
{
for(int y=5;y>x;y--)
{
System.out.print("");
}
for(int z=1;z<=x;z++)
{
System.out.print("* ");
}
System.out.println();
}
4 其他流程控制语句
break(跳出) :默认跳出所在循环,也可以指定跳出指定循环
应用范围:选择结构和循环结构
w:for(int x=0;x<=9;x++)
{
q:for(int y=0;y<3;y++)
{
System.out.println("d");
break; //跳出所在循环
break w;//跳出w循环
}
}
continue(继续):跳过continue后面的内容,继续下一次循环。
应用范围:循环结构
for(int y=1;y<=x;y++)
{
if(y%2==1)
continue;
System.out.print(y);
}
w:for(int x=0;x<=9;x++)
{
q:for(int y=0;y<3;y++)
{
System.out.println("d");
continue w;//终止w该次循环,继续下一次循环。
}
}
记住:
break 和contiinue语句作用的范围
break和continue单独存在时, 下面可以有任何语句,因为都执行不到。
5 函数
定义:函数就是定义在类中的具有特定功能的一段独立小程序
函数也称为方法。
格式:
修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2........)
{
执行语句;
return返回值;
}
返回值类型:函数运行后的结果的数据类型
参数类型:是形式参数的数据类型
形式参数:是一个变量,用于存储调用函数时出啊递给函数的实际参数
世界参数:传递给形式参数的具体数值
return:用于结束函数
返回值:该值会返回给调用者
class FunctionTest
{
public static int getSum(int x)
{
int sum=0;
sum=x+8+9;
return sum;
}
public static void main(String[] args)
{
System.out.println(getSum(4));
}
}
函数特点:
电议函数可以将功能代码进行封装
便于对该功能进行复用
函数只有被调用才会被执行
函数的出现提高了代码的复用性
对于函数没有具体返回值的情况,返回值类型用关键字void表示,那么该函数中的return语句如果在最后一行可以省略不写,但写上也不错。
注意:
函数中只能调用函数,不可以再函数内部定义函数(尤其注意在main中)
定义函数时,函数的结果应该返回给调用者,交由调用者处理
6 函数的重载
概念:再同一个类中,允许存在一个以上的同名函数,只要他们的参数个数或者参数类型不同即可。
特点:与返回值类型无关,只看参数列表
好处:方便与阅读,优化了程序设计
示例:
//返回两个整数的和
int add(int x,int y){return x+y;}
//返回三个整数的和
int add(int x,int y, int z){return x+y+z;}
//返回两个小数的和
//double add(double x,double y){return x+y;}
什么时候用重载?当定义的功能相同,但参与运算的求知内容不同,那么这是就定义一个函数名称以表示其功能,方便于都,二通过参数列表的不同来区分多个不同名函数。 两个仅仅返回值类型不同的函数不能同时存在同一个类中。
7 数组
概念:同一种类型数据的集合,其实数组就是一个容器。
数组好处:可以自动给数组中的元素从0开始编号,方便操作这些元素。
格式1: 元素类型[] 数组名 = new 元素类型[元素个数或数组长度];
示例:int[] arr=new int[5];
格式2:元素类型[] 数组名=new 元素类型[]{元素1,元素2,...};
示例:int[] arr= new int[]{1,2,3};
int[] arr={1,2,3};
new的作用:用于在内存中开辟一个容器实体。
解读:new int[5]:意思是再内存的堆中开辟一个可以容5个元素的实体。
int[] arr:意思是在内存的栈中开辟一个数组型变量arr
int[] arr=new int[5]; 意思是开辟一个容器实体,并把该容器实体的地址赋给数组型变量arr 。 arr中存放的是地址。
数组不赋值时,默认:int 0 double 0.0 float 0.0f boolean false
注意:
int[] arr= new int[]{1,2,3};
arr=null;//null只能赋给引用数据类型变量
将null赋给arr后,表示数组型变量arr不再指向数组,值为空了。而此时new int[]{1,2,3}没有被引用,这种情况下称为垃圾,会被java的垃圾回收机制定期清理,而不是马上清理。
- 黑马程序员_JAVA之路3——循环语句与函数
- 黑马程序员_JAVA笔记03——循环语句与函数
- 黑马程序员_java判断与循环语句
- 黑马程序员_JAVA基础-函数与循环
- 黑马程序员_Java基础_循环语句和函数
- 黑马程序员_JAVA语言规范运算符,条件语句,循环语句,函数规则
- 黑马程序员_JAVA之路5——面向对象1(类与对象关系、封装、构造函数、this)
- 黑马程序员_JAVA语言基础 语句、函数
- 黑马程序员_Java语句和函数
- 黑马程序员_java逻辑循环语句(判断,循环)
- 黑马程序员_Java基础语法之函数与数组
- 黑马程序员_JAVA之路6——面向对象2(static、main函数、对象)
- 黑马程序员_Java语句
- 黑马程序员_JAVA之路4——数组
- 黑马程序员_JAVA之路2——标识符、进制、变量、运算符、if和switch语句
- 黑马程序员_java逻辑语句(FOR语句 函数)
- 黑马程序员_JAVA基础-函数与数组
- 黑马程序员_java基础之构造函数
- Ext.net mvc 入门学习笔记 (二) MVC4 默认引导路径的设置
- 简化函数调用之十二 :Replace Constructor with Factory Method(以「工厂函数」取代「构造函数」)
- 2、以太网端口技术
- Windows平台安装OpenCV
- c64x+ DSP/BIOS硬件中断的配置
- 黑马程序员_JAVA之路3——循环语句与函数
- 简化函数调用之十三 :Encapsulate Downcast(封装「向下转型」动作)
- VC6.0 no compile tool is associated with the file
- 第三章,从零开始学Android--永远的Hello World,创建第一个安卓应用
- 黑马程序员_JAVA之路4——数组
- 关于vs2005远程工具不能连接wince设备进行调试的问题
- Android获取字体高度和设置行高
- graphics入门,显示文字
- Android获取状态栏和标题栏的高度