System.out.println()
- 调用系统类 System 中的标准输出对象 out 中的方法 println()
方法的命名规则
1. 必须以字母、’_’或’$’开头。
2. 可以包括数字,但不能以它开头。
方法的一般格式:
修饰符 返回值类型 方法名(参数类型 参数名){
…
方法体
…
return 返回值;
}
在一些其它语言中方法指过程和函数。一个返回非void类型返回值的方法称为函数;一个返回void类型返回值的方法叫做过程。
-
方法的调用:
-
当方法返回一个值的时候,方法调用通常被当做一个值
如果方法返回值是void,方法调用一定是一条语句
main 方法的头部是不变的 ,public static void main(String[],args)
-
一个类的两个方法拥有相同的名字,但是有不同的参数列表。
Java编译器根据方法签名判断哪个方法应该被调用。
public class CommandLine {
- public static void main(String args[]){
for(int i=0; i< args.length; i++){
System.out.println(“args[“+ i +”]: “+args[i]);
}}}
输出结果是这样的:
$ java CommandLine this is a command line 200 -100
args[0]: this
args[1]: is
args[2]: a
args[3]: command
args[4]: line
args[5]: 200
args[6]: -100
不是一个一个的单字符,却是单词,按照空格划分的
一个方法中只能指定一个可变参数,它必须是方法的最后一个参数:
printMax(new double[]{1, 2, 3});//作为数组参数传入
this.id = id;//
public static void main(String[] args) {
Cake c1 = new Cake(1);
Cake c2 = new Cake(2);
Cake c3 = new Cake(3);
c2 = c3 = null; //这一句是什么情况?
System.gc(); //调用Java垃圾收集器
} }
protected void finalize() throws java.lang.Throwable {
super.finalize();
//The java.lang.Object.finalize() is called by the garbage collector on an object when garbage collection determines that there are no more references to the object. A subclass overrides the finalize method to dispose of system resources or to perform other cleanup.
一个流可以理解为一个数据的序列。输入流表示从一个源读取数据,输出流表示向一个目标写数据。
-
创建 BufferedReader 的基本语法:
- BufferedReader br = new BufferedReader(new
InputStreamReader(System.in));
从 BufferedReader 对象读取一个字符要使用 read() 方法,它的语法如下:
int read( ) throws IOException
//从输入流读取一个字符并把该字符作为整数值返回。 当流结束的时候返回 -1。该方法抛出 IOException。
读取字符串就用readLine()
如下:
import java.io.*;
public class BRRead {
public static void main(String args[]) throws IOException
{
char c;
// 使用 System.in 创建 BufferedReader
BufferedReader br = new BufferedReader(new
InputStreamReader(System.in));
System.out.println(“输入字符, 按下 ‘q’ 键退出。”);
// 读取字符
do {
c = (char) br.read();
System.out.println(c);
} while(c != ‘q’);
}}
print()和println()是由类 PrintStream 定义,System.out 是该类对象的一个引用 (reference)。
先定义一个简单的类:
class Vehicle {
int passengers;
int fuelcap;
int mpg; }
如果我们创建一个对象: Vehicle veh1 = new Vehicle();
它包含了四个动作。
- 右边的“new Vehicle”,是以Vehicle类为模板,在堆空间里创建一个Vehicle类对象(也简称为Vehicle对象)。
- 末尾的()意味着,在对象创建后,立即调用Vehicle类的构造函数,对刚生成的对象进行初始化。构造函数是肯定有的。如果你没写,Java会给你补上一个默认的构造函数。
- 左边的“Vehicle veh 1”创建了一个Vehicle类引用变量。所谓Vehicle类引用,就是以后可以用来指向Vehicle对象的对象引用。
- =”操作符使对象引用指向刚创建的那个Vehicle对象。
这样去理解: 一个Vehicle类可以据此创建出无数个对象,这些对象不可能全叫“Vehicle”。对象连名都没有,没法直接访问它。我们只能通过对象引用来间接访问对象。
(1)一个对象引用可以指向0个或1个对象(一根绳子不系汽球,也可以系一个汽球);
(2)一个对象可以有N个引用指向它(可以有N条绳子系住一个汽球)
如果我们仅仅为了打印而生成一个对象,就不需要用引用变量来系住它。最常见的就是打印字符串:
System.out.println(“I am Java!”);
字符串对象“I am Java!”在打印后即被丢弃。有人把这种对象称之为临时对象。
对象和引用也是独立的,它们存储在不同的地方,对象一般存储在堆中,而引用存储在速度更快的堆栈中
对于多个引用而言,不管使用s1还是s操纵对象,它们对对象的影响也是累积起来的。
接下来是参数传递:
Java只有一种参数传递方式:那就是按值传递,即Java中传递任何东西都是传值。如果传入方法的是基本类型的东西,你就得到此基本类型的一份拷贝。如果是传递引用,就得到引用的拷贝。
需要赋值,就需要类实现Cloneable接口,实现clone()方法
//这个并没有看懂
FileInputStream
FileOutputStream
如果创建一个 File 对象并且它是一个目录,那么调用 isDirectory() 方法会返回 true。
可以通过调用该对象上的 list() 方法,来提取它包含的文件和文件夹的列表。
next():
- 一定要读取到有效字符后才可以结束输入。
- 对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。
- 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
- next() 不能得到带有空格的字符串。
nextLine():
- 以Enter为结束符,也就是说 nextLine()方法返回的是输入回车之前的所有字符。
- 可以获得空白。
如果要输入 int 或 float 类型的数据,在 Scanner 类中也有支持,但是在输入之前最好先使用 hasNextXxx() 方法进行验证,再使用 nextXxx() 来读取:
异常处理:
- 检查性异常:最具代表的检查性异常是用户错误或问题引起的异常,这是程序员无法预见的。例如要打开一个不存在文件时,一个异常就发生了,这些异常在编译时不能被简单地忽略。
- 运行时异常: 运行时异常是可能被程序员避免的异常。与检查性异常相反,运行时异常可以在编译时被忽略。
- 错误: 错误不是异常,而是脱离程序员控制的问题。错误在代码中通常被忽略。例如,当栈溢出时,一个错误就发生了,它们在编译也检查不到的。
try/catch代码块中的代码称为保护代码,如果发生的异常包含在 catch 块中,异常会被传递到该 catch 块,这和传递一个参数到方法是一样
跟随多个 catch 代码块的情况就叫多重捕获
2708

被折叠的 条评论
为什么被折叠?



