今日学习笔记
Java 格式的多种占位符

占位符.png
格式化输出
public class Main {
public static void main(String[] args) {
double d = 3.14159326;
System.out.printf("%.2f\n", d); // 显示两位小数3.14
System.out.printf("%.2f\n", d); // \n换行
System.out.println(d); // 1.29E7
}
}

代码输出结果.png
public class Main {
public static void main(String[] args) {
int n = 12345000;
System.out.printf("n=%d, hex=%08x",n,n); //两个%占位符需要传入两个参数
}
}

代码运行结果.png
package和import语句
package 语句作为Java源文件的第一条语句,指明该文件中定义的类所在的包(若缺省该语句,则指定为无名包)
如果把一个类放在包里面,先写package
- 编译出来的class文件需要在正确的目录下,跟包目录一致
- 如果要在另一类中用包里面的类,需要将名字写全了.(当然也可以使用import导入包)
J2SDK中主要的包介绍:
java.lang --包含一些Java语言的核心类,如String、Math、Integer、System和Thread,提供常用功能。(不需要import导入)
####### 以下如要必须通过import导入
Java.awt-包含了构成抽象窗口工具集(abstract window toolkits)的多个类,这些类被用来构建和管理应用程序的图形用户界面(GUI)
Java.applet-包含applet运行所需的一些类。
Java.net-- 包含执行与网络相关的操作的类,
Java.io -- 包含能提供多种输入/输出功能的类。
Java.util -- 包含一些实用工具类,如定义系统特性、使用与日期日历相关的函数。
内存分配
- 栈内存: 存储局部变量(定义在方法中的变量,如arr)
- 堆内存: 存储new出来的内容(实体,对象)
数组在初始化时,会为存储空间添加默认值。
整数:0; 浮点数:0.0; 布尔:false;
字符:空字符;
引用数据类型:null
每一个new出来的东西都有一个地址值
使用完毕,会在垃圾回收器空闲时被回收。
public class Test {
public static void main(String[] args) {
int[] arr = new int[] {99,99,100};
/*
* 左边:
* int :说明数组中的元素类型是int类型
* 【】:说明这是一个数组
* arr: 这是数组的名称
* 右边:
* new:为数组申请内存空间
* int 说明数组中元素的类型是int类型
* 【】:说明这是一个数组
* 3:数组长度,其实就是数组中的元素个数*/
System.out.println(arr.length); 获取数组元素的个数
System.out.println(arr[1]);
System.out.println(arr[0]);
}
}
数组初始化之静态初始化
静态初始化:初始化时指定每个元素的初始化,由系统决定数组长度
格式:数据类型[] 变量名 = new 数据类型[] {数据1,数据2,数据3,.....}
范例:int[] arr = new int[] {1,2,3}
简化格式: 数据类型[] 变量名 = {数据1,数据2,数据3,.....}
int[] arr = {1,2,3}
System.out.println(arr[3]); (索引异常)
arr = null; (空指针异常)
注意两种异常:
- 索引越界:
ArrayIndexOutOfBoundsException - 空指针异常
NullPointerException,将null赋值给arr时会报错
方法
将具有独立功能的代码块组织成一个整体,使其具有特殊功能的代码集。