首页 > 其他分享 >课堂实验内容

课堂实验内容

时间:2023-09-13 22:25:02浏览次数:39  
标签:10 0.01 System 0.05 内容 println 实验 课堂 out

1.Enum是一种类类型,他的对象的值智能是其所有列举项目中的一个。

并且,各个枚举项的对象都是不相同的。

public class EnumTest {

    public static void main(String[] args) {
        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

2.反码补码原码

在计算机中,原码、反码和补码是表示有符号整数的三种常见方式。在Java中,整数采用补码表示。

原码表示法是将一个数值的绝对值转换为二进制,然后在最高位添加符号位。正数的符号位为0,负数的符号位为1。

反码表示法是在原码的基础上,对负数的其他位取反。正数的反码与原码相同。

补码表示法是在反码的基础上,再加1。正数的补码与原码相同。

下面是一个示例程序,展示了对正数和负数进行各种位操作的结果:

public class BitOperationsExample {
    public static void main(String[] args) {
        int num1 = 10; // 正数
        int num2 = -10; // 负数

        // 位操作示例
        System.out.println("原始值:" + num1 + " 的二进制表示:" + Integer.toBinaryString(num1));
        System.out.println("原始值:" + num2 + " 的二进制表示:" + Integer.toBinaryString(num2));

        // 按位取反
        System.out.println("~" + num1 + " = " + (~num1));
        System.out.println("~" + num2 + " = " + (~num2));

        // 按位与
        int andResult = num1 & num2;
        System.out.println(num1 + " & " + num2 + " = " + andResult);

        // 按位或
        int orResult = num1 | num2;
        System.out.println(num1 + " | " + num2 + " = " + orResult);

        // 按位异或
        int xorResult = num1 ^ num2;
        System.out.println(num1 + " ^ " + num2 + " = " + xorResult);

        // 左移
        int leftShiftResult = num1 << 2;
        System.out.println(num1 + " 左移 2 位:" + leftShiftResult);

        // 右移
        int rightShiftResult = num1 >> 2;
        System.out.println(num1 + " 右移 2 位:" + rightShiftResult);

        // 无符号右移
        int unsignedRightShiftResult = num2 >>> 2;
        System.out.println(num2 + " 无符号右移 2 位:" + unsignedRightShiftResult);
    }
}

结果:

原始值:10 的二进制表示:1010
原始值:-10 的二进制表示:11111111111111111111111111110110
~10 = -11
~-10 = 9
10 & -10 = 2
10 | -10 = -2
10 ^ -10 = -4
10 左移 2 位:40
10 右移 2 位:2
-10 无符号右移 2 位:1073741821

3.大数

浮点数类型后位置上的数字不准确

为了更准确的进行浮点数的运算可以使用大数类

import java.math.BigDecimal;

public class TestBigDecimal
{
    public static void main(String[] args) 
    {
        BigDecimal f1 = new BigDecimal("0.05");
        BigDecimal f2 = BigDecimal.valueOf(0.01);
        BigDecimal f3 = new BigDecimal(0.05);
        System.out.println("下面使用String作为BigDecimal构造器参数的计算结果:");
        System.out.println("0.05 + 0.01 = " + f1.add(f2));
        System.out.println("0.05 - 0.01 = " + f1.subtract(f2));
        System.out.println("0.05 * 0.01 = " + f1.multiply(f2));
        System.out.println("0.05 / 0.01 = " + f1.divide(f2));
        System.out.println("下面使用double作为BigDecimal构造器参数的计算结果:");
        System.out.println("0.05 + 0.01 = " + f3.add(f2));
        System.out.println("0.05 - 0.01 = " + f3.subtract(f2));
        System.out.println("0.05 * 0.01 = " + f3.multiply(f2));
        System.out.println("0.05 / 0.01 = " + f3.divide(f2));
    }
}

运行结果:

下面使用String作为BigDecimal构造器参数的计算结果:
0.05 + 0.01 = 0.06
0.05 - 0.01 = 0.04
0.05 * 0.01 = 0.0005
0.05 / 0.01 = 5
下面使用double作为BigDecimal构造器参数的计算结果:
0.05 + 0.01 = 0.06000000000000000277555756156289135105907917022705078125
0.05 - 0.01 = 0.04000000000000000277555756156289135105907917022705078125
0.05 * 0.01 = 0.0005000000000000000277555756156289135105907917022705078125
0.05 / 0.01 = 5.000000000000000277555756156289135105907917022705078125

可以看到,在字符串上对浮点数进行计算的结果是比double要准确的

4.字符串拼接

在Java中先读取到字符串后对后面所有的+和数据都会看成字符串进行拼接

package 测试;
public class Test {
    public static void main(String[] args) {

        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

 

标签:10,0.01,System,0.05,内容,println,实验,课堂,out
From: https://www.cnblogs.com/zhenaifen/p/17700936.html

相关文章

  • 9.11课堂问题
     1.java7以上版本允许使用下划线分割多个位数。 2.使用当前的区域语言特性格式化数字 3.枚举值的foreach迭代创建一个迭代器遍历MyEnum中的数据。 4.原码反码补码概念原码、反码和补码是计算机中用来表示整数的三种形式。对于正数,它的原码、反码和补码都相同。而对于......
  • java课堂开学第一节课测试源码
    1//2//Sourcecoderecreatedfroma.classfilebyIntelliJIDEA3//(poweredbyFernFlowerdecompiler)4//56importjava.io.PrintStream;7importjava.util.ArrayList;8importjava.util.Scanner;910publicclasstest{11......
  • 苹果又又又开发布会了,帮大家总结了一下发布会的主要内容........
    帮大家总结了一下昨晚的苹果发布会的主要内容......原创2023-09-1312:26·天才小熊猫苹果又又又开发布会了,帮大家总结了一下发布会的主要内容........            大 ......
  • Linux实现查看文件内容的5种方式
    除了使用vi/vim编辑器查看文件内容和使用cat命令将文件所有内容展示到终端上以外,还有多种方式。1、more:分屏显示文件内容。   点击q键退出。    more与cat类似,只不过如果文件内容超过了当前终端一个屏幕能显示的大小,此时more命令就会在终端只显示一个屏幕的文件内容......
  • 牵手成功!浪潮信息&连用科技,共同推进内容资产管理数智化变革
    近日,浪潮信息与连用科技达成合作,双方将充分发挥各自行业领域内的专业优势和资源,在产品、技术、解决方案、市场营销等方面进行深度合作,共同推动企业内容管理的数智化转型进程。内容管理软硬件联合方案 随着信息化和智能化的不断提升,企业面临着海量内容数据的快速涌入,其作为一种重要......
  • 9.13周三(动手动脑的问题以及课后实验性的问题)
    动手动脑问题1.仔细阅读示例****:EnumTest.java,运行它,分析运行结果?publicclassEnumTest{ publicstaticvoidmain(String[]args){ Sizes=Size.SMALL; Sizet=Size.LARGE; //s和t引用同一个对象? System.out.println(s==t);// //是原始数据类型吗? System.......
  • 第二周Java课后实验及实践问题整理
    第二周Java课后作业报告信2205-1班20223688孙怡然一、p38枚举类型1、代码示例publicclassEnumTest{ publicstaticvoidmain(String[]args){ Sizes=Size.SMALL; Sizet=Size.LARGE; //s和t引用同一个对象? System.out.println(s==t);//false //是原始数据类型吗? S......
  • Hexo中引入另一个文件内容
    有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步,认准https://blog.zysicyj.top首发博客地址安装插件npminstallhexo-include-markdown--save创建模板目录source/_template创建模板source/_template/tj.md配置_config.yml配置模板路径include......
  • HTTP 错误 403.14 - ForbiddenWeb 服务器被配置为不列出此目录的内容
    出现以上这个错误可能有如下解决方法:1.将应用程序池设置成V4.02.在配置文件中加上以下几句代码:<system.webServer><modulesrunAllManagedModulesForAllRequests=“true”/><directoryBrowseenabled=“true”/></system.webServer>3.注册IIS:IIS是在安装完.netframe......
  • python采集数据保存csv, 文件内容乱码了怎么解决?
    如果你的Python程序采集到的数据在保存成CSV格式的文件时出现了乱码,那么可尝试以下解决方法:1.在打开CSV文件时指定编码方式你可以使用Python中的open()函数打开CSV文件,并在open()函数中指定文件编码方式为CSV文件原始编码方式。如果CSV文件原始编码......