zoukankan      html  css  js  c++  java
  • java学习之路之javaSE基础3

    所有代码都未经测试。。

    1:for循环的格式?
    for循环格式:
    for(初始化表达式;条件表达式;循环后的操作表达式) {
    循环体;
    }
    执行流程:
    * a:执行初始化语句
    * b:执行判断条件语句,看其返回值是true还是false
    * 如果是true,就继续执行
    * 如果是false,就结束循环
    * c:执行循环体语句;
    * d:执行循环后的操作表达式
    * e:回到B继续。

    用for循环完成如下案例

    求1到10之间的数据之和
    int sum = 0 ;
    for(int i=1;i<=10;i++){
    sum += i;
    }
    System.out.println(sum);

    求1到100之间的偶数之和
    int sum = 0;
    for(int i=1;i<=100;i++){ //for(int i=0;i<=100;i+=2)
    if(i % 2 == 0 ){
    sum += i;
    }
    }
    System.out.println(sum);

    求1到100之间的奇数之和
    int sum = 0;
    for(int i=1;i<=100;i++){ //for(int i=1;i<=100;i+=2)
    if(i % 2 != 0 ){
    sum += i;
    }
    }
    System.out.println(sum);

    打印水仙花数:
    * 所谓的水仙花数是指一个三位数,其各位数字的立方和等于该数本身。
    * 举例:153就是一个水仙花数。
    * 153 = 1*1*1 + 5*5*5 + 3*3*3 = 1 + 125 + 27 = 153
    * 难点就是如何获取到每个三位数的每个位上的操作数
    for(int i=100;i<=999;i++){ //设置所有水仙花数的范围100~999
    int ge = i % 10; //利用取模操作符获取到各个位上的数
    int shi = i / 10 % 10;
    int bai = i / 10 / 10 % 10;
    if(ge*ge*ge+shi*shi*shi+bai*bai*bai == i){
    System.out.println(i);
    }
    }

    统计水仙花数
    int sum = 0;
    for(int i=100;i<=999;i++){ //设置所有水仙花数的范围100~999
    int ge = i % 10; //利用取模操作符获取到各个位上的数
    int shi = i / 10 % 10;
    int bai = i / 10 / 10 % 10;
    if(ge*ge*ge+shi*shi*shi+bai*bai*bai == i){
    //System.out.println(i);
    sum += 1;
    }
    }
    System.out.println(sum);

    九九乘法表
    for(int i=1;i<=9;i++){
    for(int j=1;j<=i;j++){
    System.out.print(j+"*"+i+"="+i*j+" ");
    }
    System.out.println();
    }

    2:while循环的格式?要能看懂执行流程
    while循环的基本格式:
    while(判断条件语句) {
    循环体语句;
    }

    while循环完整格式:
    初始化语句;
    while(判断条件语句) {
    循环体语句;
    控制条件语句;
    }

    用while循环完成如下案例
    求1到100的和
    int sum = 0;
    int num = 1;
    while(num <=100){
    sum += num;
    num++;
    }
    System.out.println(sum);

    纸张折叠成珠穆朗玛峰高度的次数,随意写的。。
    int count = 0;
    int num = 1;
    while(num <= 10000){
    count++;
    num *= 2;
    }
    System.out.println(count);

    循环结构do...while语句的格式:
    *
    do {
    循环体语句;
    }while(判断条件语句);

    完整格式;
    初始化语句;
    do {
    循环体语句;
    控制条件语句;
    }while(判断条件语句);

    执行流程:
    * a:执行初始化语句
    * b:执行循环体语句;
    * c:执行控制条件语句
    * d:执行判断条件语句,看其返回值是true还是false
    * 如果是true,就继续执行
    * 如果是false,就结束循环
    * e:回到b继续。

    三种循环语句的区别:
    * do...while循环至少执行一次循环体。
    * 而for,while循环必须先判断条件是否成立,然后决定是否执行循环体语句。
    * for循环和while循环的区别:
    如果你想在循环结束后,继续使用控制条件的那个变量,用while循环,否则用for循环。
    不知道用谁就用for循环。因为变量及早的从内存中消失,可以提高内存的使用效率。
    一定要注意控制条件语句控制的那个变量的问题,不要弄丢了,否则就容易死循环。
    两种最简单的死循环格式
    * while(true){...}
    * for(;;){...}


    3:break,continue和return分别有什么用?
    * return是结束方法;
    * break是跳出循环;只能在switch和循环中使用。
    * continue是终止本次循环继续下次循环;只能在循环中使用。

    4:函数的概念?函数的格式?格式的解释说明
    完成特定功能的代码块。
    修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2...) {
    方法体语句;
    return 返回值;
    }
    方法的格式说明:
    * 修饰符:目前就用 public static。后面我们再详细的讲解其他的修饰符。
    * 返回值类型:就是功能结果的数据类型。
    * 方法名:符合命名规则即可。方便我们的调用。
    * 参数:
    * 实际参数:就是实际参与运算的。
    * 形式参数;就是方法定义上的,用于接收实际参数的。
    * 参数类型:就是参数的数据类型
    * 参数名:就是变量名
    * 方法体语句:就是完成功能的代码。
    * return:结束方法的。
    * 返回值:就是功能的结果,由return带给调用者。

    5:函数的调用
    A:明确返回值类型的函数调用
    * a:单独调用,一般来说没有意义,所以不推荐。
    * b:输出调用,但是不够好。因为我们可能需要针对结果进行进一步的操作。
    * c:赋值调用,推荐方案。
    B:void类型的函数调用
    * 单独调用
    * 输出调用(错误)
    * 赋值调用(错误)

    6:函数的练习:
    A:求两个数据之和
    public static int add(int a,int b){
    int sum = a + b;
    return sum;
    }

    B:判断两个数据是否相等
    public static boolean isEquals(int a,int b){
    boolean bl = a == b;
    return bl;
    }

    C:获取两个数中较大的值
    public static int getMaxNum(int a,int b){
    int maxNum = (a>b)? a:b;
    return maxNum;
    }

    D:打印m行n列的星形矩形
    Scanner sc = new Scanner();
    int m = sc.nextInt();
    int n = sc.nextInt();
    printMN(m,n);
    public static void printMN(int m,int n){
    for(int i=1;i<=m;i++){
    for(int j=1;j<=i;j++){
    System.out.print("*");
    }
    System.out.println();
    }
    }

    E:打印nn乘法表
    Scanner sc = new Scanner();
    int m = sc.nextInt();
    int n = sc.nextInt();
    public static void printNN(int m,int n){
    for(int i=1;i<=m;i++){
    for(int j=1;j<=i;j++){
    System.out.print(j+"*"+i+"="+i*j+" ");
    }
    System.out.println();
    }
    }

    7:什么是函数重载?
    在同一个类中,方法名相同,参数列表不同。与返回值类型无关。
    参数列表不同:
    * 参数个数不同
    * 参数类型不同
    * 参数的顺序不同(算重载,但是在开发中不用)

  • 相关阅读:
    .net中连接远程目录的解决方案
    VS2008+Window Mobile开发环境的搭建(转)
    安装任何版本ActiveSync都出错原因
    问题让人开始慢慢的思考
    [原创]EasyUI的TreeGrid查询功能实现
    听客户说然后再做开发
    EasyUI的DataGrid合击汇总页脚使用教程
    ASP.NET MVC 使用AderTemplate模板引擎进行视图显示
    C#的JSON数据格式转换方法
    Delphi使用ReportMachine制作小计和总计报表
  • 原文地址:https://www.cnblogs.com/wanghongyun/p/9351651.html
Copyright © 2011-2022 走看看