—————————— ASP.Net+Android+IOS开发、.Net培训、期待与您交流!——————————
循环结构
while do-while for
while语句格式
while(条件表达式){
循环体;
}
do-while语句格式
do{
循环体;
}while(条件表达式);
for语句格式
for(初始化表达式;循环条件表达式;循环后的操作表达式){
循环体;
}
例子如下:
while和do-while之间的区别:
1.while:先判断后执行,do while是先执行在判断.
所以do while至少执行一次,而while不会
for和while不同:
1.for里面的变量有作用域范围,只在for循环里面有效
2.for与while可以互换,但是需要循环增量首选for
for节省内存空间,利于内存优化.
什么时候使用循环结构?
当要对某些语句执行多次时,就使用循环结构.
条件表达式只能为真或假,for不写表达式默认为true
循环注意: 一定要明确那些语句需要循环,那些不要.
for嵌套
其他流程控制语句: continue break;
break:应用范围:选择结构和循环结构 作用:中断循环
continue:应用范围: 循环结构 作用:结束本次循环,进入下一次循环
标号: 例如 w: 用于循环结构上,给循环起名字
break,continue后面的不能有语句,因为不会执行到.
函数:
什么是函数?
函数(方法)就是定义在类中具有特定功能一段独立小程序
好处:提高代码复用性
定义语法:
修饰符 返回值类型 函数名(参数列表){
方法体;
}
当函数运算后,没有返回值,可以用到java一个特殊关键字void,可以省略return语句;
但有返回值时,一定要返回值
java最小的功能就是函数
注意:不可以在方法内部定义函数
如何定义一个函数呢?
1.一个函数名体现函数的功能
2.明确函数是否要有参与运算的参数
3.明确函数是否要返回值
返回值为void不能被输出语句输出
函数的重载:
在同一类中,允许有一个以上同名的函数,参数类型和参数个数不同即可.
什么时候用重载?
在定义功能相同时,但参与运算未知内容不同,那么这时就定义一个函数名称以表示
其功能,方便阅读,而通过参数列表不同来区分多个函数.
数组:同一个数组数据的集合,其实就是一个容器
好处:给元素有自动编号
定义格式:
数据类型[] 数组名=new 数据类型[长度];
使用数组
数组名[下标];
1.方法区
2.本地方法区
3.寄存器
4.栈内存 局部变量,资源会自动释放
5.堆内存 存实体对象,实体对象内基本数据具有默认值
堆内存中当一个实体之间没有引用的时候,jvm会视为垃圾,会启动java
垃圾回收机制不定时处理这些垃圾.
只要是new都会在内存开辟一片新的内存空间
—————————— ASP.Net+Android+IOS开发、.Net培训、期待与您交流!——————————
循环结构
while do-while for
while语句格式
while(条件表达式){
循环体;
}
do-while语句格式
do{
循环体;
}while(条件表达式);
for语句格式
for(初始化表达式;循环条件表达式;循环后的操作表达式){
循环体;
}
例子如下:
/*
循环结构
*/
class Demo2
{
public static void main(String[] args)
{
/*
打印两次你妹
int i=1;
while (i<3)
{
System.out.println("你妹");
i++;//不要会死循环的
}
*/
/*
打印两次你妹
int i=1;
do{
System.out.println("你妹");
i++;//不要会死循环的
}while(i<3);
*/
/*
打印三次 二龙xp
for (int j=0;j<3 ;j++ )
{
System.out.println("二龙xp");
}
*/
/*
最简单的无限循环 while for
while(true){};
for(;;){};
*/
/*
此代码编译出错 条件表达式只能为真 假
for (System.out.println("a"); System.out.println("b"); System.out.println("c"))
{
System.out.println("d") ;
}
*/
/*
此代码编译通过 a dcdcdc
int i=0;
for (System.out.println("a"); i<3; System.out.println("c"))
{
System.out.print("d") ;
i++;
}
*/
/*
效果同上
*/
int i=0;
for (System.out.println("a"); i<3;i++,System.out.println("c"))
{
System.out.print("d");
}
}
}
while和do-while之间的区别:
1.while:先判断后执行,do while是先执行在判断.
所以do while至少执行一次,而while不会
for和while不同:
1.for里面的变量有作用域范围,只在for循环里面有效
2.for与while可以互换,但是需要循环增量首选for
for节省内存空间,利于内存优化.
/*
循环测试类
*/
class Demo3
{
public static void main(String[] args)
{
/*
需求:1-10的累加
累加思想:通过变量纪录每次变化的结果,通过循环进行累加动作
int sum=0;
for (int i=1;i<=10 ;i++ )
{
sum+=i;
}
System.out.println(sum);
*/
/*
需求: 1-100之间,7的倍数由多少个?
计数器思想:
通过一个变量记住数据的状态变化,通过循环完成.
*/
int count=0;
for (int i=1;i<=100 ;i++ )
{
if(i%7==0)
count++;
}
System.out.println(count);
}
}
什么时候使用循环结构?
当要对某些语句执行多次时,就使用循环结构.
条件表达式只能为真或假,for不写表达式默认为true
循环注意: 一定要明确那些语句需要循环,那些不要.
for嵌套
/*
循环测试类
*/
class Demo4
{
public static void main(String[] args)
{
/*
需求:
*****
****
***
**
*
for (int i=0;i<5 ;i++ )
{
for (int j=0;j<5-i ;j++ )
{
System.out.print("*");
}
System.out.println();
}
*/
/*
需求:
*
**
***
****
*****
for (int i=0;i<5 ;i++ )
{
for (int j=0;j<=i ;j++ )
{
System.out.print("*");
}
System.out.println();
}
*/
/*
需求:
1
12
123
1234
12345
for (int i=1;i<=5 ;i++ )
{
for (int j=1;j<=i ;j++ )
{
System.out.print(""+j);
}
System.out.println();
}
*/
/*
需求:九九乘法表
for (int i=1;i<=9 ;i++ )
{
for (int j=1;j<=i ;j++ )
{
System.out.print(i+"*"+j+"="+(i*j)+"\t");
}
System.out.println();
}
*/
/*
需求:标号的使用
o:for (int i=0;i<3 ;i++ )
{
System.out.println("外层循环");
t:for (int j=0;j<3 ;j++ )
{
if(j%2!=0)
continue t;
System.out.println("内层循环");
}
}
*/
/*
需求:
*
* *
* * *
* * * *
* * * * *
*/
for (int i=0;i<5 ;i++ )
{
for (int j=0;j<5-i-1 ;j++ )
{
System.out.print(" ");
}
for (int k=0;k<=i ;k++ )
{
System.out.print("* ");
}
System.out.println();
}
}
}
其他流程控制语句: continue break;
break:应用范围:选择结构和循环结构 作用:中断循环
continue:应用范围: 循环结构 作用:结束本次循环,进入下一次循环
标号: 例如 w: 用于循环结构上,给循环起名字
break,continue后面的不能有语句,因为不会执行到.
函数:
什么是函数?
函数(方法)就是定义在类中具有特定功能一段独立小程序
好处:提高代码复用性
定义语法:
修饰符 返回值类型 函数名(参数列表){
方法体;
}
当函数运算后,没有返回值,可以用到java一个特殊关键字void,可以省略return语句;
但有返回值时,一定要返回值
java最小的功能就是函数
注意:不可以在方法内部定义函数
如何定义一个函数呢?
1.一个函数名体现函数的功能
2.明确函数是否要有参与运算的参数
3.明确函数是否要返回值
返回值为void不能被输出语句输出
函数的重载:
在同一类中,允许有一个以上同名的函数,参数类型和参数个数不同即可.
什么时候用重载?
在定义功能相同时,但参与运算未知内容不同,那么这时就定义一个函数名称以表示
其功能,方便阅读,而通过参数列表不同来区分多个函数.
/*
函数测试类
*/
class Demo5
{
public static void main(String[] args)
{
//System.out.println(getSum(5,5));
//print99();
System.out.println(getSum());
}
/*
定义一个功能,返回3+4运算的结果
*/
public static int getSum(){
return getSum(3,4);
}
/*由用户输入两个数,进行求和运算*/
public static int getSum(int n,int n1){
return n+n1;
}
/*判断两个数是否相等*/
public static boolean isEquals(int n,int n1){
return n==n1;
}
/*定义一个功能打印九九乘法表*/
public static void print99(){
for (int i=1;i<=9 ;i++ )
{
for (int j=1;j<=i ;j++ )
{
System.out.print(i+"*"+j+"="+(i*j)+"\t");
}
System.out.println();
}
}
}
数组:同一个数组数据的集合,其实就是一个容器
好处:给元素有自动编号
定义格式:
数据类型[] 数组名=new 数据类型[长度];
使用数组
数组名[下标];
/*
数组测试
*/
class Demo6
{
public static void main(String[] args)
{
//数组定义: 数据类型 []数组名 = new 数据类型[长度];
int [] arr=new int[2];//定义了一个数组长度为2的int型数组
//堆内存实体内的数据都具有默认初始值 int的初始值是0
arr[0]=15;//给下标为0的元素赋值
System.out.println(arr[0]); // 最小下标0
System.out.println(arr[arr.length-1]); // 最大下标 arr.length-1
}
}
1.方法区
2.本地方法区
3.寄存器
4.栈内存 局部变量,资源会自动释放
5.堆内存 存实体对象,实体对象内基本数据具有默认值
堆内存中当一个实体之间没有引用的时候,jvm会视为垃圾,会启动java
垃圾回收机制不定时处理这些垃圾.
只要是new都会在内存开辟一片新的内存空间
—————————— ASP.Net+Android+IOS开发、.Net培训、期待与您交流!——————————