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.欢迎加 ...
随机推荐
- 基于NoCode构建简历编辑器
基于NoCode构建简历编辑器 基于NoCode构建简历编辑器,要参加秋招了,因为各种模版用起来细节上并不是很满意,所以尝试做个简单的拖拽简历编辑器. 描述 Github | Resume DEMO ...
- python将命令输出写入文件或临时缓存
python将命令输出写入文件 将文件写入到对应文件,方便后期处理或保存 def write_file(file_path): with open(file=file_path, mode=" ...
- LyScript 获取上一条与下一条指令
LyScript 插件默认并没有提供上一条与下一条汇编指令的获取功能,当然你可以使用LyScriptTools工具包直接调用内置命令得到,不过这种方式显然在效率上并不理想,我们需要在LyScript插 ...
- CF Round #808 题解 (Div. 2 ABCD)
后面题太难搞不动 . ABCD 的题解写的好水啊,感觉在写闲话,,, A 若 \(\forall i, a_1\mid a_i\),则可以 . 注意判 \(0\) 的情况 . 提交记录 . B 显而易 ...
- Python算法之动态规划(Dynamic Programming)解析:二维矩阵中的醉汉(魔改版leetcode出界的路径数)
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_168 现在很多互联网企业学聪明了,知道应聘者有目的性的刷Leetcode原题,用来应付算法题面试,所以开始对这些题进行" ...
- GreatSQL特性介绍及前景展望 | 数据技术嘉年华2021分享PPT发布
欢迎来到 GreatSQL社区分享的MySQL技术文章,如有疑问或想学习的内容,可以在下方评论区留言,看到后会进行解答 GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 全 ...
- Ubuntu 20.04安装Docker
Docker学习系列文章 入门必备:十本你不容错过的Docker入门到精通书籍推荐 day1.全面的Docker快速入门教程 day2.CentOS 8.4安装Docker day3.Windows1 ...
- Java反射原理和实际用法
背景 反射在Java中非常重要,是Java区别于其他编程语言的一大特性.Java中的AOP切面.动态代理等看起来像黑魔法一样的技术,就离不开反射.字节码等.这些技术能在不侵入原有代码的情况下,做一些增 ...
- 使用 Golang 代码生成图表的开源库对比
本文的目标读者 对用 Golang 代码生成折线图.扇形图等图表有兴趣的朋友. 本文摘要 主要介绍 Go 中用以绘图的开源库,分别是: GitHub - wcharczuk/go-chart: go ...
- .NET异步编程模式(一)
.NET 提供了三种异步编程模型 TAP - task-based asynchronous pattern APM - asynchronous programming model EAP - ev ...