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中print函数
python中的输出函数 注意不是C中的printf 起作用就是将希望输出的内容输出在IDLE或标准的控制台上 python解释器将代码翻译成及其能听懂的语言,从而实现代码的实现 print的输出内容 ...
- 20170622日行一记之PHP函数
fread() 函数读取文件(可安全用于二进制文件) fread(file,length) 参数 描述 file 必需.规定要读取打开文件. length 必需.规定要读取的最大字节数. 该函数在读取 ...
- YII的lazy loading
版本1 require('class\class1.php'); require('class\class1.php'); if($is_girl){ echo 'this is a girl'; $ ...
- 手搓一个“七夕限定”,用3D Engine 5分钟实现烟花绽放效果
七夕来咯!又到了给重要的人送惊喜的时刻. 今年,除了将心意融入花和礼物,作为程序员,用自己的代码本事手搓一个技术感十足"七夕限定"惊喜,我觉得,这是不亚于车马慢时代手写信的古典主义 ...
- 基于UiAutomator2+PageObject模式开展APP自动化测试实战
前言 在上一篇<APP自动化测试框架-UiAutomator2基础>中,重点介绍了uiautomator2的项目组成.运行原理.环境搭建及元素定位等基础入门知识,本篇将介绍如何基于uiau ...
- DolphinScheduler 1.2.0 源码解析之 MasterServer
这一篇主要讲解的是dolphinscheduler 1.2.0 的master部分的源码,从主类MasterServer开始,从启动到运行,master主要做了以下三件事情 Zookeeper 节点初 ...
- 常用类--String
一.String 1.1 String是不可变对象 String的底层是一个 char类型字符数组 String类是final修饰的,不能被继承,不能改变,但引用可以重新赋值 String采用的编码方 ...
- 完整实现-通过DelayQueue实现延时任务
实现延时任务有很多的方法,网上关于延时任务的实现的文章已经不少了.比如:实现延时任务的10种方法等等.但是这些文章基本上都是将方法大概的列举一下,给出部分示例代码,对于有经验的老程序员可能一看就知道该 ...
- Java SE 12 新增特性
Java SE 12 新增特性 作者:Grey 原文地址:Java SE 12 新增特性 源码 源仓库: Github:java_new_features 镜像仓库: GitCode:java_new ...
- monodepth2学习1-原理介绍
monodepth2介绍 monodepth2是在2019年CVPR会议上提出的一种三维重建算法,monodepth2是基于monodepth进行了改进,采用的是基于自监督的神经网络,提出了一下三点优 ...