Java SE 基础知识(4)

Java SE 基础知识(4)

for 循环

例一:求1-100的总和
public class forthday3 {
    public static void main(String[] args) {
        int sum=0;
        for(int i=0;i<=100;i++){
            sum+=i;
        }
        System.out.println("1-100的数字和为:"+sum);
    }
}

例二:求1-100的偶数和
public class forthday2 {
    public static void main(String[] args) {
        int sum = 0;
        for (int i = 0; i <= 100; i++) {
            if (i % 2 == 0) {
                sum += i;
            }
        }
        System.out.println("1-100的偶数和为:" + sum);
    }
}

例三:求1-100的奇数和
public class forthday4 {
    public static void main(String[] args) {
        int sum = 0;
        for (int i = 0; i <= 100; i++) {
            if (i % 2 == 1) {
                sum += i;
            }
        }
        System.out.println("1-100的奇数和为:" + sum);
    }
}
例四:用for循环找出三位水仙花数
package com.java.hyq;

import javax.xml.transform.Source;

public class forthday5 {
    public static void main(String[] args) {
        for (int i = 100; i <= 999; i++) {
            int a = i / 100;//百   i/1%10;
            int b = (i-a*100)/10;//十  i/10%10;
            int c = (i-a*100-b*10);//个  i/100%10;
            int shui=a * a* a  + b * b* b + c * c* c;
            if (i ==shui ) {
                System.out.println("水仙花数有 "+i);
            }
        }
    }
}

Java 第四天课程

while循环
while (){
    
}
Do While
先执行一次,再判断条件是否成立,如果成立立即继续循环,不成立循环结束;
如果不知道循环次数,可以选择while 循环,但是得知道循环结束的条件;

用Java打印99乘法表

  • 难点

1.注意i j 分别代表的含义;

2.注意在循环结束的合适的位置加入换行符号

3."\t"空一个 tab 位 可以直接换行 "\n"也可以换行

4.//一定注意for 循环条件之后一定不要加分号,软件并不报错,但是循环不执行!

package javaday415h;

public class xunhuan {
    public static void main(String[] args) {
        //循环嵌套 外层循环控制行数,内层循环控制列数
        //打印图形题
        int i=1;
        int j=1;
        for( i=1;i<=9;i++)
        {
            System.out.println();
            for(j=1;j<=i;j++){
                System.out.print (j+"*"+i+"="+i*j+" ");
            }

        }
    }
}

快捷键生成循环
//如果有多层循环嵌套,你可以给循环起一个别名,然后你可以通过别名去结束某个循环;
1.正向生成十次循环
//10.fori
for (int i = 0; i < 10; i++) {
            
        }
2.反向生成十次循环    
 //10.forr
        for (int i = 10; i > 0; i--) {
            
        }
       
写循环时的易错点总结
一定注意for 循环条件之后一定不要加分号,软件并不报错,但是循环不执行!

Break语句的使用

package javaday415h;

public class kongzhixunhuan {
    public static void main(String[] args) {
        //原定计划循环十次,但是循环到第五次时,结束循环;

        for ( int i = 1; i < 10; i++) {
            if(i==5){
                break;//中断循环,他的应用场景是在switch 语句中,或循环语句中应用,离开这两个场景没有;
            } System.out.println(i);
        }

    }
}//打印到1 2 3 4 

CONTINUE语句的使用

略过一次循环,然后继续。离开循环没有意义,当然要使用if 语句定义略过循环的条件;

package javaday415h;

public class kongzhixunhuan {
    public static void main(String[] args) {
        for ( int i = 1; i < 10; i++) {
            if(i==5){
              continue;//略过满足if条件中的循环
            } System.out.println(i);
        }

    }
}//打印到1 2 3 4 6 7 8 9 
package javaday415h;

public class kongzhixunhuan {
    public static void main(String[] args) {

        for ( int i = 1; i <= 10; i++) {
            if(i%2==1){
              continue;
            } System.out.println(i);
        }

    }
}//打印到2 4 6 8 10
练习题
习题一:输出7package javaday415h;

public class kongzhixunhuan {
    public static void main(String[] args) {

        for ( int i = 1; i <= 10; i++) {
            if(i%3==0){
             continue;
            }
            System.out.println("java基础班");
        }

    }
}

习题二:输出2package javaday415h;

public class kongzhixunhuan {
    public static void main(String[] args) {

        for ( int i = 1; i <= 10; i++) {
            if(i%3==0){
                    break;
            }
        System.out.println("java基础班");
        }
    }
}
习题三:输出13次

方法概述和语言说明

package javaday415h;

public class kongzhi2 {
    //主方法 作为程序的入口
    public static void main(String[] args) {
        //方法 :完成一个特定功能的代码块;
        //就是把一段代码封装起来以实现重复调用
        //方法的定义语法 权限修饰符 状态修饰符 返回值类型 方法名(参数列表){方法体}
        //方法是定义在类(class)中的
        //方法和方法是平级关系,不能嵌套定义
        //方法不调用不执行!!!!!!!!!!!!
        send();//调用方法
    }
    //定义自己的方法
    public static void send(    ){
        //实现功能的代码,方法体
        System.out.println("发射打僵尸的炮弹");

    }
}

形参与实参 在主函数中的调用
package javaday415h;


public class kongzhi3 {

    public static void main(String[] args) {

       add();

        //在调用带有参数的方法时,必须传入和形参类型,形参个数一致的参数(实参)
        //形参是int 类型,传参数时,可以传入 byte short int
        //当然 如果实参类型和形参类型保持一致就一定不会出错!
       add2(20,30);

        //实参可以传变量,也可以传常量;
       int a=20;
       int b=30;
       add2(a,b);

    }

    public static void add(){

        int a=10;
        int b=20;
        System.out.println(a+b);
    }

    public static void add2(int x,int y){
       //形参:定义在方法括号中的参数,我们叫做形式参数,作用就是接收,调用方法时,传过来的实际参数;
        //例如 int x int y;
        int sum=x+y;
        System.out.println(sum);
    }

}

主函数调用自定义方法时,可以设置返回值的类型
package javaday415h;

public class fangfa2 {
    public static void main(String[] args) {

      int fanhui=add(20,30);//此处的返回值不一定和方法中的sum 定义相同;
        System.out.println(fanhui);
        
    }

//方法的返回值类型,void就是方法没有明确的返回值类型
//一旦我们明确了这个方法的返回值类型,那么这个方法,必须使用return 关键字,返回一个与明确类型一致的值;
//如题 void 可以改成 int
//当我们调用这个方法时,如果这个方法有返回值,我们就可以接收返回值;
//这个方法返回什么类型,就用什么类型接收;

    public static int add(int x,int y){
        int sum=x+y;
        System.out.println(sum);
        return sum;//返回结果  谁调用就把这个值返回给谁;
    }
}
Return
package javaday415h;

import javax.sound.midi.Soundbank;

public class fangfa3 {
    public static void main(String[] args) {
        //当我们设计一个方法时,得考虑这个方法要不要参数,要几个参数,参数类型是什么,
        // 以及要不要返回值,返回值的类型是什么?

    }
    public static int add(int x,int y) {
        //return 结束方法 返回结果
        return x+y;
        //System.out.println(x+y); //return 后的这条语句并不执行;
    }

    public static void add1(int x,int y) {
        //return 结束方法 返回结果
       // return x+y; 当返回值类型为void 时,return 可以省略不写

    }
}

练习题

习题一
package javaday415h;

import java.util.Scanner;

public class fangfa3 {
    //如果有多层循环嵌套,你可以给循环起一个别名,然后你可以通过别名去结束某个循环;
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入需要打印的行数");
        int i = sc.nextInt();
        add(i);
    }

 public static void add( int i ) {


        for ( int x = 1; x <= i; x++) {
            System.out.println();

            for (int y = 1; y <= x; y++) {
                System.out.print(y + "*" + x + "=" + x * y + " " + "\t");
//            }
        }
    }
}
}


习题二
package javaday415h;

//判断两个数是否相等

public class mytext1 {
    public static void main(String[] args) {

        boolean b = equals(20,25);

        if(b){
            System.out.println("相等");
        }
        System.out.println("不等");

    }
    public static boolean equals(int a ,int b) {
        return a==b;
    }
}

习题三

输入两个数判断是否相等

package org.westos.demo;

import java.util.Scanner;

public class MyTest4 {
    public static void main(String[] args) {
        //当要设计一个方法时,得考虑,这个方法要不要参数,要几个参数。参数类型是什么。要不要返回值,返回值类是什么?
        //获取两个数的最大值。设计成一个方法。要参数 要两个 参数类型设计为double 要返回值,返回值类型double.
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入第一个数");
        //int x=sc.nextInt();
        double x = sc.nextDouble();
        System.out.println("请输入第一个数");
        //int y = sc.nextInt();
        double y = sc.nextDouble();

        double max = getMax(x, y);
        System.out.println("最大值是"+max);
    }

    public static double getMax(double a,double b){
        double max=a>b?a:b;
        return max;
    }

    public static int add(int x, int y) {

        //return:结束方法,并返回结果
        return x + y;

    }

    //当你的方法的返回值类型是void时,那么这个return可以省略不写。

    public static void show(int x, int y) {

        //  return:结束方法
        // return;
    }
}

### 方法重载

方法重载,允许一个类中,可以定义多个同名方法,只要他们的参数个数,或参数类型不同即可;主方法在调用的时候,会自动匹配;

不拿返回值类型来区分,和返回值类型没有关系;

package javaday415h;

public class mytest2 {
    //求多个数相加
    public static void main(String[] args) {
      int sum1=add(10,20);
      int sum2=add(10,20,30);
      int sum3=add(10,20,30,40);

//方法重载,允许一个类中,可以定义多个同名方法,只要他们的参数个数,或参数类型不同即可;

    }
    public static int add(int a ,int b){

        return a+b;

    }

    public static int add(int a ,int b,int c){

        return a+b+c;

    }

    public static int add(int a ,int b,int c,int d){

        return a+b+c+d;

    }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值