2019.9.16JAVA课堂作业
System.out.println("0.05 + 0.01 = " + (0.05 + 0.01));
System.out.println("1.0 - 0.42 = " + (1.0 - 0.42));
System.out.println("4.015 * 100 = " + (4.015 * 100));
System.out.println("123.3 / 100 = " + (123.3 / 100));
}
}
运行结果:
0.05 + 0.01 = 0.060000000000000005
1.0 - 0.42 = 0.5800000000000001
4.015 * 100 = 401.49999999999994
123.3 / 100 = 1.2329999999999999
特别意外,例如第一个本应该是0.06,但是结果却是 0.060000000000000005,出现了精度不准的情况。
int X=100;
int Y=200;
System.out.println("X+Y="+X+Y);
System.out.println(X+Y+"=X+Y");
结果是
x+y=100200
300=x+y
原因是第一个中的xy性质为字符串,而第二个xy为int型数据。
Size s=Size.SMALL;
Size t=Size.LARGE;
//s和t引用同一个对象?
System.out.println(s==t); //
//是原始数据类型吗?
System.out.println(s.getClass().isPrimitive());
//从字符串中转换
Size u=Size.valueOf("SMALL");
System.out.println(s==u); //true
//列出它的所有值
for(Size value:Size.values()){
System.out.println(value);
}
}
enum Size{SMALL,MEDIUM,LARGE};
运行结果为
false
false
true
SMALL
MEDIUM
LARGE
结论:枚举的引用不是同一对象,若引用相同的值则是同一对象,并且不是原始数据类型,可列出所有值,可以使用“==”和equals()方法直接比对枚举变量的值
正数的首位为0,其原码是由十进制数转换为二进制数
负数的首位为1,其原码是由十进制数转换为二进制数,然后将首位改为1
例如7的原码为:0000 0000 0000 0000 0000 0000 0000 0111
则-7的原码为: 1000 0000 0000 0000 0000 0000 0000 0111
例如7的反码为:0000 0000 0000 0000 0000 0000 0000 0111
-7的反码为: 1111 1111 1111 1111 1111 1111 1111 1000
补码:正数的补码等于反码等于原码,负数的补码是在原码的基础上除了首位,其余位取反,在末位+1
例如7的补码为: 0000 0000 0000 0000 0000 0000 0000 0111
-7的补码为: 1111 1111 1111 1111 1111 1111 1111 1001(末位原本是0,但是+1以后成了补码,如果+1之后为2,则向前进位,以此类推,直到不出现2为止)
实现正数与操作:
public class YuOperation{
public static void main(String args[]){
int x = 13;
int y = 7;
System.out.println(x & y);
}
}
分析:
13的二进制原码:0000 0000 0000 0000 0000 0000 0000 1101
7的二进制原码: 0000 0000 0000 0000 0000 0000 0000 0111
按位与: 0000 0000 0000 0000 0000 0000 0000 0101
结果等于5
public class Yu_Operation{
public static void main (String args[]){
int x= 13;
int y=-7;
System.out.println(x&y);
}
}
分析:
13的二进制原码:0000 0000 0000 0000 0000 0000 0000 1101
-7的二进制原码:1000 0000 0000 0000 0000 0000 0000 0111
-7的二进制补码:1111 1111 1111 1111 1111 1111 1111 1001
13的二进制原码:0000 0000 0000 0000 0000 0000 0000 1101
按位与: 0000 0000 0000 0000 0000 0000 0000 1001
结果等于9
public static HuoOperation{
public static void main(String args[]){
int x =13;
int y=7;
System.pout.println();
}
}
分析:
13的二进制原码:0000 0000 0000 0000 0000 0000 0000 1101
7的二进制原码: 0000 0000 0000 0000 0000 0000 0000 0111
按位或: 0000 0000 0000 0000 0000 0000 0000 1111
结果等于15
public Move{
public static void main(String args[]){
int x =2;
System.out,println("刚开始的变量大小为:"+x);
System.out.println("左移位的结果为:"+(x<<2));
}
}
分析:
2的二进制原码为: 0000 0000 0000 0000 0000 0000 0000 0010
将整体左移两位得:0000 0000 0000 0000 0000 0000 0000 1000
结果为8.
2019.9.16JAVA课堂作业的更多相关文章
- 栋哥你好,让我们回顾最初认识C++的时候(课堂作业)
计算器的第一步,至今还记记忆犹新,本次的课堂作业,便是那个框架.闲话少叙,代码如下传送门: Main.cpp #include "stdafx.h" #include<ios ...
- 20155213 第十二周课堂作业MySort
20155213 第十二周课堂作业MySort 作业要求 模拟实现Linux下Sort -t : -k 2的功能 参考 Sort的实现 提交码云链接和代码运行截图 初始代码 1 import java ...
- 课堂作业-Bag类的实现
课堂作业-Bag类的实现 要求: 代码运行在命令行中,路径要体现学号信息,IDEA中,伪代码要体现个人学号信息 参见Bag的UML图,用Java继承BagInterface实现泛型类Bag,并对方法进 ...
- 2019 SDN上机第一次作业
2019 SDN上机第一次作业 1. 安装轻量级网络仿真工具Mininet 安装Mininet的步骤 - git clone git://github.com/mininet/mininet - cd ...
- Java课程课堂作业代码
前言 本文章只是单纯记录课堂老师布置的课堂作业代码,题目都比较简单,所以没有写解题思路,相信大家都能理解,当然其中有的解法和代码不是最优的,当时只是为了完成题目,后来也懒得改了,如果有不恰当或者不正确 ...
- JAVA课堂作业(2019.10.21)
1. 代码: package class20191021; class Grandparent { public Grandparent() { System.out.println("Gr ...
- JAVA课堂作业(2019.10.14)
一. (1)代码 package class20191014; import java.util.Scanner; public class ClassHomework { public static ...
- OSLab课堂作业1
日期:2019/3/16 作业:实现命令cat, cp, echo. myecho命令 #include <stdio.h> int main(int argc, char *ar ...
- Java课堂作业详解
今天的Java课堂留下了一个作业:使用Eclipse编写一个程序,使输入的两个数进行加和,并且输出他们的和.对于这个题目,我们首先可以把它分解成为三个不同的小步骤 第一步就是输入这两个数,因为我们无需 ...
随机推荐
- etcd常用命令-增删改查
增删改查key-values 插入数据测试 # etcdctl put name1 james# etcdctl put name11 alice# etcdctl put name12 seli # ...
- SPOJ 4003 Phone List 题解
题面 啊~,很水的一道trie树模板题: 当两个串存在关系时情况有两种: 若当前串插入后没有任何新建节点,则该串肯定是之前插入的某个串的前缀: 若在插入的时候,有某个经过的节点带有某串结尾的标记,则之 ...
- Python time strptime()方法 时间操作
描述 Python time strptime() 函数根据指定的格式把一个时间字符串解析为时间元组. 语法 strptime()方法语法: time.strptime(string[, format ...
- CS起源:实现狙击子弹加速
在前面的课程 FPS 游戏实现方框透视 中我们实现了对CS中游戏人物的透视效果,今天我们就来研究下狙击枪如何变成机关枪!原理很简单,直接去掉枪的上膛动画,配合无线子弹就完事了,这里只提供一种分析思路. ...
- Homebrew学习(一)之初认识
Homebrew Homebrew是一款Mac OS平台下的软件包管理工具,拥有安装.卸载.更新.查看.搜索等很多实用的功能.简单的一条指令,就可以实现包管理,而不用你关心各种依赖和文件路径的情况,会 ...
- 企业面试题|最常问的MySQL面试题集合(一)
问题1:char.varchar的区别是什么?varchar是变长而char的长度是固定的.如果你的内容是固定大小的,你会得到更好的性能. 问题2: TRUNCATE和DELETE的区别是什么?DEL ...
- 异常:Caused by: java.lang.NoClassDefFoundError: org/springframework/web/context/WebApplicationContext
说明项目没有加载jar包 异常:Caused by: java.lang.NoClassDefFoundError: org/springframework/web/context/WebApplic ...
- Linux man学习
5 man man是manual的简写,Linux求助的工具 man 命令行,如 man date 在我学习鸟哥私房菜的时候,也称man为man page 手册页入口:1 用户指令2 ...
- 机器学习聚类算法之K-means
一.概念 K-means是一种典型的聚类算法,它是基于距离的,是一种无监督的机器学习算法. K-means需要提前设置聚类数量,我们称之为簇,还要为之设置初始质心. 缺点: 1.循环计算点到质心的距离 ...
- 转载:利用php数组函数进行函数式编程
因为一个BUG, 我在一个摇摇欲坠,几乎碰一下就会散架的项目中某一个角落中发现下面这样一段代码 这段程序与那个BUG有密切的关系. 我来回反复的捉摸这段代码, 发现这段代码实现了两个功能 第一个是在一 ...