qq_慕仔3192846
2019-04-12 21:09
public class HelloWorld{
public static void main(String[] args) {
int age1=24;
int age2=18;
int age3=36;
int age4=27;
int sum=age1+age2+age3+age4;
float avg=sum/4f;
int minus=age1-age2;
int newAge=--age1;
System.out.println("年龄总和:"+sum);
System.out.println("平均年龄:"+avg);
System.out.println("年龄差值:"+minus);
System.out.println("自减后的年龄:"+newAge);
}
}
输出的avg=26.25, 如果把float avg=sum/4f;中的f去掉结果就变成了 avg=26。 为什么会这样
没有加f,不算是float类型
加了f相当于把分母转换成浮点数,精度可以到达小数点后面,像是5/2.0=2.5
不加f相当于将两个整数相除的结果转换为float型,像是5/2=2,2*1.0=2.0
(个人想法,勿喷!)
但double就不一样,加不加L都是2.0,不知道为什么
char加不加‘’结果是不一样的
加了‘’后就是单个字符,单引号里是啥就是啥
不加‘’就变成了一个ASCII值了,打印出来的话是一个符号,控制台可能识别不了,打印出一个带问号的方框
char c=55;
System.out.println("shuchu c="+c);
输出 shuchu c=7 输出的是55的ASCII值
char c='5';
System.out.println("shuchu c="+c);
输出 shuchu c=5 输出的是字符5
Java入门第一季(IDEA工具)升级版
1165172 学习 · 17581 问题
相似问题