首页 > 编程语言 >Java基础语法测试

Java基础语法测试

时间:2024-09-27 17:35:58浏览次数:7  
标签:Java String int System 0.05 语法 测试 println out

class EnumTest {
public static void main(String[] args) {
Size s=Size.SMALL;
Size t=Size.LARGE;

    System.out.println(s==t);  //false

    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};

import javax.swing.JOptionPane; // import class JOptionPane

class Addition {
public static void main( String args[] )
{
String firstNumber, // 用户输入第一个数字
secondNumber; //用户输入第二个数字
int number1, // 第一个数字
number2, // 第二个数字
sum; // 两个数字和

    // 以string类型读入第一个数字
    firstNumber =
            JOptionPane.showInputDialog( "Enter first integer" );

    // 以string类型读入第二个数字
    secondNumber =
            JOptionPane.showInputDialog( "Enter second integer" );

    // 将string类型转化为Int类型
    number1 = Integer.parseInt( firstNumber );
    number2 = Integer.parseInt( secondNumber );

    // 相加
    sum = number1 + number2;

    // 输出结果
    JOptionPane.showMessageDialog(
            null, "The sum is " + sum, "Results",
            JOptionPane.PLAIN_MESSAGE );

    System.exit( 0 );   // terminate the program
}

}


class TestDouble {

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

}

import java.math.BigDecimal;

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));
}
}

class Sum
{
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");
}
}

class Test
{
private static int value=1;
public static void main(String[] args) {
int value = 2;
System.out.println("value的值为:" + value);
}
}

class InputTest
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);

    // get first input
    System.out.print("What is your name? ");
    String name = in.nextLine();

    // get second input
    System.out.print("How old are you? ");
    int age = in.nextInt();

int i;
String value="100";
i=Integer.parseInt(value);
i=200;
String s=String.valueOf(i);

    // display output on console
    System.out.println("Hello, " + name + ". Next year, you'll be " + (age + 1));


}

}

class RandomStr
{
public static void main(String[] args)
{
String result = "";
for(int i = 0 ; i < 6 ; i ++)
{
int intVal = (int)(Math.random() * 26 + 97);
result = result + (char)intVal;
}
System.out.println(result);
}
}

class RandomMath
{
public static void main(String[] args)
{
Random r = new Random();
String[] arr = new String[]{"+","-","*","/"};
for (int i = 1; i < 31; i++)
{
int number1 = r.nextInt(21);
int number2 = r.nextInt(21);
int number3 = r.nextInt(21);
int c1;
int c2;
if(number2 == 0)
c1 = r.nextInt(3);
else
c1 = r.nextInt(4);

        if (number3 ==0)
            c2 = r.nextInt(3);
        else
            c2 = r.nextInt(4);
        System.out.println(i + "、 " + number1 + " "+arr[c1] +" "+ number2 + " " + arr[c2] + " " + number3+ " = ");
    }
}

}

原码是直接用二进制表示数值的符号和大小。
反码是对原码的符号位不变,其余位取反。对于负数,反码是将原码的其他位取反,正数的反码与原码相同负数的反码是原码除符号位外所有位取反。
补码是反码加1。正数的补码与原码相同,负数的补码是其反码加1。

在 Java 中,同名变量的屏蔽原则指的是在不同的作用域中定义相同名称的变量时,内层作用域的变量会隐藏或屏蔽外层作用域中同名的变量。这意味着在内层作用域中访问该变量时,会优先使用内层作用域的变量,而不是外层作用域的变量。

Java中每个数据类型所占的位数和表示数值的范围:

对于类型转换时精度的损失,依据Java中每个数据类型所占的位数和表示数值的范围所得,当所占位数小的数据类型向所占位数大的数据类型转换时,没有精度损失,例如short→int;当所占位数大的数据类型向所占位数相等或小于的数据类型转换时,有精度损失,例如int→double,int→float。
在 Java 中,double 类型使用双精度浮点数表示,它遵循 IEEE 754 标准。这种表示方法虽然在很多情况下非常有效,但由于其内部实现方式,进行运算时可能得不到“数学上精确”的结果。以下是一些关键原因:

  1. 二进制表示的限制
    浮点数的表示:double类型在内存中以二进制形式存储。这意味着某些十进制数无法被准确表示为二进制数。例如,数字 0.1 和 0.2 在二进制中无法精确表示,计算它们的和 0.1 + 0.2 可能会得到一个非常接近 0.3 的数,但不是完全等于 0.3。
  2. 舍入误差
    舍入误差:在进行浮点运算时,计算结果可能会因为舍入而略有误差。IEEE 754 标准定义了一种舍入模式,以决定在进行运算时如何处理无法精确表示的数。这种舍入误差可能在多个运算中逐渐累积,导致最终结果与数学上预期的值存在差异。
  3. 精度限制
    有效位数的限制:double 类型大约可以提供 15 到 16 位的有效数字。对于特别大的或特别小的数,可能会因为这个限制而失去精度。在进行多次运算时,精度的丢失会变得更加明显。

标签:Java,String,int,System,0.05,语法,测试,println,out
From: https://www.cnblogs.com/Wei-n/p/18436240

相关文章

  • java计算机毕业设计五邑大学超市网上销售软件设计(开题+程序+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着信息技术的飞速发展和电子商务的普及,高校内部超市的传统经营模式正面临前所未有的挑战与机遇。五邑大学作为一所充满活力的高等学府,其师生群体对......
  • 基于 LangChain 的自动化测试用例的生成与执行
    在前面的章节中,分别介绍了Web、App、接口自动化测试用例的生成。但是在前文中实现的效果均为在控制台打印自动化测试的用例。用例需要手动粘贴,调整之后再执行。那么其实这个手动粘贴、执行的过程,也是可以直接通过人工智能完成的。应用价值通过人工智能代替人工操作的部分,节省时间,......
  • 基于 LangChain 的自动化测试用例的生成与执行
    在前面的章节中,分别介绍了Web、App、接口自动化测试用例的生成。但是在前文中实现的效果均为在控制台打印自动化测试的用例。用例需要手动粘贴,调整之后再执行。那么其实这个手动粘贴、执行的过程,也是可以直接通过人工智能完成的。应用价值通过人工智能代替人工操作的部分,节省......
  • 计算机毕业设计推荐-基于Java的班级学生签到管理小程序 校园课程管理小程序【源码+讲
    精彩专栏推荐订阅:在下方专栏......
  • robots.txt写法大全和robots.txt语法的作用
    robots.txt 是一种用于与搜索引擎对话的协议文件,它告诉搜索引擎的爬虫(也称为蜘蛛或机器人)哪些页面或者文件是可以被抓取的,哪些是不可以被抓取的。这对于网站管理员来说非常重要,因为它可以帮助控制搜索引擎如何索引网站的内容。robots.txt 文件的基本语法:User-agent:定义规......
  • Foundry分叉测试实践
    主要是测试https://solidity-by-example.org/defi/uniswap-v2-add-remove-liquidity/中的这个例子,向UniswapV2的WETH/USDT流动性池添加或删除流动性。分叉测试方法使用foundry新建一个项目:forgeinitAddRemoveLiquidity合约源代码放在src目录,命名为UniswapV2Liquidity.sol,测......
  • NOIP2024模拟测试赛(一)
    比赛链接A.tree当\(\forallv_i\le1\)时,可以直接从下往上贪心选,一个以\(u\)为根的子树中联通块如果权值和\(>k\)那么肯定能删到恰好\(k\)。否则的话就把这个联通块并到\(u\)父亲上再看就行。当\(\forallv_i\le2\)时,直接贪心可能有问题,大于\(k\)的权值和可能......
  • JavaScript 网页设计案例详解( 最新技术趋势)
    前言随着JavaScript生态系统的不断发展和浏览器支持的不断完善,2024年的前端开发技术已经变得更加现代化和高效。JavaScript在网页设计中的应用不再局限于基础的交互,它与最新的Web标准、API结合,为开发者带来了丰富的功能和出色的性能优化。本文将通过一个网页设计案例,结......
  • Ubuntu20同时安装并运行ORB SLAM2 、ORB SLAM3(详细安装版)、TUM数据集测试
    简要说明:用相同版本库同时安装ORBSLAM2、ORBSLAM3,并分别测试几段TUM-RGBD单目数据ubuntu20.04Pangolin0.6Eigen3opencv3.4.5一、换源通过软件或者修改sources.list换源,推荐清华源ubuntu|镜像站使用帮助|清华大学开源软件镜像站|TsinghuaOpenSourceMirror......
  • Java设计模式6 - 策略模式
    策略模式策略模式的用意是针对一组算法,将每一个算法封装到具有共同接口的独立类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。 策略模式的结构策略模式是对算法的包装,是把使用算法的责任和算法本身分开。策略模式通常是把一系列的算法包装......