Java学习日记04
1.变量
- 对于float和long类型来说,字母后缀F和L不要丢掉。
- 变量不能使用不能超过作用域1范围。
public class HelloWorld{
public static void main(String[] args){
{int num1 = 60;
System.out.println(num1);
}
int num1 = 70;
System.out.println(num1);
}
}
如上图,输出60 70,括号内外不影响。
2.数据类型转换
自动类型转换(隐式)
1.无需特殊处理,自动完成。
2.数据范围从小到大。
public class HelloWorld{
public static void main(String[] args){
System.out.println(1024);//整数,默认是int
System.out.println(3.14);//浮点数,默认是double
long num1 = 100;
System.out.println(num1);//左边是long,右边是int
//int赋值给long,(int-->long)满足从小到大的原则
//发生自动类型转换
double num2 = 2.5F;
System.out.println(num2);
/*左边是double类型,右边是float。
float-->double,符合从小到大,
自动类型转换
*/
}
}
强制类型转换(显式)
1.需特殊处理
2.格式:范围小类型 小变量名 = (范围小类型) 范围大的数据
注意事项
1.强制一般不推荐用
2.byte/short/char在运算时,会被先提升成int类型
3.boolean类型不能数据转换
public class Block {
public static void main(String[] args){
int num = (int) 100L;
System.out.println(num);
/*
long->int ,不是从小到大,不能自动类型转换
格式:范围小类型 小变量名 = (范围小类型) 范围大的数据
*/
int num2 = (int) 6000000000L;
System.out.println(num2);//数据溢出 输出1705032704
int num3 = (int) 3.5;
System.out.println(num3);//精度损失 输出3
}
}
3.编码表
ASCII码表
常见ASCII码的大小规则:0-9<A-Z<a~z。
1)数字比字母要小。如 “7”<“F”;
2)数字0比数字9要小,并按0到9顺序递增。如 “3”<“8” ;
3)字母A比字母Z要小,并按A到Z顺序递增。如“A”<“Z” ;
4)同个字母的大写字母比小写字母要小32。如“A”<“a” 。
几个常见字母的ASCII码大小: “0”为 48;“A”为65;“a”为97
public class Block {
public static void main(String[] args){
char zhifu = 'A';
System.out.println(zhifu + 0);//65
}
}
Unicode码表
万国表
public class Block {
public static void main(String[] args){
char zhifu = '帅';
System.out.println(zhifu + 0);//24069
}
}
4.四则运算
1.加减乘除
“+”的常见注意事项
1.对于数值来说,就是加法
2.对于字符char类型来说,计算前,会被提升成int
public class Block {
public static void main(String[] args){
char zhifu = '帅';
char zhifu2 = '丑';
System.out.println(zhifu + zhifu2 );//44054
}
}
3.对于字符串String(=“XXX”=),加号代表连接作用
ublic class Block {
public static void main(String[] args){
String zhifu = "帅";
String zhifu2 = "丑";
System.out.println(zhifu + zhifu2 );
}
}
2.自增自减
++num 和 num++ 的区别
1.单独使用无区别
2.混合时重大区别
-
++num ,先加后用
-
num++ ,先用后加
public class Block { public static void main(String[] args){ int num = 30; System.out.println(num++);//30 System.out.println(num);//31 int num2 = 30; System.out.println(++num2);//31 System.out.println(num2);//31 } }
public class Block {
public static void main(String[] args){
int x = 10;
int y = 20;
int result = ++x + y--;//11 +20
System.out.println(result);
System.out.println(x);//11
System.out.println(y);//19
}
}
3.复合运算
+=、-=、/=、*=、%=
从定义变量的一行开始,到所属的大括号结束为止。 ↩︎