📄 2~
字号:
1 返回类型前面的 关键字 的顺序可以随便放,但返回类型后 必须是方法名 public static void main(String[] args) 正确 static public void main(String[] args) 正确 static void public main(String[] args) 错误2 静态方法只能(直接)调用静态方法 ,无须 对象 . 方法 public class HelloWorld { public static void main(String[] args) { a(); } public static void a() { System.out.println("hello world"); } }3 类名,方法名,变量名 不能以数字开头,不能是关键字 只能包含 数字,字母,下划线 和 $4 javadoc -d ~/docu *.java 把当前目录下所有的.java文件生成html文档 到home路径下的docu目录下。源代码中只有文档注释(/** */)才能在html文档中看得到, 而且注释文档的内容是按网页格式显示 javadoc 是否可以 将 .class 文件 也生成文档?不行,只能是.java的源文件 现有文件目录结构如下: Document.java | | ------ public class Document ------- class Bryant 编译之后 当前目录结构下有: Document.class Document.java Bryant.class 但是,javadoc后,生成的文档只能看到 Document.java 的相关信息。 也就是说,虽然 class Document 和 class Bryant 都处于Document.java文件中, 但是,在html文档中看不到class Bryant 相关的信息4 标准类型 char 表示单个字符(占2个字节 16位) char c = '中' char c = 97 直接用ASCII 对应的数值 因为实质上 char 类型是 16-bit integer char c = 'a' char c = '\'' 字符 c 表示 ' 其中 \是转义字符 char c = '\r' 表示 回车 和 '\n' 效果一样 看具体的操作系统 char c = '\\' 表示 \ 其中第一个 \ 是转义字符 char c = '\u0060' 占2个字节,所以用4个数值表示 char enter = '\n'; 回车换行 char table = '\t'; 制表符 tab键 数值类型 byte (一个字节)8位 8进制(0 开头)和16(0x 开头)进制没有符号之分 有符号,针对10进制,别的进制数制转变为10进制,最左边一位代表符号位 默认情况下,整型值认为是 int 类型(32位) 带小数点的数 是 double 类型(64位) 只要该值在取值范围之内,无须特殊处理; byte b = 23; short s = 46; long 类型数值 之后 long a = 34738748L; long b =34344l; 如果志值超出取值范围 5 对象(引用)类型 a 类类型 字符串 String 属于类类型 b 接口类型 c 数组类型6 字符编码:将字符转化成数值以及反向转换的规则 ASCII:美国信息交换标准编码(用7位2进制表示字符) 表示英文字符以及 一些西欧国家语言符号 ISO08895-1:国际化标准组织制定的编码:(用8位2进制表示字符) 表示西欧国家语言符号; GB2312:表示汉字 GBK: 表示汉字 Unicode:统一编码 UCS-2(JAVA支持) UCS-4 也就是说 JAVA中类名同样可以支持中文,但是不建议用中文。 UTF-8: 所有的编码都向上兼容的:也就是说,GB2312 支持ISO08895-1 和 ASCII 的编码方式 声明在 方法中 的变量必须声明,初始化后才能调用。(因为没有分配内存空间)声明在 类中的 属性变量不初始化声明,也可以直接调用。(因为类有默认构造函数,会自动为属性变量分配内存)静态方法只能调用静态变量,但是 非静态方法可以调用静态变量8 关于类型转换小结: 1) 小类型的值 可以直接 赋值给 大类型的变量,但是 反过来不行。 long d = 'c'; 正确 (16位长度 可以 直接赋值 给 64位长度的 long类型) int a = 123121313L; 错误 (int 32位 long 64位) 改正为:int a = (int)123121313L; //显式强制转换 或者 把后面的L去掉(123121313默认情况,计算机会把它当作int型)。 2) 小类型变量 与 大类型变量 做运算时,会自动把小类型转换成大类型则运算结果的类型是大类型 float C = 213.21d + 2131; 错误 (float 32位 double 64位) float C = 213.21 + 2131; 错误 (213.21 系统默认为 double 64位) 改正: float C = 213.21f + 2131; 或者 float C = (float)213.21 + 2131; //显式强制转换 3) int型比较特别:比如:short s = 1; 本来1默认是32位的int型,但是,1 在short 所表示数值的范围内。所以也可以。9 new 关键字指定代码执行时创建对象: 1 在 堆区 给对象分配内存空间 2 给对象的属性分配默认值 String - null int - 0 double - 0.0 3 给对象的属性分配初始值 4 执行构造方法 5 返回对象引用(对象的首地址) Teacher dyh = new Teacher(); System.out.println(dyh); 会自动调用 dyh.toStirng()方法 运行时首先虚拟机 把.class 文件加载到 内存的方法区,生成相应的数据结构 new之后,在堆区会给Teacher类的属性变量分配内存和赋默认值 把对象的 首地址值赋给了 dyh,而变量dyh本身处于内存区中的栈区10 引用类型和基本类型的区别: 基本类型的值为 内容本身 引用类型的值为 所指向对象的首地址11 修饰符private 和 protected 仅能用于类的成员。public 和缺省修饰符可以用于类的成员,也可以用于类。 一个没有修饰的类不能被其他包里的类访问 一个子类可以覆盖父类的protected的方法并可一把它的可见性改为public 方法覆盖中,子类不可降低父类中定义的方法的可访问性。例如,如果一个方法在父类定义为public, 在子类中必须也定义为public12 注意:!!! a string does not end with '\0' like in c/c++;13 boolean 的默认值为false char 的默认值为 '\u0000'
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -