2022.9.10-2022.9.12 Java第一次课总结
本节课中的问题总结如下:
1.Java的基本运行单位是类还是方法?
答:Java的基本运行单位是类。
2.类由什么组成?
答:类由变量/方法/属性/事件等部分组成,其中方法就是我们所熟悉的函数,属性即类所具有的属性
3.变量的类型,相互之间可以转化吗,浮点数?
答:可以互相转化,对于Java的变量来说,在Java中整型/实型/字符型被视为同一类数据,从低到高分别为 (byte,short,char),int,long,float,double, 低级变量可以直接转换为高级变量,不会有精度损失,但是如果想将高级变量转化为低级变量,需要进行强制类型转换,例如
int i;
byte b=(byte)i;
但是这种转换会导致溢出或者精度的下降。
浮点数也是如此。
4.String是一个数据类型吗?
答:String是一个类,不是数据类型。
5.static代表的含义?
答:静态数据/方法。
二.反码/补码/原码的概念区别
计算机以二进制的方式储存数据。
1.原码
原码是指符号位加上真值的绝对值,即用第一位表示其符号,其余位置表示值
2.反码
反码的表示规则如下:
正数的反码是其本身,负数的反码是在其原码的基础上,符号位不变,其余各个位取反(1-0/0-1)
3.补码
补码的表示规则如下:
正数的补码就是其本身
负数的补码是在其原码的基础上,符号位不变,其余各位取反,最后+1.
在Java中,二进制正数采用原码,负数采用补码。
三.变量的作用域
输出结果为 “2”;
输出结果存在精度的统一
三.为什么double类型的数值进行运算得不到“数学上精确”的结果
总结来说,计算机在运算时我们所输入的是十进制,但是计算机需要二进制的数据进行运算,转换的时候有些数字不能完全转换,只能无限接近原本的值,导致了上述的问题。
四.课堂测试部分
本次课堂测试分为三个部分,要求我们写一个定制(数量/打印方式/数值范围/题目运算数个数/是否有乘除法/是否有括号)的随机生成计算题的小程序。
第一部分&第二部分
这两部分运用了Random类进行随机数的生成,定义了两个数组(第一部分并未要求运算数个数),a和b,题目数固定为30,因此运用循环和随机数的生成,数量和打印方式只需要把固定题目换成N,打印方式只需要定义一个变量n1为0,在每次打印出算式后检测 ,假设每行两道题目,即检测当n1等于2的时候输出一个换行,同时n1++,最后再把n1归零即可。
对于我来说比较难的是第三部分,由于一开始只采用了两个变量进行储存,因此在需要我自定义计算数个数的时候就需要重新考虑,在这里一开始考虑用一个数组储存,但是发现调用时候并不方便,在后来和舍友探讨的过程中,舍友提及可以用循环直接打印,伪代码如下
{
for(int i=0;i<N;i++)
{
Random r=new Random();
int a=r.nextInt();
System.out.print(a);
}
}
这样运行即可。
此外,对于是否重复的问题,只需要在生成随机数后再利用循环进行检测,只要生成了同样的数就重新生成。
对于是否需要乘除的要求,在输入时要求用户输入1/0代表是否需要,用if语句进行检测输出即可。
括号问题尚在研究。
2022.9.10-2022.9.12 Java第一次课总结的更多相关文章
- java第一次课
package java第一周学习2; 达达20173435 信1705-2 import java.text.SimpleDateFormat; import java.util.Date; pub ...
- 【Java】-NO.12.Java.2.OCJP.1.001-【Java OCJP】-
1.0.0 Summary Tittle:[Java]-NO.12.Java.2.OCJP.1.001-[Java OCJP]- Style:Java Series:OCJP Since:2017-0 ...
- 夯实Java基础系列10:深入理解Java中的异常体系
目录 为什么要使用异常 异常基本定义 异常体系 初识异常 异常和错误 异常的处理方式 "不负责任"的throws 纠结的finally throw : JRE也使用的关键字 异常调 ...
- Java 第一次课堂测试总结。
Java 第一次课堂测试总结. 昨天参加了JAVA的开学测试,课上没有完成计算基点的功能,以下是修改完成后的代码. 首先是ScoreInformation类来存储学生信息. //信1805-1 王正 ...
- 10个精妙的Java编码最佳实践
这是一个比Josh Bloch的Effective Java规则更精妙的10条Java编码实践的列表.和Josh Bloch的列表容易学习并且关注日常情况相比,这个列表将包含涉及API/SPI设计中不 ...
- JDK 12 & JAVA
JDK 12 & JAVA js style https://github.com/winterbe https://winterbe.com/posts/2018/09/24/java-11 ...
- java 第一次实验报告
北京电子科技学院(BESTI) 实 验 报 告 课程:Java程序设计 班级:1353 姓名:黎静 学号:20135338 成绩: 指导教师:娄嘉鹏 ...
- 你知道吗?10个精妙的 Java 编码最佳实践
这是一个比Josh Bloch的Effective Java规则更精妙的10条Java编码实践的列表.和Josh Bloch的列表容易学习并且关注日常情况相比,这个列表将包含涉及API/SPI设计中不 ...
- 【转】10种简单的Java性能优化
10种简单的Java性能优化 2015/06/23 | 分类: 基础技术 | 14 条评论 | 标签: 性能优化 分享到: 本文由 ImportNew - 一直在路上 翻译自 jaxenter.欢迎加 ...
随机推荐
- GitLab:Your account has been blocked.
使用git pull 出现"GitLab:Your account has been blocked."错误 背景 多人使用服务器同一用户,在~/.ssh 目录下的公私钥是之前一个 ...
- mybatis-plus时间字段自动填充
时间代码自动填充的2种方式 数据库方式 将数据库字段create_time和update_time设置CURRENT_TIMESTAMP,create_time字段后面不需要勾选更新,update_t ...
- Linux系列之比较命令
前言 Linux中有两个比较命令,它们分别是comm和diff,在比较文本文件的版本时通常很有用.本文介绍它们的区别和简单用法. comm命令 该命令对两个文本文件进行比较,并显示每个文件独有的行和它 ...
- Java中break、continue和return三者之间的区别
控制流程语句 java关键字break.continue.return主要按三个纬度去区分. 作用不同 结束不同 紧跟不同 一.作用不同 1.break:执行break操作,跳出所在的当前整个循环, ...
- Hammersley采样类定义和测试
原理参照书籍 类声明: #pragma once #ifndef __HAMMERSLEY_HEADER__ #define __HAMMERSLEY_HEADER__ #include " ...
- 8月Meetup | “数据调度+分析引擎”解锁企业数字化转型之路
编辑切换为居中 添加图片注释,不超过 140 字(可选) 大数据是一种规模大到在获取.存储.管理.分析方面大大超出了传统数据库软件工具能力范围的数据集合,而大数据作为企业运转的基础,只有经过提 ...
- 新一代大数据任务调度 - Apache DolphinScheduler喜提十大开源新锐项目 & 最具人气项目
经 10000+ 开发者公开票选,20+专家评审. 10+ 主编团打分,历经数月打磨,11 月 19 日,由InfoQ 发起并组织的[2020中国技术力量年度榜单评选]结果正式揭晓. 2020 年度十 ...
- Redis 19 整合SpringBoot
参考源 https://www.bilibili.com/video/BV1S54y1R7SB?spm_id_from=333.999.0.0 版本 本文章基于 Redis 6.2.6 概述 Spri ...
- SecureCRT 和 Xshell 连接ENSP 教程
前言:很多人问我说想尝试使用 CRT和Xshell连接 ENSP的某台设备,以模拟现网中的工作状态,所以出了这篇随笔. ENSP版本: Xshell 连接教程 Xshell 7 评估版(其他版本没测试 ...
- Spring 05: 用DI(依赖注入)优化Spring接管下的三层项目架构
背景 用注解改造前面Spring博客集里(指 Spring 02)Spring接管下的三层项目架构 对前面Spring博客集里(指 Spring 04)@Controller + @Service + ...