标签:运算 命名规则 循环控制 嵌套 输出 列表 键盘 系统 学生
for(初始化表达式;条件表达式;循环后的操作表达式) {
    循环体;
}
B:注意事项
c:一般来说:有左大括号就没有分号,有分号就没有左大括号 
案例: 
class Test1_For { 
public static void main(String[] args) { 
for (int i = 1;i <= 10 ;i++ ){ 
    System.out.println("i = " + i);//循环多少次, 就是能取到的最大值 减去(-) 能取到的最小值前面的一个数 
} 
System.out.println("———————–");
for (int i = 10;i >= 1 ;i– ) { 
    System.out.println("i = " + i); 
} 
} 
}
B:学生练习
需求:求出1-100之间奇数和 
/* 
分析:1-10数据的和 
0 + 1 
1 + 2 
    3 + 3 
        6 
        … 
/ 
案例: 
class Test2_For { 
public static void main(String[] args) { 
//1-10的和 
/int sum = 0; 
for (int i = 1;i <= 10 ;i++ ) { 
    sum = sum + i; 
}
System.out.println("sum = " + sum);*/
//1-100的偶数和 
/*int sum = 0; 
for (int i = 1;i <= 100 ;i++ ) { 
    if (i % 2 == 0) { 
        sum = sum + i; 
    } 
}
System.out.println("sum = " + sum);*/
//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); 
} 
}
A:案例演示
需求:在控制台输出所有的”水仙花数”
所谓的水仙花数是指一个三位数,其各位数字的立方和等于该数本身。
A:案例演示
需求:在控制台输出所有的”水仙花数”
所谓的水仙花数是指一个三位数,其各位数字的立方和等于该数本身。
分析: 
1,100 - 999 
2,获取每一个位数的值,百位,十位,个位 
3,判断各个位上的立方和是否等于这个数,如果等于打印 
*/ 
class Test3_Flower { 
public static void main(String[] args) { 
    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);
    }
}
} 
}
A:案例演示
需求:统计”水仙花数”共有多少个 
分析: 
1,需要有一个变量记录住水仙花数的个数 
2,获取到所有的3位数 
3,判断是否满足水仙花数 
4,如果满足条件,计数器就自增 
*/ 
class Test4_FlowerCount { 
public static void main(String[] args) { 
int count = 0;
for (int i = 100;i <= 999 ;i++ ) { 
    int ge = i % 10; 
    int shi = i / 10 % 10; 
    int bai = i / 10 / 10;
if (i == ge * ge * ge + shi * shi * shi + bai * bai * bai) {
    count ++;                                                   //满足条件就自增,计数器思想
}
}
System.out.println(count); 
} 
}
while循环的基本格式:
while(判断条件语句) {
    循环体语句;
}
完整格式:
初始化语句;
while(判断条件语句) {
     循环体语句;
     控制条件语句;
}
B:统计思想
统计”水仙花数”共有多少个 
案例: 
class Test1_While { 
public static void main(String[] args) { 
/*
//求1-100之和 
/*int sum = 0; 
int i = 1; 
while (i <= 100) { 
    sum += i;                   //sum = sum + i; 
    i++;                        //让变量i自增 
}
System.out.println("sum = " + sum);*/
//统计”水仙花数”共有多少个 
int count = 0;                  //计数器 
int i = 100; 
while (i <= 999) { 
    int ge = i % 10; 
    int shi = i / 10 % 10; 
    int bai = i / 100;
if (i == ge * ge * ge + shi * shi * shi + bai * bai * bai) {
    count ++;
}
i++;
}
System.out.println("count =" + count);
//某屌丝为了追求女神,写了一段代码示爱,但是女神也会java,改动一下把屌丝拒绝 
int j = 1; 
//while (j <= 10000) ;{ 
while (j <= 10000) { 
    System.out.println("I Love You!!!"); 
    j++; 
} 
} 
}
do {
    循环体语句;
}while(判断条件语句);
完整格式;
初始化语句;
do {
    循环体语句;
    控制条件语句;
}while(判断条件语句);
B:案例演示
for循环和while循环的区别:
int j = 11; 
while (j <= 10) { 
    System.out.println("j = " + j); 
    j++; 
}*/
/*for (int i = 1;i <= 10 ;i++ ) { 
    System.out.println("i = " + i); 
}
//System.out.println("i = " + i);           for语句执行后内部所有变量会被释放,不能再使用 
System.out.println("——————-"); 
int i = 1; 
while (i <= 10) { 
    System.out.println("i = " + i); 
    i++; 
} 
System.out.println("——————-"); 
System.out.println("i = " + i);             //while语句执行后,初始化变量还可以继续使用*/
//while语句的无限循环 
/while (true) { 
    System.out.println("hello world"); 
}/
//System.out.println("hello world"); 
//for语句的无限循环 
for (; ; ) { 
    System.out.println("hello world"); 
} 
} 
}
此案例在上面的案例中,死循环是有用的,比如键盘录入学生的信息,但是什么时间结束呢?当用户输入的信息"886"时结束循环。
循环嵌套:理解(看书:每页相当于外循环,该页中的每一句,相当于内循环)、(时钟:时针走一个格子,分针走一圈)
A:案例演示
如图:
    *****
    *****
    *****
    *****
注意:
    System.out.println("*");和System.out.print("*");的区别
B:结论:
外循环控制行数,内循环控制列数 
案例: 
class Demo1_ForFor { 
public static void main(String[] args) { 
/for (int i = 1;i <= 3 ;i++ ) {                    //外循环 
    System.out.println("i = " + i); 
    for (int j = 1;j <= 3 ;j++ ) {              //内循环 
        System.out.println("j = " + j); 
    } 
}/
for (int i = 1;i <= 4 ;i++ ) {                  //外循环决定的是行数 
    for (int j = 1;j <= 5 ;j++ ) {              //内循环决定的是列数 
        System.out.print("*"); 
    } 
    System.out.println(); 
} 
} 
}
需求:请输出下列的形状
*
**
***
****
*****
打一个等边三角形 
class Test { 
    public static void main(String[] args) { 
    for (int i=1;i<=5 ;i++ ) { 
        for (int j=1 ; j<=5-i ;  j++ ) {//i=1, 
            System.out.print(‘ ‘); 
        } 
        for (int k=1 ; k< 2i  ; k++) { 
            System.out.print(‘‘); 
        } 
        System.out.println(); 
    } 
    } 
} 
/* 
先打印矩形出来,然后改成想要的 
先打空格,然后再打星号,这个思想很重要 
    *
*/
注意:
‘\x‘ x表示任意,\是转义符号,这种做法叫转移字符。
‘\t‘    tab键的位置
‘\r‘    回车
‘\n‘    换行
‘\"‘
‘\‘‘
 
实现方式一:(但是不符合要求) 
class Demo_sxh { 
public static void main(String[] args) { 
    System.out.println("11=1"); 
    System.out.println("12=2 22=4"); 
    System.out.println("13=3 23=6 33=9"); 
    //…… 
} 
} 
思考:(可以先打一句,然后将其中的1,2,3用变量表示,然后外面再套一层变量就能实现) 
//一定要有思路,任何一件事都是简单的地方开始思考的? 
//以后毕业做项目时,一定要保持积极的心态,总是想着怎么解决问题,而不是去逃避!~! 
class Demo_99 { 
public static void main(String[] args) { 
    System.out.println("13=3 23=6 33=9"); 
} 
} 
class Demo_99 { 
public static void main(String[] args) { 
    for(int i=1;i<=9;i++){ 
        for(int j=1;j<=i;j++){ 
            System.out.print(j+""+i+"="+j*i+"\t"); \先把 
        } 
        System.out.println(); 
    }
} 
} 
思考:可以先打印直角三角,然后将每个“”换成表达式即可 
/
1 * 1 = 1 
1 * 2 = 2 2 * 2 = 4 
1 * 3 = 3 2 * 3 = 6 3 * 3 = 9 
…
* 
**
/ 
class Demo3_For99 { 
    public static void main(String[] args) { 
        /for (int i = 1;i <= 9 ;i++ ) {                    //行数 
            for (int j = 1;j <= i ;j++ ) {              //列数 
                System.out.print(j + "" + i + "=" + (i  j) + "\t" ); 
            } 
            System.out.println(); 
        }*/
    //System.out.println("\"");             转义双引号
    System.out.println(‘\‘‘);               //转义单引号
//System.out.println(‘"‘); 
        System.out.println("‘"); 
    } 
}
A:break的使用场景
只能在switch和循环中  
案例: 
class Demo1_Break { 
public static void main(String[] args) { 
        //break;写在这报错,break只能用在循环和switch语句中 
for (int x = 1;x <= 10 ;x++ ) { 
    if (x == 4) { 
        break;                          //跳出他所在的循环 
    }
System.out.println("x = " + x);
} 
} 
}
A:continue的使用场景
只能在循环中  
*/ 
案例: 
class Demo2_Continue { 
public static void main(String[] args) { 
for (int x = 1;x <= 10 ;x++ ) { 
    if (x == 4) { 
        continue;                           //终止本次循环,继续下次循环 
    }
System.out.println("x = " + x);
} 
} 
}
标号组成规则:其实就是合法的标识符,,在开发过程中一般不会用到,作为了解即可 
案例: 
class Demo3_Mark {                                      //mark 标记 
public static void main(String[] args) { 
    /outer: for (int i = 1;i <= 10 ;i++ ) {        //a就是标号,只要是合法的标识符即可 
        System.out.println("i = " + i); 
        inner: for (int j = 1;j <= 10 ;j++ ) { 
            System.out.println("j = " + j); 
            break outer; 
        } 
    }/
System.out.println("大家好");
http://www.heima.com         //这里http:就是一个标号,而后面的//是java中的注释,所以相当于给输出语句做了一个标记,没有什么实际的意义
System.out.println("才是真的好");
} 
}
for(int x=1; x<=10; x++) {
    if(x%3==0) {
        //在此处填写代码
    }
    System.out.println(“Java基础班”);
}
我想在控制台输出2次:“Java基础班“
我想在控制台输出7次:“Java基础班“
我想在控制台输出13次:“Java基础班“
案例: 
class Test1 { 
public static void main(String[] args) { 
    for(int x=1; x<=10; x++) { 
        if(x%3==0) { 
            //break;                        //我想在控制台输出2次:“Java基础班“ 
            //continue;                     //我想在控制台输出7次:“Java基础班“ 
            System.out.println("Java基础班");//我想在控制台输出13次:“Java基础班“ 
        } 
        System.out.println("Java基础班"); 
    } 
} 
}   
B:案例演示
continue是终止本次循环继续下次循环 
案例: 
class Demo4_Return { 
public static void main(String[] args) { 
for (int i = 1;i <= 10 ;i++ ) { 
    if (i == 4) { 
        //break;                        //停止循环 
        return;                         //返回的意思,用来返回方法 
    } 
}
System.out.println("循环结束了"); 
} 
}
修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2...) {
    方法体语句;
    return 返回值; 
} 
案例: 
class Demo2_Sum { 
    public static void main(String[] args) { 
        /*int a = 10; 
        int b = 20; 
        int sum = a + b; 
        System.out.println(sum);
    int c = 30;
    int d = 40;
    int sum2 = c + d;
    System.out.println(sum2);*/
    int sum = add(10,20);
    System.out.println(sum);
    //add(30,40);                       //有返回值方法的单独调用,没有意义
    System.out.println(add(30,40));     //这样调用是可以,but如果需要用这个结果不推荐这样调用
    //盘子 = 炒菜(地沟油,苏丹红,镉大米,烂白菜);
}   
public static int add(int a,int b) {            //int a = 10,int b = 20
    int sum = a + b;
    return sum;                                 //如果有返回值必须用return语句带回
}
/*
盘子 炒菜(油,调料,米,菜) {
    炒菜的动作
    return 一盘菜;
}
*/
}
B:案例演示
需求:键盘录入两个数据,比较两个数是否相等  
案例: 
import java.util.Scanner; 
class Test1_Method { 
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);
boolean b = isEquals(x,y); 
System.out.println(b); 
}
/* 
返回连个整数的较大值 
1,明确返回值类型 int 
2,明确参数列表 int a,int b 
*/ 
public static int getMax(int a,int b) { 
    return a > b ? a : b; 
}
/* 
判断两个整数是否相等 
1,明确返回值类型 boolean 
2,明确参数列表 int a,int b 
*/ 
public static boolean isEquals(int a,int b) {       //isEquals 是否相等 
    return a == b; 
} 
}
B:方法调用:(无返回值,void)
赋值调用(错误) 
案例: 
import java.util.Scanner; 
class Demo3_Method { 
public static void main(String[] args) { 
Scanner sc = new Scanner(System.in);            //创建键盘录入对象 
System.out.println("请输入行数:"); 
int row = sc.nextInt();                         //将键盘录入的行数存储在row中 
System.out.println("请输入列数:"); 
int column = sc.nextInt();                      //将键盘录入的列数存储在column中
//System.out.println(print(row,column));        //错误: 此处不允许使用 ‘空‘ 类型,返回值是void的方法不能输出调用 
//返回值是void的方法只能单独调用 
print(row,column); 
}
/* 
在控制台输出矩形星形 
1,明确返回值类型,经分析没有具体的返回值类型,void 
2,明确参数列表int a,int b,,,严格按照步骤办事 
*/
public static void print(int a,int b) { 
    for (int i = 1;i <= a ;i++ ) {                  //行数 
        for (int j = 1;j <= b ;j++ ) {              //列数 
            System.out.print("*"); 
        } 
        System.out.println(); 
    }
//return ;                          //如果返回值类型是void,return可以省略,即使省略系统也会默认给加上,形式是return;
} 
}
A:案例演示
/* 
打印99乘法表 
1,返回值类型void 
2,参数列表,int a 
*/
public static void print99(int a) { 
    for (int i = 1;i <= a ;i++ ) {                  //行数 
        for (int j = 1;j <= i ;j++ ) {              //列数 
            System.out.print(j + "" + i + "=" + (i  j) + "\t" ); 
        } 
        System.out.println(); 
    } 
} 
}
B:方法重载:
在同一个类中,方法名相同,参数列表不同。与返回值类型无关。
参数列表不同:
int sum2 = add(10,20,30); 
System.out.println(sum2);
double sum3 = add(12.3,13); 
System.out.println(sum3); 
}
/* 
求两个整数的和 
1,返回值类型int 
2,参数列表 int a,int b 
*/
public static double add(int a,double b) { 
    return a + b; 
}
/* 
求三个整数的和 
1,返回值类型int 
2,参数列表 int a,int b,int c 
*/
public static int add(int a,int b,int c) { 
    return a + b + c; 
}
/* 
求两个小数的和 
1,返回值类型double 
2,参数列表 double a,double b 
*/
public static double add(double a,int b) { 
    return a + b; 
} 
}
A:案例演示
参数类型分别为两个int类型,两个double类型,并在main方法中进行测试 
案例: 
class Test3_Overload { 
public static void main(String[] args) { 
boolean b1 = isEquals(10,10); 
System.out.println(b1);
boolean b2 = isEquals(10.5,10.5); 
System.out.println(b2); 
}
/* 
比较两个数据是否相等 
1,返回值类型boolean 
2,参数列表int a,int b 
*/
public static boolean isEquals(int a,int b) { 
    return a == b; 
}
/* 
比较两个数据是否相等 
1,返回值类型boolean 
2,参数列表double a,double b 
*/
public static boolean isEquals(double a,double b) { 
    return a == b; 
} 
}
把今天的知识点总结一遍。 
作业 
一:计算for循环的次数 
for (int i = 1;i <= 10 ;i++ ){//[1,2] 
            System.out.println("i = " + i); 
} 
循环执行的次数:用可以取到的最大值-可以取到的最小值前面的一个数
for (int i = 1;i <100 ;i++ ){//[1,2] 
            System.out.println("i = " + i); 
} 
循环:99-0  =99次
for (int i = 123;i <1000 ;i++ ){//[1,2] 
            System.out.println("i = " + i); 
} 
循环:999-122 = 877次
int count = 0; 
for (int i = 5;i <= 20 ;i++ ){//[1,2] 
    for (int j=3;j<15;j++) { 
        count ++; 
    } 
} 
循环:外层循环(20-4)内层循环(14-2) =1612 = 192
二:根据程序的执行流程,写出执行过程,方便理解 
int sum = 0; 
for (int i = 1;i <= 10 ;i++ ) {  
    sum = sum + i; 
} 
//i=1.sum = 0+1 = 1 
//i=2.sum = 0+1+2 = 3 
//i=3.sum = 0+1+2+3 = 6 
…. 
//i=10 sum = 0+1+2+3….+10 = 55
三:编程题目 
    1.求出四位数中的个位+百位=十位+千位(3553,2332,1166,8228,3773)的数字的个数,并按照倒序(从大到小)输出所有符合条件的数. 
    2.假如上面的数字存在数组{3553,2000,2332,1166,3000,8228,5000,3773,8000,8888,6666}中,如何实现? 
四.编程题目 
    求出1-100之间的素数(只能被1和本身整除的数称为素数),输出个数和具体的数字 
五.编程题目 
    根据键盘录入的数据输出对应的乘法表(封装成方法,而且要倒着打)
标签:运算 命名规则 循环控制 嵌套 输出 列表 键盘 系统 学生
原文地址:http://www.cnblogs.com/itlyh/p/6024661.html