4.1 JAVA数据类型难点

整数扩展

int i=10;  //10进制
int i1=010;   //8进制    0
int i2=0x10;  //16进制   0x
System.out.println(i);
System.out.println(i1);
System.out.println(i2);

浮点数扩展

银行业务怎么处理?  答案 用BigDecimal累处理

float a =4.3f;

double b= 4.3;

System.out.println(a==b);

结果为false

再来一道题

float a1=1213131414141f;

float a2=a1+1;

System.out.println(a1==a2);

结果为true

不要用浮点数进行比较!

字符串扩展

char x1='a';

char x2 ='中';

System.out.println((int)x1);//强转

System.out.println((int)x2);

所有的字符型都是数字

编码 Unicode 2字节  65536个字符

U0000    ~UFFFF

char x3 ='\u00ff';

转义符

反斜杠 :\ 为转义符

1.八进制转义序列:\ + 1到3位5数字;范围'\000'~'\377'      \0:空字符
2.Unicode转义字符:\u + 四个十六进制数字;0~65535       \u0000:空字符
3.特殊字符:就3个
      \":双引号
     \':单引号
     \\:反斜线
4.控制字符:5个
\' 单引号字符
\\ 反斜杠字符
\r 回车
\n 换行
\f 走纸换页
\t 横向跳格
\b 退格
点的转义:. ==> u002E
美元符号的转义:$ ==> u0024
乘方符号的转义:^ ==> u005E
左大括号的转义:{ ==> u007B
左方括号的转义:[ ==> u005B
左圆括号的转义:( ==> u0028
竖线的转义:| ==> u007C
右圆括号的转义:) ==> u0029
星号的转义:* ==> u002A
加号的转义:+ ==> u002B
问号的转义:? ==> u003F
反斜杠的转义: ==> u005C

所以\\|实际上还可以写成:\\u007C

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
最小二乘法是一种常用的数据分析方法,可以用于拟合数据,并且可以得到拟合曲线的系数和相关统计量。在Java中,可以使用Math库中的相关函数来实现最小二乘法分析数据。 以下是一个简单的示例代码,用于分析一组数据,并且绘制数据点和拟合曲线: ``` import java.awt.*; import javax.swing.*; public class LeastSquares { public static void main(String[] args) { double[] x = {1, 2, 3, 4, 5}; double[] y = {1.2, 3.5, 4.1, 4.8, 5.2}; int n = x.length; // 计算 x 和 y 的平均值 double xMean = 0.0; double yMean = 0.0; for (int i = 0; i < n; i++) { xMean += x[i]; yMean += y[i]; } xMean /= n; yMean /= n; // 计算回归系数 b 和 a double sxx = 0.0; double sxy = 0.0; for (int i = 0; i < n; i++) { sxx += (x[i] - xMean) * (x[i] - xMean); sxy += (x[i] - xMean) * (y[i] - yMean); } double b = sxy / sxx; double a = yMean - b * xMean; // 计算相关系数 r double ssr = 0.0; double sst = 0.0; for (int i = 0; i < n; i++) { double fit = a + b * x[i]; ssr += (fit - yMean) * (fit - yMean); sst += (y[i] - yMean) * (y[i] - yMean); } double r = ssr / sst; // 绘制数据点和拟合曲线 JFrame frame = new JFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(400, 400); JPanel panel = new JPanel() { @Override public void paintComponent(Graphics g) { super.paintComponent(g); int x1 = 50; int y1 = 350; int x2 = 350; int y2 = 50; g.drawLine(x1, y1, x2, y2); g.drawString("x", x2, y1); g.drawString("y", x1, y2); for (int i = 0; i < n; i++) { int px = x1 + (int) ((x[i] - x[0]) / (x[n - 1] - x[0]) * (x2 - x1)); int py = y1 - (int) ((y[i] - y[0]) / (y[n - 1] - y[0]) * (y1 - y2)); g.fillOval(px - 3, py - 3, 6, 6); } for (int i = 0; i < 100; i++) { double xx = x[0] + (x[n - 1] - x[0]) * i / 100.0; double yy = a + b * xx; int px = x1 + (int) ((xx - x[0]) / (x[n - 1] - x[0]) * (x2 - x1)); int py = y1 - (int) ((yy - y[0]) / (y[n - 1] - y[0]) * (y1 - y2)); g.drawLine(px, py, px + 1, py + 1); } g.drawString("r = " + r, 50, 50); g.drawString("y = " + a + " + " + b + "x", 50, 70); } }; frame.add(panel); frame.setVisible(true); } } ``` 运行程序,会弹出一个窗口,显示数据点和拟合曲线。拟合曲线的方程和相关系数 r 也会显示在窗口中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值