1控制语句
1.1 关于循环语句
for循环
while循环
Do … while循环
什么是循环语句,为什么使用这种语句?|
因为在现实世界,很多事情需要反复/重复去做
对应代码重复执行,为了减少代码量,需要使用循环语句.
====================================
//演示一下:为什么使用循环
//循环语句的出现为了解决代码的复用性.
public class IfTest01{
public static void main(String[] args){
//要求在控制台输出100个100;
//什么时候考虑用循环,相同代码重复出现的时候,可以使用循环语句.
for(int i = 0;i < 100; i++){
System.out.println(100);
}
}
}
=================================================================
逆时针运行,条件表达式为true则继续运行直到条件表达式为false.
/*
1.for循环的语法机制及运行原理?
for(初始化表达式;布尔表达式;更新表达式){
循环体;//循环体由java语句构成
java语句;
.......
}
注意:
第一:初始化表达式最先执行,且只执行一次;
第二:条件表达式必须是布尔类型,也就是true/false;
执行原理:
先执行初始表达式,并且初始表达式只执行一次.
然后判断条件表达式的结果,如果条件表达式结果为true.
则执行循环体
循环体执行结束后,执行更新表达式.
更新完之后,在判断条件表达式的结果,
如果还是true,继续执行循环体.
直到条件表达式为false,for循环终止.
更新表达式作用:终止循环的次数,让条件表达式有机会false,
从而终止for循环
*/
public class ForTest02{
public static void main(String[] args){
//最简练的for循环怎么写?
//初始化表达式,条件表达式,更新表达式其实都不是必须的!!!!
/*
for (; ; ){
System.out.println("死循环");
}
}
}
for (; ; ){
}
*/int i = 0;//i的作用域扩大了
for(int i = 0;i < 10;i++){ //i变量只能在for循环里面使用.
System.out.println("i" = i);
//i++可以放在这里,也是同样的;
}
}
}
=====================================
public class ForTest03{
public static void main(String[] args){
//for的其他形式
for(int i = 10 ; i > 0; i--){
System.out.println(i);
for (int i = 0; i < 10 ; i += 2){
System.out.println(i);
}
}
}
}
======================================
/*
使用for循环,实现1-100所有奇数求和
至少给出两种解决方案
*/
public class ForTest04{
public static void main(String[] args){
//第一种方案:
//思路:先找出1-100奇数,然后求和.
//第一步:先把1-100的数字取出来
//第二步:判断是否为奇数(奇数对2求余数都是1)
/*int sum = 0;//初始值给 0 ;不能在循环体中声明
for (int i = 1;i < 101;i ++){
if (i % 2 == 1){//i为奇数的条件;
//System.out.println(i);
sum += i;}
}
System.out.println(sum);//2500 */
//第二种方案
int sum = 0;
for (int i = 1;i < 100 ; i += 2){
sum += i;}
System.out.println(sum);
}
===========================================
/*
1.所有合法的"控制语句"都可以嵌套使用.
2.for循环嵌套一个for循环执行原理是什么
提示一下:嵌套不特殊
for(){
//分析外层for循环,里面的for看做普通的循环语句.该循坏几次,整体循环几次;
for(){
}
}
*/
public class ForTest05{
public static void main(String[] args){
for (int i = 0;i < 10; i ++ ){
}
for (int k = 0;k < 2;k ++){//循环两次
}
int i = 0;//则只输出一次,因为不会归零了.
for (int k = 0;k < 2;k ++){//循环两次
for (int i = 0;i < 10; i ++ ){//相当于这个for循环,整体循环两次
System.out.println(i);
}
}
}
}
=====================================
/*
九九乘法表
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
........................
第一个特点:九行;//循环九次
第二个特点:第n行n个.
*/
public class ForTest06{
public static void main(String[] args){
for (int i = 1;i <= 9;i ++){//纵向循环
//System.out.println(i);//i是行号
//负责输出一行的.(嵌套一下)
for (int j = 1;j <= i;j ++){//i就是行号,<=这个行号
System.out.print(i + "*" + j + "=" + (i * j)+ " ");}
System.out.println();
}
}
}