首页 > 编程语言 >Java学习问题记录

Java学习问题记录

时间:2023-06-01 16:45:15浏览次数:41  
标签:char Java BigDecimal 记录 double float 学习 计算结果 byte

1.特殊基本数据类型

除了这两个,其他的变量都不需要加符号

//定义时需要在变量的值后面加 L或l
long count=300000L;
//定义时需要在变量的值后面加 f或F
float code=10.3f;

2.常量定义

//在 Java 中使用 final 关键字来修饰常量,声明方式和变量类似:(通常使用大写字母表示常量)
final double PI = 3.1415927;
//定义一个静态常量
public static final String DEPARTMENT = "开发部";

3.字符型字面值char

char只能使用单引号

//char只能使用单引号
char a='$';

4.类型转换(java中)

取值范围大的类型要转换范围小的类型,只能强制转换;
取值范围小的类型要转换范围大的类型,能自动隐式转换。

(取值范围从小到大排序,从后往前都需要强制转换,逗号之间也需要强制转换:byte,char,short<int<long<float<double)

//int转byte需要强制转换
int num = 127;
//byte bs = num;      //wrong
byte bs = (byte)num;  //correct
System.out.println(bs);

5.精度丢失

double和float小数点相加都会有精度丢失的问题

//double精度丢失
double dnum1=1.01;
double dnum2=2.01;
double dnum3=dnum1+dnum2;
System.out.println("double计算结果 = " + dnum3); //double计算结果 = 3.0199999999999996

//float精度丢失
float fnum1=1.1f;
float fnum2=2.000001f;
float fnum3=fnum1+fnum2;
System.out.println("float计算结果 = " + fnum3); //float计算结果 = 3.1000009

//BigDecimal保持精度
BigDecimal bnum1 = new BigDecimal(String.valueOf(1.1f));  //必须传字符串类型的参数
BigDecimal bnum2 = new BigDecimal(String.valueOf(2.000001f));
BigDecimal bnum3 = bnum1.add(bnum2);
System.out.println("BigDecimal计算结果 = " + bnum3); //BigDecimal计算结果 = 3.100001

标签:char,Java,BigDecimal,记录,double,float,学习,计算结果,byte
From: https://www.cnblogs.com/cjdypx-DearMyMind-Ljh/p/17449503.html

相关文章

  • 5.部署tomcat+war包的java网页项目
    1.将war包丢到tomcat-webapps目录下2.修改war包下的数据库配置文件:datasource.propertiescd/usr/local/tomcat/apache-tomcat-8.5.41/webapps/recruit.students/WEB-INF/classesvidatasource.properties 3.用dbeaver连接数据库并导入数据库文件   点击恢复数据库......
  • 新版idea快捷键总结学习----(用于java开发模式)
    选择代码区ctrlw如果放到以if开头的语句,可以选择if判断条件所在的代码片段游标在单个单词下时选择单词在选中多个单词时,选择整个字符串三次点击时,如果不在字符串单词下,用于选择{}内的代码片段逐级递增如果在单词下方,用于选择单词所在的字符串并且向外逐级扩展。ctrl......
  • sed与gawk编辑器使用记录
    sed一次从输入读一行数据。不会修改原文件的数据,只是将修改后的数据发送到STDOUT。sed命令格式:sedoptionsscriptfile     script:要使用的命令,file:待处理的文件。  执行多条命令:方式一:使用-e选项,在命令行上输入多条命令。命令行之间用分号隔开,命令末尾与分号......
  • C++中的map用法学习
    map是STL的一个关联容器,它提供一对一的hash。第一个可以称为关键字(key),每个关键字只能在map中出现一次;第二个可能称为该关键字的值(value);map以模板(泛型)方式实现,可以存储任意类型的数据,包括使用者自定义的数据类型。Map主要用于资料一对一映射(one-to-one)的情況,map內部的......
  • 机器学习模型优化:variance bias
    bias(偏差:指同一个点的训练数据的预测值与正确值间的偏离程度)variance(方差:指同一个点的训练数据的预测值的离散程度) 一般情况下,模型需要在bias和variance之间取得一个平衡。bias小的模型,variance一般大;variance小的模型,bias一般大。更好的理解bias和variance的关系能够帮助我们......
  • z-index控制层级显示【JavaScript-Dom&Bom】
    溢出设置overflowvisible(默认)超出部分显示hidden超出部分隐藏scroll超出部分滚动显示行内元素垂直对齐方式vertical-alignbaseline基线对齐(默认)top上对齐middle中间对齐bottom下对齐控制显示层级当元素为非static定位时,可能出现层叠......
  • Java小白入门学习方法总结
    系统的整理了我自学Java的学习方法,希望对大家自学Java有帮助~首先,需要一套系统完整的学习教程,这里推荐可以到b站,我看的动力节点老杜的Java基础课,现在更新了最新版Java17的,可直接看最新版,小白无脑入,详细且全面学习地址:https://www.bilibili.com/video/BV1ig4y1c7kPJava小白学习......
  • java 打印个三角形
    publicclassImoocStudent{publicstaticvoidmain(String[]args)throwsException{intline=9;for(inti=1;i<=line;i++){for(intk=0;k<line-i;k++){System.out.print("");......
  • LSTM入门学习——结合《LSTM模型》文章看
    摘自:https://zybuluo.com/hanbingtao/note/581764长短时记忆网络的思路比较简单。原始RNN的隐藏层只有一个状态,即h,它对于短期的输入非常敏感。那么,假如我们再增加一个状态,即c,让它来保存长期的状态,那么问题不就解决了么?如下图所示:新增加的状态c,称为单元状态(cellstate)。我们把上......
  • 英特尔深度学习框架BigDL——a distributed deep learning library for Apache Spark
    BigDL:DistributedDeepLearningonApacheSparkWhatisBigDL?BigDLisadistributeddeeplearninglibraryforApacheSpark;withBigDL,userscanwritetheirdeeplearningapplicationsasstandardSparkprograms,whichcandirectlyrunontopofexisting......