初期学习的一些值得注意的代码
DEMO1 进制
int i=10;
int i2=010;//八进制
int i3=0x10;//十六进制
System.out.println(i);
System.out.println(i2);
System.out.println(i3);
tips
- 常见的整数的赋值就是十进制
- 以“0”开始的赋值为八进制
- 以“0x"开始的赋值为十六进制
- print:输出 println:输出的内容型占一行,下一个println在下一行输出
RESOULT
10
8
16
DEMO2 float
float f=0.1f;
double d=1.0/10;
System.out.println(f==d);
float d1=1233212321231f;
float d2=d1+1;
System.out.println(d1==d2);
tips
- float 大约 接近但不等于
- float有限 离散 舍入误差
RESOULT
false
true
DEMO3 范围、类型转换
int a=1000000_000;
int years=20;
int total=years*a;
long total2=a*years;//再转换成long之前就已经出现错误
long total3=a*(long)years;
System.out.println(total);
System.out.println(total2);
System.out.println(total3);
tips
- long total2=a*years; 再转换成long之前就已经出现错误,先进行右边的计算,赋值给左边。右边的计算已经超出范围,所以结果是错的
- 在计算前就要改变右边的“内存空间”,如:long total3=a*(long)years;
RESOULT
-1474836480(error)
-1474836480(error)
20000000000
DEMO4 ASCII
char c1='a';
char c2='中';
System.out.println(c1);
System.out.println((int)c1);
System.out.println(c2);
System.out.println((int)c2);
char c3='\u0061';
System.out.println(c3);
tips
- 此案例讲的是Unicode
- c1 c2 都会对应一个Unicode码,理解为ASCII。
- 输出时加上“int”,实际输出的是字符对应的ASCII
- c3的定义则是将61ASCII对应的字符赋值给c3
- \t:制表符 \n:换行 \u:转码符
RESOULT
a
97
中
20013
a
DEMO5 String 易错
String sa=new String("Hello world");
String sb=new String("Hello world");
System.out.println(sa==sb);
String s1="Hello";
String s2="Hello";
System.out.println(s1==s2);
tips
- 注意:以下仅本小白自己的理解,如有错误请指正
- new String 开辟的内存空间不同,指向的地址不同
- 直接赋值,进行的是字符串的比较
RESOULT
false
true
DEMO6 byte+short=int
short c=10;
byte d=8;
System.out.println((c+d));
tips
- c+d->结果为int类型!
RESOULT
int a=3;
int b=a++;//执行完b=a后再自增1
//a++ a=a+1;
System.out.println(a);
//a++ a=a+1;
int c=++a;//先自增再赋值
System.out.println(a);
System.out.println(b);
System.out.println(c);
tips
- a++:执行完左边的之后,再执行自增
- ++a:先自增,再执行下一步
RESOULT
4
5
3
5
DEMO7 数学工具类
//幂运算2^3 2*2*2=8;使用工具类
double pow=Math.pow(2,3);
System.out.println(pow);
double pow1=Math.pow(3,2);
System.out.println(pow1);
tips
- 工具类一般自己会自动弹出
- pow(底数,指数)
RESOULT
8.0
9.0
更多推荐
java小白初期必学的代码1
发布评论