资源描述
//短路
public class Test{
public static boolean T1(int val){
System.out.println("T1:"+val);
System.out.println(val+"<1");
return val<1;
}
public static boolean T2(int val){
System.out.println("T2:"+val);
System.out.println(val+"<2");
return val<2;
}
public static boolean T3(int val){
System.out.println("T3:"+val);
System.out.println(val+"<3");
return val<3;
}
public static void main(String []args){
boolean num=T1(0)&&T2(2)&&T3(2);
System.out.println(num);
}
}
*/
//Java不是什么好东西
/*
public class Test{
public static void main(String []args){
int big =Integer.MIN_VALUE;
System.out.println(big);
big-=1;
System.out.println(big);
}
}
*/
//对象的引用
/*
public class Test{
public static void main(String []args){
int []a1={1,2,3,4,5};
int []a2;
a2=a1; //a2的地址指向a1的地址
for(int i=0;i<a1.length;i++){
System.out.print(a1[i]+",");
}
System.out.println();
for(int j=0;j<a2.length;j++){
System.out.print(a2[j]+",");
}
}
}
*/
//静态数据的初始化
/*
public class Test{
public static void main(String []args){
//只有在第一个B对象被调用创建(或第一次访问静态数据)的时候,才会被初始化.
//此后静态变量不会再次被初始化
B.str = "2";
}
}
class A{
public A(int a){
System.out.println("A("+a+")");
}
public void B(int b){
System.out.println("B("+b+")");
}
}
class B{
static A a1=new A(1);
static A a2=new A(2);
public static String str = "123";
public B(){
System.out.println("B");
a2.B(1);
}
public static void C(int c){
System.out.println("C("+c+")");
}
}
class C{
A a3=new A(3);
static A a4=new A(4);
public C(){
System.out.println("C");
a4.B(2);
}
public void D(int d){
System.out.println("D("+d+")");
}
static A a5=new A(5);
}
*/
//非静态实例初始化
/*
public class Test{
public static void main(String []args){
//无论调用了那个构造器某些操作还是会发生的
new B();
System.out.println("********");
new B(1);
}
}
class A{
public A(int a){
System.out.println("A("+a+")");
}
public void B(int b){
System.out.println("B("+b+")");
}
}
class B{
A a1=new A(1);
A a2=new A(2);
public B(){
System.out.println("B");
}
public B(int i){
System.out.println("B("+i+")");
}
public static void C(int c){
System.out.println("C("+c+")");
}
}
*/
//可变参数
/*
public class Test{
//在可变参数列表中可以使用任何类型的数据参数
//如果在该列表中没有任何元素,那么转化成的数据的尺寸为0 args.length=0
static void A(Object ... args){
for(Object obj:args){
System.out.print(obj+" ");
}
System.out.println();
}
//int b 非可变部分 String ...B 可变参数
static void B(int b,String ...B){
System.out.println(b);
for(String s:B){
System.out.print(s+" ");
}
System.out.println();
}
public static void main(String []args){
A(new Object[]{
new Integer(47),new Float(3.14),new Double(11.11)
});
A(new Object[]{"one","two","three"});
A(new Object[]{new B(),new B(),new B()});
B(1,"one","two");
//B(1,2,3,4,5,6);
}
}
class B{
}
*/
//枚举
/*
public class Test{
public enum Week{
Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday
}
Week w;
public Test(Week w){this.w=w;}
public void A(){
System.out.print("今天是:");
switch(w){
case Sunday:System.out.println("星期日");
break;
case Monday:System.out.println("星期一");
break;
case Tuesday:System.out.println("星期二");
break;
case Wednesday:System.out.println("星期三");
break;
case Thursday:System.out.println("星期四");
break;
case Friday:System.out.println("星期五");
break;
case Saturday:System.out.println("星期六");
break;
default:System.out.println("出错啦!");
}
}
public static void main(String []args){
Test
t1=new Test(Week.Friday),
t2=new Test(Week.Sunday),
t3=new Test(Week.Monday);
t1.A();
t2.A();
t3.A();
}
}
*/
//枚举
/*
enum Week{
Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday
}
public class Test{
public static void main(String []args){
for(Week w:Week.values()){
System.out.print(w+" 顺序:"+w.ordinal()+" ");
}
}
}
*/
/*
enum Week{
Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday
}
public class Test{
Week w;
public Test(Week w){this.w=w;}
public void A(){
System.out.print("今天是:");
switch(w){
case Sunday:System.out.println("星期日");
break;
case Monday:System.out.println("星期一");
break;
case Tuesday:System.out.println("星期二");
break;
case Wednesday:System.out.println("星期三");
break;
case Thursday:System.out.println("星期四");
break;
case Friday:System.out.println("星期五");
break;
case Saturday:System.out.println("星期六");
break;
default:System.out.println("出错啦!");
}
}
public static void main(String []args){
Test
t1=new Test(Week.Friday),
t2=new Test(Week.Sunday),
t3=new Test(Week.Monday);
t1.A();
t2.A();
t3.A();
}
}
*/
/*
public class Test{
public static void main(String []args){
A a=new A();
System.out.println(a);
}
}
class WateSource{
private String s;
WateSource(){
System.out.println("WateSource()");
s="Constructed";
}
public String toString(){
return s;
}
}
class A{
private String value1,value2,value3,value4;
private WateSource source=new WateSource();
private int i;
private float f;
public String toString(){ //重写父类的方法自动调用
return
"value1="+value1+" "+
"value2="+value2+" "+
"value3="+value3+" "+
"value4="+value4+"\n"+
"i="+i+" "+"f="+f+" "+
"source="+source;
}
}
*/
//Object的用法
/*
public class Test{
public static void main(String[]args){
Object obj=new Object();
Test t=new Test();
System.out.println(obj.getClass());
System.out.println(t.getClass());
System.out.println(obj.toString());
System.out.println(t.toString());
System.out.println(obj.equals(t));
System.out.println(obj.hashCode());
System.out.println(t.hashCode());
}
}
*/
//取得字符串的常用方法
/*
public class Test{
public static void main(String []args){
String str="welcome to chongqing,we welcome you";
System.out.println("字符串的内容:");
for(int i=0;i<str.length();i++){
System.out.print(str.charAt(i));//返回字符串中指定所引处的字符
}
System.out.println("\n第一个welcome所在的索引位置:"+str.indexOf("welcome"));
System.out.println("最后一个welcome所在的索引位置:"+str.lastIndexOf("welcome"));
char [] c=str.toCharArray();
System.out.println("字符c的内容");
for(int i=0;i<c.length;i++){
System.out.print(c[i]);
}
System.out.println("\n提取出字符串chongqing:"+str.substring(11, 20));
System.out.println("在str字符串的基础上连接一个HelloWord字符串:"+str.concat("HelloWord"));
System.out.println("把str字符串中所有的w替换成W:"+str.replace('w','W'));
System.out.println("根据','分割str字符串:");
String []strArray=str.split(",");
for(int i=0;i<strArray.length;i++){
System.out.println(strArray[i]);
}
}
}
*/
//String和StringBuffer的区别
//String的长度是不可变,StringBuffer的长度是可变的.
/*
public class Test{
public static void main(String[]args){
//片段1
String a=new String("hello");
a+="word!";
System.out.println(a);
//片段2
StringBuffer sb=new StringBuffer("hello");
sb.append("word!");
System.out.println(sb);
}
}
*/
//解释A和B有什么不同
/*
import java.util.*;
public class Test{
public static void main(String[]args){
List<String> A= new ArrayList<String>();
List<String> B= new LinkedList<String>();
}
}
*/
/*
public class Test{
public static void main(String[]args){
IA b=new B();
IA c=new C();
//b.B(); //点不出各自的方法
//c.C();
//多态:父类定义一个行为 子类表现出不一样的行为
b.A();//B-A
c.A();//C-A
}
}
interface IA{
public void A();
}
class B implements IA{
public void A() {
System.out.println("B-A");
}
public void B(){
System.out.println("B");
}
}
class C implements IA{
public void A() {
System.out.println("C-A");
}
public void C(){
System.out.println("C");
}
}
*/
/*
public class Test{
public static void main(String []args){
A b=new B();
A c=new C();
//父类的方法被重写
b.Method1();
c.Method1();
//父类的方法没被重写
b.Method2();
c.Method2();
}
}
class A{
public void Method1(){
System.out.println("Method1");
}
public void Method2(){
System.out.println("Method2");
}
}
class B extends A{
public void Method1(){
System.out.println("B-Method1");
}
}
class C extends A{
public void Method1(){
System.out.println("C-Method1");
}
}
*/
//集合框架
/*
import java.util.*;
public class Test{
public static void main(String []args){
//List 接口 ArrayList 类
//ArrayList list=new ArrayList(); 只用自己的方法
List<String> list=new ArrayList<String>();
list.add("a");
list.add("b");
list.add("c");
Iterator<String> iter=list.iterator();
while(iter.hasNext()){
System.out.println(iter.next());
}
}
}
*/
/*
import java.util.*;
public class Test{
@SuppressWarnings("unchecked")
public static void main(String[]args){
@SuppressWarnings("rawtypes")
List list=new ArrayList();
list.add("a");
list.add("b");
list.add("c");
for(int i=0;i<list.size();i++){
//System.out.println(list.get(i));
}
list.add(0, "0");
list.remove(0);
//list.clear();
List o=new ArrayList();
o.add("a");
o.add("d");
System.out.println(list);
System.out.println(o);
// //删除不相同的部分
// list.retainAll(o);
//查找集合中是否含有集合c中的所有元素
System.out.println(list.containsAll(o));
}
}
*/
/*
import java.util.*;
public class Test{
@SuppressWarnings("unchecked")
public static void main(String[]args){
@SuppressWarnings("rawtypes")
LinkedList linkedlist=new LinkedList();
linkedlist.add("a");
linkedlist.add("b");
linkedlist.add("c");
//返回开头/结尾的元素
// System.out.println(linkedlist.getFirst());
// System.out.println(linkedlist.getLast());
//将对象添加到列表的开头/结尾
// linkedlist.addFirst("A");
// linkedlist.addLast("C");
//删除并返回列表开头/结尾的元素
// linkedlist.removeFirst();
// linkedlist.removeLast();
//判断是否为空
System.out.println(linkedlist.isEmpty());
}
}
*/
/*
import java.util.*;
public class Test{
public static void main(String[]args){
List<A> list=new ArrayList<A>();
list.add(new B());
}
}
class A{
}
class B extends A{
}
*/
/*
import java.util.*;
public class Test{
public static void main(String []args){
List<A> list=Arrays.asList(new B(),new C());
}
}
class A{};
class B extends A{};
class C extends A{};
class D extends B{};
*/
/*
import java.util.*;
public class Test{
public static void main(String[]args){
Collection<String> a=new ArrayList<String>();
List<String> b=new ArrayList<String>();
Collection<String> c=new HashSet<String>();
//List<String> d=new HashSet<String>();
}
}
*/
/*
import java.util.*;
public class Test{
public static void main(String []args){
Set<String> hashset=new HashSet<String>();
Set<String> treeset=new TreeSet<String>();
Set<String> linkedhashset =new LinkedHashSet();
hashset.add("b");
hashset.add("d");
hashset.add("c");
System.out.println(hashset.hashCode());
treeset.add("a");
treeset.add("d");
treeset.add("c");
System.out.println(treeset);
linkedhashset.add("a");
linkedhashset.add("d");
linkedhashset.add("c");
System.out.println(linkedhashset);
}
}
*/
//throws省了很多try{}catch{}
/*
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.OutputStream;
public class Test{
private int flag;
public void A() {
if(flag>5){
throw new ArithmeticException();
}else{
throw new ArrayIndexOutOfBoundsException();
}
}
public static void main(String[]args){
Test t=new Test();
t.A();
}
public void show()throws Exception
{
OutputStream fos= new FileOutputStream("C:\\test.txt");
}
}
*/
//自定义异常类
/*
class MyException extends Exception{
private int num;
MyException(int a){
num=a;
}
public String toString(){
return num+"超出范围啦!";
}
}
public class Test{
public static void A(int a) throws MyException{
System.out.println("你输入的数字是"+a);
if(a>100){
throw new MyException(a);
}
System.out.println("正常");
}
public static void main(String []args){
try{
A(10);
A(1000);
}catch(MyException e){
System.out.println(e);
}
}
}
*/
//递归 输出目录中所有的文件
/*
import java.io.*;
import java.util.*;
public class Test{
public void Method(String path){
File file=new File(path);
File[] files=file.listFiles();
for(int i=0;i<files.length;i++){
if(files[i].isDirectory()){
Method(files[i].getPath().toString());
}else{
System.out.println(files[i]);
}
}
}
public static void main(String []args){
Test t=new Test();
t.Method("F:\\text");
}
}
*/
//文件流的输入输出操作
/*
import java.io.*;
public class Test{
public static void main(String []args){
File file=new File("F:\\A.txt");
try{
//--创建目录
//file.mkdir();
//--创建文件夹
file.createNewFile();
//--字节输出流写文件
//OutputStream fos=new FileOutputStream("F:\\A.txt");
//String str="我是一个学生";
//byte []data=str.getBytes();
//fos.write(data, 0, data.length);
//fos.close();
FileWriter fw=new FileWriter("F:\\A.txt");
//String str="我是一个好学生";
//--运行一次就输出一次
//fw.write(str, 0, str.length());
BufferedWriter bw=new BufferedWriter(fw);
bw.write("我是一个好学生");
//--一次性输出
bw.flush();
fw.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
*/
/*
import java.io.*;
public class Test{
public static void main(String []args){
try{
FileInputStream fis=new FileInputStream("F:\\A.txt");
// byte []data=new byte[1024];
// fis.read(data, 0, data.length);
// //--用new String()将data转为字符串
// System.out.println(new String(data));
// byte []data=new byte[10];
// StringBuffer sb=new StringBuffer();
// while((fis.read(data))!=-1){
// sb.append(new String(data));
// //防止添加重复
// data=new byte[10];
// }
// System.out.println(sb);
// fis.close();
FileReader fr=new FileReader("F:\\A.txt");
BufferedReader br=new BufferedReader(fr);
String str=null;
int i=0;
//空格!=null
//br.readLine()从文件中读取一行数据 读取到null为止
while((str=br.readLine())!=null){
i++;
System.out.println("第"+i+"行:"+str);
}
br.close();
fr.close();
}catch(IOException e){
e.printStackTrace();
}
}
}
*/
//序列化与反序列化
/*
import java.io.*;
class Student implements Serializable{
private String name;
private int age;
public Student(String name,int age){
this.name=name;
this.age=age;
}
public String toString(){
return (name+"\t"+age);
}
}
public class Test{
public static void main(String []args)throws Exception{
//序列化对象
ObjectOutputStream ous=new ObjectOutputStream(new FileOutputStream("F:\\A.txt"));
Student stu=new Student("张三",20);
ous.writeObject(stu);
ous.close();
//反序列化对象
ObjectInputStream ois=new ObjectInputStre
展开阅读全文