Java语法基础课程“动手动脑”问题与实验整理

news/2025/9/27 23:08:15/文章来源:https://www.cnblogs.com/miyamori6308/p/19115882

Java语法基础课程“动手动脑”问题与实验整理

一、编程思维与项目分解相关

  1. 愚公移山故事与编程逻辑关联思考
    通过愚公移山故事,清晰感知到编程核心逻辑与现实问题解决的共通性:“虽我之死,有子存焉”对应分支结构(IF条件判断),“子子孙孙无穷匮也”对应循环结构,而“山不加增”则明确了循环终止条件,避免死循环。这让我理解到,无论多复杂的问题,都可通过顺序、分支、循环这三大基础编程结构拆解实现。
  2. 项目分解实践疑问与解答
    课程中提出“还能不能分解?为什么分解?”的问题。经过思考,项目分解没有绝对的“终点”,需结合实际需求和代码可读性判断,比如可将审核稿件中的“填写审核意见”进一步拆分为“意见输入”“意见校验”等子步骤;分解的核心目的是降低问题复杂度,让每个子模块可独立开发、测试和维护,同时便于团队协作,比如多人可分别负责“在线投稿”和“查询进度”模块。

二、枚举类型相关

  1. EnumTest.java运行分析
    运行EnumTest.java后发现:枚举类型的每个具体值(如Size.SMALL)都是一个独立对象,且相同值引用同一个对象。例如执行Size s=Size.SMALL; Size t=Size.valueOf("SMALL");后,s==t结果为trues.equals(t)结果也为true,由此得出结论:枚举是引用类型,其“==”与equals()方法功能等价。
  2. 枚举类型基本用法掌握验证
    通过编写枚举迭代和switch案例,掌握枚举核心用法:使用foreach循环(for(MyEnum value:MyEnum.values()))可遍历所有枚举值;将枚举用于switch时,case后直接写枚举值(无需加枚举类名前缀),如case ONE: System.out.println("第一"); break;,简化了多条件判断代码。

三、变量与作用域相关

  1. 同名变量屏蔽原则测试
    针对课程中Test类代码(静态变量value=1,main方法中局部变量value=2),运行后输出结果为2。后续自定义测试:在方法内嵌套代码块定义同名变量,如public static void main(String[] args){int a=1;{int a=2;System.out.println(a);}System.out.println(a);},输出依次为21,验证了“局部变量屏蔽外层变量,作用域越小优先级越高”的屏蔽原则。
  2. 变量作用域边界感知
    编写测试代码:在类的成员方法中定义变量int num=5,在方法外尝试调用num时编译器报错;在代码块if(true){String str="test";}外调用str也报错,明确了变量作用域的边界——成员变量作用域为整个类,局部变量(方法内、代码块内)仅在定义它的代码块内有效,出界后变量失效。

四、数据类型与类型转换相关

  1. 数据类型转换图表分析
    结合课程中数据类型转换图(char、byte、short、int、long、float、double)及各类型位数、数值范围,得出转换规律:从“小范围”类型到“大范围”类型(如int→long、float→double)可自动转换,无精度损失,因大范围类型能完全容纳小范围类型数据;从“大范围”到“小范围”(如double→int、long→short)需强制转换,可能丢失精度,例如double d=123.9; int i=(int)d;结果为123,小数部分被舍弃。
  2. 包装类类型转换实践
    对比强制转换与包装类转换:当需多次转换同一数据时,包装类更便捷,如Double dObj=new Double(156.5);,可通过dObj.byteValue()“一次性”获取byte类型值,无需重复强制转换;但多数场景下,强制转换(如int x=(int)dObj)更简洁,二者需根据实际使用场景选择。

五、浮点数精度与BigDecimal相关

  1. TestDouble.java运行结果与意外分析
    运行TestDouble.java后,输出结果与数学预期差异明显:0.05+0.01=0.0600000000000000054.015*100=401.49999999999994等。最初感到意外,后查阅资料得知,原因是double类型采用二进制浮点数存储,无法精确表示部分十进制小数(如0.01),就像1/3无法用有限十进制表示,导致运算累积误差。
  2. BigDecimal解决精度问题实践
    使用BigDecimal类优化浮点数运算:当构造器参数为字符串时(如new BigDecimal("0.05")),计算结果完全精确,0.05+0.01输出0.06;若用double参数(如new BigDecimal(0.05)),结果仍有误差,因double本身已存在精度问题,传入时误差已被带入。这说明使用BigDecimal需严格遵循“用字符串构造”的原则。

六、运算符与字串操作相关

  1. 字串拼接与运算顺序测试
    针对代码int X=100; int Y=200; System.out.println("X+Y="+X+Y); System.out.println(X+Y+"=X+Y");,运行结果分别为X+Y=100200300=X+Y。原因是“+”兼具算术运算和字串拼接功能,遵循“从左到右”结合性:第一个语句中,“X+Y=”先与X拼接为“X+Y=100”,再与Y拼接;第二个语句中,X+Y先执行算术运算得300,再与“=X+Y”拼接。
  2. JOptionPane图标类型使用差异
    测试JOptionPane不同图标类型:ERROR_MESSAGE会显示红色错误图标,适合提示程序异常(如“文件读取失败”);WARNING_MESSAGE显示黄色警告图标,用于潜在风险提示(如“输入格式不规范”);PLAIN_MESSAGE无图标,适用于纯信息展示(如“操作完成”),不同图标类型可让用户快速识别消息紧急程度。

七、输入输出与数据转换相关

  1. Scanner与JOptionPane输入方式对比
    实践两种输入方法:JOptionPane的showInputDialog方法弹出图形化输入框,适合简单图形界面程序,但输入内容需手动转换类型;Scanner类(Scanner in=new Scanner(System.in))通过控制台输入,支持nextInt()“一键”获取整数、nextDouble()获取浮点数,无需手动转换,更适合控制台程序开发。
  2. 字串与数字转换验证
    测试Integer.parseIntDouble.parseDouble:将字串“123”通过Integer.parseInt("123")转为int类型123,将“123.45”通过Double.parseDouble("123.45")转为double类型123.45;若字串格式非法(如“123a”),会抛出NumberFormatException,说明转换前需确保字串符合目标数据类型格式。

八、位运算与二进制表示相关

  1. 原码、反码、补码概念与Java关联
    查阅资料后明确:原码是符号位+数值绝对值(如+5原码00000101,-5原码10000101);反码是正数与原码相同,负数为原码符号位不变、数值位取反(-5反码11111010);补码是正数与原码相同,负数为反码+1(-5补码11111011)。编写位运算测试代码(如System.out.println(~5)),输出结果为-6,验证了Java中数值以补码形式存储和运算。

九、课后实验总结

本次课程所有动手动脑问题和实验,核心围绕“编程思维建立”和“Java基础语法实践”展开。从最初对枚举、浮点数精度等概念的困惑,到通过编写测试代码、查阅资料逐步理解,不仅掌握了Java语法细节,更体会到“分解问题—验证猜想—总结规律”的编程学习方法,为后续复杂程序开发奠定了基础。

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

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

相关文章

课后感想

系统学习模块分解后,我实现了编程思维的进阶,跳出 “堆砌代码” 的局限,深刻理解其在软件开发中的核心价值。​ 此前写代码常陷入 “一锅粥” 困境:如简单图书管理系统的登录、查询、借阅功能全挤在主程序,新增 “…

php 公司网站百度关键词排名代发

全国PMO专业人士年度盛会 天阳科技集团北京卡洛其项目管理专家李先林先生受邀为PMO评论主办的2024第十三届中国PMO大会演讲嘉宾,演讲议题为“应用软件项目管理标准化实践探讨”。大会将于6月29-30日在北京举办,敬请关注! 议题简要&#xff1…

交换友情链接平台鞍山做网站优化公司

指针 指针概念 指针保存地址,地址是字节的编号 指针类型和保存的地址类型要一直 使用时注意,把地址转换为&变量的格式来看 int a[3]; a转为&a[0] 指针的大小 64bit 固定8字节, 32bit 固定4字节 指针…

mysql的单表如何仅保留半年的数据

一、问题背景 mysql分表之后,只想保留某张表(例如订单表)最近半年内的数据,然后历史数据放到ES中进行归档,所以要定期处理。像这种的话,要怎么设计呢 二、问题解析 把「近 6 个月留在 MySQL,历史数据归档到 ES …

Java基础核心问题 链接版

"C:\Users\lenovo\Desktop\Java 基础核心问题.docx"

Insightly存储型XSS漏洞分析:通过链接名称注入恶意脚本

本文详细披露了Insightly平台存在的存储型XSS安全漏洞。黑客可通过在链接名称字段注入恶意脚本实现攻击,漏洞涉及脚本标签转义失效问题,影响所有访问受影响页面的用户。文章包含完整的复现步骤、概念验证和漏洞影响分…

建设部政务网站视频拍摄制作合同

个人主页:金鳞踏雨 个人简介:大家好,我是金鳞,一个初出茅庐的Java小白 目前状况:22届普通本科毕业生,几经波折了,现在任职于一家国内大型知名日化公司,从事Java开发工作 我的博客&am…

企业网站公示怎么做做网站前应该先出图

在一个类中如果需要实现多个自定义构造函数,通常做法是在构造函数中实现各自的业务逻辑,如果这些业务逻辑的实现并非截然不同的话,显然不符合oop编程思想,极不利于维护,当然,我们也可以通过将相同的逻辑部分封装成一个方法,但还有一种更为合理简单的方法,下面就通过…

网站开发公司前置审批丽水建设局网站

前言C语言属于高级程序语言的一种,它的前身是“ALGOL”。其创始人是布朗W卡尼汉和丹尼斯M利奇。C语言问世时是带有很大的局限性,因为它只能用于UNIX系统上。然而随着科学技术的进步,计算机工业的发展,C语言逐渐脱离UNIX。1987年美…

江门网站制作公司会计信息网站建设的意思

80端口被其他程序占用, fuser -k -n tcp 80 查看端口是否启用 telnet ip地址 端口没有启动,显示拒绝: 端口启动,显示微笑:

H3C交换机的配置学习-01

1.下载交换机模拟器 [https://www.h3c.com/cn/Service/Document_Software/Software_Download/Other_Product/H3C_Cloud_Lab/Catalog/HCL/] 2.安装后通过模拟器进行创建交换机和主机打开HCL软件,拖一个交换机,一个本地…

nian.so是国外还是国内网站wordpress回复查看插件

http://linuxsogood.org/1121.html/comment-page-1 转载于:https://www.cnblogs.com/saolv/p/7440536.html

网站维护报价表seo推广排名

本改进已集成到 YOLOv8-Magic 框架。 论文地址:https://arxiv.org/abs/2403.19967 论文代码:https://github.com/ma-xu/Rewrite-the-Stars 最近的研究引起了人们对“星形运算”(按元素乘法)在网络设计中未被充分利用的潜力的关注。虽然直观的解释很多,但其应用的基本原理…

找出网站所有死链接阿里企业邮箱免费

放大器DC参数测试(1) Hi,uu们,最近在忙啥呢?想好5.1,端午去哪里玩了吗? 咱们直接开始正题,放大器的DC参数还挺多,在Bench测试中,需要自动化测试,通常需要很多Relay去切换不同的配置去测量不同的参数,在这里瑞萨给出了测试参考电路.如图1所示. 图1:直流关键参数测试电路 Re…

Python脚本生成包含标准的#ifndef保护宏的头文件

做一个python脚本,可以用python + 文件名的形式进行调用 以下是一个可以直接通过命令行调用的 Python 脚本: 方法一:独立脚本文件(推荐) create_header.pypython 复制下载#!/usr/bin/env python3 ""&q…

苗木网站模版网易企业邮箱服务器设置怎么填

目录 复合类型(自定义类型) 概述: 结构体变量的定义和初始化: 结构体成员的使用: 结构体做函数参数: 结构体值传参: 结构体地址传参: 共用体(联合体)&…

java实验作业和动手动脑

public class test { public static void main(String[]args){ int X=100; int Y=200; System.out.println("X+Y="+X+Y); System.out.println(X+Y+"=X+Y"); } } 一个是不计算直接转换为字符串,一…

(第三次)Numpy Pandas

(第三次)Numpy & Pandas在大数据分析与计算领域,Python的Numpy和Pandas库是不可或缺的核心工具。Numpy凭借高效的数值计算能力,成为处理海量数值数据的“快剑”;Pandas则以灵活的数据管理功能,化身打理复杂数…

网站运营管理的内容有哪些友情链接的作用大不大

专栏其他文章: 理论篇: (一)深入浅出TCPIP之理解TCP报文格式和交互流程 (二)深入浅出TCPIP之再识TCP,理解TCP三次握手(上) (三)深入浅出TCPIP之再识TCP,理解…