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.欢迎加 ...
随机推荐
- python 异常捕捉与异常处理
简介 在实际开发中,为了防止异常界面直接被用户看到,往往我们会采用捕捉异常的方式来进一步处理异常. 异常捕捉 如下代码由于下标越界会导致异常 data = range(10) print(data[1 ...
- 清北学堂 2020 国庆J2考前综合强化 Day4
目录 1. 题目 T1 写字符串 题目描述 Sol T2 神奇的数 题目描述 Sol T3 珠子染色 题目描述 Sol T4 病毒扩散 题目描述 Sol 算法 -- 图论 1. 题目 T1 写字符串 ...
- PHP goto
if (true){ echo "run if\n"; goto fly; } else{ fly: echo "run else"; }
- SpringBoot定时任务 - 什么是ElasticJob?如何集成ElasticJob实现分布式任务调度?
前文展示quartz实现基于数据库的分布式任务管理和job生命周期的控制,那在分布式场景下如何解决弹性调度.资源管控.以及作业治理等呢?针对这些功能前当当团队开发了ElasticJob,2020 年 ...
- 8. 利用Ansible快速构建MGR | 深入浅出MGR
GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 目录 1. 安装ansbile 2. 配置ansible 3. 建立ssh信任 4. 测试ansible 5. 使用ans ...
- 利用图像二维熵实现视频信号丢失检测(Signal Loss Detection)
1 图像二维熵 图像二维熵作为一种特征评价尺度能够反映出整个图像所含平均信息量的高低,熵值(H)越大则代表图像所包含的信息越多,反之熵值(H)越小,则图像包含的信息越少.对于图像信息量,可以简单地认为 ...
- Synchronized锁升级原理与过程深入剖析
Synchronized锁升级原理与过程深入剖析 前言 在上篇文章深入学习Synchronized各种使用方法当中我们仔细介绍了在各种情况下该如何使用synchronized关键字.因为在我们写的程序 ...
- Luogu1063 能量项链 (区间DP)
惊恐地发现自己连区间DP都会错2333 #include <iostream> #include <cstdio> #include <cstring> #incl ...
- PerfView专题 (第九篇):洞察 C# 中的 LOH 内存碎片化
一:背景 在 内存泄漏 的系列问题中,有一类问题是 内存碎片化 导致的,而且这种更容易发生在 LOH 上,因为它默认不开启 对象压缩,一般遇到这种情况,优先让朋友执行下面的代码应急. GCSettin ...
- Java基础——01
今日学习 2020-2-27 Java多态 多态性格式 /* 代码中体现多态性 其实就是一句话:父类指向子类对象 格式: 父类名称 对象名= new 子类名称(): 或者 接口名称 对象名 = new ...