代表语句:while,do while,for
while (条件表达式)
{
执行语句;
}
do
{
执行语句;
}
while (条件表达式);
do while的特点是无论条件是否满足,循环体至少
执行一次。
for (1初始化表达式;2循环条件表达式;3循环后的操作表达式 )
{
4执行语句;
}
先执行1初始化表达式,判断是否满足2循环条件,满足就执行
4执行语句,再执行循环后的3操作表达式,再2判断条件。
FOR和do while的区别?
for中的x只在for循环中有效,出了大括号,x就会消失。
因为do while的初始化在外面,所在出了循环依然有效。
这是变量的作用域。for和do while可以互换的。
for语句第二句必须是boolean.
int x = 1;
for (System.out.println("a"); x<3;System.out.println("c"),x++)
{
System.out.println("d");
}//adcdc
循环语句的其他特点:
无限循环的最简单的表现形式:
for (; ; ){}
while(true){}
public static void main(String[] args)
{
int count = 0;
for (int x= 1;x<=10 ;x++ )
{
if (x%7==0)
{
count++;
}
}
System.out.println(count);
}
for嵌套
public static void main(String[] args) {
// TODO Auto-generated method stub
int count = 5;
for(int x =0;x<5;x++) {
for(int y=0;y<count;y++) {
System.out.print("*");
}
System.out.println();
count--;
}//第一种方法
int count1 = 0;
for(int x =0;x<5;x++) { //外循环控制行数
for(int y=5;y>count1;y--) {//内循环控制列数
System.out.print("*");
}
System.out.println();
count1++;
}//第二种方法
int count2 = 5;
for(int x =0;x<5;x++) {
for(int y=6;y>count2;y--) {
System.out.print("*");
}
System.out.println();
count2--;
}//第二题
for(int x =1;x<6;x++) {
for(int y=0;y<x;y++) {
System.out.print("*");
}
System.out.println();
}
for(int x=1;x<6;x++){
for (int y = 1; y <=x; y++) {
System.out.print(y);
}
System.out.println();
}//打印从1到5
for(int x=1;x<10;x++){
for (int y = 1; y <=x; y++) {
System.out.print(y+"*"+x+"="+y*x+"\t");
}
System.out.println();
}//打印99乘法表
}
break(跳出),continue(继续)
break:用在循环语句中,跳出当前循环,
给循环起名字用标号,只能给循环起名字。w:for(int x=0;x<3;x++);
continue(继续):只作用于循环结构。结束本次循环,继续下次循环。
注意:二个后面不能有其他语句,因为执行不到。只能用于循环中。
for(int x =0;x<5;x++){
for(int y=4;y>=0;y--) {
if(x>=y)
System.out.print("*"+" ");
else
System.out.print("-");
}
System.out.println();
}//打印星号三角形,毕老师的是内循环二个for
2.7函数(方法)
函数就是定义在类中的具有特定功能的一段独立小程序。
函数的格式:
修饰符 返回值类型 函数名(参数类型 形参1,参数类型 形参2,...)
{
执行语句;
return 语句;
}
注意:函数中只能调用函数,函数中不能定义函数。。。
没有返回值时使用关键字 void,这时return语句可以不写。
java中最小的功能单元就是函数。
如何定义一个函数?1就是明确返回值类型,2就是明确参数列表
1。函数是一个独立的功能,那么该功能的运算结果是什么先明确。
2.再明确定义该功能的过程中是否需要求知的内容参与运算。
方法的重载(overload)
概念:在同一个类中,允许存在一个以上的同名函数,只要他们的参数个数或
参数类型不同就可。
特点:与返回值无关,只看参数列表。也就是说是否重载只和参数列表有关。
//思考;重载和后面的可变参数。那不是重复了么?????????
//可变参数可以更加简化?
2.8 数组
概念:同一种类型数据的集合,其实数组就是一个容器。
好处:可以自动给数组中的元素从0开始编号,方便操作元素。
定义数组格式:
1 元素类型[] 数组名 = new 元素类型[元素个数或数组长度];
2 元素类型[] 数组名 = new 元素类型[]{元素1,元素2,...}
int[] x = new int[3];注意:x代表数组类型,不是int类型。
java在运行时,在内存中化分了五个空间。
1栈内存,用于存储局部变量,当数据使用完,所占空间自动释放。
2堆内存:数组和对象,通过new建立的实例都存放在堆内存中
每个实体都有内存地址。
实体中的变量都有默认初始化值。
实体不在被使用,会在不确定的时间被垃圾回收器回收。
3方法区,4本地方法区,5寄存器
x = null;不再指向。
jvm的垃圾回收机制。自动回收,不定时。
内存三个特点:1地址值2默认初始化值3垃圾回收机制