java代码运行原理
需要注意
- 公共类类名必须和文件名相同
- 一个文件可以有好几个类,编译生成n个类文件名
- chcp 65001----utf8 936----GBK 437----美国英语
- 文档注释必须对成员变量进行public/protected进行修饰,javadoc -d ./doc 文件名储存
关于编码换算并且知道原码反码补码
- 电脑01储存,断电和有电 8个bit为1字节 一个汉字为3个字节也就是24bit
- 2进制前缀为0b 8进制前缀为0 16进制前缀为0x
- 关于10进制转换其他进制 公倍数除法eg:转2进制除2余数 将余数取反
- 关于其他转10进制 eg:0b100=0+0*21+0*2 2=4 0123=3+2*8+1*82=83
- unicode属于国际编码 GB2312中国 ASCII码为美国编码
要清楚成员变量和局部变量的作用域
public class Bl{
//成员变量作用域是整个类
public int age=1;
public static void main(String []args){
Bl obj=new Bl();//静态方法不能直接引用成员变量
System.out.println(obj.age);
char t='w';//单字符单引号 用char标记
String m="ww";
String a="我是局部变量";
//成员变量作用域是该块中
//字符串必须双引号用String标记
System.out.println(m);
System.out.println(a);
if(true){
System.out.println(a);
}
}
}
八大数据类型
注意:一般整数只用long和int long类型后面加L 小数只用double类型 float类型后面加F
char将字符以码值形式存储,可以进行运算 也可以直接赋值0-65535直接的整数
char可以直接进行算数运算,而且自己提升为int类型
我的名字 29579+28828
public class Bl{ public static void main(String[] args) { //Byte 8 -128 127 System.out.println("Byte二进制占位:"+Byte.SIZE); System.out.println("Byte的最小值:"+Byte.MIN_VALUE); System.out.println("Byte的最大值:"+Byte.MAX_VALUE); //Short 16 -32768 32767 System.out.println("Short二进制占位:"+Short.SIZE); System.out.println("Short的最小值:"+Short.MIN_VALUE); System.out.println("Short的最大值:"+Short.MAX_VALUE); //int 32 -2147483148 2147483147 System.out.println("int二进制占位:"+Integer.SIZE); System.out.println("int的最小值:"+Integer.MIN_VALUE); System.out.println("int的最大值:"+Integer.MAX_VALUE); //long 64 -9223372036854775808 -9223372036854775807 System.out.println("long二进制占位:"+Long.SIZE); System.out.println("long的最小值:"+Long.MIN_VALUE); System.out.println("long的最大值:"+Long.MAX_VALUE); //float 32 1.4E-45 3.4028235E38 System.out.println("float二进制占位:"+Float.SIZE); System.out.println("float的最小值:"+Float.MIN_VALUE); System.out.println("float的最大值:"+Float.MAX_VALUE); //64 4.9E-324 1.7976931348623157E308 System.out.println("double二进制占位:"+Double.SIZE); System.out.println("double的最小值:"+Double.MIN_VALUE); System.out.println("double的最大值:"+Double.MAX_VALUE); //boolen //char 16 65535 System.out.println("char二进制占位:"+Character.SIZE); System.out.println("char的最小值:"+(int)Character.MIN_VALUE); System.out.println("char的最大值:"+(int)Character.MAX_VALUE); } }
类型转换
- boolen不可以转换为其他类型
- 自动转换byte->short->int->long->double->float
- 自动转换char->int->long->float->double
- 强制性转换(类型)+要转的值