java基础练习,九九乘法表(java版),计算器

news2025/1/15 20:45:28

简介 

对于有了解,但是了解不深的同学,学习Java总是感觉一看就会,一些就废。往往需要一些实操练习,来夯实我们的学习结果。九九乘法表和计算器都是在编程学习领域比较经典的案例。本文为大家讲解一下两个基础练习涉及到一些基础知识点。

 Java基础练习

九九乘法表

public class Ceshi {
    public static void main(String[] args) {
        int y=1 ;
        int x=1;
        int result=0;
        while (x<10){

            while (y<=x){
                result=x*y;
                System.out.print(y +"*"+ x +"=" +result+",");
                y++;

            }
            x++;
            y=1;
            System.out.println("");
        }
    }
}

注:

以上九九乘法表的中涉及到使用了一个while 循环的一个案列,

在Java中,有三种主要类型的循环:while循环、do-while循环和for循环。

//while循环:while循环会一直执行代码块,直到给定的条件不再满足为止

    int i = 1;
while (i <= 5) {
        System.out.println(i);
        i++;
        }



//do-while循环:do-while循环与while循环类似,但它会先执行一次代码块,然后再检查条件

int i = 1;
do {
    System.out.println(i);
    i++;
} while (i <= 5);


//for循环:for循环通常用于遍历数组或集合。

int[] array = {1, 2, 3, 4, 5};
for (int i = 0; i < array.length; i++) {
    System.out.println(array[i]);
}

以上九九乘法表可以在此三种循环中进行互换写法增强对三种循环体的练习。

//while  循环的九九乘法表


public class Ceshi {
    public static void main(String[] args) {
        int y=1 ;
        int x=1;
        int result=0;
        while (x<10){

            while (y<=x){
                result=x*y;
                System.out.print(y +"*"+ x +"=" +result+",");
                y++;

            }
            x++;
            y=1;
            System.out.println("");
        }
    }
}


//do-while  循环的九九乘法表

public class Seshi1 {
    public static void main(String[] args) {
        int y=1;
        int x=1;
        int result=0;

        do {
            do {
                result=x*y;
                System.out.print(y +"*"+ x +"=" +result+",");
                y++;
            } while (y<=x);

            x++;
            y=1;
            System.out.println("");
        } while (x<10);
    }
}

//for 循环的九九乘法表

public class S {
    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();
        }
    }
}



这里在for循环中增加一个\t (制表符)可以使数据对齐。

   System.out.print(j + " * " + i + " = " + (i * j) + "\t"); 

 System.out.print();  System.out.println();   两种打印语法中 第二个是换行打印,也可以在第一个中增加\n 进行换行,可以根据自己的写作系统增加在 System.out.print();  增加自己所需要的正则表达式。

实现效果

计算器

使用java语法打印一个可以实现 “加、减,乘,除” 的class

//switch  实现示例 
import java.util.Scanner ;

public class jsq {
    public static void main(String[] args) {
        Scanner scanner1 = new Scanner(System.in);
        System.out.println("请输入数字:");
        int num1 = scanner1.nextInt();
        String x = scanner1.next();
        int num2 = scanner1.nextInt();
        int result;
        switch (x) {
            case "*":
                System.out.println(num2*num1);
                break;
            case "+":
                System.out.println(num2+num1);
                break;
            case "-":
                System.out.println(num1-num2);
                break;
            case "/":
                System.out.println(num1/num2);
                break;
            default:
                System.out.println("请重新输入");
        }

    }
}





//if-else 实现示例
 
import java.util.Scanner;

public class jsq {
    public static void main(String[] args) {
        Scanner scanner1 = new Scanner(System.in);
        System.out.println("请输入数字:");
        int num1 = scanner1.nextInt();
        String x = scanner1.next();
        int num2 = scanner1.nextInt();
        int result = 0;
        if (x.equals("*")) {
            result = num2 * num1;
        } else if (x.equals("+")) {
            result = num2 + num1;
        } else if (x.equals("-")) {
            result = num1 - num2;
        } else if (x.equals("/")) {
            result = num1 / num2;
        } else {
            System.out.println("请重新输入");
        }
        System.out.println(result);
    }
}

注:

在计算器代码的练习中,考察了我们的对象的创建,以及判断表达式的练习

java.util.Scanner 是Java自带的包,主要是键盘输入的相关功能

//创建的固定语法  
Scanner scanner1 = new Scanner(System.in); 

对象名  新建对象名 = new 对象名();



//System.in是一个特殊的对象,它代表了标准输入流。在创建Scanner对象时,你需要提供一个InputStream对象作为参数,System.in就是一个InputStream对象,它提供了从键盘读取数据的功能。次数需要了解对象的使用情况,多数情况是不需要增加特定参数。

本文还涉及到switch 判断语法:switch语句用于根据表达式的值选择一个代码块来执行。

关于语法讲解,练习时我们可以试着将switch 的语法与if-else 的语法进行互换练习

//switch  语法讲解
 switch (expression) {
    case value1:
        // 执行语句1
        break;
    case value2:
        // 执行语句2
        break;
    ...
    default:
        // 执行默认语句
        break;
}
//在这个示例中,expression是要比较的表达式,value1、value2等是可能的值,case后面的代码块是当expression的值等于value1、value2等时要执行的语句,default后面的代码块是当expression的值不等于任何一个value1、value2等时要执行的语句。break语句用于退出switch语句,否则switch语句会继续执行下一个case后面的代码块。


//if-else  语法讲解
if (expression) {
    // 执行语句1
} else if{
    // 执行语句2
} else {
    // 执行语句3
}

//expression是要比较的表达式,运行逻辑与数据库SQL语言相似。不再详解

实现效果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1099216.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

VS2010 C语言内嵌汇编语言程序

VS2010 C语言内嵌汇编语言程序 2021年7月28日席锦 在visual studio 2010中C语言使用内联汇编写代码 &#xff0c;它的格式有两种&#xff0c; 一种是__asm 直接接汇编指令语句&#xff0c;比如:__asm int 3 // 软件中断 另一种是加上花括号&#xff0c;类似于一个函数&…

Python库学习(十):Matplotlib绘画库

1. 介绍 Matplotlib 是一个用于绘制图表和可视化数据的 Python 库。它提供了丰富的绘图工具&#xff0c;可以用于生成各种静态、交互式和动画图表。Matplotlib 是数据科学、机器学习和科学计算领域中最流行的绘图库之一。 1.1 关键特性 以下是 Matplotlib 的一些关键特性&…

23基于MATLAB的小波降噪,默认阈值消噪,强制消噪,给定软阈值消噪方法,数据直接替换后就可以跑。

基于MATLAB的小波降噪&#xff0c;默认阈值消噪&#xff0c;强制消噪&#xff0c;给定软阈值消噪方法&#xff0c;数据直接替换后就可以跑。 https://www.xiaohongshu.com/explore/652d57c600000

Leetcode刷题解析——904. 水果成篮

1. 题目链接&#xff1a;904. 水果成篮 2. 题目描述&#xff1a; 你正在探访一家农场&#xff0c;农场从左到右种植了一排果树。这些树用一个整数数组 fruits 表示&#xff0c;其中 fruits[i] 是第 i 棵树上的水果 种类 。 你想要尽可能多地收集水果。然而&#xff0c;农场的主…

vue 拿到数据后,没有重新渲染视图,nuxt.js拿到数据后,没有重新渲染视图,强制更新视图

以下为Vue2的解决方案 一、 Vue.set&#xff08;&#xff09; 问&#xff1a;什么情况下使用&#xff1f; 答&#xff1a;如果你向响应式数据添加新的“属性”&#xff0c;理论上&#xff0c;一般情况下是没问题的&#xff0c;但是&#xff0c;如果你的级别比较深&#xff0c;又…

Py之trl:trl(一款采用强化学习训练Transformer语言模型和稳定扩散模型的全栈库)的简介、安装、使用方法之详细攻略

Py之trl&#xff1a;trl(一款采用强化学习训练Transformer语言模型和稳定扩散模型的全栈库)的简介、安装、使用方法之详细攻略 目录 trl的简介 1、亮点 2、PPO是如何工作的&#xff1a;PPO对语言模型微调三步骤&#xff0c;Rollout→Evaluation→Optimization trl的安装 t…

LeetCode 2 两数相加

题目描述 链接&#xff1a;https://leetcode.cn/problems/add-two-numbers/?envTypefeatured-list&envId2ckc81c?envTypefeatured-list&envId2ckc81c 难度&#xff1a;中等 给你两个 非空 的链表&#xff0c;表示两个非负的整数。它们每位数字都是按照 逆序 的方式…

软件设计之工厂方法模式

工厂方法模式指定义一个创建对象的接口&#xff0c;让子类决定实例化哪一个类。 结构关系如下&#xff1a; 可以看到&#xff0c;客户端创建了两个接口&#xff0c;一个AbstractFactory&#xff0c;负责创建产品&#xff0c;一个Product&#xff0c;负责产品的实现。ConcreteF…

基于ssm008医院门诊挂号系统+jsp【附PPT|开题|任务书|万字文档(LW)和搭建文档】

主要功能 后台登录&#xff1a;4个角色 管理员&#xff1a; ①个人中心、修改密码、个人信息 ②药房管理、护士管理、医生管理、病人信息管理、科室信息管理、挂号管理、诊断信息管理、病例库管理、开药信息管理、药品信息管理、收费信息管理 药房&#xff1a; ①个人中心、修…

CSS阶详细解析一

CSS进阶 目标&#xff1a;掌握复合选择器作用和写法&#xff1b;使用background属性添加背景效果 01-复合选择器 定义&#xff1a;由两个或多个基础选择器&#xff0c;通过不同的方式组合而成。 作用&#xff1a;更准确、更高效的选择目标元素&#xff08;标签&#xff09;。…

计算机算法分析与设计(11)---贪心算法(活动安排问题和背包问题)

文章目录 一、贪心算法概述二、活动安排问题2.1 问题概述2.2 代码编写 三、背包问题3.1 问题描述3.2 代码编写 一、贪心算法概述 1. 贪心算法的定义&#xff1a;贪心算法是指在对问题求解时&#xff0c;总是做出在当前看来是最好的选择。也就是说&#xff0c;不从整体最优上加以…

CICD 流程学习(四)搜素服务与消息队列

一 搜索服务 1 Lucene概念 Lucene是一种高性能、可伸缩的信息搜索 (IR)库&#xff0c;在2000年开源&#xff0c;最初由鼎鼎大名的Doug Cutting开发。是基于Java实现的高性能的开源项目 Lucene采用了基于倒排表的设计原理&#xff0c;可以非常高效地实现文本查找&#xff0…

GEO生信数据挖掘(九)WGCNA分析

第六节&#xff0c;我们使用结核病基因数据&#xff0c;做了一个数据预处理的实操案例。例子中结核类型&#xff0c;包括结核&#xff0c;潜隐进展&#xff0c;对照和潜隐&#xff0c;四个类别。第七节延续上个数据&#xff0c;进行了差异分析。 第八节对差异基因进行富集分析。…

windows内网渗透正向代理

内网渗透正向代理 文章目录 内网渗透正向代理1 正向代理图2 环境准备2.1 正向代理需求&#xff1a; 3 网卡配置3.1 【redream】主机3.2 【base】主机双网卡3.3 【yvkong】网卡设置 4 启动4.1【redream】网卡配置&#xff1a;4.2【base】网卡配置&#xff1a;4.3【yvkong】网卡地…

ArcGis打开影像显示全黑解决方法

我们加载图像&#xff0c;显示如下&#xff1a; 解决方法&#xff1a; 问题分析&#xff1a;Gamma值高于1影像亮化&#xff0c;低于1影像暗化。栅格影像导入进来呈现黑色&#xff0c;可能是因为影像的“Gamma校正”设置出现问题&#xff0c;影响了影像的拉伸度、亮度、对比度等…

FTP客户端lftp

目录 准备 1 lftp介绍 2 lftp语法 3 lftp选项 4 下载 4.1 服务端 4.2 客户端 5 上传 5.1 客户端 5.2 服务端 准备 两台虚拟机&#xff08;且保证互通&#xff09;关闭防火墙和SeLinux。 关闭防火墙 systemctl stop firewalld 关闭SeLinux setenforce 0 vi /etc/s…

12-k8s-HPA自动扩缩容

文章目录 一、k8s弹性伸缩类型二、HPA原理三、metrics-server插件四、创建nginx提供负载测试五、部署HPA master操作即可 一、k8s弹性伸缩类型 Cluster-Autoscale: 集群容量(node数量)自动伸缩&#xff0c;跟自动化部署相关的&#xff0c;依赖iaas的弹性伸缩&#xff0c;主要用…

学术特稿 | 著名书法家项国就:中国古代书法章草美学展现的形式分析

、 论文入编&#xff1a;大型综合美术类核心期刊《新美域》杂志2023年第七期。 中国古代书法章草美学展现的形式分析 摘要&#xff1a;本文旨在探讨中国古代书法风格章草的美学特点、审美价值以及代表性作品和艺术家。章草的美学特点体现在简洁流畅的笔画、清晰规整的字形结构以…

[架构之路-237]:目标系统 - 纵向分层 - 网络通信 - DNS的递归查询和迭代查询

目录 一、DNS协议与DNS系统架构 1.1 什么是DNS协议 1.2 为什么需要DNS协议 1.3 DNS系统架构 二、DNS系统的查询方式 2.1 递归与迭代的比较 2.2 DNS递归查询 2.3 DNS迭代查询 一、DNS协议与DNS系统架构 1.1 什么是DNS协议 DNS&#xff08;Domain Name System&#xff…

nRF52832蓝牙从机

具体内容直接参考《nRF52832开发指南》 本文仅对关键内容和容易搞错的内容进行描述。 广播事件 扫描事件 连接事件 从机框架 日志配置和初始化log_init&#xff0c;具体参考手册和示例程序&#xff1b;APP定时器初始化timers_init&#xff0c;具体参考手册和示例程序&…