Java调试,数学运算和循环

本文详细介绍了Java编程中的包命名规则、常量特性、逻辑运算、位操作、数学运算(包括用户输入、随机数生成、对小数的处理等)、调试方法以及各种循环结构(顺序、分支、循环、for、while、do-while),同时涵盖循环迭代法应用实例如求和、阶乘、特定数列计算和日期计算,以及图形绘制(三角形)。
摘要由CSDN通过智能技术生成

一.回顾

1.包的命名:

com.公司名.项目名

2.常量:

常量只读不可写。

3.逻辑:

&不支持短路。

4.位运算符:

& 位与

| 位或

^ 相异为1

二.Math(进行数学运算)

1.数学运算

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入第一个数");
        //double a = scanner.nextDouble();
        double a = Double.parseDouble(scanner.nextLine());
        System.out.print("请输入第二个数");
        //double b = scanner.nextDouble();
        double b = Double.parseDouble(scanner.nextLine());
        System.out.print("请选择运算符");
        String opt = scanner.nextLine();

        double result = 0.0;
        switch (opt){
            case "+":
                result = a + b;
                break;
            case "-":
                result = a - b;
                break;
            case "*":
                result = a * b;
                break;
            case "/":
                result = a / b;
                break;
            case "pow":
                result = Math.pow(a,b);
                break;
            case "min":
                result = Math.min(a,b);
                break;
            case "max":
                result = Math.max(a,b);
                break;
            default:
                System.out.println("项目升级中……");
        }
        System.out.println(a + opt);
    }
}

2.随机数

double random = Math.random();
System.out.println(random);

另:random(0~1)

 Random ran = new Random();
 int a = ran.nextInt(9);//(0,8]
 System.out.println(a);

3.对小数的处理

Math.floor();

Math.ceil();

Math.round();

public class Main {
    public static void main(String[] args) {
        double a = 3.6415;
        System.out.println("Math.floor:" + Math.floor(a));//向上最近的整数
        System.out.println("Math.ceil:" + Math.ceil(a));//向下最近的整数
        System.out.println("Math.round:" + Math.round(a));//Math.floor(a+0.5)
    }
}

double random = Math.random();
random *=10;//0~9
System.out.println(Math.ceil(random));

三.Debug(如何跟踪代码是否出现问题)

1.断点设置

2.Debug模式

3.预测值

4.调试

四.程序结构

1.顺序

2.分支

3.循环结构

(1)结构

  ·{ }---作用域

  ·while

int count = 0;
while(true){
     if(count==3){
     break;
     }
System.out.println("*");
count+=1;
}
int count = 0;
while(count++<3){
     System.out.println("*");
}

1~10相加

public class Main {
    public static void main(String[] args) {
        int sum = 0;
        int count = 0;
        while (count++<10){
            sum += count;
        }
        System.out.println("sum="+sum);
    }
}

while……do

先执行后判断

do……while

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String name = null;
        String password = null;
        do{
            System.out.print("请输入用户名:");
            name = scanner.nextLine();
            System.out.print("请输入密码:");
            password = scanner.nextLine();
        }while (!("admin".equals(name) && "123".equals(password)));//条件成立进入循环
    }
}

  ·for

for(;条件;){

}

public class Main {
    public static void main(String[] args) {
        for (int i = 0;i <= 100;i+=2){
            System.out.println(i);
        }
        int j = 0;
        for (;j <= 100;j++){

        }
        for (int t = 0;t <= 100;){
            t++;
        }
        for (;;){
            
        }
    }
}

(2)三个关键字

break;continue;return

·break跳出当前循环

·continue跳过当前这个值

·return存储值,将方法返回

五.循环迭代法

1.求和

1~100相加

public class Main {
    public static void main(String[] args) {
       int sum = 0;
       int count = 0;
       /*for (int count=0;count<=100;count++){
            sum+=count;
        }
        System.out.println(sum);*/
       /* while (count++ < 100){
            sum+=count;
        }
        System.out.println(sum);*/
        do {
            sum+=count;
        }while (count++ < 100);
        System.out.println(sum);
    }
}

2.阶乘

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
       Scanner scanner = new Scanner(System.in);
       System.out.print("请输入一个整数n:");
       int n = Integer.parseInt(scanner.nextLine());
       int sum = 1;
       for(int i=1;i<=n;i++){
           sum*=i;
       }
       System.out.println(sum);
    }
}

3.计算能被3,5整除的100以内的整数和

public class Main {
    public static void main(String[] args) {
       int sum = 0;
       for(int i=1;i<=100;i++){
           if(i % 3 == 0 || i % 5 == 0){
               sum += i;
           }
       }
       System.out.println(sum);
    }
}

4.1!+2!+……+n!

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入一个整数:");
        int j = Integer.parseInt(scanner.nextLine());
        int add = 0;
        for (int n = 1; n <= j; n++) {
            int sum = 1;
            for (int i = 1; i <= n; i++) {
                sum *= i;
            }
            add += sum;
        }
        System.out.println(add);
    }
}

4.今年的第几天

public class Main {
    public static void main(String[] args) {
        Calendar c = Calendar.getInstance();
        int day = c.get(Calendar.DAY_OF_MONTH);
        int month = c.get(Calendar.MONTH);//1月就是0月
        int year = c.get(Calendar.YEAR);
        System.out.println(year +"-"+ month +"-"+day);
        int sum = 0;
        for(int m = 1;m <= month;m++){
            switch (m) {
                case 1:
                case 3:
                case 5:
                case 7:
                case 8:
                case 10:
                    sum += 31;
                    break;
                case 4:
                case 6:
                case 9:
                case 11:
                    sum += 30;
                    break;
                case 2:
                    sum += 28;
                    break;
            }
        }
            sum += day;
            boolean f = ((year % 400 == 0)||(year % 4 == 0 && year % 100 != 0));
            if(f == true){
                sum += 1;
            }
        System.out.println("今天是第"+sum+"天");
    }
}

5.斐波那契数列

public class Main {
    public static void main(String[] args) {
        int n=6;
        long a=1L;
        long b=1L;
        long m=0L;
        long sum=a+b;
        for(int i=3;i <= n;i++){
            m = a + b;
            a = b;
            b = m;
            sum+=m;
        }
        System.out.println(m);
        System.out.println(sum);
    }
}

6.画三角形

public class Main {
    public static void main(String[] args) {
        for (int n=1;n<=5;n++){
            for(int i=1;i<=n;i++){
                System.out.print("*");
            }
            System.out.println();
        }
    }
}

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值