1.循环语句
分类:
for,while,do...while
(1)循环结构for
a.语句格式
for(初始化表达式;条件表达式;循环后的操作表达式) {
循环体;
}
b.执行流程
a:执行初始化语句
b:执行判断条件语句,看其返回值是true还是false
如果是true,就继续执行
如果是false,就结束循环
c:执行循环体语句;
d:执行循环后的操作表达式
e:回到B继续。
c.示例:
for (int i = 1;i <= 10 ;i++ ) {
System.out.println("helloworld");
}
d.注意
循环体语句如果是一条语句,大括号可以省略;
如果是多条语句,大括号不能省略。建议永远不要省略。
一般来说:有左大括号就没有分号,有分号就没有左大括号
e.例子
求出1-100之间奇数和
int sum = 0;
for (int i = 1;i <= 100 ;i+=2 ) {
/*if (i % 2 != 0) {
sum = sum + i;
}*/
sum = sum + i;
}
System.out.println("sum = " + sum);
在控制台输出所有的”水仙花数”
所谓的水仙花数是指一个三位数,其各位数字的立方和等于该数本身。
举例:153就是一个水仙花数。
153 = 1*1*1 + 5*5*5 + 3*3*3 = 1 + 125 + 27 = 153
分析:
1,100 - 999
2,获取每一个位数的值,百位,十位,个位
3,判断各个位上的立方和是否等于这个数,如果等于打印
for (int i = 100;i <= 999 ;i++ ) { //获取100到999之间的数
int ge = i % 10; //123 % 10
int shi = i / 10 % 10; //12 % 10;
int bai = i / 10 / 10 % 10; //1 % 10
if (ge * ge * ge + shi * shi * shi + bai * bai * bai == i) {
System.out.println(i);
}
(2) 循环结构while
a.语句的格式
初始化语句; while(判断条件语句) { 循环体语句; 控制条件语句; }
b.执行流程
a:执行初始化语句
b:执行判断条件语句,看其返回值是true还是false
如果是true,就继续执行
如果是false,就结束循环
c:执行循环体语句;
d:执行控制条件语句
e:回到B继续。
c.示例
public static void main(String[] args) {
int x = 1;
while (x <= 10) {
System.out.println("x = " + x);
x++;
}
}
(3) 循环结构do while
a.语句的格式
初始化语句;
do {
循环体语句;
控制条件语句;
}while(判断条件语句);
b.执行流程
a:执行初始化语句
b:执行循环体语句;
c:执行控制条件语句
d:执行判断条件语句,看其返回值是true还是false
如果是true,就继续执行
如果是false,就结束循环
e:回到b继续。
(4) 无限循环
while语句的无限循环
while (true) {
System.out.println("hello world");
for语句的无限循环
for (; ; ) {
System.out.println("hello world");
}
(5) 循环嵌套
示例
for (int i = 1;i <= 4 ;i++ ) { //外循环决定的是行数
for (int j = 1;j <= 5 ;j++ ) { //内循环决定的是列数
System.out.print("*");
}
System.out.println();
}
结果
*****
*****
*****
*****
2. 控制语句
(1)break的使用场景
只能在switch和循环中
for (int x = 1;x <= 10 ;x++ ) {
if (x == 4) {
break; //跳出循环
}
System.out.println("x = " + x);
结果为1 2 3
(2)continue的使用场景
只能在循环中
for (int x = 1;x <= 10 ;x++ ) {
if (x == 4) {
continue; //终止本次循环,继续下次循环
}
System.out.println("x = " + x);
结果为1 2 3 5 6 7 8 9 10
(3)mark 的使用场景
outer: for (int i = 1;i <= 10 ;i++ ) { //outer就是标号,只要是合法的标识符即可
System.out.println("i = " + i);
inner: for (int j = 1;j <= 10 ;j++ ) {
System.out.println("j = " + j);
break outer;
}
结果为i=1 j=1
(4)return 的使用场景
for (int i = 1;i <= 10 ;i++ ) {
if (i == 4) {
//break; //停止循环
return; //返回的意思,用来返回方法
}
}
(5) return和break以及continue的区别?
return是结束方法
break是跳出循环
continue是终止本次循环继续下次循环
3. 方法
(1)方法的格式
修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2...) {
方法体语句;
return 返回值;
}
(2)方法的格式说明
参数:
实际参数:就是实际参与运算的。
形式参数;就是方法定义上的,用于接收实际参数的。
(3)示例
键盘录入两个数据,返回两个数中的较大值
public static void main(String[] args) {
Scanner sc = new Scanner(System.in); //创建键盘录入对象
System.out.println("请输入第一个整数:");
int x = sc.nextInt(); //将键盘录入的整数存储在x中
System.out.println("请输入第二个整数:");
int y = sc.nextInt(); //将键盘录入的整数存储在y中
int max = getMax(x,y);
System.out.println(max);
public static int getMax(int a,int b) {
return a > b ? a : b;
}
(4)方法重载
在同一个类中,方法名相同,参数列表不同。与返回值类型无关。
参数列表不同:
A:参数个数不同 B:参数类型不同 C:参数的顺序不同(算重载,但是在开发中不用)
(5)示例
比较两个数据是否相等
boolean b1 = isEquals(10,10);
System.out.println(b1);
boolean b2 = isEquals(10.5,10.5);
System.out.println(b2);
public static boolean isEquals(int a,int b) {
return a == b;
}
public static boolean isEquals(double a,double b) {
return a == b;
}
网友评论