Java学习问题记录

Posted 千山淼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java学习问题记录相关的知识,希望对你有一定的参考价值。

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

java 学习记录

     在本周,我学习了一下java基础的一些相关知识,有Java的数据类型、变量与常量、运算符与表达式,以及选择语句知识的学习,最后还有循环语句的学习。在本周的学习过程中,遇到了许多问题。学习进度明显跟不上老师的节奏,思维逻辑转变较慢,接受新知识需要时间,明显落下了很多功课。我很努力,但就是对很多东西理解不了,这是让我很苦恼的一件事情。每天尝试着变换各种学习办法,但是效率不高,没有太多的转变。我想只有挤时间从头开始把每一个知识点重新多过几次试一下吧。

以上是关于Java学习问题记录的主要内容,如果未能解决你的问题,请参考以下文章

java 学习记录

Java基础学习总结(182)——Java 日志记录实践总结

Java基础学习总结(182)——Java 日志记录实践总结

这是一个Java学习历程记录(无知识,有心情)

记录JAVA学习的历程之关于局部变量与成员变量

JVM学习记录-Java内存模型