Repository: DuGuQiuBai/Java Branch: master Commit: f7aa7398c6e0 Files: 887 Total size: 918.6 KB Directory structure: gitextract_i_9njbyy/ ├── LICENSE ├── README.md ├── day01/ │ ├── code/ │ │ ├── 01_HelloWorld案例/ │ │ │ ├── HelloWorld.java │ │ │ └── Student.java │ │ ├── 02_带注释的HelloWorld案例/ │ │ │ ├── Demo.java │ │ │ └── HelloWorld.java │ │ ├── 03_关键字/ │ │ │ └── KeyWord.java │ │ └── 04_标识符/ │ │ ├── NameDemo.java │ │ ├── 基础班/ │ │ │ └── Student.txt │ │ └── 就业班/ │ │ └── Student.txt │ ├── day01总结.txt │ ├── 第一章_Java概述.ppt │ ├── 第二章_Java基础语法[上].ppt │ └── 课堂练习.txt ├── day02/ │ ├── ASCII码表.doc │ ├── Java语言运算符优先级表.doc │ ├── code/ │ │ ├── 01_常量/ │ │ │ └── ConstantDemo.java │ │ ├── 02_进制转换/ │ │ │ └── JinZhiDemo.java │ │ ├── 04_数据类型/ │ │ │ ├── Array2Sum.java │ │ │ ├── DataType.java │ │ │ ├── DataType2.java │ │ │ ├── MyArrayDemo.java │ │ │ └── MyArrayTest.java │ │ ├── 05_类型转换/ │ │ │ ├── DataTypeDemo.java │ │ │ ├── DataTypeDemo2.java │ │ │ ├── DataTypeDemo3.java │ │ │ ├── DataTypeTest.java │ │ │ ├── DataTypeTest2.java │ │ │ └── DataTypeTest3.java │ │ ├── 06_算术运算符/ │ │ │ ├── OperatorDemo.java │ │ │ ├── OperatorDemo2.java │ │ │ ├── OperatorDemo3.java │ │ │ └── OperatorTest.java │ │ ├── 07_赋值运算符/ │ │ │ ├── OperatorDemo.java │ │ │ └── OperatorTest.java │ │ ├── 08_关系运算符/ │ │ │ ├── OperatorDemo.java │ │ │ └── OperatorDemo2.java │ │ └── 09_逻辑运算符/ │ │ └── OperatorDemo.java │ ├── day02总结.txt │ ├── 第二章_Java基础语法[上].ppt │ └── 课堂练习.txt ├── day03/ │ ├── code/ │ │ ├── 01_位运算符/ │ │ │ ├── OperatorDemo.java │ │ │ ├── OperatorDemo2.java │ │ │ └── OperatorTest.java │ │ ├── 02_三元运算符/ │ │ │ └── OperatorDemo.java │ │ ├── 03_键盘录入数据/ │ │ │ ├── OperatorDemo.java │ │ │ ├── OperatorTest.java │ │ │ ├── OperatorTest2.java │ │ │ ├── OperatorTest3.java │ │ │ └── OperatorTest4.java │ │ ├── 04_顺序结构语句/ │ │ │ └── OrderDemo.java │ │ ├── 05_选择结构(if语句)/ │ │ │ ├── IfDemo.java │ │ │ ├── IfDemo2.java │ │ │ ├── IfDemo3.java │ │ │ ├── IfDemo4.java │ │ │ ├── IfDemo5.java │ │ │ ├── IfTest.java │ │ │ ├── IfTest2.java │ │ │ ├── IfTest3.java │ │ │ ├── IfTest4.java │ │ │ └── IfTest5.java │ │ └── 06_选择结构(switch语句)/ │ │ ├── SwitchDemo.java │ │ ├── SwitchDemo2.java │ │ ├── SwitchTest.java │ │ ├── SwitchTest2.java │ │ └── SwitchTest3.java │ ├── day03总结.txt │ └── 第二章_Java基础语法[上].ppt ├── day04/ │ ├── code/ │ │ ├── 01_循环语句(for)/ │ │ │ ├── ForDemo.java │ │ │ ├── ForDemo2.java │ │ │ ├── ForDemo3.java │ │ │ ├── ForDemo4.java │ │ │ ├── ForTest.java │ │ │ ├── ForTest2.java │ │ │ ├── ForTest3.java │ │ │ ├── ForTest4.java │ │ │ ├── ForTest5.java │ │ │ └── ForTest6.java │ │ ├── 02_循环语句(while)/ │ │ │ ├── WhileDemo.java │ │ │ ├── WhileDemo2.java │ │ │ └── WhileTest.java │ │ ├── 03_循环语句(do...while)/ │ │ │ ├── DoWhileDemo.java │ │ │ └── DoWhileTest.java │ │ ├── 04_循环语句(嵌套使用)/ │ │ │ ├── ForForDemo.java │ │ │ ├── ForForDemo2.java │ │ │ └── ForForDemo3.java │ │ ├── 05_控制跳转语句/ │ │ │ ├── BreakAndContinue.java │ │ │ ├── BreakDemo.java │ │ │ ├── ContinueDemo.java │ │ │ └── ReturnDemo.java │ │ ├── 06_方法/ │ │ │ ├── MethodDemo.java │ │ │ ├── MethodDemo2.java │ │ │ ├── MethodDemo3.java │ │ │ ├── MethodTest.java │ │ │ ├── MethodTest2.java │ │ │ ├── MethodTest3.java │ │ │ └── MethodTest4.java │ │ └── day04总结.txt │ ├── myday04总结.txt │ ├── 第三章_Java基础语法[下].ppt │ └── 第二章_Java基础语法[上].ppt ├── day05/ │ ├── Java基础知识测试.doc │ ├── code/ │ │ ├── 01_方法重载/ │ │ │ ├── MethodDemo.java │ │ │ └── MethodTest.java │ │ ├── 02_一维数组/ │ │ │ ├── ArrayDemo.java │ │ │ ├── ArrayDemo2.java │ │ │ ├── ArrayDemo3.java │ │ │ ├── ArrayDemo4.java │ │ │ ├── ArrayDemo5.java │ │ │ ├── ArrayDemo6.java │ │ │ ├── ArrayTest.java │ │ │ ├── ArrayTest2.java │ │ │ ├── ArrayTest3.java │ │ │ ├── ArrayTest4.java │ │ │ └── ArrayTest5.java │ │ ├── 03_二维数组/ │ │ │ ├── Array2Demo.java │ │ │ ├── Array2Demo2.java │ │ │ ├── Array2Demo3.java │ │ │ ├── Array2Test.java │ │ │ └── Array2Test2.java │ │ └── 04_两个思考题/ │ │ ├── ArgsDemo.java │ │ ├── JiaMiDemo.java │ │ └── JiaMiDemo2.java │ ├── day05总结.txt │ ├── 第三章_Java基础语法[下].ppt │ └── 课堂练习.txt ├── day06/ │ ├── code/ │ │ ├── 01_面向对象思想/ │ │ │ └── 面向对象思想.txt │ │ ├── 02_类与对象/ │ │ │ └── 类与对象.txt │ │ ├── 03_类的定义/ │ │ │ ├── Phone.java │ │ │ └── Student.java │ │ ├── 04_类的使用/ │ │ │ ├── 一个java文件多个class/ │ │ │ │ └── StudentDemo.java │ │ │ └── 多个java文件多个class/ │ │ │ ├── Phone.java │ │ │ ├── PhoneDemo.java │ │ │ ├── Student.java │ │ │ └── StudentDemo.java │ │ ├── 05_对象内存图/ │ │ │ ├── PhoneDemo.java │ │ │ ├── PhoneDemo2.java │ │ │ └── PhoneDemo3.java │ │ ├── 06_成员变量和局部变量的区别/ │ │ │ └── VariableDemo.java │ │ ├── 07_形式参数问题/ │ │ │ ├── NoNameObject.java │ │ │ ├── StudentTest.java │ │ │ └── SumDemo.java │ │ ├── 08_封装/ │ │ │ ├── StudentDemo.java │ │ │ └── StudentDemo2.java │ │ └── 09_this关键字/ │ │ ├── StudentDemo.java │ │ └── StudentDemo2.java │ ├── day06总结.txt │ └── 第四章_面向对象[上].ppt ├── day07/ │ ├── code/ │ │ ├── 01_构造方法/ │ │ │ ├── PhoneTest.java │ │ │ ├── StudentDemo.java │ │ │ └── StudentTest.java │ │ ├── 03_面向对象练习/ │ │ │ ├── 加减乘除案例/ │ │ │ │ └── MyMathDemo.java │ │ │ ├── 员工类案例/ │ │ │ │ └── EmployeeDemo.java │ │ │ ├── 求和案例/ │ │ │ │ ├── Test.java │ │ │ │ └── Test2.java │ │ │ └── 长方形案例/ │ │ │ └── Test.java │ │ ├── 04_static关键字/ │ │ │ ├── StudentDemo.java │ │ │ ├── StudentDemo2.java │ │ │ ├── StudentDemo3.java │ │ │ └── StudentDemo4.java │ │ ├── 05_main是静态的/ │ │ │ └── HelloWorld.java │ │ ├── 06_制作帮助文档/ │ │ │ ├── ArrayDemo.java │ │ │ └── ArrayTool.java │ │ ├── 07_学习并使用帮助文档/ │ │ │ └── 如何使用帮助文档.txt │ │ ├── 08_Math类的学习和使用/ │ │ │ ├── GuessNumberDemo.java │ │ │ └── MathDemo.java │ │ └── 09_代码块/ │ │ ├── CodeDemo.java │ │ └── CodeTest.java │ ├── day07总结.txt │ └── 第四章_面向对象[上].ppt ├── day08/ │ ├── code/ │ │ ├── 01_继承/ │ │ │ ├── ExtendsDemo.java │ │ │ ├── ExtendsDemo2.java │ │ │ ├── ExtendsDemo3.java │ │ │ ├── ExtendsDemo4.java │ │ │ ├── ExtendsDemo5.java │ │ │ ├── ExtendsDemo6.java │ │ │ ├── PersonDemo.java │ │ │ ├── Test.java │ │ │ ├── Test2.java │ │ │ ├── Test3.java │ │ │ ├── Z.java │ │ │ └── 继承概述.txt │ │ ├── 02_方法重写/ │ │ │ ├── PersonDemo.java │ │ │ ├── PhoneDemo.java │ │ │ └── 两个面试题.txt │ │ ├── 03_继承练习/ │ │ │ ├── AnimalDemo.java │ │ │ └── Test.java │ │ ├── 04_final关键字/ │ │ │ ├── FinalDemo.java │ │ │ ├── FinalDemo2.java │ │ │ └── FinalDemo3.java │ │ └── 05_多态/ │ │ ├── DuoTaiDemo.java │ │ ├── DuoTaiDemo2.java │ │ ├── DuoTaiTest.java │ │ └── DuoTaiTest2.java │ ├── day08总结.txt │ └── 第五章_面向对象[下].ppt ├── day09/ │ ├── code/ │ │ ├── 01_多态/ │ │ │ ├── DuoTaiDemo.java │ │ │ └── DuoTaiDemo2.java │ │ ├── 02_多态案例/ │ │ │ ├── AnimalDemo.java │ │ │ └── PersonDemo.java │ │ ├── 03_抽象类/ │ │ │ ├── AbstractDemo.java │ │ │ └── AbstractDemo2.java │ │ ├── 04_抽象类案例/ │ │ │ ├── AbstraceTest.java │ │ │ ├── AnimalDemo.java │ │ │ ├── EmployeeDemo.java │ │ │ ├── StudentDemo.java │ │ │ └── TeacherDemo.java │ │ ├── 05_接口/ │ │ │ ├── InterfaceDemo.java │ │ │ ├── InterfaceDemo2.java │ │ │ ├── InterfaceDemo3.java │ │ │ └── 抽象类和接口的区别.txt │ │ └── 06_接口案例/ │ │ ├── AnimalDemo.java │ │ ├── PeopleDemo.java │ │ └── PersonDemo.java │ ├── day09总结.txt │ └── 第五章_面向对象[下].ppt ├── day10/ │ ├── code/ │ │ ├── 01_形式参数问题/ │ │ │ ├── ArgsDemo.java │ │ │ └── ArgsDemo2.java │ │ ├── 02_返回值问题/ │ │ │ ├── ReturnDemo.java │ │ │ ├── ReturnDemo2.java │ │ │ └── ReturnDemo3.java │ │ ├── 03_包/ │ │ │ ├── Demo.java │ │ │ ├── HelloWorld.java │ │ │ └── Test.java │ │ ├── 04_权限修饰符/ │ │ │ ├── Father.java │ │ │ ├── Son.java │ │ │ ├── Son2.java │ │ │ ├── Test.java │ │ │ └── Test2.java │ │ ├── 05_常见的修饰符组合/ │ │ │ ├── HelloWorld.java │ │ │ └── 常见的修饰符组合.txt │ │ └── 06_内部类/ │ │ ├── InnerClassDemo.java │ │ ├── InnerClassDemo2.java │ │ ├── InnerClassDemo3.java │ │ ├── InnerClassDemo4.java │ │ ├── InnerClassTest.java │ │ ├── InnerClassTest2.java │ │ └── OuterDemo.java │ ├── day10总结.txt │ └── 第五章_面向对象[下].ppt ├── day11/ │ ├── Eclipse的基本使用.txt │ ├── code/ │ │ └── day11_Object/ │ │ ├── .classpath │ │ ├── .project │ │ ├── .settings/ │ │ │ └── org.eclipse.jdt.core.prefs │ │ └── src/ │ │ └── cn/ │ │ ├── itcast_01/ │ │ │ ├── Student.java │ │ │ └── StudentDemo.java │ │ ├── itcast_02/ │ │ │ ├── Student.java │ │ │ └── StudentDemo.java │ │ └── itcast_03/ │ │ ├── Student.java │ │ └── StudentDemo.java │ ├── day11总结.txt │ ├── 第七章_常用类.ppt │ └── 第六章_Eclipse(磨刀不误砍柴工).ppt ├── day12/ │ ├── code/ │ │ ├── day12_Scanner/ │ │ │ ├── .classpath │ │ │ ├── .project │ │ │ ├── .settings/ │ │ │ │ └── org.eclipse.jdt.core.prefs │ │ │ └── src/ │ │ │ └── cn/ │ │ │ ├── itcast_01/ │ │ │ │ └── ScannerDemo.java │ │ │ ├── itcast_02/ │ │ │ │ └── ScannerDemo.java │ │ │ └── itcast_03/ │ │ │ ├── ScannerDemo.java │ │ │ └── ScannerDemo2.java │ │ └── day12_String/ │ │ ├── .classpath │ │ ├── .project │ │ ├── .settings/ │ │ │ └── org.eclipse.jdt.core.prefs │ │ ├── bin/ │ │ │ └── cn/ │ │ │ └── itcast_08/ │ │ │ └── String类的equals()方法源码.txt │ │ └── src/ │ │ └── cn/ │ │ ├── itcast_01/ │ │ │ └── StringDemo.java │ │ ├── itcast_02/ │ │ │ ├── StringDemo.java │ │ │ ├── StringDemo2.java │ │ │ ├── StringDemo3.java │ │ │ └── StringDemo4.java │ │ ├── itcast_03/ │ │ │ ├── StringDemo.java │ │ │ └── StringTest.java │ │ ├── itcast_04/ │ │ │ ├── StringDemo.java │ │ │ ├── StringTest.java │ │ │ └── StringTest2.java │ │ ├── itcast_05/ │ │ │ ├── StringDemo.java │ │ │ └── StringTest.java │ │ ├── itcast_06/ │ │ │ ├── StringDemo.java │ │ │ ├── StringDemo2.java │ │ │ └── StringDemo3.java │ │ ├── itcast_07/ │ │ │ ├── StringTest.java │ │ │ ├── StringTest2.java │ │ │ ├── StringTest3.java │ │ │ └── StringTest4.java │ │ └── itcast_08/ │ │ ├── StringTest.java │ │ └── String类的equals()方法源码.txt │ ├── day12总结.txt │ └── 第七章_常用类.ppt ├── day13/ │ ├── code/ │ │ ├── day13_Array_Arrays/ │ │ │ ├── .classpath │ │ │ ├── .project │ │ │ ├── .settings/ │ │ │ │ └── org.eclipse.jdt.core.prefs │ │ │ ├── bin/ │ │ │ │ └── cn/ │ │ │ │ └── itcast_05/ │ │ │ │ └── Arrays工具类的源码.txt │ │ │ └── src/ │ │ │ └── cn/ │ │ │ ├── itcast_01/ │ │ │ │ └── ArrayDemo.java │ │ │ ├── itcast_02/ │ │ │ │ └── ArrayDemo.java │ │ │ ├── itcast_03/ │ │ │ │ └── ArrayDemo.java │ │ │ ├── itcast_04/ │ │ │ │ └── ArrayDemo.java │ │ │ └── itcast_05/ │ │ │ ├── ArraysDemo.java │ │ │ └── Arrays工具类的源码.txt │ │ ├── day13_Character/ │ │ │ ├── .classpath │ │ │ ├── .project │ │ │ ├── .settings/ │ │ │ │ └── org.eclipse.jdt.core.prefs │ │ │ └── src/ │ │ │ └── cn/ │ │ │ ├── itcast_01/ │ │ │ │ └── CharacterDemo.java │ │ │ └── itcast_02/ │ │ │ └── CharacterDemo.java │ │ ├── day13_Integer/ │ │ │ ├── .classpath │ │ │ ├── .project │ │ │ ├── .settings/ │ │ │ │ └── org.eclipse.jdt.core.prefs │ │ │ └── src/ │ │ │ └── cn/ │ │ │ ├── itcast_01/ │ │ │ │ └── IntegerDemo.java │ │ │ ├── itcast_02/ │ │ │ │ └── IntegerDemo.java │ │ │ ├── itcast_03/ │ │ │ │ └── IntegerDemo.java │ │ │ ├── itcast_04/ │ │ │ │ └── IntegerDemo.java │ │ │ ├── itcast_05/ │ │ │ │ └── IntegerDemo.java │ │ │ └── itcast_06/ │ │ │ └── IntegerDemo.java │ │ └── day13_StringBuffer/ │ │ ├── .classpath │ │ ├── .project │ │ ├── .settings/ │ │ │ └── org.eclipse.jdt.core.prefs │ │ └── src/ │ │ └── cn/ │ │ ├── itcast_01/ │ │ │ └── StringBufferDemo.java │ │ ├── itcast_02/ │ │ │ ├── StringBufferDemo.java │ │ │ ├── StringBufferDemo2.java │ │ │ ├── StringBufferDemo3.java │ │ │ ├── StringBufferDemo4.java │ │ │ └── StringBufferDemo5.java │ │ ├── itcast_03/ │ │ │ └── StringBufferDemo.java │ │ ├── itcast_04/ │ │ │ ├── StringBufferTest.java │ │ │ ├── StringBufferTest2.java │ │ │ └── StringBufferTest3.java │ │ └── itcast_05/ │ │ └── StringBufferDemo.java │ ├── day13总结.txt │ └── 第七章_常用类.ppt ├── day14/ │ ├── code/ │ │ ├── day14_BigInteger_BigDecimal/ │ │ │ ├── .classpath │ │ │ ├── .project │ │ │ ├── .settings/ │ │ │ │ └── org.eclipse.jdt.core.prefs │ │ │ └── src/ │ │ │ └── cn/ │ │ │ ├── itcast_01/ │ │ │ │ ├── BigIntegerDemo.java │ │ │ │ └── BigIntegerDemo2.java │ │ │ └── itcast_02/ │ │ │ ├── BigDecimalDemo.java │ │ │ └── BigDecimalDemo2.java │ │ ├── day14_Date_DateFormat_Calendar/ │ │ │ ├── .classpath │ │ │ ├── .project │ │ │ ├── .settings/ │ │ │ │ └── org.eclipse.jdt.core.prefs │ │ │ └── src/ │ │ │ └── cn/ │ │ │ ├── itcast_01/ │ │ │ │ └── DateDemo.java │ │ │ ├── itcast_02/ │ │ │ │ ├── DateFormatDemo.java │ │ │ │ ├── DateTool.java │ │ │ │ ├── DateToolTest.java │ │ │ │ └── MyDayDemo.java │ │ │ └── itcast_03/ │ │ │ ├── CalendarDemo.java │ │ │ ├── CalendarDemo2.java │ │ │ └── CalendarTest.java │ │ ├── day14_Math_Random_System/ │ │ │ ├── .classpath │ │ │ ├── .project │ │ │ ├── .settings/ │ │ │ │ └── org.eclipse.jdt.core.prefs │ │ │ └── src/ │ │ │ └── cn/ │ │ │ ├── itcast_01/ │ │ │ │ └── MathDemo.java │ │ │ ├── itcast_02/ │ │ │ │ └── RandomDemo.java │ │ │ └── itcast_03/ │ │ │ ├── SystemDemo.java │ │ │ └── SystemDemo2.java │ │ └── day14_Regex/ │ │ ├── .classpath │ │ ├── .project │ │ ├── .settings/ │ │ │ └── org.eclipse.jdt.core.prefs │ │ ├── bin/ │ │ │ └── 正则表达式的规则.txt │ │ └── src/ │ │ ├── cn/ │ │ │ ├── itcast_01/ │ │ │ │ └── RegexDemo.java │ │ │ ├── itcast_02/ │ │ │ │ ├── RegexDemo.java │ │ │ │ └── RegexTest.java │ │ │ ├── itcast_03/ │ │ │ │ ├── RegexDemo.java │ │ │ │ └── RegexTest.java │ │ │ ├── itcast_04/ │ │ │ │ └── RegexDemo.java │ │ │ └── itcast_05/ │ │ │ └── RegexDemo.java │ │ └── 正则表达式的规则.txt │ ├── day14总结.txt │ └── 第七章_常用类.ppt ├── day15/ │ ├── code/ │ │ ├── day15_Collection/ │ │ │ ├── .classpath │ │ │ ├── .project │ │ │ ├── .settings/ │ │ │ │ └── org.eclipse.jdt.core.prefs │ │ │ ├── bin/ │ │ │ │ └── cn/ │ │ │ │ └── itcast_04/ │ │ │ │ └── 迭代器的源码解析.txt │ │ │ └── src/ │ │ │ └── cn/ │ │ │ ├── itcast_01/ │ │ │ │ ├── Student.java │ │ │ │ └── StudentDemo.java │ │ │ ├── itcast_02/ │ │ │ │ ├── CollectionDemo.java │ │ │ │ ├── CollectionDemo2.java │ │ │ │ └── CollectionDemo3.java │ │ │ ├── itcast_03/ │ │ │ │ ├── CollectionTest.java │ │ │ │ └── Student.java │ │ │ └── itcast_04/ │ │ │ ├── IteratorDemo.java │ │ │ ├── IteratorDemo2.java │ │ │ ├── IteratorTest.java │ │ │ ├── IteratorTest2.java │ │ │ ├── Student.java │ │ │ └── 迭代器的源码解析.txt │ │ └── day15_List/ │ │ ├── .classpath │ │ ├── .project │ │ ├── .settings/ │ │ │ └── org.eclipse.jdt.core.prefs │ │ └── src/ │ │ └── cn/ │ │ ├── itcast_01/ │ │ │ ├── ListDemo.java │ │ │ ├── ListDemo2.java │ │ │ └── Student.java │ │ ├── itcast_02/ │ │ │ ├── ListDemo.java │ │ │ └── ListDemo2.java │ │ ├── itcast_03/ │ │ │ ├── ListDemo.java │ │ │ └── Student.java │ │ └── itcast_04/ │ │ ├── ListIteratorDemo.java │ │ ├── ListIteratorDemo2.java │ │ └── ListIteratorDemo3.java │ ├── day15总结.txt │ └── 第八章_集合.ppt ├── day16/ │ ├── code/ │ │ ├── day16_ArrayList_Vector_LinkedList/ │ │ │ ├── .classpath │ │ │ ├── .project │ │ │ ├── .settings/ │ │ │ │ └── org.eclipse.jdt.core.prefs │ │ │ └── src/ │ │ │ └── cn/ │ │ │ ├── itcast_01/ │ │ │ │ ├── ArrayListDemo.java │ │ │ │ ├── ArrayListTest.java │ │ │ │ └── Student.java │ │ │ ├── itcast_02/ │ │ │ │ └── VectorDemo.java │ │ │ ├── itcast_03/ │ │ │ │ └── LinkedListDemo.java │ │ │ ├── itcast_04/ │ │ │ │ ├── ArrayListTest.java │ │ │ │ ├── ArrayListTest2.java │ │ │ │ ├── ArrayListTest3.java │ │ │ │ ├── LinkedListDemo.java │ │ │ │ ├── MyStack.java │ │ │ │ └── Student.java │ │ │ └── itcast_05/ │ │ │ └── ArrayListDemo.java │ │ ├── day16_Generic/ │ │ │ ├── .classpath │ │ │ ├── .project │ │ │ ├── .settings/ │ │ │ │ └── org.eclipse.jdt.core.prefs │ │ │ └── src/ │ │ │ └── cn/ │ │ │ ├── itcast_01/ │ │ │ │ ├── ArrayListDemo.java │ │ │ │ ├── ArrayListDemo2.java │ │ │ │ ├── ArrayListTest.java │ │ │ │ └── Student.java │ │ │ ├── itcast_02/ │ │ │ │ ├── Inter.java │ │ │ │ ├── InterImpl.java │ │ │ │ ├── InterTest.java │ │ │ │ ├── Tool.java │ │ │ │ ├── Tool2.java │ │ │ │ ├── Tool2Test.java │ │ │ │ ├── Tool3.java │ │ │ │ ├── Tool3Test.java │ │ │ │ └── ToolTest.java │ │ │ └── itcast_03/ │ │ │ └── GenericeDemo.java │ │ └── day16_JDK5News/ │ │ ├── .classpath │ │ ├── .project │ │ ├── .settings/ │ │ │ └── org.eclipse.jdt.core.prefs │ │ └── src/ │ │ └── cn/ │ │ ├── itcast_01/ │ │ │ ├── ArrayListTest.java │ │ │ ├── ForDemo.java │ │ │ └── Student.java │ │ ├── itcast_02/ │ │ │ └── StaticImportDemo.java │ │ └── itcast_03/ │ │ ├── ArgsDemo.java │ │ └── ArraysDemo.java │ ├── day16总结.txt │ ├── 第八章_集合.ppt │ ├── 练习.txt │ └── 练习和自习到底做什么.txt ├── day17/ │ ├── Collection集合总结.txt │ ├── code/ │ │ ├── day17_List_test/ │ │ │ ├── .classpath │ │ │ ├── .project │ │ │ ├── .settings/ │ │ │ │ └── org.eclipse.jdt.core.prefs │ │ │ └── src/ │ │ │ └── cn/ │ │ │ ├── itcast_01/ │ │ │ │ └── RandomNumberDemo.java │ │ │ ├── itcast_02/ │ │ │ │ └── GetMaxNumberDemo.java │ │ │ └── itcast_03/ │ │ │ └── ArrayListDemo.java │ │ ├── day17_Set_HashSet_TreeSet/ │ │ │ ├── .classpath │ │ │ ├── .project │ │ │ ├── .settings/ │ │ │ │ └── org.eclipse.jdt.core.prefs │ │ │ └── src/ │ │ │ └── cn/ │ │ │ ├── itcast_01/ │ │ │ │ └── SetDemo.java │ │ │ ├── itcast_02/ │ │ │ │ ├── HashSetDemo.java │ │ │ │ ├── HashSetDemo2.java │ │ │ │ └── Person.java │ │ │ ├── itcast_03/ │ │ │ │ └── LinkedHashSetDemo.java │ │ │ ├── itcast_04/ │ │ │ │ ├── Person.java │ │ │ │ ├── TreeSetDemo.java │ │ │ │ └── TreeSetDemo2.java │ │ │ ├── itcast_05/ │ │ │ │ ├── Person.java │ │ │ │ └── TreeSetDemo.java │ │ │ ├── itcast_06/ │ │ │ │ ├── Person.java │ │ │ │ └── TreeSetDemo.java │ │ │ └── itcast_07/ │ │ │ ├── GetRandomNumerDemo.java │ │ │ ├── Student.java │ │ │ └── StudentDemo.java │ │ └── day17_login_regist/ │ │ ├── .classpath │ │ ├── .project │ │ ├── .settings/ │ │ │ └── org.eclipse.jdt.core.prefs │ │ ├── src/ │ │ │ └── cn/ │ │ │ └── itcast/ │ │ │ ├── dao/ │ │ │ │ ├── UserDao.java │ │ │ │ └── impl/ │ │ │ │ └── UserDaoImpl.java │ │ │ ├── game/ │ │ │ │ └── GuessNumber.java │ │ │ ├── pojo/ │ │ │ │ └── User.java │ │ │ └── test/ │ │ │ └── UserTest.java │ │ └── 登录注册案例分析.txt │ ├── day17总结.txt │ ├── 第八章_集合.ppt │ └── 要练习的代码.txt ├── day18/ │ ├── code/ │ │ ├── day18_Collections/ │ │ │ ├── .classpath │ │ │ ├── .project │ │ │ ├── .settings/ │ │ │ │ ├── org.eclipse.core.resources.prefs │ │ │ │ └── org.eclipse.jdt.core.prefs │ │ │ └── src/ │ │ │ └── cn/ │ │ │ ├── itcast_01/ │ │ │ │ └── CollectionsDemo.java │ │ │ ├── itcast_02/ │ │ │ │ ├── ArrayListDemo.java │ │ │ │ └── Person.java │ │ │ ├── itcast_03/ │ │ │ │ └── PokerDemo.java │ │ │ └── itcast_04/ │ │ │ └── PokerDemo.java │ │ └── day18_Map_HashMap_TreeMap/ │ │ ├── .classpath │ │ ├── .project │ │ ├── .settings/ │ │ │ └── org.eclipse.jdt.core.prefs │ │ └── src/ │ │ └── cn/ │ │ ├── itcast_01/ │ │ │ ├── MapDemo.java │ │ │ ├── MapDemo2.java │ │ │ ├── MapDemo3.java │ │ │ └── MapDemo4.java │ │ ├── itcast_02/ │ │ │ ├── HashMapDemo.java │ │ │ ├── HashMapDemo2.java │ │ │ ├── HashMapDemo3.java │ │ │ ├── HashMapDemo4.java │ │ │ └── Student.java │ │ ├── itcast_03/ │ │ │ └── LinkedHashMapDemo.java │ │ ├── itcast_04/ │ │ │ ├── Student.java │ │ │ ├── TreeMapDemo.java │ │ │ └── TreeMapDemo2.java │ │ ├── itcast_05/ │ │ │ ├── ArrayListAndHashMapTest.java │ │ │ ├── HashMapAndArrayListTest.java │ │ │ ├── HashMapTest.java │ │ │ └── TreeMapTest.java │ │ └── itcast_06/ │ │ └── HashtableDemo.java │ ├── day18总结.txt │ └── 第八章_集合.ppt ├── day19/ │ ├── File总结.txt │ ├── code/ │ │ ├── day19_Exception/ │ │ │ ├── .classpath │ │ │ ├── .project │ │ │ ├── .settings/ │ │ │ │ └── org.eclipse.jdt.core.prefs │ │ │ └── src/ │ │ │ └── cn/ │ │ │ ├── itcast_01/ │ │ │ │ └── ExceptionDemo.java │ │ │ ├── itcast_02/ │ │ │ │ ├── ExceptionDemo.java │ │ │ │ ├── ExceptionDemo2.java │ │ │ │ └── ExceptionDemo3.java │ │ │ ├── itcast_03/ │ │ │ │ └── ExceptionDemo.java │ │ │ ├── itcast_04/ │ │ │ │ └── ExceptionDemo.java │ │ │ ├── itcast_05/ │ │ │ │ ├── ThrowDemo.java │ │ │ │ └── ThrowsDemo.java │ │ │ ├── itcast_06/ │ │ │ │ ├── FinallyDemo.java │ │ │ │ └── FinallyTest.java │ │ │ └── itcast_07/ │ │ │ ├── MyException.java │ │ │ ├── Teacher.java │ │ │ └── TeacherTest.java │ │ └── day19_File/ │ │ ├── .classpath │ │ ├── .project │ │ ├── .settings/ │ │ │ └── org.eclipse.jdt.core.prefs │ │ ├── aaa/ │ │ │ └── bbb/ │ │ │ └── b.txt │ │ ├── demo.txt │ │ └── src/ │ │ └── cn/ │ │ ├── itcast_01/ │ │ │ └── FileDemo.java │ │ ├── itcast_02/ │ │ │ ├── FileDemo.java │ │ │ ├── FileDemo2.java │ │ │ ├── FileDemo3.java │ │ │ ├── FileDemo4.java │ │ │ ├── FileDemo5.java │ │ │ └── FileDemo6.java │ │ └── itcast_03/ │ │ ├── FileTest.java │ │ └── FileTest2.java │ ├── 异常总结.txt │ └── 第九章_IO流.ppt ├── day20/ │ ├── code/ │ │ ├── day20_DiGui/ │ │ │ ├── .classpath │ │ │ ├── .project │ │ │ ├── .settings/ │ │ │ │ └── org.eclipse.jdt.core.prefs │ │ │ └── src/ │ │ │ └── cn/ │ │ │ ├── itcast_01/ │ │ │ │ └── DiGuiDemo.java │ │ │ ├── itcast_02/ │ │ │ │ ├── DiGuiDemo.java │ │ │ │ └── DiGuiTest.java │ │ │ └── itcast_03/ │ │ │ ├── DeleteFolderDemo.java │ │ │ └── GetAllFileNameDemo.java │ │ ├── day20_IO/ │ │ │ ├── .classpath │ │ │ ├── .project │ │ │ ├── .settings/ │ │ │ │ └── org.eclipse.jdt.core.prefs │ │ │ ├── a.txt │ │ │ ├── b.txt │ │ │ └── src/ │ │ │ └── cn/ │ │ │ ├── itcast_01/ │ │ │ │ ├── FileOutputStreamDemo.java │ │ │ │ ├── FileOutputStreamDemo2.java │ │ │ │ └── FileOutputStreamDemo3.java │ │ │ ├── itcast_02/ │ │ │ │ ├── FileInputStreamDemo.java │ │ │ │ └── FileInputStreamDemo2.java │ │ │ ├── itcast_03/ │ │ │ │ ├── CopyAviDemo.java │ │ │ │ ├── CopyFileDemo.java │ │ │ │ ├── CopyFileDemo2.java │ │ │ │ └── CopyImageDemo.java │ │ │ └── itcast_04/ │ │ │ ├── CopyAviDemo.java │ │ │ └── CopyFileDemo.java │ │ └── demo/ │ │ └── aaa/ │ │ └── ccc.txt │ ├── day20总结.txt │ └── 第九章_IO流.ppt ├── day21/ │ ├── code/ │ │ ├── day21_IO/ │ │ │ ├── .classpath │ │ │ ├── .project │ │ │ ├── .settings/ │ │ │ │ └── org.eclipse.jdt.core.prefs │ │ │ ├── a.txt │ │ │ ├── bos.txt │ │ │ └── src/ │ │ │ └── cn/ │ │ │ ├── itcast_01/ │ │ │ │ └── CopyImageDemo.java │ │ │ ├── itcast_02/ │ │ │ │ └── BufferedDemo.java │ │ │ ├── itcast_03/ │ │ │ │ └── CopyMP4Demo.java │ │ │ ├── itcast_04/ │ │ │ │ ├── FileInputStreamDemo.java │ │ │ │ └── StringDemo.java │ │ │ └── itcast_05/ │ │ │ └── StringDemo.java │ │ ├── day21_IO2/ │ │ │ ├── .classpath │ │ │ ├── .project │ │ │ ├── .settings/ │ │ │ │ └── org.eclipse.jdt.core.prefs │ │ │ ├── Copy.java │ │ │ ├── Demo.java │ │ │ ├── InputStreamReaderDemo.java │ │ │ ├── a.txt │ │ │ ├── b.txt │ │ │ ├── bw.txt │ │ │ ├── c.txt │ │ │ ├── isr.txt │ │ │ ├── osw.txt │ │ │ └── src/ │ │ │ └── cn/ │ │ │ ├── itcast_01/ │ │ │ │ ├── IOEncodeDemo.java │ │ │ │ ├── InputStreamReaderDemo.java │ │ │ │ └── OutputStreamWriterDemo.java │ │ │ ├── itcast_02/ │ │ │ │ └── CopyFileDemo.java │ │ │ ├── itcast_03/ │ │ │ │ ├── CopyFileDemo.java │ │ │ │ └── CopyFileDemo2.java │ │ │ └── itcast_04/ │ │ │ ├── BufferedDemo.java │ │ │ └── CopyFileDemo.java │ │ ├── day21_IOTest/ │ │ │ ├── .classpath │ │ │ ├── .project │ │ │ ├── .settings/ │ │ │ │ └── org.eclipse.jdt.core.prefs │ │ │ ├── array.txt │ │ │ ├── names.txt │ │ │ ├── s.txt │ │ │ ├── src/ │ │ │ │ └── cn/ │ │ │ │ ├── itcast_01/ │ │ │ │ │ ├── CopyBmpDemo.java │ │ │ │ │ └── CopyTxtDemo.java │ │ │ │ ├── itcast_02/ │ │ │ │ │ ├── ArrayListToFileDemo.java │ │ │ │ │ ├── FileToArrayListDemo.java │ │ │ │ │ └── GetNameDemo.java │ │ │ │ ├── itcast_03/ │ │ │ │ │ ├── ChangeNameDemo.java │ │ │ │ │ └── CopyFolderDemo.java │ │ │ │ ├── itcast_04/ │ │ │ │ │ ├── Student.java │ │ │ │ │ └── StudentDemo.java │ │ │ │ └── itcast_05/ │ │ │ │ └── StringDemo.java │ │ │ ├── ss.txt │ │ │ └── students.txt │ │ ├── day21_login_regist/ │ │ │ ├── .classpath │ │ │ ├── .project │ │ │ ├── .settings/ │ │ │ │ └── org.eclipse.jdt.core.prefs │ │ │ ├── src/ │ │ │ │ └── cn/ │ │ │ │ └── itcast/ │ │ │ │ ├── dao/ │ │ │ │ │ ├── UserDao.java │ │ │ │ │ └── impl/ │ │ │ │ │ └── UserDaoImpl.java │ │ │ │ ├── game/ │ │ │ │ │ └── GuessNumber.java │ │ │ │ ├── pojo/ │ │ │ │ │ └── User.java │ │ │ │ └── test/ │ │ │ │ └── UserTest.java │ │ │ └── user.txt │ │ ├── demo/ │ │ │ ├── HelloWorld.java │ │ │ ├── a.txt │ │ │ └── day20课后作业.doc │ │ └── java/ │ │ ├── ForDemo.java │ │ ├── ForDemo2.java │ │ ├── ForDemo3.java │ │ ├── ForDemo4.java │ │ ├── ForTest.java │ │ ├── ForTest2.java │ │ ├── ForTest3.java │ │ ├── ForTest4.java │ │ ├── ForTest5.java │ │ └── ForTest6.java │ ├── day21总结.txt │ └── 第九章_IO流.ppt ├── day22/ │ ├── code/ │ │ └── day22_IO/ │ │ ├── .classpath │ │ ├── .project │ │ ├── .settings/ │ │ │ ├── org.eclipse.core.resources.prefs │ │ │ └── org.eclipse.jdt.core.prefs │ │ ├── a.txt │ │ ├── array.txt │ │ ├── b.txt │ │ ├── playCount.txt │ │ ├── src/ │ │ │ └── cn/ │ │ │ ├── itcast_01/ │ │ │ │ ├── MyBufferedReader.java │ │ │ │ └── MyBufferedReaderDemo.java │ │ │ ├── itcast_02/ │ │ │ │ ├── LineNumberReaderDemo.java │ │ │ │ ├── MyLineNumberReader.java │ │ │ │ └── MyMyLineNumberReaderDemo.java │ │ │ ├── itcast_03/ │ │ │ │ ├── MyBufferedReader.java │ │ │ │ ├── MyLineNumberReader.java │ │ │ │ └── MyMyLineNumberReaderDemo.java │ │ │ ├── itcast_04/ │ │ │ │ └── DataStreamDemo.java │ │ │ ├── itcast_05/ │ │ │ │ └── ArrayStreamDemo.java │ │ │ ├── itcast_06/ │ │ │ │ ├── CopyFileDemo.java │ │ │ │ ├── PrintWriterDemo.java │ │ │ │ └── PrintWriterDemo2.java │ │ │ ├── itcast_07/ │ │ │ │ ├── PrintfDemo.java │ │ │ │ ├── SystemInDemo.java │ │ │ │ └── SystemOutDemo.java │ │ │ ├── itcast_08/ │ │ │ │ └── RandomAccessFileDemo.java │ │ │ ├── itcast_09/ │ │ │ │ └── SequenceInputStreamDemo.java │ │ │ ├── itcast_10/ │ │ │ │ ├── ObjectStreamDemo.java │ │ │ │ └── Person.java │ │ │ ├── itcast_11/ │ │ │ │ ├── GuessNumberGame.java │ │ │ │ ├── PropertiesDemo.java │ │ │ │ ├── PropertiesDemo2.java │ │ │ │ ├── PropertiesDemo3.java │ │ │ │ ├── PropertiesTest.java │ │ │ │ └── PropertiesTest2.java │ │ │ └── itcast_12/ │ │ │ └── JDK7Demo.java │ │ └── user.txt │ ├── day22.txt │ ├── day22总结.txt │ └── 第九章_IO流.ppt ├── day23/ │ ├── code/ │ │ └── day23_Thread/ │ │ ├── .classpath │ │ ├── .project │ │ ├── .settings/ │ │ │ └── org.eclipse.jdt.core.prefs │ │ └── src/ │ │ └── cn/ │ │ ├── itcast_01/ │ │ │ ├── MyThread.java │ │ │ └── MyThreadDemo.java │ │ ├── itcast_02/ │ │ │ ├── MyThread.java │ │ │ └── MyThreadDemo.java │ │ ├── itcast_03/ │ │ │ ├── ThreadPriority.java │ │ │ └── ThreadPriorityDemo.java │ │ ├── itcast_04/ │ │ │ ├── ThreadDaemon.java │ │ │ ├── ThreadDaemonDemo.java │ │ │ ├── ThreadJoin.java │ │ │ ├── ThreadJoinDemo.java │ │ │ ├── ThreadKill.java │ │ │ ├── ThreadKillDemo.java │ │ │ ├── ThreadSleep.java │ │ │ ├── ThreadSleepDemo.java │ │ │ ├── ThreadYield.java │ │ │ └── ThreadYieldDemo.java │ │ ├── itcast_05/ │ │ │ ├── MyRunnable.java │ │ │ └── MyRunnableDemo.java │ │ ├── itcast_06/ │ │ │ ├── MovieTicket.java │ │ │ └── MovieTicketDemo.java │ │ ├── itcast_07/ │ │ │ ├── MovieTicket.java │ │ │ └── MovieTicketDemo.java │ │ ├── itcast_08/ │ │ │ ├── MovieTicket.java │ │ │ └── MovieTicketDemo.java │ │ ├── itcast_09/ │ │ │ ├── MovieTicket.java │ │ │ └── MovieTicketDemo.java │ │ └── itcast_10/ │ │ ├── MovieTicket.java │ │ ├── MovieTicketDemo.java │ │ └── ThreadDemo.java │ ├── day23总结.txt │ └── 第十章_多线程.ppt ├── day24/ │ ├── code/ │ │ ├── day24_Pattern/ │ │ │ ├── .classpath │ │ │ ├── .project │ │ │ ├── .settings/ │ │ │ │ └── org.eclipse.jdt.core.prefs │ │ │ └── src/ │ │ │ └── cn/ │ │ │ ├── itcast_01/ │ │ │ │ ├── SingletDemo.java │ │ │ │ └── Student.java │ │ │ ├── itcast_02/ │ │ │ │ ├── SingletDemo.java │ │ │ │ └── Teacher.java │ │ │ └── itcast_03/ │ │ │ └── RuntimeDemo.java │ │ └── day24_Thread/ │ │ ├── .classpath │ │ ├── .project │ │ ├── .settings/ │ │ │ ├── org.eclipse.core.resources.prefs │ │ │ └── org.eclipse.jdt.core.prefs │ │ └── src/ │ │ └── cn/ │ │ ├── itcast_01/ │ │ │ ├── MovieTicket.java │ │ │ └── MovieTicketDemo.java │ │ ├── itcast_02/ │ │ │ ├── DieLock.java │ │ │ ├── DieLockDemo.java │ │ │ └── MyLock.java │ │ ├── itcast_03/ │ │ │ ├── GetThread.java │ │ │ ├── SetThread.java │ │ │ ├── Student.java │ │ │ └── StudentDemo.java │ │ ├── itcast_04/ │ │ │ ├── GetThread.java │ │ │ ├── SetThread.java │ │ │ ├── Student.java │ │ │ └── StudentDemo.java │ │ ├── itcast_05/ │ │ │ ├── GetThread.java │ │ │ ├── SetThread.java │ │ │ ├── Student.java │ │ │ └── StudentDemo.java │ │ ├── itcast_06/ │ │ │ ├── GetThread.java │ │ │ ├── SetThread.java │ │ │ ├── Student.java │ │ │ └── StudentDemo.java │ │ ├── itcast_07/ │ │ │ ├── ThreadGroupRunnable.java │ │ │ └── ThreadGroupRunnableDemo.java │ │ ├── itcast_08/ │ │ │ ├── MyRunnable.java │ │ │ └── ThreadPoolDemo.java │ │ ├── itcast_09/ │ │ │ ├── MyCallable.java │ │ │ └── ThreadPoolDemo.java │ │ ├── itcast_10/ │ │ │ ├── MyCallable.java │ │ │ └── ThreadPoolDemo.java │ │ ├── itcast_11/ │ │ │ └── NiMingDemo.java │ │ └── itcast_12/ │ │ ├── TimerDemo.java │ │ ├── TimerDemo2.java │ │ └── TimerTest.java │ ├── day24总结.txt │ ├── 扩展知识_面向对象增强(设计原则及常见设计模式).ppt │ └── 第十章_多线程.ppt ├── day25/ │ ├── code/ │ │ ├── Eclipse版本的登录注册/ │ │ │ ├── .classpath │ │ │ ├── .project │ │ │ ├── .settings/ │ │ │ │ ├── org.eclipse.core.resources.prefs │ │ │ │ └── org.eclipse.jdt.core.prefs │ │ │ ├── bin/ │ │ │ │ ├── cn/ │ │ │ │ │ └── itcast/ │ │ │ │ │ └── view/ │ │ │ │ │ ├── GuessNumberJFrame.form │ │ │ │ │ ├── LoginJFrame.form │ │ │ │ │ └── RegistJFrame.form │ │ │ │ └── 登录注册.txt │ │ │ ├── count.txt │ │ │ ├── src/ │ │ │ │ ├── cn/ │ │ │ │ │ └── itcast/ │ │ │ │ │ ├── dao/ │ │ │ │ │ │ ├── UserDao.java │ │ │ │ │ │ └── impl/ │ │ │ │ │ │ └── UserDaoImpl.java │ │ │ │ │ ├── pojo/ │ │ │ │ │ │ └── User.java │ │ │ │ │ ├── util/ │ │ │ │ │ │ └── UiUtil.java │ │ │ │ │ └── view/ │ │ │ │ │ ├── GuessNumberJFrame.form │ │ │ │ │ ├── GuessNumberJFrame.java │ │ │ │ │ ├── LoginJFrame.form │ │ │ │ │ ├── LoginJFrame.java │ │ │ │ │ ├── RegistJFrame.form │ │ │ │ │ └── RegistJFrame.java │ │ │ │ └── 登录注册.txt │ │ │ └── user.txt │ │ ├── day25_Frame/ │ │ │ ├── .classpath │ │ │ ├── .project │ │ │ ├── .settings/ │ │ │ │ └── org.eclipse.jdt.core.prefs │ │ │ ├── bin/ │ │ │ │ └── cn/ │ │ │ │ └── itcast_02/ │ │ │ │ └── 事件监听机制.txt │ │ │ ├── bw.txt │ │ │ └── src/ │ │ │ └── cn/ │ │ │ ├── itcast_01/ │ │ │ │ └── FrameDemo.java │ │ │ ├── itcast_02/ │ │ │ │ ├── FrameDemo.java │ │ │ │ ├── FrameDemo2.java │ │ │ │ └── 事件监听机制.txt │ │ │ ├── itcast_03/ │ │ │ │ └── ButtonDemo.java │ │ │ ├── itcast_04/ │ │ │ │ ├── TextDemo.java │ │ │ │ └── TextDemo2.java │ │ │ ├── itcast_05/ │ │ │ │ └── MouseDemo.java │ │ │ ├── itcast_06/ │ │ │ │ └── KeyDemo.java │ │ │ └── itcast_07/ │ │ │ ├── MenuDemo.java │ │ │ └── MenuDemo2.java │ │ ├── txz_demo/ │ │ │ ├── .classpath │ │ │ ├── .project │ │ │ ├── .settings/ │ │ │ │ └── org.eclipse.jdt.core.prefs │ │ │ ├── bin/ │ │ │ │ ├── .classpath │ │ │ │ └── .project │ │ │ └── src/ │ │ │ ├── .classpath │ │ │ ├── .project │ │ │ ├── App.java │ │ │ └── cn/ │ │ │ └── itcast/ │ │ │ └── txz/ │ │ │ └── ui/ │ │ │ ├── LogicHelper.java │ │ │ └── MainFrame.java │ │ ├── 修改皮肤要使用的资源/ │ │ │ ├── JTattoo.jar │ │ │ ├── MyLookAndFeel.java │ │ │ └── liquidlnf.jar │ │ ├── 四则运算/ │ │ │ ├── build/ │ │ │ │ └── classes/ │ │ │ │ ├── .netbeans_automatic_build │ │ │ │ ├── .netbeans_update_resources │ │ │ │ └── cn/ │ │ │ │ ├── itcast_01/ │ │ │ │ │ └── OperatorJFrame.form │ │ │ │ ├── itcast_02/ │ │ │ │ │ └── OperatorJFrame.form │ │ │ │ └── itcast_03/ │ │ │ │ └── OperatorJFrame.form │ │ │ ├── build.xml │ │ │ ├── manifest.mf │ │ │ ├── nbproject/ │ │ │ │ ├── build-impl.xml │ │ │ │ ├── genfiles.properties │ │ │ │ ├── private/ │ │ │ │ │ ├── private.properties │ │ │ │ │ └── private.xml │ │ │ │ ├── project.properties │ │ │ │ └── project.xml │ │ │ └── src/ │ │ │ └── cn/ │ │ │ ├── itcast/ │ │ │ │ └── util/ │ │ │ │ ├── MyLookAndFeel.java │ │ │ │ └── UiUtil.java │ │ │ ├── itcast_01/ │ │ │ │ ├── OperatorJFrame.form │ │ │ │ └── OperatorJFrame.java │ │ │ ├── itcast_02/ │ │ │ │ ├── OperatorJFrame.form │ │ │ │ └── OperatorJFrame.java │ │ │ └── itcast_03/ │ │ │ ├── OperatorJFrame.form │ │ │ └── OperatorJFrame.java │ │ └── 登录注册/ │ │ ├── build/ │ │ │ ├── built-jar.properties │ │ │ └── classes/ │ │ │ └── 登录注册.txt │ │ ├── build.xml │ │ ├── count.txt │ │ ├── dist/ │ │ │ ├── README.TXT │ │ │ └── ____.jar │ │ ├── manifest.mf │ │ ├── nbproject/ │ │ │ ├── build-impl.xml │ │ │ ├── genfiles.properties │ │ │ ├── private/ │ │ │ │ ├── private.properties │ │ │ │ └── private.xml │ │ │ ├── project.properties │ │ │ └── project.xml │ │ ├── src/ │ │ │ ├── cn/ │ │ │ │ └── itcast/ │ │ │ │ ├── dao/ │ │ │ │ │ ├── UserDao.java │ │ │ │ │ └── impl/ │ │ │ │ │ └── UserDaoImpl.java │ │ │ │ ├── pojo/ │ │ │ │ │ └── User.java │ │ │ │ ├── util/ │ │ │ │ │ └── UiUtil.java │ │ │ │ └── view/ │ │ │ │ ├── GuessNumberJFrame.form │ │ │ │ ├── GuessNumberJFrame.java │ │ │ │ ├── LoginJFrame.form │ │ │ │ ├── LoginJFrame.java │ │ │ │ ├── RegistJFrame.form │ │ │ │ └── RegistJFrame.java │ │ │ └── 登录注册.txt │ │ └── user.txt │ ├── day25总结.txt │ ├── 几句有用的代码.txt │ └── 第十一章_GUI(图形界面编程).ppt ├── day26/ │ ├── homework/ │ │ └── day26作业.docx │ └── resource/ │ ├── chat_socket_client/ │ │ ├── .classpath │ │ ├── .project │ │ ├── .settings/ │ │ │ └── org.eclipse.jdt.core.prefs │ │ └── src/ │ │ └── com/ │ │ └── elient/ │ │ ├── Client.java │ │ ├── Client_chatFrame.java │ │ ├── Client_enterFrame.java │ │ ├── Client_singleFrame.java │ │ └── WinCenter.java │ └── chat_socket_server/ │ ├── .classpath │ ├── .project │ ├── .settings/ │ │ └── org.eclipse.jdt.core.prefs │ └── src/ │ └── com/ │ └── server/ │ ├── BroadCast.java │ ├── ClientThread.java │ ├── Server.java │ ├── ServerFrame.java │ ├── ServerThread.java │ └── WinCenter.java └── 复习/ ├── day01review.txt ├── day02review.txt ├── day03review.txt └── day19review.txt ================================================ FILE CONTENTS ================================================ ================================================ FILE: LICENSE ================================================ The Artistic License 2.0 Copyright (c) 2015 独孤求败 Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble This license establishes the terms under which a given free software Package may be copied, modified, distributed, and/or redistributed. The intent is that the Copyright Holder maintains some artistic control over the development of that Package while still keeping the Package available as open source and free software. You are always permitted to make arrangements wholly outside of this license directly with the Copyright Holder of a given Package. If the terms of this license do not permit the full use that you propose to make of the Package, you should contact the Copyright Holder and seek a different licensing arrangement. Definitions "Copyright Holder" means the individual(s) or organization(s) named in the copyright notice for the entire Package. "Contributor" means any party that has contributed code or other material to the Package, in accordance with the Copyright Holder's procedures. "You" and "your" means any person who would like to copy, distribute, or modify the Package. "Package" means the collection of files distributed by the Copyright Holder, and derivatives of that collection and/or of those files. A given Package may consist of either the Standard Version, or a Modified Version. "Distribute" means providing a copy of the Package or making it accessible to anyone else, or in the case of a company or organization, to others outside of your company or organization. "Distributor Fee" means any fee that you charge for Distributing this Package or providing support for this Package to another party. It does not mean licensing fees. "Standard Version" refers to the Package if it has not been modified, or has been modified only in ways explicitly requested by the Copyright Holder. "Modified Version" means the Package, if it has been changed, and such changes were not explicitly requested by the Copyright Holder. "Original License" means this Artistic License as Distributed with the Standard Version of the Package, in its current version or as it may be modified by The Perl Foundation in the future. "Source" form means the source code, documentation source, and configuration files for the Package. "Compiled" form means the compiled bytecode, object code, binary, or any other form resulting from mechanical transformation or translation of the Source form. Permission for Use and Modification Without Distribution (1) You are permitted to use the Standard Version and create and use Modified Versions for any purpose without restriction, provided that you do not Distribute the Modified Version. Permissions for Redistribution of the Standard Version (2) You may Distribute verbatim copies of the Source form of the Standard Version of this Package in any medium without restriction, either gratis or for a Distributor Fee, provided that you duplicate all of the original copyright notices and associated disclaimers. At your discretion, such verbatim copies may or may not include a Compiled form of the Package. (3) You may apply any bug fixes, portability changes, and other modifications made available from the Copyright Holder. The resulting Package will still be considered the Standard Version, and as such will be subject to the Original License. Distribution of Modified Versions of the Package as Source (4) You may Distribute your Modified Version as Source (either gratis or for a Distributor Fee, and with or without a Compiled form of the Modified Version) provided that you clearly document how it differs from the Standard Version, including, but not limited to, documenting any non-standard features, executables, or modules, and provided that you do at least ONE of the following: (a) make the Modified Version available to the Copyright Holder of the Standard Version, under the Original License, so that the Copyright Holder may include your modifications in the Standard Version. (b) ensure that installation of your Modified Version does not prevent the user installing or running the Standard Version. In addition, the Modified Version must bear a name that is different from the name of the Standard Version. (c) allow anyone who receives a copy of the Modified Version to make the Source form of the Modified Version available to others under (i) the Original License or (ii) a license that permits the licensee to freely copy, modify and redistribute the Modified Version using the same licensing terms that apply to the copy that the licensee received, and requires that the Source form of the Modified Version, and of any works derived from it, be made freely available in that license fees are prohibited but Distributor Fees are allowed. Distribution of Compiled Forms of the Standard Version or Modified Versions without the Source (5) You may Distribute Compiled forms of the Standard Version without the Source, provided that you include complete instructions on how to get the Source of the Standard Version. Such instructions must be valid at the time of your distribution. If these instructions, at any time while you are carrying out such distribution, become invalid, you must provide new instructions on demand or cease further distribution. If you provide valid instructions or cease distribution within thirty days after you become aware that the instructions are invalid, then you do not forfeit any of your rights under this license. (6) You may Distribute a Modified Version in Compiled form without the Source, provided that you comply with Section 4 with respect to the Source of the Modified Version. Aggregating or Linking the Package (7) You may aggregate the Package (either the Standard Version or Modified Version) with other packages and Distribute the resulting aggregation provided that you do not charge a licensing fee for the Package. Distributor Fees are permitted, and licensing fees for other components in the aggregation are permitted. The terms of this license apply to the use and Distribution of the Standard or Modified Versions as included in the aggregation. (8) You are permitted to link Modified and Standard Versions with other works, to embed the Package in a larger work of your own, or to build stand-alone binary or bytecode versions of applications that include the Package, and Distribute the result without restriction, provided the result does not expose a direct interface to the Package. Items That are Not Considered Part of a Modified Version (9) Works (including, but not limited to, modules and scripts) that merely extend or make use of the Package, do not, by themselves, cause the Package to be a Modified Version. In addition, such works are not considered parts of the Package itself, and are not subject to the terms of this license. General Provisions (10) Any use, modification, and distribution of the Standard or Modified Versions is governed by this Artistic License. By using, modifying or distributing the Package, you accept this license. Do not use, modify, or distribute the Package, if you do not accept this license. (11) If your Modified Version has been derived from a Modified Version made by someone other than you, you are nevertheless required to ensure that your Modified Version complies with the requirements of this license. (12) This license does not grant you the right to use any trademark, service mark, tradename, or logo of the Copyright Holder. (13) This license includes the non-exclusive, worldwide, free-of-charge patent license to make, have made, use, offer to sell, sell, import and otherwise transfer the Package with respect to any patent claims licensable by the Copyright Holder that are necessarily infringed by the Package. If you institute patent litigation (including a cross-claim or counterclaim) against any party alleging that the Package constitutes direct or contributory patent infringement, then this Artistic License to you shall terminate on the date that such litigation is filed. (14) Disclaimer of Warranty: THE PACKAGE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS "AS IS' AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES. THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT ARE DISCLAIMED TO THE EXTENT PERMITTED BY YOUR LOCAL LAW. UNLESS REQUIRED BY LAW, NO COPYRIGHT HOLDER OR CONTRIBUTOR WILL BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING IN ANY WAY OUT OF THE USE OF THE PACKAGE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ================================================ FILE: README.md ================================================ ## Java * 27天成为Java大神 ## Disclaimer 版权归原作者所有,欢迎自由转载-非商用-非衍生-保持署名和链接。 ================================================ FILE: day01/code/01_HelloWorld案例/HelloWorld.java ================================================ class HelloWorld { public static void main(String[] args) { System.out.println("Ұϼ"); } } ================================================ FILE: day01/code/01_HelloWorld案例/Student.java ================================================ //עͣڽ˵ /* ע͵ķࣺ ע һڽ˵г ʽǣ//ע ע һڽ˵г ʽǣ ĵע һǶ߷˵javadoc߽һĵ˵顣 ʽǣ */ //ע⣺עͲǶдעͿԡ //ҵѧ //classjava //ĸʽǣclass /* ҵѧ classjava ĸʽǣclass */ /** */ class Student { public static void main(String[] args) { System.out.println("ѧ"); } } ================================================ FILE: day01/code/02_带注释的HelloWorld案例/Demo.java ================================================ /* ע͵ã A:˵߳Ķ B:԰ǵԳ */ class Demo { public static void main(String[] args) { System.out.println("HelloWorld"); System.out.println("Ұϼ"); System.out.println("ҰJava"); System.out.println("Ұ"); } } ================================================ FILE: day01/code/02_带注释的HelloWorld案例/HelloWorld.java ================================================ /* ҪHelloWorld A:javaĵλ࣬Ҫһ B:javaҪܹУ C:Ҫ 裺 A:ĸʽ class { // } B:ĸʽ public static void main(String[] args) { // } C:ĸʽ System.out.println("ǿԸ"); ǵ˼ôֳ */ //ҵĴע͵HelloWorld //class class HelloWorld { /* main maindz jvmԶmain */ public static void main(String[] args) { // System.out.println("HelloWorld"); } } ================================================ FILE: day01/code/03_关键字/KeyWord.java ================================================ /* ؼ֣JavaԸضĵ ؼֵص㣺ؼֶСд ؼע A:gotoconstΪִ,Ŀǰʹ B:Editplusĸ߼±,Թؼɫǣdzֱ */ class KeyWord { public static void main(String[] args) { System.out.println("HelloWorld"); } } ================================================ FILE: day01/code/04_标识符/NameDemo.java ================================================ /* ʶǸ,ӿ,,ʱʹõַ(ַ) ɹ A:ӢĸСд B: C:_$ ע A:ֿͷ B:JavaеĹؼ C:ִСд Student,student 򣺼֪ A: ʵļ,ڽͬ ȫСд com ༶cn.itcast B:߽ӿ һʣĸд Student,Person,Teacher ʣÿʵĸд HelloWorld,MyName,NameDemo C:߱ һʣȫСд name,age,show() ʣӵڶʿʼÿĸд myName,showAllStudentNames() D: һʣȫд AGE ʣÿʶд_ STUDENT_MAX_AGE */ class NameDemo { public static void main(String[] args) { System.out.println("Hello World!"); } } ================================================ FILE: day01/code/04_标识符/基础班/Student.txt ================================================ ================================================ FILE: day01/code/04_标识符/就业班/Student.txt ================================================ ================================================ FILE: day01/day01总结.txt ================================================ 1:(˽) (1) (2)Ӳ (3) (4) (5) (6)˻ʽ() A:ͼλ淽ʽ B:зʽ (7)̵Ĺܼʶ (8)õĿݼ( Լݼ) A:ȫѡ B: C:ճ D: E: F: 2:DOS() (1)л̷() d: س (2)ʾijĿ¼µļļ() dir س (3)ļ md ļ س (4)ɾļ rd ļ س (5)Ŀ¼() cd Ŀ¼ ༶ cd Ŀ¼1\Ŀ¼2\... (6)Ŀ¼() cd.. ˸Ŀ¼ cd\ (7)ɾļ del ļ *.txt Աʾļ (8)() cls (9)˳ exit (10)չDOS ɾݵļ rd /s ļ ʾǷɾ rd /q /s ļ ֱɾ 3:JavaԷչʷ(˽) (1)Java֮ (2)JDKİ汾 1.4.2 1.5 1.6 1.7 1.8 (3)JavaԵƽ̨ JavaSE JavaEE JavaME(Android) (4)JavaԵص 4:JDK,JRE,JVM() (1)JVM ֤JavaԿƽ̨ԲͬIJϵͳṩͬJVM ⣺javaǿƽ̨?JVMǿƽ̨? (2)JRE javaлJVMͺ (3)JDK javaJREͿ(javac,java) 5:JDKأװж() (1) أ߰ٶҲԡ (2)װ װ һװɡһ㽨鲻Ҫпոġ ɫ ѹͿʹ (3)ж װ ͨ360߿ ɫ ֱɾļм 6:HelloWorld() (1)д class HelloWorld { public static void main(String[] args) { System.out.println("HelloWorld"); } } (2)͸ó A:classģʽ: class {} B:ҪУʽǣ public static void main(String[] args) { } C:Ҫݣ䣬ʽǣ System.out.println("HelloWorld"); (3)ı A:javac򣬺ļ javac HelloWorld.java B:javaִг򣬺classļƣչ java HelloWorld (4)һJavaĿ A:дJavaԴ B:ͨjavacjavaֽļ C:ͨjavaֽļ 7:HelloWorld() (1)ļԲһ£ǽһ (2)Ҳļ (3)д(Сдƴд) (4)ƥ⣬дʱ򣬳ɶд (5)Ӣ⣬javaһ㶼Ӣ״̬ (6)ĩβȱٷֺ 8:path() (1)ΪʲôҪpath ΪjavacjavaĿ¼ʹ (2) A:ʽ1 ֱ޸pathǰ׷JDKbinĿ¼ B:ʽ2() ½JAVA_HOME: JDKİװĿ¼ ޸path: %JAVA_HOME%\bin;ǰĻ 9:classpath() (1)ΪʲôҪclasspath ΪclassļĿ¼ (2) ½classpathҪĿ¼еclassļĿ¼ùȥɡ ע⣺ִеʱȺ˳ϵ (3)pathclasspath pathΪexeļĿ¼ classpathΪclassļĿ¼ (10)ע() (1)ע:ڽ˵ (2)ࣺ A:У//ע B:У/* ע */ C:ĵעͣ/** ע */ (3)ע͵HelloWorld (4)ע͵ã A:˵߳Ķ B:ǵԳ (11)ؼ() (1)ؼ:Javaضĵ (2)ص:ȫСд (3)ע A:gotoconstΪִڣĿǰʹ B:Editplusĸ߼±Թؼɫǣ (12)ʶ() (1)ʶ࣬ӿڣֵ߱ķ (2)ɹ A:ӢĸСд B: C:_$ (3)ע A:ֿͷ B:JavaеĹؼ C:ִСд Student,student (4)ʽ A: ʵļ,ڽͬ ȫСд com ༶cn.itcast B:߽ӿ һʣĸд Student,Person,Teacher ʣÿʵĸд HelloWorld,MyName,NameDemo C:߱ һʣȫСд name,age,show() ʣӵڶʿʼÿĸд myName,showAllStudentNames() D: һʣȫд AGE ʣÿʶд_ STUDENT_MAX_AGE ================================================ FILE: day01/课堂练习.txt ================================================ A:ݼ Ctrl+A ȫѡ Ctrl+C Ctrl+V ճ Ctrl+X Ctrl+Z Ctrl+S B:DOS d: س ̷л dir(directory):гǰĿ¼µļԼļ md (make directory) : Ŀ¼ rd (remove directory): ɾĿ¼ cd (change directory)ıָĿ¼(ָĿ¼) cd.. : ˻صһĿ¼ cd\: ˻صĿ¼ del (delete): ɾļ,ɾһѺ׺һļ*.txt exit : ˳dos cls : (clear screen) չ(ɾݵļ) rd /s ļ (ѯǷɾ) rd /q /s ļ (ɾ) C:JDK,JRE,JVMĹϵ JVM֤JavaԿƽ̨ JRE:JVM + JDK:JRE + tools(߰) D:HelloWorld java javac java -version E:жس a:һ װ һװ ɫ ѹͿʹ b:ж װ 360/ ɫ ֱɾļ F: a:ļԲһ? ԣDz顣ļһ¡ b:Ҳļ c:ƴд d:ƥ e:Ӣ ҵԼĴȫ¼wordͿˡ ҪͼҪ¼ԭ򣬽 G:path a:ΪʲôҪ ΪjavacĿ¼ʹ b: ʽ1JDKװĿ¼binĿ¼õpath D:\develop\Java\jdk1.7.0_72\bin;ǰĻ exeβļĸĿ¼õpathУͿͨDOSʹø ʽ2 ½JAVA_HOME JAVA_HOME ֵJDKİװ· D:\develop\Java\jdk1.7.0_72 ޸path %JAVA_HOME%\bin;ǰĻ c:ϰ ԼûԼָĿ¼ȱдjavaС H:װEditplus a:װ ر򵥣ס·Ҽ b:ͨù½һHelloWorldС c:ȥļ -- ѡ -- ļ -- ѱʱļĹȥ d:javacjava -- û -- ޸ -- û -- ѡղŸǸ -- javac -- û -- ѡղŸǸ -- java 岽裬javacjavaͼ c:ϰ װEditplusȻͨùʵֳı ================================================ FILE: day02/code/01_常量/ConstantDemo.java ================================================ /* ڳִеĹֵԷı ࣺ A:ֵ 112.5 B:Զ峣(󲿷ֽ) ֵࣺ A:ַ "" B: е C:С еĴС D:ַ õ E: ֵֻtruefalse F:ճ null(鲿ȥ) */ class ConstantDemo { public static void main(String[] args) { //ַ System.out.println("HelloWorld"); // System.out.println(100); //С System.out.println(12.345); //ַ System.out.println('A'); //Ǵ //System.out.println('BC'); System.out.println('1'); // System.out.println(true); System.out.println(false); } } ================================================ FILE: day02/code/02_进制转换/JinZhiDemo.java ================================================ /* 0,1ɡ0bͷ ˽ 0,1,7ɡ0ͷ ʮ 0,1,9ɡĬʮƵ ʮ 0,1,9,a,b,c,d,e,f(Сд)0xͷ */ class JinZhiDemo { public static void main(String[] args) { System.out.println(0b100);//4 System.out.println(0100);//64 System.out.println(100);//100 System.out.println(0x100);//256 } } ================================================ FILE: day02/code/04_数据类型/Array2Sum.java ================================================ /* */ class Array2Sum { public static void main(String[] args) { int[][] arr = {{22,66,44},{77,33,88},{25,45,65},{11,66,99}}; int sum = 0; for (int i=0; i= arr.length) { break; } } /* for (i = 0; i max) { max = arr[i]; } } return max; } //ת public static void reverse(int[] arr) { for (int start=0,end=arr.length; start<=end; start++,end--) { int temp = arr[start]; arr[start] = arr[end]; arr[end] = temp; } } //Ԫصһγֵ public static int indexOfArray(int[] arr, int key) { int index = -1; for (int i=0; iint-->long-->float-->double B:byte,short,char໥֮䲻תDzתΪint */ class DataTypeDemo { public static void main(String[] args) { //һ int a = 10; int b = 20; System.out.println(a + b); int c = a + b; System.out.println(c); System.out.println("--------------"); // byte by = 3; int i = 4; System.out.println(by + i); int j = by + i; System.out.println(j); } } ================================================ FILE: day02/code/05_类型转换/DataTypeDemo2.java ================================================ /* ǿת:ӴСʹãΪоȵĶʧ Ŀ =(Ŀ)(ת); */ class DataTypeDemo2 { public static void main(String[] args) { // byte by = 3; int i = 4; byte bb = (byte)(by + i); System.out.println(bb); } } ================================================ FILE: day02/code/05_类型转换/DataTypeDemo3.java ================================================ /* +:ӷ A:ݲ B:ַ+ ASCII '0' 48 'A' 65 'a' 97 C:ַ+ ַIJУַӷ */ class DataTypeDemo3 { public static void main(String[] args) { System.out.println('a'); System.out.println('a'+1); System.out.println('A'+0); System.out.println('0'+0); System.out.println("-----------"); System.out.println('a'+'b'); System.out.println("a"+"b"); System.out.println("hello"+'a'+1); //ַƴĶַ System.out.println('a'+1+"hello"); System.out.println("5+5="+5+5); System.out.println(5+5+"=5+5"); } } ================================================ FILE: day02/code/05_类型转换/DataTypeTest.java ================================================ /* byte b1=3,b2=4,b; b=b1+b2; b=3+4; ľDZʧܵأΪʲôأ b=b1+b2; ԭ ӣʾͣ ӣȻжϽǷߵķΧݣھͲڣ */ class DataTypeTest { public static void main(String[] args) { byte b1=3,b2=4,b; //b = b1+b2; //ұԶ b = 3+4; } } ================================================ FILE: day02/code/05_类型转换/DataTypeTest2.java ================================================ /* byte b = 130;û?øֵȷô?Ƕ? */ class DataTypeTest2 { public static void main(String[] args) { //byte b = 130; // //1 //int a = 130; //2 byte b = (byte) 130; System.out.println(b); } } /* ʮƣ130 A:һȰʮתΪ ƣ000000000 000000000 000000000 100000010 ڴ˶һԣҲ000000000 000000000 000000000 100000010 B:ǿת ƣ000000000 000000000 000000000 100000010 ȡͱˣ100000010 C:Dz룬㿴ԭ λ ֵλ 룺 1 00000010 룺 1 00000001 ԭ룺 1 11111110 */ ================================================ FILE: day02/code/05_类型转换/DataTypeTest3.java ================================================ class DataTypeTest3 { public static void main(String[] args) { byte b = (byte)300; System.out.println(b); System.out.println((byte)127); System.out.println((byte)128); System.out.println((byte)129); System.out.println((byte)130); System.out.println((byte)131); } } /* ʮƣ300 A:ʮתΪ 00000000 00000000 00000001 00101100 B:ȡ 0 0101100 */ ================================================ FILE: day02/code/06_算术运算符/OperatorDemo.java ================================================ /* 㣺ԳͱвĹ̳Ϊ㡣 ԳͱвķųΪ ʽѳͱʽ a + b ע⣺ʽн ֵ Ƚ ߼ λ Ŀ +-*/%++-- */ class OperatorDemo { public static void main(String[] args) { System.out.println(10+20); System.out.println(10-20); System.out.println(10*20); //ֻܵõ System.out.println(10/20); //ҪõСԳԻ߳1.0 System.out.println(10/1.0/20); //ӷ÷:,ӷ,ַӷ System.out.println(+5); System.out.println(1+2); System.out.println("1"+"2"); } } ================================================ FILE: day02/code/06_算术运算符/OperatorDemo2.java ================================================ /* /: %: ע⣺ %ս͵һݵķء */ class OperatorDemo2 { public static void main(String[] args) { //%/һһ System.out.println(5/3); System.out.println(5%3); //⣺жĸš //%,Ϊ0˵ System.out.println(5%3); //2 System.out.println(5%-3);//2 System.out.println(-5%3);//-2 System.out.println(-5%3);//-2 } } ================================================ FILE: day02/code/06_算术运算符/OperatorDemo3.java ================================================ /* ++,--Լ һi, i++ͱʾֵ1 i--ͱʾֵ1 ÷ A:ʹ ڲݵǰЧһ B:ʹ ڲǰ棬ԼȻٲ ڲ棬Ȳ㣬ȻԼ */ class OperatorDemo3 { public static void main(String[] args) { int a = 10; int b = a++; System.out.println(a);//11 System.out.println(b);//10 System.out.println("------------"); int c = 10; int d = ++c; System.out.println(c);//11 System.out.println(d);//11 System.out.println("------------"); int e = 10; //e++; ++e; System.out.println(e); } } ================================================ FILE: day02/code/06_算术运算符/OperatorTest.java ================================================ /* һ⣺ int a = 10; int b = 10; int c = 10; a = b++; c = --a; b = ++a; a = c--; ֱa,b,cֵ ڶ⣺ int a = 4; int b = (a++)+(++a)+(a*10); */ class OperatorTest { public static void main(String[] args) { /* int a = 10; int b = 10; int c = 10; a = b++;//a=10,b=11,c=10 c = --a;//a=9,b=11,c=9 b = ++a;//a=10,b=10,c=9 a = c--;//a=9,b=10,c=8 System.out.println(a); System.out.println(b); System.out.println(c); System.out.println("--------------"); */ /* int a = 4; int b = (a++)+(++a)+(a*10); //= 4 + 6 + 60 //= 70 System.out.println(a); System.out.println(b); */ //int i = 1; //System.out.println(i+++i+++i+++i++); //i++ + i++ + i++ + i++ //1 + 2 + 3 + 4 int i = 1; System.out.println(i++ + ++i + i++ + ++i);//1+3+3+5 //i++ + ++i + i++ + ++i //1 + 3 + 3 + 5 } } ================================================ FILE: day02/code/07_赋值运算符/OperatorDemo.java ================================================ /* ֵ = ϣ+=,-=,*=,/=,%=,... */ class OperatorDemo { public static void main(String[] args) { //10ֵint͵ıa int a = 10; //ϵ÷ int b = 10; b += 20; //ȼڣb = b + 20; System.out.println(b); } } ================================================ FILE: day02/code/07_赋值运算符/OperatorTest.java ================================================ /* ⣺ short s=1, s = s+1; short s=1, s+=1; û⣬У */ class OperatorTest { public static void main(String[] args) { //short s = 1; //s = s + 1; //⣬ʧ short s = 1; s += 1; //s = s + 1; //ûġ //Ϊʽӵȼڣ // s = (s)(s + 1); } } ================================================ FILE: day02/code/08_关系运算符/OperatorDemo.java ================================================ /* ϵ ==,!=,>,>=,<,<= ص㣺 ۱ʽǼ򵥻Ǹӣ϶boolean͡ ע ϵ==дɡ= */ class OperatorDemo { public static void main(String[] args) { int a = 10; int b = 10; int c = 20; System.out.println(a == b); System.out.println(a == c); System.out.println((a + b*c) == (a*b + c)); System.out.println("----------------"); System.out.println(a = b); //bֵֵaaֵΪ System.out.println(a = c); } } ================================================ FILE: day02/code/08_关系运算符/OperatorDemo2.java ================================================ /* &&&? ǰж·ЧֻҪfalseұִ߲СߣȫִС |||? ǰж·ЧֻҪtrueұִ߲СߣȫִС */ class OperatorDemo2 { public static void main(String[] args) { int a = 10; int b = 20; int c = 30; //&:߼ falsefalse System.out.println(a>b & a>c); //false & false = false System.out.println(a>b & ac); //true & false = false System.out.println(ab && a>c); //false && false = false System.out.println(a>b && ac); //true && false = false System.out.println(ab | a>c); //false | false = false System.out.println(a>b | ac); //true | false = true System.out.println(ab || a>c); //false || false = false System.out.println(a>b || ac); //true || false = true System.out.println(a3 & (y++)>4); //false & false = false //System.out.println(x);//4 //System.out.println(y);//5 System.out.println((x++)>3 && (y++)>4); System.out.println(x);//4 System.out.println(y);//4 } } ================================================ FILE: day02/code/09_逻辑运算符/OperatorDemo.java ================================================ /* ߼ &,|,!,^ &&,|| ע⣺ ߼ӵӦһʽ */ class OperatorDemo { public static void main(String[] args) { //&,|,!,^ int a = 10; int b = 20; int c = 30; //&:߼ falsefalse System.out.println(a>b & a>c); //false & false = false System.out.println(a>b & ac); //true & false = false System.out.println(ab | a>c); //false | false = false System.out.println(a>b | ac); //true | false = true System.out.println(ab ^ a>c); //false ^ false = false System.out.println(a>b ^ ac); //true ^ false = true System.out.println(ab));//false System.out.println(!(a>b));//true System.out.println(!!(a>b));//false System.out.println(!!!(a>b));//true System.out.println(!!!!(a>b));//false } } ================================================ FILE: day02/day02总结.txt ================================================ 1:() (1)ڳйУֵı (2)ķࣺ A:ֵ B:Զ峣(󲿷ֽ) (3)ֵ A:ַ ""ݡ"helloworld" B: :1,200 C:С :12.5 D:ַ ''ݡ'a','A','0' E: Ƚ⣬ֵֻtrue,false F:ճ null(鲿ֽ) (4)Javaıʽ A: 0,1ɡ0bͷ B:˽ 0,1,2,3,4,5,6,7ɡ0ͷ C:ʮ 0,1,2,3,4,5,6,7,8,9ɡĬʮơ D:ʮ 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,Fɡ0xͷ ע⣺ĸִСд 2:() (1)һּķʽxƱʾx1 (2)ת A:Ƶʮ ϵ*^Ȩ֮͡ B:ʮƵ ȡ,ֱΪ0,ת C:ת a:ƺʮ 8421 b:ƺͰ˽ λ c:ƺʮ λ D:XƵYƵת ʹʮΪɡ 3:зݱʾ() (1)ݵĴ洢㶼Dzòеġ (2)ݵзűʾ 0ʾ,1ʾš A:ԭ :Ķ :ΪΪ1Ķ B: :ԭͬ :ԭ,λ䣬ֵλȡ1001 C: :ԭͬ :+1 (3)ݵзűʾϰ A:֪ԭ룬Ͳ B:֪룬ԭ롣 (4)䣺floatڼеıʾ λ ָλ λ S E M 3:() (1)ڳйУֵı (2)ʽ A: = ʼֵ; B: ; = ʼֵ; 4:() (1)ͷ A:ͣ48 B:ͣ࣬ӿڣ (2) A: ռõڴռ byte 1 short 2 int 4 long 8 B: float 4 double 8 C:ַ char 2 D: boolean 1 ⣺JavaеַԴ洢һ?Ϊʲô? (3)ע(رע) A:ĬintͣĬdouble(һҪرעʽת) B:longݵʱ򣬽LlƼL floatݵʱ򣬽FfƼF (fFᱨʧȵĴ) (4)ʹñע A: ÿһĴЧңͬһܶͬı (forѭ()жıfor{}жͬ) B:ʼֵ ֵʹ C:һ϶ һ϶Dz顣 int a,b; a = 10; b = 20; int a = 10,b = 20; int a = 10; int b = 20; 5:ת() ע⣺ booleanͲ롣 (1)ʽתС byte,short,char --> int --> long --> float --> double longΪʲôԵfloat? A:Ϊlongfloatĵײ洢ṹͬ B:ݷΧ long: 2^63 float: 3.4*10^38 3.4*10^38 > 3.4*8^38 = 3.4*2^3^38 = 3.4*2^114 > 2^63 (2)ǿתӴС һ㲻Ϊоȵʧ ʽ Ŀ = (Ŀ)(ת); 6:() (1)㣺ԳͱвĹ̳Ϊ㡣 (2)ԳͱвķųΪ (3)ʽѳͱʽ ע⣺ʽн 7:() (1)+,-,*,/,%,++,-- (2)+: ӷ ַӷ (3)%/ % / õСԳԻ߳1.0 %ĽķźǰǸһ¡ (4)++,-- A:ʹ ݵǰͺЧһ B:ʹ ݵǰ棬ݱ仯ٲ㡣 ݵĺ棬Ȳ㣬ݱ仯 C:++,--ϰ⡣ 8:ֵ() (1)=,+=,-=,*=,/=,%=,... (2)÷ int a = 10; 10ֵint͵ıa (3)÷ int a = 10; a += 20; ֵȼڣa = a + 20; ߺұߵĽֵߣǿתΪߵ͡ (4) short s = 1; s = s + 1; short s = 1, s +=1; ĸ⡣ 9:ϵ() (1)==,!=,>,>=,<,<= (2)ע⣺ A:۱ʽ򵥻Ǹӣ϶boolean B:ǧҪ"=="д"=" 10:߼() (1)&,|,^,!,&&,|| (2)÷ &:falsefalse |:truetrue ^:ͬfalseͬtrue(¹ϵ)(ֵַʽ) !:żֵ䣻ֵ෴ (3)˫÷: &&,||&,| &&ж·ЧΪfalseұִ߲С ||ж·ЧΪtrueұִ߲С ================================================ FILE: day02/课堂练习.txt ================================================ 1:ƵʮƵת 0b10110 = 22 073 = 59 0x3c = 60 2:ʮƵƵת 60 0b111100074,0x3c 3:зݱʾϰ ֪ijXԭΪ0b10110100XķͲ롣 ֪ijXIJ0b11101110ԭ롣 4:D̽һļ20150309,ȻдHelloWorld Ҫͨwindows±ʵ֣ͨDOSڱС 5:++,--ϰ int a = 10; int b = 10; int c = 10; a = b++; c = --a; b = ++a; a = c--; ֱa,b,cֵ 6:΢һĿ int a = 4; int b = (a++)+(++a)+(a*10); ================================================ FILE: day03/code/01_位运算符/OperatorDemo.java ================================================ /* λλһȰתɶƣȻ㡣 ⣺&&&? A:&&&Ϊ߼㣬&&ж·Ч B:&Ϊλ㡣 */ class OperatorDemo { public static void main(String[] args) { //&,|,^,~ System.out.println(3 & 4); //0 System.out.println(3 | 4); //7 System.out.println(3 ^ 4); //7 System.out.println(~3); // } } /* A:34Ķ 3Ķƣ00000000 00000000 00000000 00000011 4Ķƣ00000000 00000000 00000000 00000100 B:λ& 00 00000000 00000000 00000000 00000011 &00000000 00000000 00000000 00000100 ------------------------------------ 00000000 00000000 00000000 00000000 C:λ| 11 00000000 00000000 00000000 00000011 &00000000 00000000 00000000 00000100 ------------------------------------ 00000000 00000000 00000000 00000111 D:λ^ ͬ0ͬ1 00000000 00000000 00000000 00000011 &00000000 00000000 00000000 00000100 ------------------------------------ 00000000 00000000 00000000 00000111 E:λ~ ÿλλȡ 00000000 00000000 00000000 00000011 ~11111111 11111111 11111111 11111100 :11111111 11111111 11111111 11111011 ԭ:10000000 00000000 00000000 00000100 */ ================================================ FILE: day03/code/01_位运算符/OperatorDemo2.java ================================================ /* <<:ƣұ߲0 >>:ƣλȷ01 >>>:޷ ߲0 */ class OperatorDemo2 { public static void main(String[] args) { /* System.out.println(4 << 2); //16 = 4 * 2^2 System.out.println(3 << 3); //3 * 2 ^ 3 System.out.println(32 >> 2); //32 / 2^2 System.out.println(32 >>> 2); */ System.out.println(-32 >> 2); System.out.println(-32 >>> 2); } } /* A:<< 4Ķƣ 00000000 00000000 00000000 00000100 (00)000000 00000000 00000000 0000010000 B:>>> ԭ10000000 00000000 00000000 00100000 11111111 11111111 11111111 11011111 11111111 11111111 11111111 11100000 >>> 11111111 11111111 11111111 11100000 0011111111 11111111 11111111 111000(00) */ ================================================ FILE: day03/code/01_位运算符/OperatorTest.java ================================================ /* λ^ţͬһΣֵ ⣺ ݽн ˵ûָݵͣĬint͡ҽΡ */ class OperatorTest { public static void main(String[] args) { /* System.out.println(1 ^ 2 ^ 2);//1 System.out.println(1 ^ 1 ^ 2);//2 System.out.println(15 ^ 3 ^ 7 ^ 7 ^ 3);//15 */ // int a = 10; int b = 20; //System.out.println(a+"---"+b); System.out.println("a="+a+",b="+b); //ô? //ʽ1ʹõгô˷ /* int temp = a; a = b; b = temp; System.out.println("a="+a+",b="+b); */ //ʽ2ãa+bѾΧˡ /* a = a + b; //a=30 b = a - b; //b=10 a = a - b; //a=20 System.out.println("a="+a+",b="+b); */ //ʽ3ãa+bѾΧˡ //a = (a+b) - (b=a); //һ仰㶨 //System.out.println("a="+a+",b="+b); //ʽ4 a = a ^ b; b = a ^ b; //b = a ^ b = a ^ b ^ b = a; a = a ^ b; //a = a ^ b = a ^ b ^ a = b; System.out.println("a="+a+",b="+b); //䣺ߣa,b,aұa^b } } ================================================ FILE: day03/code/02_三元运算符/OperatorDemo.java ================================================ /* Ԫ ʽ (ϵʽ)?ʽ1ʽ2 ִ̣ ϵʽ䷵ֵ true:ʽ1ʽֵ false:ʽ2ʽֵ */ class OperatorDemo { public static void main(String[] args) { //ȡеĽϴֵ int x = 3; int y = 4; int z = (x > y)? x : y; System.out.println(z); //ȽǷ int a = 4; int b = 4; //boolean flag = (a==b)?true:false; boolean flag = (a == b); System.out.println(flag); //ȡеĽϴֵ int c = 30; int d = 40; int e = 50; //int max = (c>d)?(c>e?c:e):(d>e?d:e); int temp = (c>d)?c:d; int max = (temp>e)?temp:e; System.out.println(max); } } ================================================ FILE: day03/code/03_键盘录入数据/OperatorDemo.java ================================================ /* Ϊ˳ݸӵǾ¼ݡ ʹü¼?Ŀǰ͸Ҽסˡ A: import java.util.Scanner; class B: Scanner sc = new Scanner(System.in); C:ȡ int i = sc.nextInt(); */ import java.util.Scanner; class OperatorDemo { public static void main(String[] args) { //¼ Scanner sc = new Scanner(System.in); System.out.println("һ"); //ȡ int i = sc.nextInt(); System.out.println("i:"+i); } } ================================================ FILE: day03/code/03_键盘录入数据/OperatorTest.java ================================================ /* 󣺼¼ݣͣ A:¼ݣͨScannerʵ֡ import java.util.Scanner; Scanner sc = new Scanner(System.in); ȡ int i = sc.nextInt(); B:¼ Ծint i = sc.nextInt();Ρֱòͬı int i = sc.nextInt(); int j = sc.nextInt(); C:ݵĺ int sum = i + j; D: System.out.println(sum); */ import java.util.Scanner; class OperatorTest { public static void main(String[] args) { //¼ Scanner sc = new Scanner(System.in); //¼ System.out.println("һݣ"); int firstNumber = sc.nextInt(); System.out.println("ڶݣ"); int secondNumber = sc.nextInt(); //ӷ int sum = firstNumber + secondNumber; // System.out.println("ݺǣ"+sum); } } ================================================ FILE: day03/code/03_键盘录入数据/OperatorTest2.java ================================================ /* 󣺼¼ݣȡеֵ A:¼ B:ȡֵԪʵ C:ֵ */ import java.util.Scanner; class OperatorTest2 { public static void main(String[] args) { //¼ Scanner sc = new Scanner(System.in); //ȡ¼ System.out.println("һݣ"); int a = sc.nextInt(); System.out.println("ڶݣ"); int b = sc.nextInt(); //ȡֵ int max = (a>b)?a:b; // System.out.println("ֵǣ"+max); } } ================================================ FILE: day03/code/03_键盘录入数据/OperatorTest3.java ================================================ /* ¼ݣȡеֵ */ import java.util.Scanner; class OperatorTest3 { public static void main(String[] args) { //¼ Scanner sc = new Scanner(System.in); //ȡ¼ System.out.println("һݣ"); int a = sc.nextInt(); System.out.println("ڶݣ"); int b = sc.nextInt(); System.out.println("ݣ"); int c = sc.nextInt(); //ȡݵֵ int temp = (a>b)?a:b; int max = (temp>c)?temp:c; // System.out.println("ֵǣ"+max); } } ================================================ FILE: day03/code/03_键盘录入数据/OperatorTest4.java ================================================ /* ¼ݣȽǷ */ import java.util.Scanner; class OperatorTest4 { public static void main(String[] args) { //¼ Scanner sc = new Scanner(System.in); //ȡ¼ System.out.println("һݣ"); int a = sc.nextInt(); System.out.println("ڶݣ"); int b = sc.nextInt(); //ȽǷ //boolean flag = (a==b)?true:false; boolean flag = (a==b); // System.out.println(flag); } } ================================================ FILE: day03/code/04_顺序结构语句/OrderDemo.java ================================================ /* dz̿ƣûض﷨ṹմȺ˳ ִУдĴ붼ִеġ ܵ˵дǰִУдںĺִ */ class OrderDemo { public static void main(String[] args) { System.out.println("Ұϼ"); System.out.println("ҰJava"); System.out.println("Ұ"); System.out.println("ϼ"); } } ================================================ FILE: day03/code/05_选择结构(if语句)/IfDemo.java ================================================ /* ѡṹif䣬switch䡣 ifָʽ ifʽ1 if(ϵʽ) { ; } ִ̣ A:ϵʽ B:trueִ falseͲִ C:ִ */ class IfDemo { public static void main(String[] args) { int x = 3; if(x == 3) { System.out.println("x3"); //x = 10; } if(x > 5) { System.out.println("x5"); } System.out.println("over"); } } ================================================ FILE: day03/code/05_选择结构(if语句)/IfDemo2.java ================================================ /* ifע A:ϵʽۼ򵥻Ǹӣboolean B:жϵʱ򣬽鳣ߡ C:ifƵһ䣬ſʡԣ Ƕ䣬ͲʡԡԶҪʡ D:һ˵žûзֺţзֺžû */ class IfDemo2 { public static void main(String[] args) { int x = 10; int y = 20; int z = 30; if(x > y) { System.out.println("hello"); } //ﲻboolean /* if(30) { System.out.println("world"); } */ if(true) { System.out.println("java"); } if(x 5) { System.out.println("x3"); }else { System.out.println("x5"); } } } ================================================ FILE: day03/code/05_选择结构(if语句)/IfDemo4.java ================================================ /* ifĵڶָʽԪ Ԫ ϵʽ?ʽ1:ʽ2; ifʽ2 if(ϵʽ){ 1; }else { 2; } ܽ᣺ Ԫܹʵֵģifĵڶָʽʵ֮֡ ʲôʱ򲻳? ifһʱͲ ΪԪһҪнأ䲻Ϊһء */ import java.util.Scanner; class IfDemo4 { public static void main(String[] args) { //¼ Scanner sc = new Scanner(System.in); //ȡ¼ System.out.println("һݣ"); int a = sc.nextInt(); System.out.println("ڶݣ"); int b = sc.nextInt(); //ʹԪʵ int c = (a>b)?a:b; System.out.println("c:"+c); //ifʽ2ʵ int d; if(a > b) { d = a; }else { d = b; } System.out.println("d:"+d); System.out.println("------------------"); //ֱӰѽ if(a > b) { System.out.println("a:"+a); }else { System.out.println("b:"+b); } //ԪĽ //(a>b)?System.out.println("a:"+a):System.out.println("b:"+b); } } ================================================ FILE: day03/code/05_选择结构(if语句)/IfDemo5.java ================================================ /* ifʽ3 if(ϵʽ1) { 1; }else if (ϵʽ2) { 2; } else { n+1; } ִ̣ жϹϵʽ1truefalse trueִ1 falseͼжϹϵʽ2truefalse trueִ2 falseͼжϹϵʽtruefalse ûκιϵʽΪtrueִn+1 ¼ѧɼݳɼڵۡ 90-100 80-90 70-80 60-70 60 */ import java.util.Scanner; class IfDemo5 { public static void main(String[] args) { //¼ Scanner sc = new Scanner(System.in); //¼ѧɼ System.out.println("ɼ"); int score = sc.nextInt(); //УݵʱһҪע⣺ //ȷ // //߽ /* if(score>=90 && score<=100) { System.out.println(""); }else if(score>=80 && score<90) { System.out.println(""); }else if(score>=70 && score<80) { System.out.println(""); }else if(score>=60 && score<70) { System.out.println(""); }else { System.out.println(""); } */ //ʱȻҪˡûпǵݵ //ԣҪһж /* if(score>=90 && score<=100) { System.out.println(""); }else if(score>=80 && score<90) { System.out.println(""); }else if(score>=70 && score<80) { System.out.println(""); }else if(score>=60 && score<70) { System.out.println(""); }else if(score>=0 && score<60) { System.out.println(""); }else { System.out.println("ijɼ"); } */ //ҲжϳɼǷ if(score<0 || score>100) { System.out.println("ijɼ"); }else if(score>=90 && score<=100) { System.out.println(""); }else if(score>=80 && score<90) { System.out.println(""); }else if(score>=70 && score<80) { System.out.println(""); }else if(score>=60 && score<70) { System.out.println(""); }else { System.out.println(""); } } } ================================================ FILE: day03/code/05_选择结构(if语句)/IfTest.java ================================================ /* ¼ݣȡеֵ A:¼ B:жϣifʵ C: ϰ ¼ݣȽǷ ifʵ֡ */ import java.util.Scanner; class IfTest { public static void main(String[] args) { //¼ Scanner sc = new Scanner(System.in); //¼ System.out.println("һݣ"); int firstNumber = sc.nextInt(); System.out.println("ڶݣ"); int secondNumber = sc.nextInt(); //ifʵ //ʽ1ֱӰѽ if(firstNumber > secondNumber) { System.out.println("ϴֵǣ"+firstNumber); }else { System.out.println("ϴֵǣ"+secondNumber); } System.out.println("-----------------------------"); //ʽ2ѽ /* , if(firstNumber > secondNumber) { int max = firstNumber; }else { int max = secondNumber; } */ int max; if(firstNumber > secondNumber) { max = firstNumber; }else { max = secondNumber; } System.out.println("ϴֵǣ"+max); } } ================================================ FILE: day03/code/05_选择结构(if语句)/IfTest2.java ================================================ /* 󣺼¼ݣȽǷ A:¼룬Scanner B:Ƚݣif C:ʽչʾ */ import java.util.Scanner; class IfTest2 { public static void main(String[] args) { //¼ Scanner sc = new Scanner(System.in); //¼ System.out.println("һݣ"); int a = sc.nextInt(); System.out.println("ڶݣ"); int b = sc.nextInt(); //Ƚ //ʽ1:ѽֱ if(a == b) { System.out.println(true); }else { System.out.println(false); } System.out.println("------------------"); //ʽ2:ѽ boolean flag; if(a == b) { flag = true; }else { flag = false; } System.out.println(flag); } } ================================================ FILE: day03/code/05_选择结构(if语句)/IfTest3.java ================================================ /* 󣺼¼xֵyIJ x>=3 y = 2x + 1; -1<=x<3 y = 2x; x<-1 y = 2x C 1; A:¼ݡ B:жxȡֵΧӦyֵ C:yֵ */ import java.util.Scanner; class IfTest3 { public static void main(String[] args) { //¼ Scanner sc = new Scanner(System.in); //¼ System.out.println("һݣ"); int x = sc.nextInt(); int y; if(x >= 3) { y = 2*x + 1; }else if(x>=-1 && x<3) { y = 2*x; }else { y = 2*x - 1; } System.out.println("yֵǣ"+y); } } ================================================ FILE: day03/code/05_选择结构(if语句)/IfTest4.java ================================================ /* 󣺼¼·ݵֵӦļڡ 3,4,5 6,7,8 9,10,11 12,1,2 A:¼·ݣScannerʵ֡ B:ifʵж */ import java.util.Scanner; class IfTest4 { public static void main(String[] args) { //¼ Scanner sc = new Scanner(System.in); //¼· System.out.println("·ݣ"); int month = sc.nextInt(); /* if(month<1 || month>12) { System.out.println("·"); }else if(month == 1) { System.out.println(""); }else if(month == 2) { System.out.println(""); }else if(month == 3) { System.out.println(""); }else if(month == 4) { System.out.println(""); }else if(month == 5) { System.out.println(""); }else if(month == 6) { System.out.println("ļ"); }else if(month == 7) { System.out.println("ļ"); }else if(month == 8) { System.out.println("ļ"); }else if(month == 9) { System.out.println("^"); }else if(month == 10) { System.out.println("^"); }else if(month == 11) { System.out.println("^"); }else { System.out.println(""); } */ //Ȼڿʵ֣ǸоЩ鷳 //ҪԳиĽ //θ? //month==3 || month==4 || month==5 /* if(month<1 || month>12) { System.out.println("·"); }else if(month==3 || month==4 || month==5) { System.out.println(""); }else if(month==6 || month==7 || month==8) { System.out.println("ļ"); }else if(month==9 || month==10 || month==11) { System.out.println("^"); }else { System.out.println(""); } */ //ʱѾˡ //ǣжϵ϶࣬˵ϰ°ꡣ //жϵȽ϶ĻʵԿͨһʽб //(month>=3 && month<=5) //һΧж if(month<1 || month>12) { System.out.println("·"); }else if(month>=3 && month<=5) { System.out.println(""); }else if(month>=6 && month<=8) { System.out.println("ļ"); }else if(month>=9 && month<=11) { System.out.println("^"); }else { System.out.println(""); } } } ================================================ FILE: day03/code/05_选择结构(if语句)/IfTest5.java ================================================ /* 󣺻ȡеֵ */ import java.util.Scanner; class IfTest5 { public static void main(String[] args) { //¼ Scanner sc = new Scanner(System.in); //¼ System.out.println("һݣ"); int a = sc.nextInt(); System.out.println("ڶݣ"); int b = sc.nextInt(); System.out.println("ݣ"); int c = sc.nextInt(); //Ԫʵ //int max = (a>b)?(a>c?a:c):(b>c?b:c); int temp = a>b?a:b; int max = temp>c?temp:c; System.out.println("ֵǣ"+max); //ifʵ(ifǶʹ) int max2; if(a > b) { if(a > c) { max2 = a; }else { max2 = c; } }else { if(b > c) { max2 = b; }else { max2 = c; } } System.out.println("ֵǣ"+max2); } } ================================================ FILE: day03/code/06_选择结构(switch语句)/SwitchDemo.java ================================================ /* switchʽ switch(ʽ) { case ֵ1 1; break; case ֵ2 2; break; default n+1; break; } ʽͣ A:switchʾswitch B:ʽȡֵ byte,short,int,char JDK5Ժö͡(enum) JDK7Ժַ(String) C:caseҪͱʽбȽϵֵ D:Ƕ E:breakʾжϣ˼Խswitch F:defaultʾƥʱ򣬾ִиôݣifelseơ ⣺ switchıʽbyte?long?String? ԡ ԡ JDK7Ժԡ ִ̣ A:ȼʽֵ B:ΣcaseαȽϣһжӦֵͻִӦ䣬 ִеĹУbreakͻ C:еcaseͱʽֵƥ䣬ͻִdefault岿֣Ȼ 󣺸ݼ¼ֵ1237Ӧһڶա A:¼ݣScannerʵ B:¼ݽжϣswitchʵ C:ӦĽ */ import java.util.Scanner; class SwitchDemo { public static void main(String[] args) { //¼ Scanner sc = new Scanner(System.in); //¼ System.out.println("һ(1-7)"); int week = sc.nextInt(); //switchʵ switch(week) { case 1: System.out.println("һ"); break; case 2: System.out.println("ڶ"); break; case 3: System.out.println(""); break; case 4: System.out.println(""); break; case 5: System.out.println(""); break; case 6: System.out.println(""); break; case 7: System.out.println(""); break; default: System.out.println(""); break; } } } ================================================ FILE: day03/code/06_选择结构(switch语句)/SwitchDemo2.java ================================================ /* ע A:caseֻdzDZңcaseֵܳͬ B:defaultʡ ʡԡһ㲻顣жϵֵǹ̶ġ C:breakʡ ԡһ϶ûκġ мʡҲǿԵģDz飬ΪܶҪĽӰ졣 D:defaultλһҪ һκκcaseӦλá ǣʱübreak E:switchĽ a:break b:ִеĩβ */ class SwitchDemo2 { public static void main(String[] args) { int week = 3; //int y = 4; switch(week) { case 1: System.out.println(1); break; case 2: System.out.println(2); break; default: System.out.println(5); break; case 3: System.out.println(3); break; case 4: System.out.println(4); break; /* default: System.out.println(5); //break; */ } } } ================================================ FILE: day03/code/06_选择结构(switch语句)/SwitchTest.java ================================================ /* д */ class SwitchTest { public static void main(String[] args) { /* int x = 2; int y = 3; switch(x){ default: y++; break; case 3: y++; case 4: y++; } System.out.println("y="+y); */ int x = 2; int y = 3; switch(x){ default: y++; case 3: y++; case 4: y++; } System.out.println("y="+y); } } ================================================ FILE: day03/code/06_选择结构(switch语句)/SwitchTest2.java ================================================ /* ģѡ⣬ѡ񣬸ӦĴ𰸡(ʽַ) ݸַѡַʲô(ʽַ) */ class SwitchTest2 { public static void main(String[] args) { //һѡ //ʽַ char ch = 'B'; switch(ch) { case 'A': System.out.println("ѡA"); break; case 'B': System.out.println("ѡB"); break; case 'C': System.out.println("ѡC"); break; case 'D': System.out.println("ѡD"); break; } //ַж String s = "java"; switch(s) { case "hello": System.out.println("hello"); break; case "world": System.out.println("world"); break; case "java": System.out.println("java"); break; default: System.out.println("android"); } } } ================================================ FILE: day03/code/06_选择结构(switch语句)/SwitchTest3.java ================================================ /* switchʵּ¼·ݣӦļ жϵʱѡifswitch䣬ôǵ׸ѡʹ? ifʹó Խboolean͵ж һΧж Լֵж switchʹó Լֵж */ import java.util.Scanner; class SwitchTest3 { public static void main(String[] args) { //¼ Scanner sc = new Scanner(System.in); //¼ System.out.println("·ݣ"); int month = sc.nextInt(); /* switch(month) { case 1: System.out.println(""); break; case 2: System.out.println(""); break; case 3: System.out.println(""); break; case 4: System.out.println(""); break; case 5: System.out.println(""); break; case 6: System.out.println("ļ"); break; case 7: System.out.println("ļ"); break; case 8: System.out.println("ļ"); break; case 9: System.out.println("^"); break; case 10: System.out.println("^"); break; case 11: System.out.println("^"); break; case 12: System.out.println(""); break; default: System.out.println("·"); } */ //Ƚ鷳 switch(month) { case 1: case 2: case 12: System.out.println(""); break; case 3: case 4: case 5: System.out.println(""); break; case 6: case 7: case 8: System.out.println("ļ"); break; case 9: case 10: case 11: System.out.println("^"); break; default: System.out.println("·"); } } } ================================================ FILE: day03/day03总结.txt ================================================ 1:λ(˽) (1)&,|,^,~,>>,>>>,<< λ㣬ҪתΪơ (2)^ص㣺() ͬһΣֵ䡣 ⣺ֵ int a = 10; int b = 20; int temp = a; a = b; b = temp; ԣ^ʵ a = a ^ b; b = a ^ b; a = a ^ b; (3)() Чʵķʽ28ֵ 2*8 2<<3 2:Ԫ() (1)ʽ ϵʽ?ʽ1:ʽ2; (2)ִ̣ A:ϵʽֵ B:trueʽ1ǽ falseʽ2ǽ (3)ϰ A:ȡнϴֵ B:ȡнϴֵ C:ȽǷ (4)˲䣺 ʽǶʹԼθдǶ 3:¼() ʽ (1) import java.util.Scanner; ע⣺λclass档 (2)¼ Scanner sc = new Scanner(System.in); (3)ȡ int i = sc.nextInt(); (4)ϰ A:ݵĺ B:ȡнϴֵ C:ȡнϴֵ D:ȽǷ 4:˳ṹ() (1)̿䣺 ˳ṹ ѡṹ ѭṹ (2)˳ṹ £ִС 5:if() (1)ָʽ A:ʽ1 if(ϵʽ) { ; } ִ̣ a:ϵʽֵ b:trueִ falseͲִ c:ִ B:ʽ2 if(ϵʽ) { 1; }else { 2; } ִ̣ a:ϵʽֵ b:trueִ1 falseִ2 c:ִ Ԫ? Ԫʵֵģifĸʽ2ʵ֣֮ ʲôʱ򲻳? ifһʱ򣬾Ͳԡ ΪԪһҪ㷵һ 䲻һؽ C:ʽ3 if(ϵʽ1) { 1; }else if(ϵʽ2) { 2; }else if(ϵʽ3) { 3; } ... else { n+1; } ִ̣ a:ϵʽ1ֵ b:trueִ1 falseͼϵʽ2ֵ c:trueִ2 falseͼϵʽ3ֵ ... d:еĹϵʽ㣬ִelsen+1; (2)ע A:ϵʽۼ򵥻Ǹӣboolean B:ifһ䣬{}ǿʡԵġǶ䣬{}ʡԡ ԶҪʡԡ C:Ҫӣ һ{ޣ D:else治йϵʽֻifС (3)ϰ A:ȡнϴֵ B:ȡнϴֵ C:ȽǷ D:ݼ¼xֵyֵ E:ѧɼӦ F:ݼ¼·ݣӦļ 6:switch() (1)ʽ switch(ʽ) { case ֵ1: 1; break; case ֵ2: 2; break; case ֵ3: 3; break; ... default: n+1; break; } ʽͣ A:switch˵switch B:ʽȡֵ byte,short,int,char JDK5Ժö JDK7ԺString ⣺switchıʽǿbyte?long?String? C:caseֵǺͱʽƥ D:ҪɵĶǶ E:break ˵䱻ж F:default ifelseƣڴвƥ (2)ִ A:ʽֵ B:caseֵƥ䣬жӦľִжӦ C:ûжӦģִdefault (3)ע A:caseֻdzDZҳֵظ B:breakʡ? ԡһ϶ԡ мҲԣDz顣ΪܵõĽҪġ case͸ C:defaultʡ? ԡ D:defaultһҪ? һмҲǿԵġҪעbreak E:switchĽ a:break b:ִеĩβ (4)ϰ A:ʽ B:ʽַ C:ʽַ D:ݼ¼·ݣӦļ (5)ifswitchĸӦó A:if ԶԼֵж ԶԱʽboolean͵Ľж ԶһݷΧж B:switch ʺϼֵж(ѡ) ================================================ FILE: day04/code/01_循环语句(for)/ForDemo.java ================================================ /* ѭ䣺 ʼ:һЩʼ ж:֪Ҫٴ ѭ:Ҫ 仯:ͨںʵʱ */ class ForDemo { public static void main(String[] args) { //ڿ̨һ"HelloWorld" System.out.println("HelloWorld"); //ڿ̨ʮ"HelloWorld" System.out.println("HelloWorld"); System.out.println("HelloWorld"); System.out.println("HelloWorld"); System.out.println("HelloWorld"); System.out.println("HelloWorld"); System.out.println("HelloWorld"); System.out.println("HelloWorld"); System.out.println("HelloWorld"); System.out.println("HelloWorld"); System.out.println("HelloWorld"); //ڿ̨һ"HelloWorld" } } ================================================ FILE: day04/code/01_循环语句(for)/ForDemo2.java ================================================ /* forѭĸʽ for(ʼ;ж;) { ѭ; } ִ̣ A:ִгʼ B:ִж䣬䷵ֵ trueͼ falseѭ C:ִѭ D:ִп E:صB */ class ForDemo2 { public static void main(String[] args) { //ڿ̨10HelloWorld for(int x=0; x<10; x++) { System.out.println("HelloWorld"); } System.out.println("--------------"); //ʼ0ʼ for(int x=1; x<=10; x++) { System.out.println("HelloWorld"); } for(int x=1; x<11; x++) { System.out.println("HelloWorld"); } for(int x=10; x>0; x--) { System.out.println("HelloWorld"); } } } ================================================ FILE: day04/code/01_循环语句(for)/ForDemo3.java ================================================ /* 5Ľ׳ ׳ˣ n! = n*(n-1)*(n-2)*...*3*2*1 n! = n*(n-1)! */ class ForDemo3 { public static void main(String[] args) { //۳˱ int jc = 1; for(int x=1; x<=5; x++) { jc *= x; } System.out.println("5Ľ׳ǣ"+jc); } } ================================================ FILE: day04/code/01_循环语句(for)/ForDemo4.java ================================================ /* ͳơˮɻжٸ A:ҪͳжٸݣҪһͳƱ int count = 0; B:һλʵǵǷΧͨforѭͿԸ㶨 C:λֵ͵ڸǹ ȡÿһλϵ? һx 153 λx%10 ʮλx/10%10 λx/10/10%10 ǧλx/10/10/10%10 ... x == (λ*λ*λ + ʮλ*ʮλ*ʮλ + λ*λ*λ) */ class ForDemo4 { public static void main(String[] args) { //ͳƱ int count = 0; for(int x=100; x<1000; x++) { int ge = x%10; int shi = x/10%10; int bai = x/10/10%10; if(x == (ge*ge*ge + shi*shi*shi + bai*bai*bai)) { count++; } } System.out.println("ˮɻУ"+count+""); } } ================================================ FILE: day04/code/01_循环语句(for)/ForTest.java ================================================ class ForTest { public static void main(String[] args) { //ڿ̨1-10 System.out.println(1); System.out.println(2); System.out.println(3); System.out.println(4); System.out.println(5); System.out.println(6); System.out.println(7); System.out.println(8); System.out.println(9); System.out.println(10); System.out.println("------------"); for(int x=0; x<10; x++) { System.out.println(x+1); } System.out.println("------------"); for(int x=1; x<=10; x++) { System.out.println(x); } System.out.println("------------"); for(int x=10; x>0; x--) { System.out.println(x); } System.out.println("------------"); } } ================================================ FILE: day04/code/01_循环语句(for)/ForTest2.java ================================================ /* 1-10֮֮ 0+1=1 1+2=3 3+3=6 6+4=10 10+5=15 ... ΪÿһεۼӽDZ仯ģҪһרڼ¼ÿۼӵĽ Ҫ1234...ҲDZ仯ģҲҪһѭܵõÿֵ */ class ForTest2 { public static void main(String[] args) { // //System.out.println(1+2+3+4+5+6+7+8+9+10); //ѭ int sum = 0; for(int x=1; x<=10; x++) { //x=1,2,3,4,...10 //sum = sum + x; //sum=0 + 1 = 1; //sum = sum + x; //sum=1 + 2 = 3; //sum = sum + x; sum += x; } System.out.println("1-10ĺǣ"+sum); } } ================================================ FILE: day04/code/01_循环语句(for)/ForTest3.java ================================================ class ForTest3 { public static void main(String[] args) { //1-100֮ż /* //ͱ int sum = 0; //ͨforѭȡÿһ for(int x=1; x<=100; x++) { //ۼ sum += x; } // System.out.println("1-100֮ͣ"+sum); System.out.println("---------------"); */ //ż:ܱ2 //жǷܹ? x%2 == 0 /* int sum = 0; for(int x=1; x<=100; x++) { if(x%2 == 0) { sum += x; } } System.out.println("1-100żͣ"+sum); */ int sum = 0; for(int x=0; x<=100; x+=2) { sum += x; } System.out.println("1-100żͣ"+sum); } } ================================================ FILE: day04/code/01_循环语句(for)/ForTest4.java ================================================ /* νˮɻָһλλֵ͵ڸ 153һˮɻ 153 = 1*1*1 + 5*5*5 + 3*3*3 A:һλʵǵǷΧͨforѭͿԸ㶨 B:λֵ͵ڸǹ ȡÿһλϵ? һx 153 λx%10 ʮλx/10%10 λx/10/10%10 ǧλx/10/10/10%10 ... x == (λ*λ*λ + ʮλ*ʮλ*ʮλ + λ*λ*λ) */ class ForTest4 { public static void main(String[] args) { for(int x=100; x<1000; x++) { int ge = x%10; int shi = x/10%10; int bai = x/10/10%10; if(x == (ge*ge*ge + shi*shi*shi + bai*bai*bai)){ System.out.println(x); } } } } ================================================ FILE: day04/code/01_循环语句(for)/ForTest5.java ================================================ /* ڿ̨λ λλ ʮλǧλ λ+ʮλ+ǧλ+λ=λ A:λǷΧ B:ȡÿһλϵݡ C: λλ ʮλǧλ λ+ʮλ+ǧλ+λ=λ */ class ForTest5 { public static void main(String[] args) { for(int x=10000; x<100000; x++) { int ge = x%10; int shi = x/10%10; int bai = x/10/10%10; int qian = x/10/10/10%10; int wan = x/10/10/10/10%10; if((ge == wan) && (shi == qian) && (ge+shi+qian+wan == bai)) { System.out.println(x); } } } } ================================================ FILE: day04/code/01_循环语句(for)/ForTest6.java ================================================ /* ͳ1-1000֮ͬʱжٸ 32 53 72 A:һͳƱ B:1-1000֮˷ΧforѭԽ C: 32 53 72 x%3 == 2 x%5 == 3 x%7 == 2 */ class ForTest6 { public static void main(String[] args) { //һͳƱ int count = 0; //1-1000֮˷ΧforѭԽ for(int x=1; x<=1000; x++) { //ж if(x%3==2 && x%5==3 && x%7==2) { //System.out.println(x); count++; } } System.out.println(""+count+""); } } ================================================ FILE: day04/code/02_循环语句(while)/WhileDemo.java ================================================ /* whileѭĸʽ while(ʽ) { ; } θʽ ʼ; while(ж) { ѭ; ; } for(ʼ;ж;) { ѭ; } ɴ˿ɼwhileѭforѭǿԵȼתġ */ class WhileDemo { public static void main(String[] args) { //for /* for(int x=0; x<10; x++) { System.out.println("HelloWorld"); } System.out.println("--------------"); */ //while /* int x=0; while(x<10) { System.out.println("HelloWorld"); x++; } */ // //for /* int sum = 0; for(int x=1; x<=100; x++) { sum+=x; } System.out.println("1-100֮ǣ"+sum); */ //while /* int sum = 0; int x = 1; while(x<=100) { sum += x; x++; } System.out.println("1-100֮ǣ"+sum); */ //ˮɻ //for /* for(int x=100; x<1000; x++) { int ge = x%10; int shi = x/10%10; int bai = x/10/10%10; if(x == (ge*ge*ge + shi*shi*shi + bai*bai*bai)) { System.out.println(x); } } */ //while int x = 100; while(x<1000) { int ge = x%10; int shi = x/10%10; int bai = x/10/10%10; if(x == (ge*ge*ge + shi*shi*shi + bai*bai*bai)) { System.out.println(x); } x++; } } } ================================================ FILE: day04/code/02_循环语句(while)/WhileDemo2.java ================================================ /* forwhile ʹ𣺿ƵǸforѭ󣬾Ͳٱʵˣ whileѭԼʹãʹãwhileƼʹfor ԭforѭñʹڴʧܹڴʹЧʡ forѭʺһΧжϽв ˮɻ whileѭʺжϴȷ */ class WhileDemo2 { public static void main(String[] args) { int x = 0; while(x<10) { System.out.println(x); x++; } System.out.println(x+"---"); System.out.println("-----------"); for(int y=0; y<10; y++) { System.out.println(y); } //System.out.println(y+"---"); } } ================================================ FILE: day04/code/02_循环语句(while)/WhileTest.java ================================================ /* ҹɽ壺8848mһ㹻ֽţΪ0.01m ʣ۵ٴΣͿԱ֤Ȳĸ߶? A:ʼ ҹɽ壺8848mһ㹻ֽţΪ0.01m B:ͳƱ ۵ٴ C:ж ֽź<=8848 D:仯 ֽźÿ۵һǰ2 */ class WhileTest { public static void main(String[] args) { //ʼ int end = 884800; int start = 1; //ͳƱ int count = 0; //whileѭ while(start<=end) { count++; //ֽźÿ۵һǰ2 start*=2; } System.out.println("Ҫ۵"+count+""); //Ŀforѭ /* int count = 0; for(int start = 1,end = 884800; start<=end;start*=2){ count++; } System.out.println("Ҫ۵"+count+""); */ } } ================================================ FILE: day04/code/03_循环语句(do...while)/DoWhileDemo.java ================================================ /* do...whileʽ do { ; }while(ʽ); θʽ ʼ; do { ѭ; ; }while(ж); for(ʼ;ж;) { ѭ; } */ class DoWhileDemo { public static void main(String[] args) { /* int sum = 0; for(int x=1; x<=100; x++) { sum+=x; } System.out.println(sum); */ //do...while int sum = 0; int x = 1; do{ sum+=x; x++; }while (x<=100); System.out.println(sum); } } ================================================ FILE: day04/code/03_循环语句(do...while)/DoWhileTest.java ================================================ /* ѭ A:dowhileѭٻִһѭ塣 B:forѭwhileѭֻʱŻȥִѭ塣 ע A:дȿforѭٿwhileѭdowhileѭ B:򵥵ѭ for(;;){} */ class DoWhileTest { public static void main(String[] args) { /* for(int x = 10; x>20; x++) { System.out.println("hello"); } int y = 10; while(y>20){ System.out.println("world"); y++; } int z = 10; do{ System.out.println("java"); z++; }while(z>20); */ /* for(;;){ System.out.println("haha"); } */ while(true) { System.out.println("haha"); } } } ================================================ FILE: day04/code/04_循环语句(嵌套使用)/ForForDemo.java ================================================ /* һ45е(*)ͼ ***** ***** ***** ***** ⣺ System.out.println("*"); ڵǰ*С System.out.print("*"); ڵǰ* ѭǶУ ѭ ѭ */ class ForForDemo { public static void main(String[] args) { //ʽһ /* System.out.println("*****"); System.out.println("*****"); System.out.println("*****"); System.out.println("*****"); */ //ʽ /* System.out.println("*"); System.out.println("*"); System.out.println("*"); System.out.println("*"); System.out.println("*"); */ // /* System.out.println("*"); System.out.println("*"); System.out.print("*"); System.out.print("*"); System.out.println(); */ /* System.out.print("*"); System.out.print("*"); System.out.print("*"); System.out.print("*"); System.out.print("*"); */ //ѭĽһ5* /* //һ for(int x=0; x<5; x++) { System.out.print("*"); } System.out.println(); //ڶ for(int x=0; x<5; x++) { System.out.print("*"); } System.out.println(); // for(int x=0; x<5; x++) { System.out.print("*"); } System.out.println(); // for(int x=0; x<5; x++) { System.out.print("*"); } System.out.println(); */ //ͬ˺ܶ for(int y=0; y<4; y++) { for(int x=0; x<5; x++) { System.out.print("*"); } System.out.println(); } } } ================================================ FILE: day04/code/04_循环语句(嵌套使用)/ForForDemo2.java ================================================ /* ͼ * ** *** **** ***** */ class ForForDemo2 { public static void main(String[] args) { //һ55е /* for(int x=0; x<5; x++) { for(int y=0; y<5; y++) { System.out.print("*"); } System.out.println(); } */ //Ҫ°벿 //ͨ۲ͼΣ֪ûб仯ڱ仯 //һУ1 //ڶУ2 //У3 //У4 //У5 //Ȼһ仯ôǾͶһ /* int z = 0; for(int x=0; x<5; x++) { for(int y=0; y<=z; y++) { System.out.print("*"); } System.out.println(); z++; } */ //Ƿzı仯xı仯ʵһµ //ǸûбҪzֱӰzx滻 for(int x=0; x<5; x++) { for(int y=0; y<=x; y++) { System.out.print("*"); } System.out.println(); } System.out.println("---------"); for(int x=1; x<=5; x++) { for(int y=1; y<=x; y++) { System.out.print("*"); } System.out.println(); } } } ================================================ FILE: day04/code/04_循环语句(嵌套使用)/ForForDemo3.java ================================================ /* ڿ̨žų˷ 1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 ... 1*9=9 2*9=18 3*9=27 4*9=36 ... תַ \t tabλ */ class ForForDemo3 { public static void main(String[] args) { //ǰÿһпһ* //ôʵǸղŵ /* for(int x=1; x<=9; x++) { for(int y=1; y<=x; y++) { System.out.print("*"+"\t"); } System.out.println(); } */ //Ҫ*滻Ϊʽ for(int x=1; x<=9; x++) { for(int y=1; y<=x; y++) { System.out.print(y+"*"+x+"="+(x*y)+"\t"); } System.out.println(); } } } ================================================ FILE: day04/code/05_控制跳转语句/BreakAndContinue.java ================================================ /* Ҫ */ class BreakAndContinue { public static void main(String[] args) { for(int x=1; x<=10; x++) { if(x%3==0) { //ڴ˴д break; //continue; //System.out.println("Java"); } System.out.println("Java"); } //ڿ̨2:Javaࡰ //ڿ̨7:Javaࡰ //ڿ̨13:Javaࡰ } } ================================================ FILE: day04/code/05_控制跳转语句/BreakDemo.java ================================================ /* break:ж breakʹó A:ѡṹswitch B:ѭ 뿪ʹóĴû break: A:ѭ B:ѭ(˽) ǩ÷ */ class BreakDemo { public static void main(String[] args) { for(int x=0; x<10; x++) { //System.out.println(x); if(x%2==0) { break; //breakDzж //System.out.println(x); } System.out.println(x); } System.out.println("-------------"); wc:for(int x=0; x<3; x++) { nc:for(int y=0; y<4; y++) { System.out.print("*"); break; } System.out.println(); } } } ================================================ FILE: day04/code/05_控制跳转语句/ContinueDemo.java ================================================ /* continueʹó ѭ 뿪ʹóĴû continueã A:ѭԱbreakȻܽ break ˳ǰѭ continue ˳ѭ B:ҲԴǩʹ */ class ContinueDemo { public static void main(String[] args) { //continue; for(int x=0; x<10; x++) { if(x%2==0) { //break; //ǰѭ continue; //ѭһβ } System.out.println(x); } wc:for(int x=0; x<3; x++) { nc:for(int y=0; y<4; y++) { System.out.print("*"); continue wc; } System.out.println(); } } } ================================================ FILE: day04/code/05_控制跳转语句/ReturnDemo.java ================================================ /* returnġ */ class ReturnDemo { public static void main(String[] args) { for(int x=0; x<10; x++) { if(x%3==0) { //break; //continue; return; } System.out.println(x); } System.out.println("over"); } } ================================================ FILE: day04/code/06_方法/MethodDemo.java ================================================ /* ضܵĴ ʽ η ֵ ( 1 2) { ; return ֵ; } ηpublic static ֵͣյֵ Ϊ˷öһ ʽڽʵʲı ʵʲʵʲ 壺ضܵĴ return ֵͨreturnѽظ Ȼ֪˷ĸʽôǸдһ? ȷ A:ֵ B:б мμӣÿʲô ֮͵İ A:û˵ݵͣĬint͡ B:ݵĺ ˵μӣĬ϶int C:intӵĽʲô? intͣԷֵint ִص㣺 òִС ȷֵķĵã A:ãû塣 B:ãǺܺãΪǿҪԽҪIJ C:ֵãƼʽ */ class MethodDemo { public static void main(String[] args) { // int x = 10; int y = 20; // //sum(x,y); // System.out.println(sum(x,y)); //ֵ int result = sum(x,y); //resultв System.out.println(result); } //ԼҪдһ public static int sum(int a,int b) { int c = a + b; return c; } } ================================================ FILE: day04/code/06_方法/MethodDemo2.java ================================================ /* ע A:òִ B:뷽ƽϵǶ׶ C:ʱ֮öŸ D:õʱڴ ԴݱҲԳDzܼ E:ȷķֵһҪreturnһֵ */ class MethodDemo2 { public static void main(String[] args) { int a = 10; int b = 20; int c = sum(a,b); System.out.println(c); int d = sum(10,20); System.out.println(d); } public static int sum(int a,int b) { //return a + b; int c = a + b; return c; } } ================================================ FILE: day04/code/06_方法/MethodDemo3.java ================================================ /* ûȷֵķãvoidεķ */ class MethodDemo3 { public static void main(String[] args) { /* //ڿ̨һ34е for(int x=0; x<3; x++){ for(int y=0; y<4; y++) { System.out.print("*"); } System.out.println(); } System.out.println("--------"); //ڿ̨һ56е for(int x=0; x<5; x++){ for(int y=0; y<6; y++) { System.out.print("*"); } System.out.println(); } System.out.println("--------"); //ڿ̨һ78е for(int x=0; x<7; x++){ for(int y=0; y<8; y++) { System.out.print("*"); } System.out.println(); } System.out.println("--------"); */ // //printXing(3,4); //printXing(7,8); // //System.out.println(printXing(7,8)); //ֵ //void v = printXing(7,8); //System.out.println(v); } public static void printXing(int a,int b) { for(int x=0; x b) { return a; }else { return b; } */ /* int m = a>b?a:b; return m; */ return a>b?a:b; } } ================================================ FILE: day04/code/06_方法/MethodTest2.java ================================================ /* ¼ݣȽǷ */ import java.util.Scanner; class MethodTest2 { public static void main(String[] args) { //¼ Scanner sc = new Scanner(System.in); //¼ System.out.println("һݣ"); int a = sc.nextInt(); System.out.println("ڶݣ"); int b = sc.nextInt(); //÷ boolean flag = compare(a,b); System.out.println(flag); } /* ȽǷ ȷ ֵͣboolean бint a,int b */ public static boolean compare(int a,int b) { /* if(a == b) { return true; }else { return false; } */ //Ԫʽ1 //boolean flag = a==b?true:false; //return flag; //Ԫʽ2 //return a==b?true:false; //հ return a == b; } } ================================================ FILE: day04/code/06_方法/MethodTest3.java ================================================ /* ¼ݣеֵ */ import java.util.Scanner; class MethodTest3 { public static void main(String[] args) { //¼ Scanner sc = new Scanner(System.in); //¼ System.out.println("һݣ"); int a = sc.nextInt(); System.out.println("ڶݣ"); int b = sc.nextInt(); System.out.println("ݣ"); int c = sc.nextInt(); //ù int max = getMax(a,b,c); System.out.println(max); } /* еֵ ȷ ֵͣint бint a,int b,int c */ public static int getMax(int a,int b,int c) { /* if(a>b){ if(a>c) { return a; }else { return c; } }else{ if(b>c) { return b; }else { return c; } } */ //Ԫ //return a>b?a>c?a:c:b>c?b:c; int temp = a>b?a:b; int max = temp>c?temp:c; return max; } } ================================================ FILE: day04/code/06_方法/MethodTest4.java ================================================ /* ¼һn(1<=n<=9)Ӧnn˷ */ import java.util.Scanner; class MethodTest4 { public static void main(String[] args) { //¼ Scanner sc = new Scanner(System.in); //¼ System.out.println("һ(1~9)"); int n = sc.nextInt(); //ùܣnn˷ printNN(n); } /* Ӧnn˷ ֵͣ void б int n */ public static void printNN(int n){ for(int x=1; x<=n; x++) { for(int y=1; y<=x; y++) { System.out.print(y+"*"+x+"="+x*y+"\t"); } System.out.println(); } } } ================================================ FILE: day04/code/day04总结.txt ================================================ 1ѭ() (1)forѭ for(ʼʽ;ʽ;ʽ){ ѭ; } ִ̣ A:ִгʼʽ B:ִʽ䷵ֵ trueͼ falseͽѭ C:ִѭ; D:ִпʽ E:صB (2)whileѭ ʽ while(ʽ){ ; } Σ ʼʽ; while(ʽ){ ѭ; ʽ; } (3)do...whileѭ() ʽ do { ; }while(ʽ); : ʼʽ; do{ ѭ; ʽ; }while(ʽ); (4)ѭ A:do...whileִһѭ壬ѭжִС B:whileforѭǿԵȼתġʹõʱѡfor a:ʽƵǸ滹Ҫʹãֻʹwhile b:forʺϷΧȡֵwhileʺϴȷIJ (5)ע ѭ for(;;){} while(true){} (6) A:10HelloWorld for(int x=0; x<10; x++) { System.out.println("HelloWorld"); } B:1-10 for(int x=1; x<=10; x++) { System.out.println(x); } C:10-1 for(int x=10; x>0; x--) { System.out.println(x); } D:1-10ĺ int sum = 0; for(int x=1; x<=10; x++) { sum += x; } System.out.println(sum); E:1-100ż(Լд) //ʽ1 int sum = 0; for(int x=0; x<=100; x+=2) { sum += x; } System.out.println(sum); //ʽ2 int sum = 0; for(int x=0; x<=100; x++) { if(x%2 == 0){ sum += x; } } System.out.println(sum); F:ˮɻ for(int x=100; x<1000; x++) { int ge = x%10; int shi = x/10%10; int bai = x/10/10%10; if(x == (ge*ge*ge+shi*shi*shi+bai*bai*bai)) { System.out.println(x); } } G:ͳˮɻĸ int count = 0; for(int x=100; x<1000; x++) { int ge = x%10; int shi = x/10%10; int bai = x/10/10%10; if(x == (ge*ge*ge+shi*shi*shi+bai*bai*bai)) { count++; } } System.out.println(count); H:5λ for(int x=10000; x<100000; x++) { int ge = x%10; int shi = x/10%10; int bai = x/10/10%10; int qian = x/10/10/10%10; int wan = x/10/10/10/10%10; if((ge==wan) && (shi==qian) && (bai==ge+shi+qian+wan)) { System.out.println(x); } } I:ͳ int count = 0; for(int x=0; x<1000; x++) { if(x%3==2 && x%5==3 && x%7==2) { count++; } } System.out.println(count); J:۵ int start = 1; int end = 884800; int count = 0; while(start<=end) { count++; start*=2; } System.out.println(count); K:СǮĿԼѴ뿴ɡ 2ת() (1)break:ж A: switch ѭ B:ʹ ˳ѭ ˳ѭ(ǩʹ) (2)continue: A: ѭ B:ʹ ˳ѭ ˳ѭ(ǩʹ) breakcontinue break:˳ѭ continue:˳һѭһ (3)return: أ÷ʵvoid͵ķҲһreturn ֻǣreutrn; (4)ڿ̨ٴΣ "Java" 3() (1)ضܵĴ顣 ںܶнк (2)ʽ η ֵ ( 1, 2...) { ; return ֵ; } A:η Ŀǰͼסpublic static B:ֵ ܵĽͣûнأдvoid C: ֣ܼ֪⡣ǵ÷ D: ʽڽʵʲıʱ ʵʲʵʲݣõʱ E: ɹܵĴ F:return ֵǰѹܵĽͨreturnصĵط (3)ע A:òִ B:ƽϵǶ׶ C:ʱжöŸ D:ǣԴݱDzܴ͡ (4)дһȷ ֵͣǽ бмÿ͡ (5)ĵ A:ȷֵķ a:ãһû b:ããΪǿҪԽнһIJ c:ֵ Ƽ B:ûȷֵķ(void) a: һ ֲܴ ˼Ҫ͸˼Ҫʲô͸ʲô ֵ˼ҷʲôͣӦʲôͽܡvoid⡣ (6)ϰ ȷֵ A:Ľϴֵ B:ȽǷ C:ֵ ûȷֵ D:mnе E:nn˷ ================================================ FILE: day04/myday04总结.txt ================================================ 1forѭ forʽ for(ʼʽ;жʽ;ʽ) { ѭ壻 } forѭִ A:ִгʼʽ B:жϿƱֵ жΪtrueִһΪfalse C:ִѭ D:ִпʽƱ E:ٻصB 2whileѭ whileʽ while(жʽ) { 壻 } ʼʽ while(жʽ) { } whileѭִ() 3do...whileѭ do...whileʽ do { }while(жʽ) ʼʽ do { }while(жʽ) do...whileѭִ() *ע A:ѭıȽ forѭwhileѭеѭһβִУdo...whileѭѭ ִһ B:ѭʹ a:໥ȼת໥д b:ѭҪԺ㣬ʹwhileѭѭǰ涨 Ʊʹforѭ߳Чʣwhileѭ do...whileѭ C:forѭ֪һΧwhileѭѭһ * A:ʮ"HelloWorld" B:ӡ1-10 C:ӡ101 D:1-100֮ E:1-100żĺ F:ӡˮɻ G:߶ H: 4ѭǶʹ * A: B: C: 5ת 6 ================================================ FILE: day05/code/01_方法重载/MethodDemo.java ================================================ /* أ ͬһУһϵֻͬҪǵIJ߲Ͳͬɡ ͷֵ޹ء */ class MethodDemo { public static void main(String[] args) { //дһܣʵݵ System.out.println(sum(10,20)); //дһܣʵݵ //System.out.println(sum2(10,20,30)); System.out.println(sum(10,20,30)); System.out.println(sum(1.5,2.5)); } public static int sum(int a,int b) { return a + b; } /* public static int sum2(int a,int b,int c) { return a + b + c; //Ƕ׵ //return sum(sum(a,b),c); } */ //ڷҪʵǸ÷ //ԣsum2ֲãҪsum ȽϺ public static int sum(int a,int b,int c) { return a + b + c; } public static double sum(double a,double b) { return a + b; } } ================================================ FILE: day05/code/01_方法重载/MethodTest.java ================================================ /* ȽǷȡͷֱΪbyteͣshortͣ intͣlongͣmainнв */ class MethodTest { public static void main(String[] args) { // byte a = 10; byte b = 10; System.out.println(compare(a,b)); System.out.println(compare(10,10)); } //byte /* public static boolean compare(byte a,byte b) { System.out.println("byte"); return a == b; } //short public static boolean compare(short a,short b) { System.out.println("short"); return a == b; } //int public static boolean compare(int a,int b) { System.out.println("int"); return a == b; } */ //long public static boolean compare(long a,long b) { System.out.println("long"); return a == b; } } ================================================ FILE: day05/code/02_一维数组/ArrayDemo.java ================================================ /* 飺洢ͬһ͵ĶԪصļϡ(ҲԳΪ) Ķʽ ʽ1[] ; int[] arr; ʽ2 []; int arr[]; Ƽʽ1 ڵûԪأʹûġ Ҫгʼ ôζгʼ? ̬ʼʼʱָֻ鳤ȣϵͳΪʼֵ ̬ʼʼʱָÿԪصijʼֵϵͳ鳤ȡ ̬ʼ [] = new [鳤]; */ class ArrayDemo { public static void main(String[] args) { //ն̬ʼĸʽһ洢3intԪص int[] arr = new int[3]; /* ߣ int:˵еԪص͡ []:˵һ arr: ұߣ new:Ϊʵ()ڴռ Scanner sc = new Scanner(System.in); int:˵еԪص͡ []:˵һ 3:˵еԪظ */ //λȡֵ? // System.out.println(arr); //[I@778b3fee ֵַ //λȡԪֵ? //ΪÿԪطһţŵרҵз //Ǵ0ʼŵġҲ˵dz-1 //˱ԺǾͿͨͱŵȡԪ //ʽ[]; System.out.println(arr[0]); //0 System.out.println(arr[1]); //0 System.out.println(arr[2]); //0 } } ================================================ FILE: day05/code/02_一维数组/ArrayDemo2.java ================================================ /* һ飬ԪءȻеԪظֵٴԪء */ class ArrayDemo2 { public static void main(String[] args) { // int[] arr = new int[3]; //ƼԪ System.out.println(arr); System.out.println(arr[0]); System.out.println(arr[1]); System.out.println(arr[2]); //еԪظֵ arr[0] = 10; arr[1] = 20; arr[2] = 30; //ٴƼԪ System.out.println(arr); System.out.println(arr[0]); System.out.println(arr[1]); System.out.println(arr[2]); } } ================================================ FILE: day05/code/02_一维数组/ArrayDemo3.java ================================================ /* 飬ֱԪءȻֱеԪظֱֵٴԪء */ class ArrayDemo3 { public static void main(String[] args) { //һ int[] arr = new int[3]; //ƼԪ System.out.println(arr); System.out.println(arr[0]); System.out.println(arr[1]); System.out.println(arr[2]); //ֵ arr[0] = 10; arr[1] = 20; arr[2] = 30; System.out.println(arr); System.out.println(arr[0]); System.out.println(arr[1]); System.out.println(arr[2]); //ٶһµ int[] arr2 = new int[2]; System.out.println(arr2); System.out.println(arr2[0]); System.out.println(arr2[1]); //ֵ arr2[0] = 100; arr2[1] = 200; System.out.println(arr2); System.out.println(arr2[0]); System.out.println(arr2[1]); } } ================================================ FILE: day05/code/02_一维数组/ArrayDemo4.java ================================================ /* 飬ȶһ飬ֵ Ȼڶʱѵһĵֵַڶ顣 Ȼڶ鸳ֵٴԪء */ class ArrayDemo4 { public static void main(String[] args) { //һ int[] arr = new int[3]; //ֵ arr[0] = 11; arr[1] = 22; arr[2] = 33; System.out.println(arr); System.out.println(arr[0]); System.out.println(arr[1]); System.out.println(arr[2]); //ڶ int[] arr2 = arr; arr2[1] = 100; System.out.println(arr); System.out.println(arr[0]); System.out.println(arr[1]); //??? System.out.println(arr[2]); System.out.println(arr2); System.out.println(arr2[0]); System.out.println(arr2[1]); System.out.println(arr2[2]); } } ================================================ FILE: day05/code/02_一维数组/ArrayDemo5.java ================================================ /* ̬ʼʽ [] = new []{Ԫ1,Ԫ2,}; 򻯰棺 [] = {Ԫ1,Ԫ2,}; */ class ArrayDemo5 { public static void main(String[] args) { //һ //int[] arr = new int[]{1,2,3}; //򻯺 int[] arr = {1,2,3}; System.out.println(arr); System.out.println(arr[0]); System.out.println(arr[1]); System.out.println(arr[2]); } } ================================================ FILE: day05/code/02_一维数组/ArrayDemo6.java ================================================ /* С: A:Խ ArrayIndexOutOfBoundsException ΪǷ˲ڵ B:ָ쳣 NullPointerException ΪѾָڴ棬ԾͲȥʶڴԪˡ */ class ArrayDemo6 { public static void main(String[] args) { // int[] arr = {1,2,3}; //System.out.println(arr[3]); arr = null; //arrָڴȥˣarrûָˡ System.out.println(arr[0]); } } ================================================ FILE: day05/code/02_一维数组/ArrayTest.java ================================================ /* : еÿһԪ A:һ飬ֵ B:еԪ */ class ArrayTest { public static void main(String[] args) { //һ飬ֵ int[] arr = {11,22,33,44,55}; //ʽ1 System.out.println(arr[0]); System.out.println(arr[1]); System.out.println(arr[2]); System.out.println(arr[3]); System.out.println(arr[4]); System.out.println("---------------"); //ʽ2 //ͨ۲죬ǿͨforѭʵȡ0~4OK for(int x=0; x<5; x++) { System.out.println(arr[x]); } System.out.println("---------------"); //ʽ3 //Ԫض̫࣬鷳ˡ //أΪ˷ǵIJԼṩһԣ length //ȡijȡ //ʽǣ.length; //System.out.println(arr.length); for(int x=0; x max) { max = arr[x]; } } System.out.println(max); */ //Ϊ˽÷㣬дһʵֻȡֵ int max = getMax(arr); System.out.println("ֵǣ"+max); } /* ֵͣint бint[] arr */ public static int getMax(int[] arr) { // int max = arr[0]; //ѭ1ʼԪ for(int x=1; x max) { max = arr[x]; } } //ֵ return max; } } ================================================ FILE: day05/code/02_一维数组/ArrayTest3.java ================================================ /* Ԫطת (ǰԪضԵ) ת? ѵһһ ѵڶ͵ڶ ... */ class ArrayTest3 { public static void main(String[] args) { // int[] arr = {12,86,79,43,50}; /* for(int x=0; x0) { arr[index] = number%10; //arr[0]=6,arr[1]=5,arr[2]=4,arr[3]=3,arr[4]=2,arr[5]=1 number/=10; //number=12345,number=1234,number=123,number=12,number=1,number=0 index++; //index=1,index=2,index=3,index=4,index=5,index=6 } for(int x=0; x0) { arr[index++] = number%10; number /= 10; } //ڶ for(int x=0; x max) { max = arr[x]; } } return max; } public static int getMax(int[] arr) { int min = arr[0]; for(int x=1; x·ӽȥ-->·-->Ưϴ·-->š-->¼ 󣺰·ӵϴ»ϴ·,-->¼ B:Է ̣ȥ,-->ϴ,ϴ-->в,-->-->˲,ʢ--> ȥ-->÷ԱļDz˹-->óʦij˹-->÷ԱĶ˲˹-->--> һЩ顣 C: ̣-->-->Գ-->ұȽ-->ѡԼϲIJּۻ-->ؼ 󣺲-->--> д 󣺰Ѵװ 裺 A:򿪱 B: C:رձ A: a:򿪱 b: c:رձ 룺 class Demo { public static void main(String[] args) { //System.out.println("򿪱"); //System.out.println(""); //System.out.println("رձ"); //ܴ򿪱ŵIJҪ //ң򿪱ܵĴȽ϶ //ʱʵӦ÷Ľ //ù open(); in(); close(); //open(); //open(); } public static void open() { System.out.println("򿪱"); } public static void in(){ System.out.println(""); } public static void close() { System.out.println("رձ"); } } B: Ҫҵ仰 a:Щ UML(ͳһģ) ȡ b:ÿЩ c:Ĺϵ ǵ⣺ Ѵװ a:Щ (mainǸ) b:ÿЩ :ȥ :,ر :main c:Ĺϵ ڲеñʹĹ 룺 class { public static void in(){ System.out.println(""); } } class { public static void open() { System.out.println("򿪱"); } public static void close() { System.out.println("رձ"); } } class { public static void main(String[] args) { open(); in(); close(); } } ѧ ԺһʱǷжܣУǾֱʹüɡ ûУǾԼһ࣬ɹܣԸá ================================================ FILE: day06/code/02_类与对象/类与对象.txt ================================================ ѧϰԣΪ˰ʵʵϢ ҪͨҪ֪αģ  Ϣ() Ϊ ܹʲô(Ϊ) ѧϰjavaԣjavaĵλࡣ ԣҪͨ֡  Ϣ() Ϊ ܹʲô(Ϊ) ࣺ Ա Ϣ() Ա ܹʲô(Ϊ) ࣺһصԺΪļ Ǹľ ѧ Ƕ ================================================ FILE: day06/code/03_类的定义/Phone.java ================================================ /* һ ֻ ԣƷƣ۸ɫ Ϊ绰 ڶתΪ ֻࣺ ԱƷƣ۸ɫ Ա绰 Ӣ Phone: Աbrandpricecolor Աcall(String name)sendMessage() IJд Աʵһֻз⣬ҲԲʼֵ ԱʵһֻҪstaticˡ */ //ҵֻ class Phone { //Ʒ String brand; //۸ int price; //ɫ String color; //绰ķ public void call(String name) { System.out.println(""+name+"绰"); } //ŵķ public void sendMessage() { System.out.println("Ⱥ"); } } ================================================ FILE: day06/code/03_类的定义/Student.java ================================================ /* һ ѧ ԣѧţ ΪѧϰԷ˯ ڶתΪ ѧࣺ Աѧţ ԱѧϰԷ˯ Ӣ Student: Աsidnameage Աstudy()eat()sleep() IJд Աʵһֻз⣬ҲԲʼֵ ԱʵһֻҪstaticˡ ϰ ֻ */ //ҵѧ class Student { //Ա //ѧ String sid; // String name; // int age; //Ա //ѧϰķ public void study() { System.out.println("ѧѧϰ"); } //Էķ public void eat() { System.out.println("ѧҪԷ"); } //˯ķ public void sleep() { System.out.println("ѧ˯"); } } ================================================ FILE: day06/code/04_类的使用/一个java文件多个class/StudentDemo.java ================================================ /* һ.javaļпж? ԡ publicκӦĸ? δmainġһֻӦһ౻public Ŀǰдpublicεġ ڲʹһ? ʹijԱ δ? ʽ = new (); ʹijԱ? Ա.; Ա.(...); ע⣺ ͵Ĭֵnull */ class Student { //ѧ String sid; // String name; // int age; //ѧϰķ //ѧϰķ public void study() { System.out.println("ѧѧϰ"); } //Էķ public void eat() { System.out.println("ѧҪԷ"); } //˯ķ public void sleep() { System.out.println("ѧ˯"); } } class StudentDemo { public static void main(String[] args) { //ѧ Student s = new Student(); // System.out.println(s); //Student@1afb7ac7 //Ա System.out.println("ѧǣ"+s.sid); //null System.out.println("ǣ"+s.name);//null System.out.println("ǣ"+s.age); //0 System.out.println("--------------"); //Աֵ s.sid = "itcast001"; s.name = "ϼ"; s.age = 28; //ٴԱ System.out.println("ѧǣ"+s.sid); //itcast001 System.out.println("ǣ"+s.name);//ϼ System.out.println("ǣ"+s.age); //28 System.out.println("--------------"); //ʹóԱ s.study(); s.eat(); s.sleep(); } } ================================================ FILE: day06/code/04_类的使用/多个java文件多个class/Phone.java ================================================ /* ֻ ԱƷƣ۸ɫ Ա绰 */ class Phone { //Ʒ String brand; //۸ int price; //ɫ String color; //绰ķ public void call(String name) { System.out.println(""+name+"绰"); } // public void sendMessage() { System.out.println("Ⱥ"); } } ================================================ FILE: day06/code/04_类的使用/多个java文件多个class/PhoneDemo.java ================================================ class PhoneDemo { public static void main(String[] args) { // Phone p = new Phone(); //ʹóԱ System.out.println("Ʒǣ"+p.brand); System.out.println("۸ǣ"+p.price); System.out.println("ɫǣ"+p.color); System.out.println("----------------"); //Աֵ p.brand = ""; p.price = 2999; p.color = "ɫ"; //ٴʹóԱ System.out.println("Ʒǣ"+p.brand); System.out.println("۸ǣ"+p.price); System.out.println("ɫǣ"+p.color); System.out.println("----------------"); //óԱ //String name = "ϼ"; //p.call(name); p.call("ϼ"); p.sendMessage(); } } ================================================ FILE: day06/code/04_类的使用/多个java文件多个class/Student.java ================================================ class Student { //ѧ String sid; // String name; // int age; //ѧϰķ //ѧϰķ public void study() { System.out.println("ѧѧϰ"); } //Էķ public void eat() { System.out.println("ѧҪԷ"); } //˯ķ public void sleep() { System.out.println("ѧ˯"); } } ================================================ FILE: day06/code/04_类的使用/多个java文件多个class/StudentDemo.java ================================================ // class StudentDemo { public static void main(String[] args) { //ѧ Student s = new Student(); // System.out.println(s); //Student@1afb7ac7 //Ա System.out.println("ѧǣ"+s.sid); //null System.out.println("ǣ"+s.name);//null System.out.println("ǣ"+s.age); //0 System.out.println("--------------"); //Աֵ s.sid = "itcast001"; s.name = "ϼ"; s.age = 28; //ٴԱ System.out.println("ѧǣ"+s.sid); //itcast001 System.out.println("ǣ"+s.name);//ϼ System.out.println("ǣ"+s.age); //28 System.out.println("--------------"); //ʹóԱ s.study(); s.eat(); s.sleep(); } } ================================================ FILE: day06/code/05_对象内存图/PhoneDemo.java ================================================ //ֻĶ class Phone { //Ʒ String brand; //۸ int price; //ɫ String color; //绰ķ public void call(String name) { System.out.println(""+name+"绰"); } // public void sendMessage() { System.out.println("Ⱥ"); } } class PhoneDemo { public static void main(String[] args) { // Phone p = new Phone(); //ʹóԱ System.out.println("Ʒǣ"+p.brand); System.out.println("۸ǣ"+p.price); System.out.println("ɫǣ"+p.color); System.out.println("----------------"); //Աֵ p.brand = ""; p.price = 2999; p.color = "ɫ"; //ٴʹóԱ System.out.println("Ʒǣ"+p.brand); System.out.println("۸ǣ"+p.price); System.out.println("ɫǣ"+p.color); System.out.println("----------------"); //óԱ //String name = "ϼ"; //p.call(name); p.call("ϼ"); p.sendMessage(); } } ================================================ FILE: day06/code/05_对象内存图/PhoneDemo2.java ================================================ //ֻĶ class Phone { //Ʒ String brand; //۸ int price; //ɫ String color; //绰ķ public void call(String name) { System.out.println(""+name+"绰"); } // public void sendMessage() { System.out.println("Ⱥ"); } } class PhoneDemo2 { public static void main(String[] args) { Phone p = new Phone(); p.brand = "ŵ"; p.price = 299; p.color = ""; //ʹóԱ System.out.println("Ʒǣ"+p.brand); System.out.println("۸ǣ"+p.price); System.out.println("ɫǣ"+p.color); p.call("ϼ"); p.sendMessage(); Phone p2 = new Phone(); p2.brand = "С"; p2.price = 699; p2.color = "ڰ"; //ʹóԱ System.out.println("Ʒǣ"+p2.brand); System.out.println("۸ǣ"+p2.price); System.out.println("ɫǣ"+p2.color); p2.call(""); p2.sendMessage(); } } ================================================ FILE: day06/code/05_对象内存图/PhoneDemo3.java ================================================ //ֻĶ class Phone { //Ʒ String brand; //۸ int price; //ɫ String color; //绰ķ public void call(String name) { System.out.println(""+name+"绰"); } // public void sendMessage() { System.out.println("Ⱥ"); } } class PhoneDemo3 { public static void main(String[] args) { Phone p = new Phone(); //Աֵʹò //ò Phone p2 = new Phone(); //Աֵʹò //ò Phone p3 = p; p3.brand = ""; p3.price = 1999; p3.color = "ɫ"; System.out.println("Ʒǣ"+p.brand); System.out.println("۸ǣ"+p.price); System.out.println("ɫǣ"+p.color); } } ================================================ FILE: day06/code/06_成员变量和局部变量的区别/VariableDemo.java ================================================ /* Ա;ֲ A:еλòͬ Ա з ֲ ڻ߷ B:ڴеλòͬ Ա ڴ ֲ ջڴ C:ڲͬ Ա ŶĴڶڣŶʧʧ ֲ ŷĵöڣŷĵ϶ʧ D:ʼֵͬ Ա Ĭϵijʼֵ ֲ ûĬϵijʼֵȶ壬ֵʹá ע⣺ ͬıһþͽԭ */ class VariableDemo { //Ա int x; public static void main(String[] args) { //ֲ int y; //System.out.println(y); VariableDemo vd = new VariableDemo(); System.out.println(vd.x); } } ================================================ FILE: day06/code/07_形式参数问题/NoNameObject.java ================================================ /* ûֵĶ ʹó A:÷,÷ʹһεʱá B:Ϊʵʲ */ //ѧ࣬дһlove class Student { public void love() { System.out.println("ѧϲż"); } } class StudentDemo { public void test(Student s) { s.love(); } } // class NoNameObject { public static void main(String[] args) { /* // Student s = new Student(); s.love(); s.love(); // new Student().love(); new Student().love(); */ //ֵ //StudentDemo sd = new StudentDemo(); //Student s = new Student(); //sd.test(s); //ûֵ //StudentDemo sd = new StudentDemo(); //sd.test(new Student()); //һ new StudentDemo().test(new Student()); } } ================================================ FILE: day06/code/07_形式参数问题/StudentTest.java ================================================ //ΪݣҪǶ(ֵַ) //ѧ࣬ѧϰ class Student { public void study() { System.out.println("ѧѧϰ"); } } class StudentDemo { //Student࣬͡ public void test(Student s) { s.study(); } } class StudentTest { public static void main(String[] args) { //ε? StudentDemo sd = new StudentDemo(); Student s = new Student(); sd.test(s); } } ================================================ FILE: day06/code/07_形式参数问题/SumDemo.java ================================================ //ΪʽݣֱӴݻ͵ֵɡ //Demo࣬дһʵ class Demo { public int sum(int a,int b) { return a + b; } } // class SumDemo { public static void main(String[] args) { // int a = 10; int b = 20; // Demo d = new Demo(); int result = d.sum(a,b); System.out.println("ǣ"+result); } } ================================================ FILE: day06/code/08_封装/StudentDemo.java ================================================ /* ѧࣺ Ǵ˶ǿͨȥʹеijԱ ڵǣDzֱȥʹijԱ ô? javaṩһؼ֣private private: A:һȨη B:γԱ(ԱͳԱ) C:privateεijԱֻڱвܷʡ */ //ѧ class Student { String name; private int age; //Ϊ˸ʵ //ԣҪж //ҪжϣӦдж //дӦڷ public void checkAge(int a) { if(a<0 || a>100) { System.out.println(""); }else { age = a; } } public int getAge() { return age; } } // class StudentDemo { public static void main(String[] args) { //ѧ Student s = new Student(); //nameageֵ s.name = "ϼ"; //s.age = 28; //s.age = -28; //ֵͨ s.checkAge(-28); //s.age = -28; // //System.out.println(s.name+"***"+s.age); System.out.println(s.name); System.out.println(s.getAge()); } } ================================================ FILE: day06/code/08_封装/StudentDemo2.java ================================================ /* privateӦó a:ѳԱ˽л b:ṩgetXxx()setXxx() */ class Student { private String name; private int age; //namegetset public void setName(String n) { //ʵҲǿԶnameһЩжϵ name = n; } public String getName() { return name; } //agegetset public void setAge(int a) { age = a; } public int getAge() { return age; } } class StudentDemo2 { public static void main(String[] args) { // Student s = new Student(); //Աֵ System.out.println(s.getName()+"---"+s.getAge()); //Աֵ s.setName("ϼ"); s.setAge(28); //ٴԱֵ System.out.println(s.getName()+"---"+s.getAge()); } } ================================================ FILE: day06/code/09_this关键字/StudentDemo.java ================================================ /* ˵֣Ҫ֪⣬ڵnaһõıơ ڱڲҵʱ򣬲õǾͽԭԣʱ򣬾Ͳ⡣ Աֵģȷֵ˾ֲ ôǸν? javaṩһؼ֣this thisĶ Ӧó ֲسԱ */ class Student { private String name; private int age; /* public void setName(String n) { name = n; } */ public void setName(String name) { //"ϼ" this.name = name; } public String getName() { return name; //ʵthis } public void setAge(int age) { this.age = age; } public int getAge() { return age; } } class StudentDemo { public static void main(String[] args) { // Student s = new Student(); //Աֵ System.out.println(s.getName()+"---"+s.getAge()); //Աֵ s.setName("ϼ"); s.setAge(28); //ٴԱֵ System.out.println(s.getName()+"---"+s.getAge()); } } ================================================ FILE: day06/code/09_this关键字/StudentDemo2.java ================================================ class Student { // private String name; // private int age; public void setName(String name) { this.name = name; } public String getName() { return name; } public void setAge(int age) { this.age = age; } public int getAge() { return age; } //ʾгԱķ public void show() { System.out.println("ǣ"+name+",ǣ"+age); } } class StudentDemo2 { public static void main(String[] args) { // Student s = new Student(); //ʹóԱ s.show(); //Աֵ s.setName("ϼ"); s.setAge(28); //ٴʹóԱ s.show(); System.out.println("ǣ"+s.getName()+",ǣ"+s.getAge()); } } ================================================ FILE: day06/day06总结.txt ================================================ 1:˼() (1)ǻ̵һֱ˼ (2)˼ص㣺 A:һָ˼ϰߵ˼ B:Ѹӵ򵥻 C:Ǵִָ߱ (3) A:ϴ· B:Է C: (4) Ѵװ 2:() (1)ѧϰΪ˰ʵñʵϢ (2)ʵα? ԣ ΪΪ (3)ѧϰjavaԣĵλࡣ Ҫѧһ (4)ࣺһصԺΪļ (5)Ǹľ塣 (6) ѧ 3:() (1)Ա ʵDZֻУ⣬ҿԲóʼ (2)Ա ʵǷֻҪstatic (3) ѧ class Student { String name; int age; public void study() {} } ֻ(ѧѧ) 4:ʹ() (1) ʽ = new (); (2)ʹóԱ Ա.; Ա.(...); 5:Ա;ֲ() (1)еλòͬ A:Ա У B:ֲ ʽ߷ (2)ڴеλòͬ A:Ա ڶ B:ֲ ջ (3)ڲͬ A:Ա ŶĴڶڣŶʧʧ B:ֲ ŷĵöڣŷĵ϶ʧ (4)ʼֵͬ A:Ա Ĭϳʼֵ B:ֲ ûĬֵֵʹ 6:ʽ() (1) ΪʽҪǸû͵ֵ (2) ΪʽҪǸ͵ĵֵַ() 7:() (1)ûֵĶǶļдʽ (2)ʹó A:÷ֻһ B:Ϊʵʲ 8:װ() (1)ʵϸڣṩķʷʽ (2)ô A:ʵϸڣṩķʷʽ B:˴ĸ C:˴İȫ (3)ʹԭ A:ѳԱ B:óԱӦĹʷʽ 9:privateؼ() (1)һȨη (2)ijԱ(ԱͳԱ) (3)ڱпԷ (4)׼룺 class Student { private String name; private int age; public void setName(String n) { name = n; } public String getName() { return name; } public void setAge(int a) { age = a; } public int getAge() { return age; } public void study() {} } 10:thisؼ() (1)thisĶ (2)Ӧó ˾ֲسԱ⡣ ÷superһ𽲡 (3)׼룺 class Student { private String name; private int age; public void setName(String name) { this.name = name; } public String getName() { return name; } public void setAge(int age) { this.age = age; } public int getAge() { return age; } public void show() { System.out.println("ǣ"+name+",ǣ"+age); } public void study() { System.out.println("ѧѧϰ"); } public void eat() { System.out.println("ѧҪԷ"); } public void sleep() { System.out.println("ѧ˯"); } } class StudentTest { public static void main(String[] args) { Student s = new Student(); s.setName("ϼ"); s.setAge(28); s.show(); s.study(); s.eat(); s.sleep(); System.out.println("ǣ"+s.getName()); System.out.println("ǣ"+s.getAge()); } } ================================================ FILE: day07/code/01_构造方法/PhoneTest.java ================================================ class Phone { private String brand; private int price; private String color; public Phone() {} public Phone(String brand,int price,String color) { this.brand = brand; this.price = price; this.color = color; } public void setBrand(String brand) { this.brand = brand; } public String getBrand() { return brand; } public void setPrice(int price) { this.price = price; } public int getPrice() { return price; } public void setColor(String color) { this.color = color; } public String getColor() { return color; } public void show() { System.out.println("ҵֻǣ"+brand+",۸ǣ"+price+",ɫǣ"+color); } } class PhoneTest { public static void main(String[] args) { //޲+setXxx() Phone p = new Phone(); p.setBrand(""); p.setPrice(1000); p.setColor("ɫ"); p.show(); // Phone pp = new Phone("Ϊ",799,"ɫ"); pp.show(); } } ================================================ FILE: day07/code/01_构造方法/StudentDemo.java ================================================ /* 췽ݽгʼ ص㣺 A:ͬ B:ûзֵͣvoidû C:ûоķֵ 췽ĸʽ η (...) { } 췽ע A:㲻ṩ췽ϵͳĬ޲ι췽 B:ṩ˹췽ϵͳṩĬ޲ι췽 ʱ㻹ʹ޲ι췽ֻԼ ƼԶԼ޲ι췽 C:췽Ҳǿص D:췽пreturn? ԡֻreturn; */ class Student { //Ա private String name; private int age; //췽 public Student() { System.out.println("޲ι췽"); //return; } public Student(String name) { this.name = name; } public Student(int age) { this.age = age; } public Student(String name,int age) { this.name = name; this.age = age; } //getXxx()/setXxx() public void setName(String name) { this.name = name; } public String getName() { return name; } public void setAge(int age) { this.age = age; } public int getAge() { return age; } //ʾгԱķ public void show() { System.out.println("ǣ"+name+",ǣ"+age); } } class StudentDemo { public static void main(String[] args) { // Student s = new Student(); s.show(); // Student s2 = new Student("ϼ"); s2.show(); // Student s3 = new Student(28); s3.show(); // Student s4 = new Student("ϼ",28); s4.show(); } } ================================================ FILE: day07/code/01_构造方法/StudentTest.java ================================================ /* ɣ Ա 췽 Ա ijԱֵмַʽ A:setXxx() B:ι췽 ϰ Phone: Աbrand,price,color 췽޲, ԱsetXxx()/getXxx() show() PhoneTest: main */ class Student { private String name; private int age; public Student() {} public Student(String name,int age) { this.name = name; this.age = age; } public void setName(String name) { this.name = name; } public String getName() { return name; } public void setAge(int age) { this.age = age; } public int getAge() { return age; } public void show() { System.out.println("ǣ"+name+",ǣ"+age); } } class StudentTest { public static void main(String[] args) { //޲+setXxx Student s1 = new Student(); s1.setName("ϼ"); s1.setAge(28); System.out.println(s1.getName()+"---"+s1.getAge()); s1.show(); System.out.println("----------------------------"); // Student s2 = new Student("",82); System.out.println(s2.getName()+"---"+s2.getAge()); s2.show(); } } ================================================ FILE: day07/code/03_面向对象练习/加减乘除案例/MyMathDemo.java ================================================ /* һMyMath,ṩļӼ˳ܣȻвԡ */ class MyMath { public int add(int a,int b) { return a + b; } public int subtract(int a,int b) { return a - b; } public int multiply(int a,int b) { return a * b; } public int divide(int a,int b) { return a / b; } } class MyMathDemo { public static void main(String[] args) { // MyMath my = new MyMath(); System.out.println("ӷ"+my.add(23,34)); System.out.println(""+my.subtract(23,34)); System.out.println("˷"+my.multiply(2,4)); System.out.println(""+my.divide(10,4)); } } ================================================ FILE: day07/code/03_面向对象练习/员工类案例/EmployeeDemo.java ================================================ /* һԱ,ԼԱ ȻԱ췽getXxx()/setXxx() ԼһʾгԱϢķԡ Employee ԱԱ,,ְλ 췽޲Σ ԱgetXxx()/setXxx()show() */ class Employee { private String eid; private String name; private String job; public Employee() {} public Employee(String eid,String name,String job) { this.eid = eid; this.name = name; this.job = job; } public void setEid(String eid) { this.eid = eid; } public String getEid() { return eid; } public void setName(String name) { this.name = name; } public String getName() { return name; } public void setJob(String job) { this.job = job; } public String getJob() { return job; } public void show() { System.out.println("Աǣ"+eid+",ǣ"+name+",ְλǣ"+job); } } class EmployeeDemo { public static void main(String[] args) { //޲ Employee e = new Employee(); e.setEid("itcast007"); e.setName("dz"); e.setJob("߼ʦ"); e.show(); // Employee e2 = new Employee("itcast003","»","ھʦ"); e2.show(); } } ================================================ FILE: day07/code/03_面向对象练习/求和案例/Test.java ================================================ /* һDemo,жһݺ͵ķһTestвԡ ʲôʱԱ? Ҫ֪ʲôʱԱӦ˼ԱĹϵ? ԱĻϢġ Ҳ˵ֻкйϵıſԶΪԱ */ class Demo { private int x; private int y; public Demo() {} public Demo(int x,int y) { this.x = x; this.y = y; } public void setX(int x) { this.x = x; } public int getX() { return x; } public void setY(int y) { this.y = y; } public int getY() { return y; } //ԱѾx,yˡûбҪڶ /* public int sum(int x,int y) { return x + y; } */ public int sum() { return x + y; } } class Test { public static void main(String[] args) { Demo d = new Demo(); d.setX(10); d.setY(20); int result = d.sum(); System.out.println(result); } } ================================================ FILE: day07/code/03_面向对象练习/求和案例/Test2.java ================================================ /* ʱ򣬷ΧԽСԽá */ class Demo { public int sum(int x,int y) { return x + y; } } class Test2 { public static void main(String[] args) { Demo d = new Demo(); int result = d.sum(10,20); System.out.println(result); } } ================================================ FILE: day07/code/03_面向对象练习/长方形案例/Test.java ================================================ /* һ,ܳķȻһTestвԡ */ class ChangFangXing { private int length; private int width; public ChangFangXing() {} public ChangFangXing(int length,int width) { this.length = length; this.width = width; } public void setLength(int length) { this.length = length; } public int getLength() { return length; } public void setWidth(int width) { this.width = width; } public int getWidth() { return width; } public int zhouChang() { return (length+width)*2; } public int area() { return length*width; } } class Test { public static void main(String[] args) { //޲ ChangFangXing cfx = new ChangFangXing(); cfx.setLength(100); cfx.setWidth(50); System.out.println("ܳǣ"+cfx.zhouChang()); System.out.println("ǣ"+cfx.area()); // ChangFangXing cfx2 = new ChangFangXing(100,50); System.out.println("ܳǣ"+cfx2.zhouChang()); System.out.println("ǣ"+cfx2.area()); } } ================================================ FILE: day07/code/04_static关键字/StudentDemo.java ================================================ /* ༶ӦDZ༶ÿ˶ģԶһӦÿˡ 䣬ÿӦDzһģԣÿ󣬶ӦöԼġ javaУʲôʾԱDZ? static */ class Student { // String name; // int age; //༶ //String classNumber; static String classNumber; public Student(String name,int age) { this.name = name; this.age = age; } public Student(String name,int age,String classNumber) { this.name = name; this.age = age; this.classNumber = classNumber; } public void show() { System.out.println(name+"---"+age+"---"+classNumber); } } class StudentDemo { public static void main(String[] args) { //ѧ Student s1 = new Student("ϼ",28,"20150306"); s1.show(); /* Student s2 = new Student("",35,"20150306"); s2.show(); Student s3 = new Student("",33,"20150306"); s3.show(); */ Student s2 = new Student("",35); s2.show(); Student s3 = new Student("",33); s3.show(); } } ================================================ FILE: day07/code/04_static关键字/StudentDemo2.java ================================================ /* static:̬ؼ֡ ã γԱͳԱ ص㣺 A:ļض B:ڶ C:ж ҲжǷʹþ̬ؼֵ ˮԱ̬ ˮԱ̬ D:ͨ ǵĵüȿǶ󣬻 */ class Student { public void show() { System.out.println("show"); } public static void show2() { System.out.println("show2"); } } class StudentDemo2 { public static void main(String[] args) { Student s = new Student(); s.show(); s.show2(); Student.show2(); //Student.show(); } } ================================================ FILE: day07/code/04_static关键字/StudentDemo3.java ================================================ /* staticע A:ھ̬ûthisؼֵ Ϊ̬ļضأڶڡthisŶĴڡ Ƚڴģ ܷʺڴģڴģԷȽڴġ B:ֻ̬ܷʾ̬ Ǿ̬ijԱ Էʾ̬ԱǾ̬Ա̬ԱǾ̬Ա ̬ijԱ ֻܷʾ̬ijԱ̬ijԱ */ /* class Student { private String name; public static void setName(String name) { this.name = name; } public void show() { System.out.println(name); } }*/ class Demo { int x = 10; static int y = 20; public void show() { System.out.println(x); System.out.println(y); } public static void show2() { //System.out.println(x); System.out.println(y); } public void show3() { show(); show2(); } public static void show4() { //show(); show2(); } } class StudentDemo3 { public static void main(String[] args) { //Student.setName("ϼ"); } } ================================================ FILE: day07/code/04_static关键字/StudentDemo4.java ================================================ //̬DZжģǾ̬ÿеġ class Student { String name; int age; static String classNumber; public Student(String name,int age) { this.name = name; this.age = age; } public Student(String name,int age,String classNumber) { this.name = name; this.age = age; this.classNumber = classNumber; } public void show() { System.out.println(name+"---"+age+"---"+classNumber); } } class StudentDemo4 { public static void main(String[] args) { Student s1 = new Student("",28,"sgyy001"); Student s2 = new Student("С",20); Student s3 = new Student("",18); s1.show(); s2.show(); s3.show(); s2.name = "ܲ"; s2.classNumber = "sgyy007"; s1.show(); s2.show(); s3.show(); } } ================================================ FILE: day07/code/05_main是静态的/HelloWorld.java ================================================ /* public static void main(String[] args): public:ȨηʾķȨޣjvmãȨҪ static:jvmãôֱ void:jvmãҪjvmֵ main:һͨõƣȻǹؼ֣DZjvmʶ String[] args: ڳΪ˽ռ¼ݵġ java HelloWorld aa bb cc */ class HelloWorld { public static void main(String[] args) { //System.out.println(args); //[Ljava.lang.String;@778b3fee for(int x=0; x max) { max = arr[x]; } } return max; } } ================================================ FILE: day07/code/07_学习并使用帮助文档/如何使用帮助文档.txt ================================================ 1:ҵĵ򿪰ĵ 2:ҵʾ 3:Ҫҵ࣬س Scanner 4:ĸ java.lang£DzҪġ ಻java.lang£Ҫġ ʽimport java.util.Scanner; 5:Ľ˵ 6:Ľṹ ˵ƥ ֶժҪ -- Ա 췽ժҪ -- 췽 ժҪ -- Ա 7:Ĺ췽 Ϊ˹췽ǾͿԴˡ public Scanner(InputStream source) {...} System: public static final InputStream in; //Ա InputStream is = System.in; ע⣺ е඼ܿ췽 һ˵ûй췽ijԱ϶Ǿ̬ġ 8:ķ public int nextInt() ߣ Ƿ̬˵÷ͨ ֵͣ˼ҷʲôͣʲôͽ ұߣ ƣдˣд˾òˡ бĸԼ͡ ˼Ҫ͸˼Ҫʲôͣ͸ʲô͡ ================================================ FILE: day07/code/08_Math类的学习和使用/GuessNumberDemo.java ================================================ /* 󣺲СϷ A:ϵͳһ1-100֮ int number = (int)(Math.random()*100)+1; B:¼,Scannerʵ C:ݽбȽ ʾ С ʾС ϲ㣬 D:Ϊ˱֤ܹУǾͼѭʵֶβ¡ֱС */ import java.util.Scanner; class GuessNumberDemo { public static void main(String[] args) { //ϵͳһ1-100֮ int number = (int)(Math.random()*100)+1; while(true) { //¼,Scannerʵ Scanner sc = new Scanner(System.in); System.out.println("һݣ(1-100)"); int guessNumber = sc.nextInt(); //ݽбȽ if(guessNumber > number) { System.out.println("µ"+guessNumber+""); }else if(guessNumber < number) { System.out.println("µ"+guessNumber+"С"); }else { System.out.println("ϲ㣬"); break; } } } } ================================================ FILE: day07/code/08_Math类的学习和使用/MathDemo.java ================================================ /* Math:ѧ ص㣺ûй췽ΪijԱǾ̬ġ 1ȡ public static double random():ֵڵ 0.0 С 1.0 2ȡ1-100֮ */ class MathDemo { public static void main(String[] args) { //ȡ //double d = Math.random(); //System.out.println(d); /* for(int x=0; x<10; x++) { //System.out.println(Math.random()); System.out.println(Math.random()*100); } */ //λȡ1-100֮? for(int x=0; x<100; x++) { int number = (int)(Math.random()*100)+1; System.out.println(number); } } } ================================================ FILE: day07/code/09_代码块/CodeDemo.java ================================================ /* 飺JavaУʹ{}Ĵ뱻Ϊ顣 λúIJͬԷΪ ֲ飺ڷг֣޶ڣͷţڴ 飺з֣ 췽ͬĴŵһÿεù춼ִУڹ췽ǰִ ̬飺з֣staticΡ ڸгʼڼصʱִУִֻһΡ */ //ֲ /* class Code { public void show() { //ֲ { int x = 10; System.out.println(x); } //System.out.println(x); //... 1000,x1000дûбʹ int y = 100; System.out.println(y); } } */ // /* class Code { // { System.out.println("AAAAA"); } public Code() { //System.out.println("AAAAA"); //ݱȽ϶࣬ÿж } public Code(String s) { //System.out.println("AAAAA"); System.out.println(s); } } */ //̬ class Code { //̬ static { System.out.println("AAAAA"); } /* public Code() { } public Code(String s) { System.out.println(s); } */ } class CodeDemo { static { System.out.println("BBBBB"); } public static void main(String[] args) { Code c = new Code(); //c.show(); //Code c2 = new Code("hello"); System.out.println("CCCCC"); } } ================================================ FILE: day07/code/09_代码块/CodeTest.java ================================================ /* ִй̣̬ --> --> 췽 --> ֲ ̬飺ִֻһΡ ⣺ÿδִС */ class Student { static { System.out.println("AAAAA"); } { System.out.println("BBBBB"); } public Student() { { System.out.println("CCCCC"); } } static { System.out.println("DDDDD"); } { System.out.println("EEEEE"); } } class CodeTest { public static void main(String[] args) { Student s = new Student(); Student ss = new Student(); } } ================================================ FILE: day07/day07总结.txt ================================================ 1:췽() (1)ãԶݽгʼ (2)ص㣺 A:ͬ B:ûзֵ C:ûзֵ (3)ע A:ûд췽ϵͳĬϸ޲ι췽 B:д˹췽ϵͳٸĬ޲ι췽 飺Լֶ޲ι췽 (4)Աֵ A:޲+setXxx() B: (5)һ׼Ĵ룺 class Student { private String name; private int age; public Student() {} public Student(String name,int age) { this.name = name; this.age = age; } public void setName(String name) { this.name = name; } public String getName() { return name; } public void setAge(int age) { this.age = age; } public int getAge() { return age; } public void show() { System.out.println("ǣ"+name+",ǣ"+age); } } class StudentTest { public static void main(String[] args) { //޲+setXxx() Student s = new Student(); s.setName("ϼ"); s.setAge(28); s.show(); // Student ss = new Student("",20); ss.show(); } } 2:ijʼ() (1)Student s = new Student();Щ A:Student.classļڴ B:ջΪsٿռ C:ڶΪѧ󿪱ٿռ D:ΪѧijԱĬֵ E:ΪѧijԱʾֵ F:ͨ췽Աֵ G:ϣѵֵַs 3:ϰ() (1)дһDemo,һ͹ܡԡ (2)дһε࣬ܳĹܡԡ (3)ԼԱ࣬ʵ֣ԡ (4)Լдһ˼Ӽ˳࣬ԡ 4:staticؼ() (1)һ״̬η̬˼ (2)γԱͳԱ (3)ص㣺 A:ļض B:ڶ C:ж ҲжDzǸʹþ̬ ˮˮӡ D:ͨ ̬εݣͨãҲͨ (4)ص A:ͨԱ Էʾ̬ԱǾ̬Ա̬ԱǾ̬Ա B:̬Ա ֻܷʾ̬Ա̬Ա ǣֻ̬ܷʾ̬ ע⣺ ̬Dzthisġ ȽڴIJܷʺڴġ֮ԡ 5:̬ԱͨԱ() (1)ͬ ̬ģΪ Ǿ̬ڶģΪʵ (2)ڴռ䲻ͬ ̬ڷľ̬ Ǿ̬ڶڴ (3)ڲͬ ̬ļضأʧʧ Ǿ̬ŶĴڣŶʧʧ (4)òͬ ̬ͨãҲͨáͨ Ǿֻ̬ͨ 6:mainǾ̬() (1)public static void main(String[] args) 7:ĵ(˽) (1)д (2)ĵע (3)ͨjavadoc˵ 8:ʹðĵ() գ07_ѧϰʹðĵ --> ʹðĵ.txt 9:ѧϰMath() (1)Math:ѧ (2)ص㣺ûй췽ΪijԱǾ̬ (3) public static double random(): Χ[0.0,1.0) (4)1-100֮ int number = (int)(Math.random()*100)+1; (5)СϷ Լҵķдһ 10:() (1)java{}Ĵ (2)ࣺ ֲ飺ڷС޶ڣͷţڴʹ 飺з⡣ Ѷеͬһ֣ÿδ󶼻Զá ̬飺з⣬staticΡ еݽгʼִһΡ (3)⣺ A:̬飬飬췽ִ˳? B:д ================================================ FILE: day08/code/01_继承/ExtendsDemo.java ================================================ /* javaеļ̳ص㣺 A:Javaֵֻ֧̳Уֶ֧̳С B:Javaֶ֧̳(̳ϵ) */ class A { } class B extends A { } /* class C extends A,B { } */ class C extends B { } class ExtendsDemo { public static void main(String[] args) { } } ================================================ FILE: day08/code/01_继承/ExtendsDemo2.java ================================================ /* javaеļ̳ע A:ֻܼ̳из˽еijԱ(ԱͳԱ) B:಻ܼ̳иĹ췽ǿͨsuper(潲)ؼȥʸ๹췽 C:ҪΪ˲ֹܶȥ̳ class A { public void show(){} public void show2(){} } class B extends A { //public void show(){} public void show3(){} } ôʲôʱʹü̳? ֵ̳֮ǣis aĹϵ ϵxxx is a yyyôǾͿʹü̳С ABA is a BB is a A ͨͿԿʹü̳С 򲻿ԡ Student,Person Dog,Animal Dog,Pig */ class Fu { private int num = 100; public int num2 = 200; private void show() { System.out.println("show"); } public void show2() { System.out.println("show2"); } } class Zi extends Fu { } class ExtendsDemo2 { public static void main(String[] args) { // Zi z = new Zi(); //System.out.println(z.num); System.out.println(z.num2); //z.show(); z.show2(); //Fuв //Fu f = new Fu(); //System.out.println(f.num); //System.out.println(f.num2); } } ================================================ FILE: day08/code/01_继承/ExtendsDemo3.java ================================================ /* ̳мijԱϵ ֲͬdzļ򵥣һ֪ʹõ˭ ͬͽԭ ʹñʱ򣬻ҾֲΧ ֱʹóԱӹؼ֣thisɡ ֱʹøijԱӹؼ֣superɡ */ class Father { public int age = 40; } class Son extends Father { public int num = 100; public int age = 20; public void show() { int age = 60; System.out.println(age); //ֲΧ System.out.println(this.age); //ԱΧ System.out.println(super.age); //ԱΧ System.out.println(num); } } class ExtendsDemo3 { public static void main(String[] args) { Son s = new Son(); //System.out.println(s.age); //System.out.println(s.num); s.show(); } } ================================================ FILE: day08/code/01_继承/ExtendsDemo4.java ================================================ /* ̳еĹ췽ϵ еĹ췽Ĭ϶ʸпղĹ췽 Ϊʲô? Ϊ̳иеݣܻʹøݡ ԣʼ֮ǰһҪɸݵijʼ ôҿɲԷʸ׵Ĵι췽? ԡͨsuper(...) ע A:ÿһ췽ĵһĬ϶ǣsuper() B:super(...)ʽڹ췽ֻܳһΡ C:û޲ι췽ôֻ a:ͨsuperȥʸĴι췽 b:ͨthisȥʱ췽 */ class Fu { /* public Fu() { System.out.println("Fu()"); } */ public Fu(String name) { System.out.println("hello"); } } class Zi extends Fu { public Zi() { //super(); //super("aaa"); //this("aaa"); System.out.println("zi()"); } public Zi(String name) { //super(); //super(name); //this(); System.out.println("world"); } } class ExtendsDemo4 { public static void main(String[] args) { // Zi z = new Zi(); System.out.println("-------------"); Zi z2 = new Zi("java"); } } ================================================ FILE: day08/code/01_继承/ExtendsDemo5.java ================================================ // class Person { private String name; private int age; public Person() {} public Person(String name,int age) { //"ǿ",18 this.name = name; this.age = age; } public void setName(String name) { this.name = name; } public String getName() { return name; } public void setAge(int age) { this.age = age; } public int getAge() { return age; } public void eat() { System.out.println("Է"); } public void sleep() { System.out.println("˯"); } } //ѧ class Student extends Person { public Student() {} public Student(String name,int age) { //"ǿ",18 super(name,age); //"ǿ",18 } } //ʦ class Teacher extends Person { } class ExtendsDemo5 { public static void main(String[] args) { //ѧ Student s = new Student(); s.setName(""); s.setAge(27); System.out.println(s.getName()+"---"+s.getAge()); s.eat(); s.sleep(); System.out.println("--------------------------"); Student s2 = new Student("ǿ",18); System.out.println(s2.getName()+"---"+s2.getAge()); s2.eat(); s2.sleep(); System.out.println("--------------------------"); //ʦ Teacher t = new Teacher(); t.setName(""); t.setAge(25); System.out.println(t.getName()+"---"+t.getAge()); t.eat(); t.sleep(); } } ================================================ FILE: day08/code/01_继承/ExtendsDemo6.java ================================================ /* ̳мijԱϵ ͬƣdz򵥣һ֪˭ ͬƣ ڸ ... Ҳͱ */ class Fu { public void show() { System.out.println("show fu"); } } class Zi extends Fu{ public void method() { System.out.println("method zi"); } public void show() { System.out.println("show zi"); } } class ExtendsDemo6 { public static void main(String[] args) { Zi z = new Zi(); z.show(); z.method(); //z.haha(); } } ================================================ FILE: day08/code/01_继承/PersonDemo.java ================================================ /* ѧʦ(Է˯) ѧࣺ Ա ԱgetXxx()/setXxx(),eat(),sleep() ʦࣺ Ա ԱgetXxx()/setXxx(),eat(),sleep() ȡԵĶ嵽һУ ࣺ Ա ԱgetXxx()/setXxx(),eat(),sleep() ѧ ̳ ʦ ̳ ̳еĺô A:˴ĸ B:˴ά C:֮˹ϵǶ̬ǰ ̳еı׶ˣԺǿ ԭ򣺵ϣھۡ ϣĹϵ ھۣԼ */ // class Person { private String name; private int age; public Person() {} public Person(String name,int age) { this.name = name; this.age = age; } public void setName(String name) { this.name = name; } public String getName() { return name; } public void setAge(int age) { this.age = age; } public int getAge() { return age; } public void eat() { System.out.println("Է"); } public void sleep() { System.out.println("˯"); } } //ѧ class Student extends Person { public Student() {} /* public Student(String name,int age) { this.name = name; this.age = age; } */ } //ʦ class Teacher extends Person { } class PersonDemo { public static void main(String[] args) { //ѧ Student s = new Student(); s.setName(""); s.setAge(27); System.out.println(s.getName()+"---"+s.getAge()); s.eat(); s.sleep(); System.out.println("--------------------------"); //ʦ Teacher t = new Teacher(); t.setName(""); t.setAge(25); System.out.println(t.getName()+"---"+t.getAge()); t.eat(); t.sleep(); } } ================================================ FILE: day08/code/01_继承/Test.java ================================================ /* ѧʦ(Է˯) */ //ѧ class Student { private String name; private int age; public Student() {} public Student(String name,int age) { this.name = name; this.age = age; } public void setName(String name) { this.name = name; } public String getName() { return name; } public void setAge(int age) { this.age = age; } public int getAge() { return age; } public void eat() { System.out.println("Է"); } public void sleep() { System.out.println("˯"); } } //ʦ class Teacher { private String name; private int age; public Teacher() {} public Teacher(String name,int age) { this.name = name; this.age = age; } public void setName(String name) { this.name = name; } public String getName() { return name; } public void setAge(int age) { this.age = age; } public int getAge() { return age; } public void eat() { System.out.println("Է"); } public void sleep() { System.out.println("˯"); } } // class Test { public static void main(String[] args) { //ѧ Student s = new Student(); s.setName("ϼ"); s.setAge(28); System.out.println(s.getName()+"---"+s.getAge()); s.eat(); s.sleep(); System.out.println("-------------------------"); Student s2 = new Student("",18); System.out.println(s2.getName()+"---"+s2.getAge()); s2.eat(); s2.sleep(); System.out.println("-------------------------"); //ʦ Teacher t = new Teacher(); t.setName(""); t.setAge(31); System.out.println(t.getName()+"---"+t.getAge()); t.eat(); t.sleep(); System.out.println("-------------------------"); Teacher t2 = new Teacher("",21); System.out.println(t2.getName()+"---"+t2.getAge()); t2.eat(); t2.sleep(); } } ================================================ FILE: day08/code/01_继承/Test2.java ================================================ /* ֪ʶ A:̳мĹ췽ϵ 󣬻ȥʸĹ췽Ըݽгʼ B:̳мijԱϵ ͽԭ C:thissuperʹ D:һijʼ Աʼ Ĭ ʾ 췽 */ class Fu{ public int num = 10; public Fu(){ System.out.println("fu"); } } class Zi extends Fu{ public int num = 20; public Zi(){ System.out.println("zi"); } public void show(){ int num = 30; System.out.println(num); System.out.println(this.num); System.out.println(super.num); } } class Test2 { public static void main(String[] args) { Zi z = new Zi(); z.show(); } } ================================================ FILE: day08/code/01_继承/Test3.java ================================================ /* ֪ʶ A:ִ˳ ̬ --> --> 췽 B:ִص ִֻ̬һ ÿεù췽ִ */ class Fu { static { System.out.println("̬Fu"); } { System.out.println("Fu"); } public Fu() { System.out.println("췽Fu"); } } class Zi extends Fu { static { System.out.println("̬Zi"); } { System.out.println("Zi"); } public Zi() { System.out.println("췽Zi"); } } class Test3 { public static void main(String[] args) { Zi z = new Zi(); Zi z2 = new Zi(); } } ================================================ FILE: day08/code/01_继承/Z.java ================================================ /* ֪ʶ A:ΪԱ class Demo { int x = 10; //ͳԱ Student s = new Student(); //ͳԱ } B:һijʼ Ա Ĭ ʾ C:м̳йϵijʼִеǷֲʼ ȳʼٳʼӡ superʾȳʼڳʼʱ򣬰շֲʼִС ⣺ superִС */ class X { Y b = new Y(); X() { System.out.print("X"); } } class Y { Y() { System.out.print("Y"); } } public class Z extends X { Y y = new Y(); Z() { //super();//Ĭϣϵͳײãִclass ZĹ췽 System.out.print("Z"); } public static void main(String[] args) { new Z(); } } ================================================ FILE: day08/code/01_继承/继承概述.txt ================================================ 1дһѧ࣬ class Student { private String name; private int age; public Student(){} public Student(String name,int age) { this.name = name; this.age = age; } //getXxx()/setXxx() } 2дһʦ࣬ class Teacher { private String name; private int age; public Teacher() {} public Teacher(String name,int age) { this.name = name; this.age = age; } //getXxx()/setXxx() } 3дһ࣬ class Worker { private String name; private int age; public Worker() {} public Worker(String name,int age) { this.name = name; this.age = age; } //getXxx()/setXxx() } 4... ͨĴ룬ǷָͬĶȽ϶ࡣ ңǶÿҪӻɾͬĶҲȽ鷳 ΪҪܶࡣ ôǾ룬ûбȽϺõķʽ? ν? ˼룺ҿ԰ͬݸǰ嵽AС ȻЩAһϵϵЩ ;߱AijԱ ȻǿԵˣjavaṩ˼̳м⡣ ˼Ľ룺 class Person { private String name; private int age; public Person(){} public Person(String name,int age) { this.name = name; this.age = age; } //getXxx()/setXxx() } ϵα? ʽclass extends {} class Student extends Person { public Student(){} public Student(String name,int age) { ??? } } class Teacher extends Person { public Teacher(){} public Teacher(String name,int age) { ??? } } ƺ Person࣬࣬ Student,Teacher࣬ ================================================ FILE: day08/code/02_方法重写/PersonDemo.java ================================================ /* дע A:˽зܱд B:д෽ʱȨ޲ܸ һɡ C:ྲ̬Ҳ̬ͨд */ class Person { public void show() { System.out.println("show person"); } private void show2() { System.out.println("show2 person"); } public void show3() { System.out.println("show3 person"); } public static void show4() { System.out.println("show4 person"); } } class Student extends Person { public void show() { System.out.println("show student"); } private void show2() { System.out.println("show2 student"); } public void show3() { System.out.println("show3 student"); } public static void show4() { System.out.println("show4 student"); } } class PersonDemo { public static void main(String[] args) { Student s = new Student(); s.show(); //s.show2(); s.show3(); s.show4(); } } ================================================ FILE: day08/code/02_方法重写/PhoneDemo.java ================================================ /* дг˺͸һģһķҲΪǣд */ //ֻ /* class Phone { public void call(String name) { System.out.println(""+name+"绰"); } } //¿ֻ class NewPhone { public void call(String name) { System.out.println(""); System.out.println(""+name+"绰"); } } class PhoneDemo { public static void main(String[] args) { //ֻ Phone p = new Phone(); p.call("ϼ"); System.out.println("-----------"); //ֻ NewPhone np = new NewPhone(); np.call("ϼ"); } } */ class Phone { public void call(String name) { System.out.println(""+name+"绰"); } } class NewPhone extends Phone { public void call(String name) { System.out.println(""); //System.out.println(""+name+"绰"); super.call(name); } } class PhoneDemo { public static void main(String[] args) { //ֻ Phone p = new Phone(); p.call("ϼ"); System.out.println("-----------"); //ֻ NewPhone np = new NewPhone(); np.call("ϼ"); } } ================================================ FILE: day08/code/02_方法重写/两个面试题.txt ================================================ 1:OverrideOverload?Overloadܸı䷵ֵ? Override:д Overload: дгֺ͸һģһķ أͬһгֵķͬбͬ Overloadܸı䷵ֵͣΪͷֵ޹ء 2:thisؼֺsuperؼֱַʲô?ԼǸԵʹóá this: super:洢ռıʶ(Ϊ) ʹó Ա this. ijԱ super. ijԱ 췽 this(...) Ĺ췽 super(...) Ĺ췽 Ա this.(...) ijԱ super.(...) ijԱ ================================================ FILE: day08/code/03_继承练习/AnimalDemo.java ================================================ /* ϰ2èΪ̳еİ汾ԼԼԡȻὲ è Ա 췽޲Σ ԱgetXxx()/setXxx()show()catchMouse() Ա 췽޲Σ ԱgetXxx()/setXxx()show()lookDoor()  Ա 췽޲Σ ԱgetXxx()/setXxx()show() è췽޲Σ catchMouse() 췽޲Σ lookDoor() ࣺ main(String[] args): */ class Animal { private String name; private int age; public Animal() {} public Animal(String name,int age) { this.name = name; this.age = age; } public void setName(String name) { this.name = name; } public String getName() { return name; } public void setAge(int age) { this.age = age; } public int getAge() { return age; } public void show() { System.out.println(name+"---"+age); } } class Cat extends Animal { public Cat() {} public Cat(String name,int age) { super(name,age); } public void catchMouse() { System.out.println("è׽"); } } class Dog extends Animal { public Dog() {} public Dog(String name,int age) { super(name,age); } public void lookDoor() { System.out.println("Կ"); } } class AnimalDemo { public static void main(String[] args) { //è Cat c = new Cat(); c.setName("ӷè"); c.setAge(3); c.show(); c.catchMouse(); System.out.println("------------"); Cat cc = new Cat("tomè",6); cc.show(); cc.catchMouse(); System.out.println("------------"); Dog d = new Dog(); d.setName("Х"); d.setAge(5); d.show(); d.lookDoor(); System.out.println("------------"); Dog dd = new Dog("",8); dd.show(); dd.lookDoor(); } } ================================================ FILE: day08/code/03_继承练习/Test.java ================================================ /* è Ա 췽޲Σ ԱgetXxx()/setXxx()show()catchMouse() Ա 췽޲Σ ԱgetXxx()/setXxx()show()lookDoor() ࣺ main(String[] args): */ //è class Cat { private String name; private int age; public Cat() {} public Cat(String name,int age) { this.name = name; this.age = age; } public void setName(String name) { this.name = name; } public String getName() { return name; } public void setAge(int age) { this.age = age; } public int getAge() { return age; } public void show() { System.out.println(name+"---"+age); } public void catchMouse() { System.out.println("è׽"); } } // class Dog { private String name; private int age; public Dog() {} public Dog(String name,int age) { this.name = name; this.age = age; } public void setName(String name) { this.name = name; } public String getName() { return name; } public void setAge(int age) { this.age = age; } public int getAge() { return age; } public void show() { System.out.println(name+"---"+age); } public void lookDoor() { System.out.println("Կ"); } } // class Test { public static void main(String[] args) { //è Cat c = new Cat(); c.setName("ӷè"); c.setAge(3); c.show(); c.catchMouse(); System.out.println("------------"); Cat cc = new Cat("tomè",6); cc.show(); cc.catchMouse(); System.out.println("------------"); //ϰ1ԼдIJ Dog d = new Dog(); d.setName("Х"); d.setAge(5); d.show(); d.lookDoor(); System.out.println("------------"); Dog dd = new Dog("",8); dd.show(); dd.lookDoor(); } } //ϰ2èΪ̳еİ汾ԼԼԡȻὲ ================================================ FILE: day08/code/04_final关键字/FinalDemo.java ================================================ /* ܶʱǿܲ޸ҵݡʱô? javaṩһ״̬ηfinal final:յ˼ ã ࣬ԱԱ ص㣺 ࣺ౻finalΣ˵ܱ̳࣬С Աfinalκ󣬾ͱ˳ֵܱ޸ġ Աܱд */ final class Fu { public int num = 10; public final int num2 = 20; public final void getResource() { System.out.println("ǾܵԴ,Կ,Ը"); } public void show() { num = 100; System.out.println(num); //num2 = 200; System.out.println(num2); } } class Zi extends Fu { /* public void getResource() { System.out.println("ʲô͸ʲô"); } */ } class FinalDemo { public static void main(String[] args) { Zi z = new Zi(); z.getResource(); z.show(); } } ================================================ FILE: day08/code/04_final关键字/FinalDemo2.java ================================================ /* finalξֲ ͣ͵ֵܱ ͣ͵ĵֵַܸı */ class Person { public void show() { //ֲ int num = 10; System.out.println(num); num = 100; System.out.println(num); //finalξֲ final int num2 = 20; System.out.println(num2); //num2 = 200; System.out.println(num2); } public void method() { //ֲ Student s1 = new Student(); System.out.println(s1.age); s1.age = 100; System.out.println(s1.age); //s1 = new Student(); //finalξֲ final Student s2 = new Student(); System.out.println(s2.age); s2.age = 100; System.out.println(s2.age); //s2 = new Student(); } } class Student { int age = 10; } class FinalDemo2 { public static void main(String[] args) { Person p = new Person(); //p.show(); p.method(); } } ================================================ FILE: day08/code/04_final关键字/FinalDemo3.java ================================================ /* finalijʼʱ A:ڶʱֵԺҲܸˡ B:ڶ󣬹췽ǰֵԡ */ class Demo { int num; //final int num2 = 0; final int num2 = 0; static { num2 = 10; } /* { num2 = 20; } */ public Demo() { //num2 = 100; } } class FinalDemo3 { public static void main(String[] args) { Demo d = new Demo(); System.out.println(d.num); System.out.println(d.num2); } } ================================================ FILE: day08/code/05_多态/DuoTaiDemo.java ================================================ /* ̬ͬһڲͬʱֳֵ̱IJͬ״̬ A:ˮ(ˮˮ) B:èͶ ұߵֵֵߣܶͨ˵ԡ d = new (); dd = new è(); è m = new è(); è mm = new (); dd = new è(); ? A:м̳йϵ B:зд C:иָ */ class Animal { public void eat() { System.out.println("Է"); } } class Dog extends Animal { public void eat() { System.out.println(""); } } class DuoTaiDemo { public static void main(String[] args) { //Animal a = new Animal(); //Dog d = new Dog(); //̬ Animal a = new Dog(); } } ================================================ FILE: day08/code/05_多态/DuoTaiDemo2.java ================================================ /* ̬ijԱص㣺 A:Ա 뿴ߣпߡ B:Ա 뿴ߣпұߡ Ϊʲô? ΪԱдûС C:̬ 뿴ߣпߡ ̬ʵûдһ˵ΪǸء */ class Animal { public int age = 40; public void show() { System.out.println("show animal"); } public static void method() { System.out.println("method animal"); } } class Dog extends Animal { public int age = 20; public void show() { System.out.println("show dog"); } public static void method() { System.out.println("method dog"); } } class DuoTaiDemo2 { public static void main(String[] args) { //̬ Animal a = new Dog(); System.out.println(a.age); //System.out.println(a.num); a.show(); a.method(); } } ================================================ FILE: day08/code/05_多态/DuoTaiTest.java ================================================ class Fu{ public void show(){ System.out.println("fu show"); } } class Zi extends Fu{ public void show(){ System.out.println("zi show"); } public void method(){ System.out.println("zi method"); } } //뱨 class DuoTaiTest { public static void main(String[] args) { Fu f = new Zi(); f.method(); } } ================================================ FILE: day08/code/05_多态/DuoTaiTest2.java ================================================ class A{ public void show(){ show2(); } public void show2(){ System.out.println(""); } } class B extends A { public void show2(){ System.out.println(""); } } class C extends B { public void show(){ super.show(); } public void show2(){ System.out.println(""); } } class DuoTaiTest2 { public static void main(String[] args) { A a = new B(); a.show(); B b = new C(); b.show(); } } ================================================ FILE: day08/day08总结.txt ================================================ 1:̳() (1)ѶͬԺΪȡ嵽һУ Ȼһһϵ;߱һԺΪˡ ֹϵУ̳С (2)̳αʾ? ʽclass extends {} (3)javaеļ̳ص㣺 A:javaֻ̳ܵ B:javaпԶ̳С(̳ϵ) (4)javaеļ̳еĺôͱ׶ A:ô a:˴ĸ b:˴Ŀά c:֮һϵǶ̬ǰ B:׶ ǿˡһĸĶֱӰһࡣ ԭ򣺸ھۣϡ (5)javaеļ̳еע A:˽гԱܱ̳ B:췽ܱ̳Уʣͨsuperؼ C:Ϊ˲ֹܶȥʹü̳ (6)̳еijԱϵ A:Ա ͬر򵥣һ֪õ˭ ͬͽԭ Լthis ʸ׵super B:췽 a:й췽Ĭ϶Ƿʸ޲ι췽 b:û޲ι췽ô? ͨsuper(...)ʸι췽 ͨthis(...)ʱ췽(һҪһ˸Ĺ췽) ע⣺superthisֻܳһֻĵһ䡣 Ϊʲô? Ϊܻʸݣԣʼ֮ǰҪȰѸݳʼϡ C:Ա ͬر򵥣һ֪õ˭ ͬͽԭ Լthis ʸ׵super (7)thissuperӦó A: this super洢ռıʶΪá B:Ӧó a:Ա this. ijԱ super. ijԱ b:췽 this(...) Ĺ췽 super(...) Ĺ췽 c:Ա this.(...) ijԱ super.(...) ijԱ (8)ϰ ʦѧϰ ̳ǰ ̳к è͹ϰ ̳ǰ ̳к 2:д() (1)У˺͸һģһķ (2)ãʹø๦ܣǿùܡ (3)⣺ overrideoverload? overloadԸı䷵ֵ? (4)дע A:˽зܱд B:дķȨ޲ܱȸķ C:ֻ̬д̬(ʵ㲻д) 3:finalؼ() (1)final:յ˼ (2)ã࣬γԱγԱ (3)ص㣺 A: ಻ܱ̳ B:γԱ ˳ C:γԱ ܱд (4)⣺ A:finalξֲ a: ֵܷı b: ֵַܷ͸ı䣬ǿԸı B:finalijʼʱ a:ڶʱ͸ֵ b:ڹ췽ǰֵ 4:̬() (1)̬ͬһڲͬʱֳ̱Ķ״̬ ˮèͶ (2)̬ǰ᣺ A:м̳йϵ B:зд C:иָ (3)̬еijԱص㣺 A:Ա 뿴ߣп B:Ա 뿴ߣпұ C:̬ 뿴ߣп Ϊʲô ΪдûС̬ûдһ˵ ================================================ FILE: day09/code/01_多态/DuoTaiDemo.java ================================================ /* ̬ĺô A:˳ά(ɼ̳б֤) B:˳չ(ɶ̬֤) ̬ı׶ˣ ܷеĹܡ */ class Animal { public void eat(){} public void sport(){} /* public void sleep() { System.out.println("˯"); } */ } class Dog extends Animal { public void eat(){ System.out.println(""); } public void sport(){ System.out.println("ܲ"); } public void lookDoor() { System.out.println(""); } } class Cat extends Animal { public void eat(){ System.out.println("è"); } public void sport(){ System.out.println("è׽Բ"); } } class Pig extends Animal { public void eat(){ System.out.println(""); } public void sport(){ System.out.println("˯"); } } class DuoTaiDemo { public static void main(String[] args) { /* //ϲһֻ Dog d = new Dog(); d.eat(); d.sport(); //Һϲһֻ Dog d2 = new Dog(); d2.eat(); d2.sport(); //رϲһֻ Dog d3 = new Dog(); d3.eat(); d3.sport(); */ //... //ҪֻܶңÿҪһЩ߻ҪһЩ //Щһġǹһ //һֱдȥ÷dz鷳 //ԣҪǶŻ //Ż?ΪֲһģǶһ //ԣǾ׼ʹ÷ĽѶΪݹɡ //˷ǾͿµ Dog d = new Dog(); Dog d2 = new Dog(); Dog d3 = new Dog(); //printDog(d); //printDog(d2); //printDog(d3); printAnimal(d); printAnimal(d2); printAnimal(d3); System.out.println("-----------"); //ϲèϲèرϲè //... //дһʵְ // Cat c = new Cat(); Cat c2 = new Cat(); Cat c3 = new Cat(); //printCat(c); //printCat(c2); //printCat(c3); printAnimal(c); printAnimal(c2); printAnimal(c3); System.out.println("-----------"); //ҺһֻҪдһĴ룬ʵ? //A:ȴ̳Զ //B:ڲдʵ //C:ڲд󣬵÷ Pig p = new Pig(); Pig p2 = new Pig(); Pig p3 = new Pig(); //printPig(p); //printPig(p2); //printPig(p3); printAnimal(p); printAnimal(p2); printAnimal(p3); //һϲǣҪ //ղһ,ԼҲǿɵ //һϲӣ... //һ£ //¶һµûκģǼڲеmainеҲû //DzӦȥڲµĹ //Ժдһʱһԭ򣺶չţ޸Ĺرա //ǣҪ򣬻͵ȥ޸IJ //Ϊ˲ȥ޸IJгmain //Ҫļһ } /* public static void printDog(Dog d) { d.eat(); //... d.sport(); } public static void printCat(Cat c) { c.eat(); //... c.sport(); } public static void printPig(Pig p) { p.eat(); //... p.sport(); } */ public static void printAnimal(Animal a) { //Animal a = new Dog(); a = new Cat(); a = new Pig(); a.eat(); //... //a.lookDoor(); a.sport(); } } ================================================ FILE: day09/code/01_多态/DuoTaiDemo2.java ================================================ /* ηй? A:󼴿ɡ B:̬ת ת ӵ ָ ת Ӹ תΪ װ ӣ():,Ϸ():,age:20 ӵ():JavaSEage:40 //̬ ӵ k = new (); //Androidܻ𣬶JavaSEAndroidJavaSEܻ //̫æװȥΡճСӣ۾ת System.out.println(k.age); //40 k.(); // //k.Ϸ(); // //ؼ k = ()k; //ȥСӣȥ۾ת System.out.println(k.age); //20 k.(); // k.Ϸ(); */ class Animal { public void eat(){} } class Dog extends Animal { public void eat(){ System.out.println("Թͷ"); } public void help() { System.out.println("԰ץС͵"); } } class Cat extends Animal { public void eat(){ System.out.println("è"); } } class DuoTaiDemo2 { public static void main(String[] args) { //̬ Animal a = new Dog(); //ת a.eat(); //a.help(); //뿴 //ת Dog d = (Dog)a; d.eat(); d.help(); System.out.println("-------------"); //ᱨ? a = new Cat(); ////ת a.eat(); Cat c = (Cat)a; c.eat(); //Dog dd = (Dog)a; //ClassCastException //dd.eat(); //dd.help(); } } ================================================ FILE: day09/code/02_多态案例/AnimalDemo.java ================================================ //è class Animal { private String name; private int age; public Animal() {} public Animal(String name,int age) { this.name = name; this.age = age; } public void setName(String name) { this.name = name; } public String getName() { return name; } public void setAge(int age) { this.age = age; } public int getAge() { return age; } public void show() { System.out.println("name:"+name+",age:"+age); } public void sleep() { System.out.println("sleep"); } public void eat() { System.out.println("eat"); } } class Dog extends Animal { public Dog() {} public Dog(String name,int age) { super(name,age); } public void eat() { System.out.println("dog eat"); } public void sleep() { System.out.println("dog sleep"); } } class Cat extends Animal { public Cat() {} public Cat(String name,int age) { super(name,age); } public void eat() { System.out.println("cat eat"); } public void sleep() { System.out.println("cat sleep"); } } class AnimalDemo { public static void main(String[] args) { //Animal Animal a = new Animal(); a.setName(""); a.setAge(10); a.eat(); a.sleep(); a.show(); System.out.println("------------"); Animal a2 = new Animal("",10); a2.eat(); a2.sleep(); a2.show(); System.out.println("------------"); //Dog Dog d = new Dog(); d.setName(""); d.setAge(5); d.eat(); d.sleep(); d.show(); System.out.println("------------"); Dog d2 = new Dog("",5); d2.eat(); d2.sleep(); d2.show(); System.out.println("------------"); //ϰ1CatԼϰ Cat c = new Cat(); c.setName("è"); c.setAge(2); c.eat(); c.sleep(); c.show(); System.out.println("------------"); Cat c2 = new Cat("è",2); c2.eat(); c2.sleep(); c2.show(); System.out.println("------------"); //ͨDogԶ̬ Animal aa = new Dog(); aa.setName("С"); aa.setAge(3); aa.eat(); aa.sleep(); aa.show(); System.out.println("------------"); Animal aa2 = new Dog("С",3); aa2.eat(); aa2.sleep(); aa2.show(); System.out.println("------------"); //ϰ2ͨCatԶ̬Լϰ Animal aa3 = new Cat("Сè",1); aa3.eat(); aa3.sleep(); aa3.show(); System.out.println("------------"); Animal aa4 = new Cat(); aa4.setName("Сè"); aa4.setAge(1); aa4.eat(); aa4.sleep(); aa4.show(); } } ================================================ FILE: day09/code/02_多态案例/PersonDemo.java ================================================ //ʳĻ class Person { public void eat() { System.out.println("person eat"); } } class SouthPerson extends Person { public void eat() { System.out.println("Ϸϲ׷"); } } class NorthPerson extends Person { public void eat() { System.out.println("ϲ"); } } class PersonDemo { public static void main(String[] args) { Person p = new Person(); p.eat(); SouthPerson sp = new SouthPerson(); sp.eat(); //p = sp; //p.eat(); Person pp = new SouthPerson(); pp.eat(); } } ================================================ FILE: day09/code/03_抽象类/AbstractDemo.java ================================================ /* ﲻһֻèǾĸ塣 ңڶԳԵĹܣҲӦø֣ ΪͬĶԵDzһģӦþĶԼȥʵԼԵĹܡ һûо֣һݡαʾ? ʽ η ֵ (б...); Ϊ˱ʾһĶjavaṩһʶĹؼ֣abstract ʽ η abstract ֵ (б...); һеķdz࣬ôͱ붨Ϊࡣ ص㣺 A:ͳ󷽷abstractؼ B: a:Ҫôdz b:Ҫôдег󷽷 C:಻һг󷽷г󷽷һdz D:಻ʵ ôʹóĹ? ն̬ķʽʹá̬ عˣ ̬ǰΪʲôҪзд? Ϊķdzġ */ abstract class Animal { //зģֻΪ //public void eat() {} //󷽷 public abstract void eat(); } abstract class Dog extends Animal { } class Cat extends Animal { public void eat() { System.out.println("è"); } } class AbstractDemo { public static void main(String[] args) { //Animal a = new Animal(); //޷ʵ //Dog d = new Dog(); //޷ʵ //Cat c = new Cat(); //̬ Animal a = new Cat(); a.eat(); } } ================================================ FILE: day09/code/03_抽象类/AbstractDemo2.java ================================================ /* ijԱص㣺 A:Ա DZҲdz B:췽 й췽Dzʵ ⣺췽ʲô? ʸݵijʼ C:Ա г󷽷Ҳзdz󷽷 󷽷ǿҪijЩ顣 dz󷽷ڸֱʹã˴ĸԡ */ abstract class Animal { int num = 10; final int num2 = 20; public Animal() {} public void method() { System.out.println("method"); } public abstract void function(); } class Dog extends Animal { public void show() { num = 100; System.out.println(num); //num2 = 200; System.out.println(num2); } public void function() {} } class AbstractDemo2 { public static void main(String[] args) { Dog d = new Dog(); d.show(); } } ================================================ FILE: day09/code/04_抽象类案例/AbstraceTest.java ================================================ /* С⣺ 1һûг󷽷ɲԶΪ?ԣʲô? ԡ Ϊ˲ñ˴ 2abstractܺЩؼֹ final: finalεķܱдabstractεķҪ뱻д privateprivateεķܱдabstractεķҪ뱻д staticstaticεķͨãabstractεķûзģ һûзķûκģԲܹ档 */ abstract class Student { //public final abstract void show(); //private abstract void show(); //public static abstract void show(); } class AbstractTest { public static void main(String[] args) { } } ================================================ FILE: day09/code/04_抽象类案例/AnimalDemo.java ================================================ /* è è ԣ䣬Է */ abstract class Animal { private String name; private int age; public Animal(){} public Animal(String name,int age) { this.name = name; this.age = age; } public void setName(String name) { this.name = name; } public String getName() { return name; } public void setAge(int age) { this.age = age; } public int getAge() { return age; } //󷽷 public abstract void eat(); } //ʵ class Dog extends Animal { public Dog(){} public Dog(String name,int age) { super(name,age); } public void eat() { System.out.println(""); } } //ϰ1èʵ֣Լϰ class AnimalDemo { public static void main(String[] args) { //Թ Dog d = new Dog(); d.setName(""); d.setAge(3); System.out.println(d.getName()+"---"+d.getAge()); d.eat(); System.out.println("--------------------------"); Dog d2 = new Dog("",3); System.out.println(d2.getName()+"---"+d2.getAge()); d2.eat(); System.out.println("--------------------------"); //̬ Animal a = new Dog(); a.setName(""); a.setAge(3); System.out.println(a.getName()+"---"+a.getAge()); a.eat(); System.out.println("--------------------------"); Animal a2 = new Dog("",3); System.out.println(a2.getName()+"---"+a2.getAge()); a2.eat(); System.out.println("--------------------------"); //ϰ2èIJԣ̬IJ } } ================================================ FILE: day09/code/04_抽象类案例/EmployeeDemo.java ================================================ /* ڿһϵͳʱҪԱƣԱ3ԣԼʡ ҲԱ˺Ա⣬Ϊһԡ ʹü̳е˼ƳԱ;ࡣҪṩҪķԷʡ Աࣺ ͨԱ Լ Լʣ */ abstract class Employee { private String name; private String eid; private int salary; public Employee() {} public Employee(String name,String eid,int salary) { //"һ","10000",500 this.name = name; this.eid = eid; this.salary = salary; } public void setName(String name) { this.name = name; } public String getName() { return name; } public void setEid(String eid) { this.eid = eid; } public String getEid() { return eid; } public void setSalary(int salary) { this.salary = salary; } public int getSalary() { return salary; } public void show() { System.out.println(name+"---"+eid+"---"+salary); } public abstract void work(); } class Programmer extends Employee { public Programmer() {} public Programmer(String name,String eid,int salary) { super(name,eid,salary); } public void work() { System.out.println("ʨд"); } } class Manager extends Employee { private int bonus; public Manager() {} public Manager(String name,String eid,int salary,int bonus) { //"һ","10000",500,10000 super(name,eid,salary); //"һ","10000",500 this.bonus = bonus; } public void setBonus(int bonus) { this.bonus = bonus; } public int getBonus() { return bonus; } public void work() { System.out.println("Ϳͻ̸"); } public void show() { //System.out.println(getName()+"---"+getEid()+"---"+getSalary()+"---"+bonus); super.show(); System.out.println("Ľǣ"+bonus); } } class EmployeeDemo { public static void main(String[] args) { //Ա Programmer p = new Programmer(); p.setName("лҽ"); p.setEid("10010"); p.setSalary(7700); p.show(); p.work(); //ֲдˡ System.out.println("---------------------"); //IJ /* Employee e = new Manager(); e.setName(""); e.setEid("10086"); e.setSalary(6000); //e.setBonus(2000); e.show(); e.work(); */ Employee e = new Manager("һ","10000",500,10000); e.show(); e.work(); } } ================================================ FILE: day09/code/04_抽象类案例/StudentDemo.java ================================================ /* ѧ 񣺻ѧԱҵѧԱ ԣ䣬༶ѧϰԷ */ abstract class Student { private String name; private int age; private String classId; public Student() {} public Student(String name,int age,String classId) { this.name = name; this.age = age; this.classId = classId; } public void setName(String name) { this.name = name; } public String getName() { return name; } public void setAge(int age) { this.age = age; } public int getAge() { return age; } public void setClassId(String classId) { this.classId = classId; } public String getClassId() { return classId; } //Է public void eat() { System.out.println("ѧҪԷ"); } //ѧϰ public abstract void study(); } class BasicStudent extends Student { public BasicStudent() {} public BasicStudent(String name,int age,String classId) { super(name,age,classId); } public void study() { System.out.println("ѧѧϰJavaSE"); } } class JobStudent extends Student { public JobStudent() {} public JobStudent(String name,int age,String classId) { super(name,age,classId); } public void study() { System.out.println("ҵѧѧϰJavaEE+Android"); } } class StudentDemo { public static void main(String[] args) { // BasicStudent bs = new BasicStudent(); bs.setName(""); bs.setAge(22); bs.setClassId("itcast007"); System.out.println(bs.getName()+"---"+bs.getAge()+"---"+bs.getClassId()); bs.eat(); bs.study(); System.out.println("--------------------------------------------------"); BasicStudent bs2 = new BasicStudent("",28,"itcast250"); System.out.println(bs2.getName()+"---"+bs2.getAge()+"---"+bs2.getClassId()); bs2.eat(); bs2.study(); System.out.println("--------------------------------------------------"); //̬ʹ Student s = new BasicStudent(); s.setName("ŷ"); s.setAge(23); s.setClassId("itcast123"); System.out.println(s.getName()+"---"+s.getAge()+"---"+s.getClassId()); s.eat(); s.study(); System.out.println("--------------------------------------------------"); Student s2 = new BasicStudent("xiao",23,"itcast008"); System.out.println(s2.getName()+"---"+s2.getAge()+"---"+s2.getClassId()); s2.eat(); s2.study(); } } ================================================ FILE: day09/code/04_抽象类案例/TeacherDemo.java ================================================ /* ʦ ʦҵʦ ԣ䣬Ρ */ abstract class Teacher { private String name; private int age; public Teacher(){} public Teacher(String name,int age) { this.name = name; this.age = age; } public void setName(String name) { this.name = name; } public String getName() { return name; } public void setAge(int age) { this.age = age; } public int getAge() { return age; } //󷽷 public abstract void teach(); } class BasicTeacher extends Teacher { public BasicTeacher(){} public BasicTeacher(String name,int age) { super(name,age); } public void teach() { System.out.println("ʦJavaSE"); } } //ϰ1ҵʦĴ class TeacherDemo { public static void main(String[] args) { //Իʦ BasicTeacher bt = new BasicTeacher(); bt.setName("ϼ"); bt.setAge(28); System.out.println(bt.getName()+"---"+bt.getAge()); bt.teach(); System.out.println("----------------------------"); BasicTeacher bt2 = new BasicTeacher("ϼ",28); System.out.println(bt2.getName()+"---"+bt2.getAge()); bt2.teach(); System.out.println("----------------------------"); //̬ Teacher t = new BasicTeacher(); t.setName("ϼ"); t.setAge(28); System.out.println(t.getName()+"---"+t.getAge()); t.teach(); System.out.println("----------------------------"); Teacher t2 = new BasicTeacher("ϼ",28); System.out.println(t2.getName()+"---"+t2.getAge()); t2.teach(); System.out.println("----------------------------"); //ϰ2ҵʦԣ̬ } } //ϰ3ѧ //񣺻ѧԱҵѧԱ //ԣ䣬༶ѧϰԷ //ԼԼд룬Լ ================================================ FILE: day09/code/05_接口/InterfaceDemo.java ================================================ /* ӿڸڶ԰棬ЩèȦߣȶ ЩǶ;;߱ģԣʺ϶ڶС ңҲеè߹߱ЩܣֱӶè߹Ҳʡ һչܣjavaṩ˽ӿ֡ ӿڵص㣺 A:ӿùؼinterfaceʾ ʽinterface ӿ {} B:ʵֽӿimplementsʾ ʽclass implements ӿ {} C:ӿڲʵ ӿڶ̬ D:ӿڵ a:Ҫôdz b:Ҫôдӿееij󷽷 */ interface Animal { public abstract void show(); } abstract class Dog implements Animal { } class Cat implements Animal { public void show() {} } class InterfaceDemo { public static void main(String[] args) { } } ================================================ FILE: day09/code/05_接口/InterfaceDemo2.java ================================================ /* ӿڵijԱص㣺 A:Ա dzǾ̬εġ Ĭϵηpublic static final B:췽 ûй췽 C:Ա ֻdz󷽷 Ĭϵηpublic abstract 飺 Լдӿڵݵʱ򣬰ЩĬηϡ */ interface Animal { //int num = 10; //final int num2 = 20; public static final int num = 10; //public Animal() {} public abstract void show(); //public void method() {} //void method(); } class Dog implements Animal { /* public void show() { //num = 100; System.out.println(num); //num2 = 200; System.out.println(num2); System.out.println(Animal.num); System.out.println(Animal.num2); } */ public void show() {} } class InterfaceDemo2 { public static void main(String[] args) { Dog d = new Dog(); //d.show(); } } ================================================ FILE: day09/code/05_接口/InterfaceDemo3.java ================================================ /* ࣺ ̳йϵֻ̳ܵСԶ̳С ӿڣ ʵֹϵԵʵ֣ҲԶʵ֡ ڼ̳һͬʱʵֶӿڡ ӿӿڣ ̳йϵԵ̳УҲԶ̳С */ interface A { } interface B { } class C { } class D extends C implements A,B{ } interface E extends A,B{ } class InterfaceDemo3 { public static void main(String[] args) { } } ================================================ FILE: day09/code/05_接口/抽象类和接口的区别.txt ================================================ 1Ա ࣺ ԱDZҲdz 췽 ԱdzģҲǷdz ӿڣ Աֻdz Ĭηpublic static final Աֻdz Ĭηpublic abstract 2ϵ ࣺ ̳йϵֻ̳ܵСԶ̳С ӿڣ ʵֹϵԵʵ֣ҲԶʵ֡ ڼ̳һͬʱʵֶӿڡ ӿӿڣ ̳йϵԵ̳УҲԶ̳С 3 ֵࣺ̳ǣis aĹϵڳжһǹԹ ӿڣʵֵǣlike aĹϵڽӿжһչ ================================================ FILE: day09/code/06_接口案例/AnimalDemo.java ================================================ /* һƵʱӾĿʼЩԵݣϵϳȡ Ḷ́Ӿ嵽 ʵֵḶ́ӳ󵽾塣 ʹõʱʹõǾĶ è,ߵĶ⹦ ˶Ա(ӿ) Աߡ è() Ա 췽޲Σ ԱgetXxx()/setXxxԷ˯ () Ա 췽޲Σ ԱgetXxx()/setXxxԷ˯ èкܶ๲ԵݣҪȡ () Ա 췽޲Σ ԱgetXxx()/setXxxԷ()˯(){} ࣺ () è() ߱߹ܵè() () ߱߹ܵĹ() ˶Ա(ӿ) ̬ǰ᣺ A:м̳лʵֹϵ B:зд C:и߸ӿָ ̬ıʽ ̬ ̬ ӿڶ̬ ĿǰõǾഴʹá */ //˶Աӿ interface Sport { //߹ public abstract void jump(); } // abstract class Animal { private String name; private int age; public Animal(){} public Animal(String name,int age) { this.name = name; this.age = age; } public void setName(String name) { this.name = name; } public String getName() { return name; } public void setAge(int age) { this.age = age; } public int getAge() { return age; } //˯ public void sleep() { System.out.println("Ҫ˯"); } //Է public abstract void eat(); } //è class Cat extends Animal { public Cat(){} public Cat(String name,int age) { super(name,age); } public void eat() { System.out.println("è"); } } //߱߹ܵè class JumpCat extends Cat implements Sport { public JumpCat(){} public JumpCat(String name,int age) { super(name,age); } public void jump() { System.out.println("èһշ"); } } // class Dog extends Animal { public Dog(){} public Dog(String name,int age) { super(name,age); } public void eat() { System.out.println(""); } } //߱߹ܵĹ class JumpDog extends Dog implements Sport { public JumpDog(){} public JumpDog(String name,int age) { super(name,age); } public void jump() { System.out.println("ڿնԽΧǽ"); } } class AnimalDemo { public static void main(String[] args) { //è //޲ JumpCat jc = new JumpCat(); jc.setName("è"); jc.setAge(5); System.out.println(jc.getName()+"---"+jc.getAge()); jc.sleep(); jc.eat(); jc.jump(); //... //̬ Animal a = new JumpCat(); a.setName("è"); a.setAge(6); System.out.println(a.getName()+"---"+a.getAge()); a.sleep(); a.eat(); //a.jump(); //̬ Sport s = new JumpCat(); s.jump(); //s.eat(); //s.sleep(); } } ================================================ FILE: day09/code/06_接口案例/PeopleDemo.java ================================================ //˵ӢĽӿ interface SpeakEnglish { public abstract void speak(); } // abstract class People { private String name; private int age; public People() {} public People(String name,int age) { this.name = name; this.age = age; } public void setName(String name) { this.name = name; } public String getName() { return name; } public void setAge(int age) { this.age = age; } public int getAge() { return age; } public void sleep() { System.out.println("sleep"); } public abstract void eat(); } //Ľ abstract class Coach extends People { public Coach() {} public Coach(String name,int age) { super(name,age); } public abstract void teach(); } //˶Ա abstract class Player extends People { public Player() {} public Player(String name,int age) { super(name,age); } public abstract void study(); } //ƹ class PingPangCoach extends Coach implements SpeakEnglish { public PingPangCoach() {} public PingPangCoach(String name,int age) { super(name,age); } public void speak() { System.out.println("ƹѧ˵Ӣ"); } public void eat() { System.out.println("ƹ԰ײ˶"); } public void teach() { System.out.println("ƹηͽ"); } } // class BasketBallCoach extends Coach { public BasketBallCoach() {} public BasketBallCoach(String name,int age) { super(name,age); } public void eat() { System.out.println("Ժ"); } public void teach() { System.out.println("δͶ"); } } //ƹ˶Ա class PingPangPlayer extends Player implements SpeakEnglish { public PingPangPlayer() {} public PingPangPlayer(String name,int age) { super(name,age); } public void speak() { System.out.println("ƹ˶Աѧ˵Ӣ"); } public void eat() { System.out.println("ƹ˶Ա"); } public void study() { System.out.println("ƹ˶Աѧηͽ"); } } //˶Ա class BasketBallPlayer extends Player { public BasketBallPlayer() {} public BasketBallPlayer(String name,int age) { super(name,age); } public void eat() { System.out.println("˶Աţ"); } public void study() { System.out.println("˶ԱѧδͶ"); } } class PeopleDemo { public static void main(String[] args) { // PingPangCoach ppc = new PingPangCoach("",50); ppc.eat(); ppc.teach(); ppc.speak(); System.out.println("---------------------------"); PingPangPlayer ppp = new PingPangPlayer("",30); ppp.eat(); ppp.study(); ppp.speak(); System.out.println("---------------------------"); BasketBallCoach bbc = new BasketBallCoach("ǵ",60); bbc.eat(); bbc.teach(); System.out.println("---------------------------"); BasketBallPlayer bbp = new BasketBallPlayer("Ų",30); bbp.eat(); bbp.study(); } } ================================================ FILE: day09/code/06_接口案例/PersonDemo.java ================================================ /* ʦѧ,̵Ķ⹦ Smoking: ̵Ĺ ʦ Ա 췽޲Σ ԱgetXxx()/setXxx(),ѧϰ˯ ѧ Ա 췽޲Σ ԱgetXxx()/setXxx(),ѧϰ˯ ͨʦѧǿԷࣺ ˣ Ա 췽޲Σ ԱgetXxx()/setXxx(),ѧϰ()˯(){} յķ ˣ Ա 췽޲Σ ԱgetXxx()/setXxx(),ѧϰ()˯(){} ʦ ʦ ѧ ѧ Smoking:ӿ ̵Ĺ */ //̽ӿ interface Smoking { public abstract void smoke(); } //˳ abstract class Person { private String name; private int age; public Person(){} public Person(String name,int age) { this.name = name; this.age = age; } public void setName(String name) { this.name = name; } public String getName() { return name; } public void setAge(int age) { this.age = age; } public int getAge() { return age; } //˯ public void sleep() { System.out.println("˯"); } //ѧϰ public abstract void study(); } //ʦ class Teacher extends Person { public Teacher(){} public Teacher(String name,int age) { super(name,age); } public void study() { System.out.println("ʦҪѧϰΰ֪ʶ"); } } //ֳʦ class SmokeTeacher extends Teacher implements Smoking { public SmokeTeacher(){} public SmokeTeacher(String name,int age) { super(name,age); } public void smoke() { System.out.println("̵ʦ"); } } //ѧ class Student extends Person { public Student(){} public Student(String name,int age) { super(name,age); } public void study() { System.out.println("ѧҪúѧϰ"); } } //ֳѧ class SmokeStudent extends Student implements Smoking { public SmokeStudent(){} public SmokeStudent(String name,int age) { super(name,age); } public void smoke() { System.out.println("̵ѧ"); } } // class PersonDemo { public static void main(String[] args) { //SmokeTeacher SmokeTeacher st = new SmokeTeacher(); st.setName("ү"); st.setAge(35); System.out.println(st.getName()+"---"+st.getAge()); st.sleep(); st.study(); st.smoke(); System.out.println("--------------------------"); SmokeTeacher st2 = new SmokeTeacher("Ǽȷ",30); System.out.println(st2.getName()+"---"+st2.getAge()); st2.sleep(); st2.study(); st2.smoke(); } } ================================================ FILE: day09/day09总结.txt ================================================ 1̬() (1)ͬһڲͬʱֳֵ̱Ķ״̬ ˮèͶ (2)ǰ A:м̳лʵֹϵ B:зд Ϊеij󷽷Լӿеķ뱻дò塣 C:и߸ӿָ (3)̬еijԱص Fu f = new Zi(); A:Ա 뿴ߣп B:Ա 뿴ߣпұ C:̬ 뿴ߣп (4)ôͱ׶ A:ô ˴ά ˴չ B:׶ ܷй (5)ηй A: B:ת (6)̬еת A:ת ӵ B:ת (ǿת) (7)װ 2() (1)ЩʱǶﲻþĶʱӦðﶨΪࡣ (2)ص㣺 A:߳󷽷abstract B:вһг󷽷г󷽷һdz C:಻ʵ ԰ն̬ķʽʵ D: a:Ҫôdz b:Ҫôдег󷽷 (3)ijԱص㣺 A:Ա DZҲdz B:췽 С ʵй췽ʲô? ʸݵijʼ C:Ա dzģҲǷdz (4)İ A:è B:ʦ C:ѧ D:Ա (5)С A:㿴һоȻûг󷽷,? ñ˴ B:abstractܺЩؼֹ? a:private ͻ b:final ͻ c:static 3ӿ() (1)Щʱ򣬲ﱾ߱ĹܣǾͿʹýӿչ (2)ӿڵص㣺 A:ӿùؼinterface ʽǣinterface ӿ {} B:ʵֽӿùؼimplements ʽǣclass implements ӿ {} C:ӿڲʵ D:ӿڵ a:Ҫôdz b:Ҫôдӿез (3)ӿڵijԱص A:Ա ֻdz Ĭηpublic static final B:Ա ֻdz󷽷 Ĭηpublic abstract Ƽ Լдӿڵʱ򣬰Ĭηϡ (4)ӿڵĹϵ A: ̳йϵֻ̳ܵУԶ̳С B:ӿ ʵֹϵԵʵ֣ҲԶʵ֡ ڼ̳һͬʱʵֶӿڡ C:ӿӿ ̳йϵԵ̳УҲԶ̳С (5)ͽӿڵ? A:Ա B:ϵ C: ࣺ࣬涨ǹݡ ӿڣӿڣ涨չݡ (6)ӿڵİ A:è B:ʦѧ C:˶ԱѧӢ ================================================ FILE: day10/code/01_形式参数问题/ArgsDemo.java ================================================ //ʽǻֻͣҪݸû͵ֵɡ class Demo { public int sum(int a,int b) { return a + b; } } class ArgsDemo { public static void main(String[] args) { Demo d = new Demo(); // int x = 10; int y = 20; int z = d.sum(x,y); // int a = d.sum(10,20); System.out.println(z); System.out.println(a); } } ================================================ FILE: day10/code/01_形式参数问题/ArgsDemo2.java ================================================ //ʽͣ //ࣺĶ //ࣺ //ӿڣýӿڵʵ //飺ĵֵַʵһ /* class Student { public void study() { System.out.println("úѧϰ,"); } } class StudentDemo { public void method(Student s) { s.study(); } } class ArgsDemo2 { public static void main(String[] args) { StudentDemo sd = new StudentDemo(); Student s = new Student(); sd.method(s); } } */ /* abstract class Person { public abstract void study(); } class PersonDemo { public void method(Person p) { p.study(); } } class Student extends Person { public void study() { System.out.println("úѧϰ,"); } } class ArgsDemo2 { public static void main(String[] args) { PersonDemo pd = new PersonDemo(); Person p = new Student(); pd.method(p); } } */ interface Person { public abstract void study(); } class PersonDemo { public void method(Person p) { p.study(); } } class Student implements Person { public void study() { System.out.println("úѧϰ,"); } } class ArgsDemo2 { public static void main(String[] args) { PersonDemo pd = new PersonDemo(); Person p = new Student(); pd.method(p); } } ================================================ FILE: day10/code/02_返回值问题/ReturnDemo.java ================================================ //ֵһͣôصľǸû͵ֵ class Demo { public int sum(int a,int b) { return a + b; } } class ReturnDemo { public static void main(String[] args) { int x = new Demo().sum(10,20); System.out.println(x); } } ================================================ FILE: day10/code/02_返回值问题/ReturnDemo2.java ================================================ //ֵһ //ࣺصǸĶ //ࣺصǸó //ӿڣصǸýӿڵʵ /* class Student { public void study() { System.out.println("úѧϰ"); } } class StudentDemo { public Student getStudent() { //Student s = new Student(); //return s; return new Student(); } public int sum(int a,int b) { return a + b; } } class ReturnDemo2 { public static void main(String[] args) { StudentDemo sd = new StudentDemo(); Student s = sd.getStudent(); //new Student(); s.study(); } } */ /* abstract class Person { public abstract void study(); } class PersonDemo { public Person getPerson() { return new Student(); } } class Student extends Person { public void study() { System.out.println("úѧϰ"); } } class ReturnDemo2 { public static void main(String[] args) { PersonDemo pd = new PersonDemo(); Person p = pd.getPerson(); //new Student(); p.study(); } } */ ================================================ FILE: day10/code/02_返回值问题/ReturnDemo3.java ================================================ //ֵǽӿڣʵصǽӿڵʵ interface Person { public abstract void study(); } class PersonDemo { public Person getPerson() { return new Student(); } } class Student implements Person { public void study() { System.out.println("úѧϰ"); } } class ReturnDemo3 { public static void main(String[] args) { //PersonDemo pd = new PersonDemo(); //Person p = pd.getPerson(); //p.study(); //ʽ new PersonDemo().getPerson().study(); } } ================================================ FILE: day10/code/03_包/Demo.java ================================================ package com.liuyi; public class Demo { public int sum(int a,int b) { return a + b; } } ================================================ FILE: day10/code/03_包/HelloWorld.java ================================================ /* ʵļ ãз Ļ֣ ѧӣɾ޸ģѯ ʦӣɾ޸ģѯ ˵ӣɾ޸ģѯ A:չܷ cn.itcast.add AddStudent AddTeacher AddWorker cn.itcast.delete DeleteStudent DeleteTeacher DeleteWorker cn.itcast.update cn.itcast.find B:ģ cn.itcast.student add delete update find cn.itcast.teacher add delete update find cn.itcast.worker add delete update find ĸʽ: package ; ıУ ֶʽ A:ļ B:Լֶ C:ѱɵclassļŵȥ D:мɣעҪ java cn.itcast.HelloWorld Զʽ A:ʱһ -d javac -d . HelloWorld.java B:мɣעҪ java cn.itcast.HelloWorld ע packagedzĵһִеĴ packageһjavaļֻһ ûpackageĬϱʾް */ package cn.itcast; class HelloWorld { public static void main(String[] args) { System.out.println("HelloWorld"); } } ================================================ FILE: day10/code/03_包/Test.java ================================================ package cn.itcast; /* ʽ import ..; package,import,classû˳ϵ() С package --> import --> class Ψһ */ import com.liuyi.Demo; public class Test { public static void main(String[] args) { /* com.liuyi.Demo d = new com.liuyi.Demo(); int result = d.sum(10,20); System.out.println(result); com.liuyi.Demo d2 = new com.liuyi.Demo(); int result2 = d2.sum(10,20); System.out.println(result2); com.liuyi.Demo d3 = new com.liuyi.Demo(); int result3 = d3.sum(10,20); System.out.println(result3); */ Demo d = new Demo(); int result = d.sum(10,20); System.out.println(result); } } ================================================ FILE: day10/code/04_权限修饰符/Father.java ================================================ /* Ȩη ͬһµ ͬµ ͬ private Y Ĭ Y Y protected Y Y Y public Y Y Y Y */ package cn.itcast; public class Father { private void show() { System.out.println("show"); } void show2() { System.out.println("show2"); } protected void show3() { System.out.println("show3"); } public void show4() { System.out.println("show4"); } public static void main(String[] args) { Father f = new Father(); f.show(); f.show2(); f.show3(); f.show4(); } } ================================================ FILE: day10/code/04_权限修饰符/Son.java ================================================ package cn.itcast; class Son extends Father { public static void main(String[] args) { Father f = new Father(); //f.show(); f.show2(); f.show3(); f.show4(); Son s = new Son(); //s.show(); s.show2(); s.show3(); s.show4(); } } ================================================ FILE: day10/code/04_权限修饰符/Son2.java ================================================ package com.liuyi; import cn.itcast.Father; class Son2 extends Father { public static void main(String[] args) { Father f = new Father(); //f.show(); //f.show2(); //f.show3(); f.show4(); Son2 s = new Son2(); //s.show(); //s.show2(); s.show3(); s.show4(); } } ================================================ FILE: day10/code/04_权限修饰符/Test.java ================================================ package cn.itcast; public class Test { public static void main(String[] args) { Father f = new Father(); //f.show(); f.show2(); f.show3(); f.show4(); } } ================================================ FILE: day10/code/04_权限修饰符/Test2.java ================================================ package com.liuyi; import cn.itcast.Father; public class Test2 { public static void main(String[] args) { Father f = new Father(); //f.show(); //f.show2(); //f.show3(); f.show4(); } } ================================================ FILE: day10/code/05_常见的修饰符组合/HelloWorld.java ================================================ /* class Person { protected String name; } class Student extends Person { public Student() { this.name = "hello"; } } */ public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!"); } } ================================================ FILE: day10/code/05_常见的修饰符组合/常见的修饰符组合.txt ================================================ Ա 췽 Ա private Y Y Y Ĭ Y Y Y Y protected Y Y Y public Y Y Y Y abstract Y Y final Y Y Y static Y Y ע⣺4Ȩηֻһִڡ ࣺ public Ա private 췽 public Ա public ڽӿУ void show(); ================================================ FILE: day10/code/06_内部类/InnerClassDemo.java ================================================ /* ڲࣺඨڲͱΪڲࡣ ABڲAΪڲࡣ ڲķص㣺 A:ڲֱӷⲿijԱ˽С B:ⲿҪڲijԱ봴 ڲеλòͬڲԷΪ A:Աλ Աڲ B:ֲλ ֲڲ Աڲࣺ A:ڲķ ڲĶ󼴿ɡ ʽⲿ.ڲ = ⲿ.ڲ; */ class Outer { private int num = 10; //Աλ class Inner { public void show() { System.out.println(num); } } public void method() { Inner i = new Inner(); i.show(); } } class InnerClassDemo { public static void main(String[] args) { // //Inner i = new Inner(); //i.show(); //ʽⲿ.ڲ = ⲿ.ڲ; Outer.Inner oi = new Outer().new Inner(); oi.show(); } } ================================================ FILE: day10/code/06_内部类/InnerClassDemo2.java ================================================ /* ࡣ class Body { private class Heart { public void operator() { System.out.println(""); } } public void method() { if(ҽ){ Heart h = new Heart(); h.operator(); } } } Body.Heart bh = new Body().new Heart(); bh.operator(); Ϊ˲ֱӷԣǰڲprivateΡ ʱֲˣô׸ô? ǾͿⲿжһܣ ʹ? Body b = new Body(); b.method(); Աڲࣺ privateΪݵİȫ staticΪݷʸ */ /* class Outer { private class Inner { public void show() { System.out.println("show"); } } public void method() { Inner i = new Inner(); i.show(); } } */ class Outer { //int num = 10; //static int num2 = 20; public static class Inner { public void show() { System.out.println("show"); //System.out.println(num); //System.out.println(num2); } public static void show2() { System.out.println("show2"); //System.out.println(num); //System.out.println(num2); } } } class InnerClassDemo2 { public static void main(String[] args) { // //Outer.Inner oi = new Outer().new Inner(); //private //Outer o = new Outer(); //o.method(); //staticκд //Outer.Inner oi = new Outer().new Inner(); //޶ Outer.Inner oi = new Outer.Inner(); oi.show(); oi.show2(); //Outer.Inner.show2(); } } ================================================ FILE: day10/code/06_内部类/InnerClassDemo3.java ================================================ /* ֲڲࣺ A:ֱӷⲿijԱ B:Դڲͨڲ෽ʹþֲڲ๦ ⣺ ֲڲʾֲΪʲôҪfinal? Ϊֲŷĵ϶ʧ ʱ򣬾ֲûӶڴʧ ҪʹǸΪݻܼʹã fianlΣڶڴ洢ʵһֵ */ class Outer { //private int num = 100; public void method() { final int num = 100; class Inner { public void show() { System.out.println(num); } } Inner i = new Inner(); i.show(); } } class InnerClassDemo3 { public static void main(String[] args) { Outer o = new Outer(); o.method(); } } ================================================ FILE: day10/code/06_内部类/InnerClassDemo4.java ================================================ /* ڲࣺûֵڲ ǰ᣺һ߽ӿ ǾҲdzࡣ ʽ new ߽ӿ() { д; } ⣺䱾 */ interface Inter { public abstract void show(); public abstract void show2(); } class Outer { private int num = 100; public void method() { //һ /* new Inter() { public void show() { System.out.println("show"); } }.show(); */ // /* new Inter() { public void show() { System.out.println("show"); } public void show2() { System.out.println("show2"); } }.show(); new Inter() { public void show() { System.out.println("show"); } public void show2() { System.out.println("show2"); } }.show2(); */ // Inter i = new Inter() { public void show() { System.out.println("show"); } public void show2() { System.out.println("show2"); } }; i.show(); i.show2(); } } class InnerClassDemo4 { public static void main(String[] args) { Outer o = new Outer(); o.method(); } } ================================================ FILE: day10/code/06_内部类/InnerClassTest.java ================================================ /* ⣺벹룬302010 ע⣺ڲⲿûм̳йϵ */ class Outer { public int num = 10; class Inner { public int num = 20; public void show() { int num = 30; System.out.println(num); System.out.println(this.num); //System.out.println(new Outer().num); System.out.println(Outer.this.num); } } } class InnerClassTest { public static void main(String[] args) { Outer.Inner oi = new Outer().new Inner(); oi.show(); } } ================================================ FILE: day10/code/06_内部类/InnerClassTest2.java ================================================ //ڲڿеʹ interface Person { public abstract void show(); } class PersonDemo { public void method(Person p) { p.show(); } } /* class Student implements Person { public void show() { System.out.println("show student"); } } */ class InnerClassTest2 { public static void main(String[] args) { //PersonDemomethod /* PersonDemo pd = new PersonDemo(); Person p = new Student(); pd.method(p); */ // //new PersonDemo().method(new Student()); //ڲ new PersonDemo().method(new Person(){ public void show() { System.out.println("show student"); } }); new PersonDemo().method(new Person(){ public void show() { System.out.println("show teacher"); } }); } } ================================================ FILE: day10/code/06_内部类/OuterDemo.java ================================================ /* Ҫ󣬲 interface Inter { void show(); } class Outer { // } class OuterDemo { public static void main(String[] args) { Outer.method().show(); } } Ҫڿ̨HelloWorld */ interface Inter { void show(); } class Outer { // public static Inter method() { return new Inter() { public void show() { System.out.println("HelloWorld"); } }; } } class OuterDemo { public static void main(String[] args) { Outer.method().show(); /* Outer.method():ֱܹӵ÷˵÷Ǿ̬ġ Outer.method().show():÷ʽ̣show()֮ǰӦһ */ } } ================================================ FILE: day10/day10总结.txt ================================================ 1ʽͷֵ() (1)ʽ ͣҪǶӦֵ ͣ ࣺĶ ࣺ ӿڣýӿڵʵ (2)ֵ⣺ ͣصǶӦֵ ͣ ࣺĶ ࣺ ӿڣýӿڵʵ (3)ʽ new A().b().c().d(); 2() (1)ʵļ (2)з (3)ʽ package ; (4)ע A:packagedzеĵһִ B:packageΨһ C:ûpackageĬް (5)ı 3() (1)Ϊ˷ʹòͬµ࣬Ҫ (2)ʽ import ....; ע⣺Ե뵽*,Dz (3)packageimportclassû˳ϵ? С package --> import --> class 4η() (1)4Ȩη ͬһ ͬµ ͬµ private Y Ĭ Y Y protected Y Y Y public Y Y Y Y (2) A: public B:Ա private C:췽 public D:Ա public 5ڲ() (1)ABڲAͱΪڲ (2)ص㣺 A:ڲֱӷⲿijԱ˽ B:ⲿҪڲijԱ봴 (3)ڲķࣺ A:Աڲ B:ֲڲ (4)Աڲ A:private B:static ⣺ num this.num Outer.this.num (5)ֲڲ A: ֲڲʾֲfinal (6)ڲ() A:ûֵڲ B:ǰ һ߽ӿ C:ʽ new ߽ӿ() { д(); }; ʣһ (7)ʹ ڶһµˡֱͨڲĸʽͿԸ㶨 interface Person { public abstract void show(); } class PersonDemo { public void method(Person p) { p.show(); } } PersonDemo pd = new PersonDemo(); pd.method(new Person(){ public void show(){...} }); (8) 룬ڿ̨HelloWorld interface Inter { public abstract void show(); } class Outer { // public static Inter method() { return new Inter(){ public void show() { System.out.println("helloworld"); } }; } } class OuterDemo { public static void main(String[] args) { Outer.method().show(); } } ================================================ FILE: day11/Eclipse的基本使用.txt ================================================ 1:ʹ A:ѡһռ D:\develop\eclipse-SDK-3.7.2-win64\workspace B:дһHelloWorld(ĿΪλ) a:Ŀ() *File -- New -- Java Project *߿հ״ֱҼ -- New -- Java Project ĿƺֱFinish b:еjavaļдsrcЧ c:һ cn.itcast d:ڰ´һ HelloWorld ͬʱдmain e:mainдݼ f: Զ룬ڱһ̰ g:г ѡҪеļҪеļ Ҽ -- Run as - Java Application h:ʾ Consolęʾ 2:EclipseĻ A:ıеĻ(Eclipseû⣬ͲҪ) B:ȥĬע(Բø) C:кŵʾ ʾڴߵĿհҼ -- Show Line Numbersɡ أĶһΡ D:Сɫ a:JavaСɫ window -- Preferences -- General -- Appearance -- Colors And Fonts -- Java޸ -- Java Edit Text Font b:̨ window -- Preferences -- General -- Appearance -- Colors And Fonts -- Debug -- Console font c:ļ window -- Preferences -- General -- Appearance -- Colors And Fonts -- Basic -- Text Font E:Ūˣô window -- Reset Perspective F:̨Ҳ Window--Show ViewConsole 3:ݼʹ A:ݸ Alt+/ ʾ main+alt+/,syso+alt+/,ʾ B:ݼ ʽ ctrl+shift+f ctrl+shift+o ע ctrl+/ ctrl+shift+/,ctrl+shift+\ ƶ ѡдalt+/¼ͷ 鿴Դ ѡ(F3Ctrl+) 4:Eclipse߿Ч A:Զɹ췽 a:޲ι췽 ڴҼ--source--Generate Constructors from Superclass b:ι췽 ڴҼ--source--Generate Constructors using fields.. -- finish B:Զget/set ڴҼ--source--Generate Getters and Setters... ================================================ FILE: day11/code/day11_Object/.classpath ================================================ ================================================ FILE: day11/code/day11_Object/.project ================================================ day11_Object org.eclipse.jdt.core.javabuilder org.eclipse.jdt.core.javanature ================================================ FILE: day11/code/day11_Object/.settings/org.eclipse.jdt.core.prefs ================================================ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.compliance=1.7 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.source=1.7 ================================================ FILE: day11/code/day11_Object/src/cn/itcast_01/Student.java ================================================ package cn.itcast_01; //public class Student extends Object:ּ̳Ĭϴڵ public class Student { private String name; private int age; public Student() { super(); } public Student(String name, int age) { super(); this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public String toString() { return "Student [name=" + name + ", age=" + age + "]"; } // @Override // public String toString() { // return name+"---"+age; // } // @Override // public int hashCode() { // return 1000; // } } ================================================ FILE: day11/code/day11_Object/src/cn/itcast_01/StudentDemo.java ================================================ package cn.itcast_01; /* * Object:νṹĸ࣬඼ֱӻ߼ӵļ̳Ըࡣ * * Objectķ * public int hashCode():ظöĹϣֵ * ϣֵʵʵĵֵַһǰΪֵַΪǸݵֵַһֵ * 401401 * public final Class getClass():ش Object ʱࡣ * public String getName():ظöӦ//ӿڵơ * public String toString():ظöַʾ * getClass().getName() + '@' + Integer.toHexString(hashCode()) * * Integer * public static String toHexString(int i):һʮƵַʾʽ * * ûκģд˷ * A:ԼֶдЧÿԲԼд * B:ԶɣЧУƼʽ * * public boolean equals(Object obj) * protected void finalize() * protected Object clone() */ public class StudentDemo { public static void main(String[] args) { Student s1 = new Student(); System.out.println(s1.hashCode()); // 2100664515 Student s2 = new Student(); System.out.println(s2.hashCode()); // 1237346925 System.out.println("------------"); Student s3 = new Student(); Class c = s3.getClass(); String name = c.getName(); System.out.println(name); // cn.itcast_01.Student System.out.println("------------"); Student s4 = new Student(); // ֱһƣʵǸöõtoString()ַ System.out.println(s4); // cn.itcast_01.Student@79f1d448 // System.out.println(s4.toString()); // cn.itcast_01.Student@79f1d448 // cn.itcast_01.Student@79f1d448 // String s = s4.getClass().getName() +"@"+ // Integer.toHexString(s4.hashCode()); // System.out.println(s); Student s5 = new Student("ϼ",28); System.out.println(s5); } } ================================================ FILE: day11/code/day11_Object/src/cn/itcast_02/Student.java ================================================ package cn.itcast_02; public class Student { private String name; private int age; public Student() { super(); } public Student(String name, int age) { super(); this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; Student other = (Student) obj; if (age != other.age) return false; if (name == null) { if (other.name != null) return false; } else if (!name.equals(other.name)) return false; return true; } // @Override // public boolean equals(Object obj) { // Object obj = s2; // // return true; // // obj -- s2 // // this -- s1 // // Student s = (Student) obj; // // if (this.name.equals(s.name) && this.age == s.age) { // // return true; // // } else { // // return false; // // } // // // ΪԼԼȣûбҪתģԣΪ߳ЧʣǼһж // if (this == obj) { // return true; // } // // // Ϊó׳һЩһж // // жʵжijǷijĶ // // õһжϷţinstanceof // // ʽ instanceof // if (!(obj instanceof Student)) { // return false; // } // // // ifĵڶָʽʹԪ滻 // Student s = (Student) obj; // // System.out.println("AAAAAA"); // return this.name.equals(s.name) && this.age == s.age; // } } ================================================ FILE: day11/code/day11_Object/src/cn/itcast_02/StudentDemo.java ================================================ package cn.itcast_02; /* * public boolean equals(Object obj):Ƚ϶Ƿ * * ǷIJ̫һôΪʲô? * ʱҪ֪ΪʲôͱȥԴ롣 * Objectеequals()ʵ֡ * Դӵģ * public boolean equals(Object obj) { * return (this == obj); //(s1 == s2); * } * * * ⣺ * ==equals()? * ==: * ͣȽϵǻ͵ֵǷͬ * ͣȽϵ͵ĵֵַǷͬ * equals(): * ͡Ĭ£Ƚϵ͵ĵַǷͬ * * һ˵Ƚϵַ岻ǻд÷ * д? * дĻ˼öȽϳԱֵǷͬ * ʵʿУǶԶɡ * * ַıȽϣ * ַҲһ࣬͡ * ǵıȽõequals()ַд˸÷ȽϵַǷͬ * */ public class StudentDemo { public static void main(String[] args) { Student s1 = new Student("ϼ", 28); Student s2 = new Student("ϼ", 28); Student s3 = new Student("ϼ", 29); // System.out.println(s1 == s1); // System.out.println(s1 == s2); System.out.println(s1.equals(s2)); System.out.println(s1.equals(s3)); System.out.println(s1.equals(s1)); Demo d = new Demo(); System.out.println(s1.equals(d)); //ClassCastException } } class Demo{} ================================================ FILE: day11/code/day11_Object/src/cn/itcast_03/Student.java ================================================ package cn.itcast_03; //ʹÿ¡ʱ򣬱CloneNotSupportedException //ԭΪҪʵһӿCloneable public class Student implements Cloneable { private String name; private int age; public Student() { super(); } public Student(String name, int age) { super(); this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override protected Object clone() throws CloneNotSupportedException { return super.clone(); } } ================================================ FILE: day11/code/day11_Object/src/cn/itcast_03/StudentDemo.java ================================================ package cn.itcast_03; /* * protected Object clone() */ public class StudentDemo { public static void main(String[] args) throws CloneNotSupportedException { Student s1 = new Student("ϼ", 28); Object obj = s1.clone(); Student s2 = (Student) obj; System.out.println(s1.getName() + "---" + s1.getAge()); System.out.println(s2.getName() + "---" + s2.getAge()); Student s3 = s1; System.out.println(s3.getName() + "---" + s3.getAge()); System.out.println("--------------------------------"); s1.setName(""); System.out.println(s1.getName() + "---" + s1.getAge()); System.out.println(s2.getName() + "---" + s2.getAge()); System.out.println(s3.getName() + "---" + s3.getAge()); } } ================================================ FILE: day11/day11总结.txt ================================================ 1:Eclipseʹ() (1)Java(˽) A:ϵͳԴļ± B:߼± C:ɿ (2)EclipseMyEclipseĸ(˽) (3)Eclipse,װ,ж() A: ӹȥ B:װ ɫ Eclipse װ JDK C:ж ɫ ֱɾļ װ ͨרҵĹ߻߿ (4)EclipseӴͼĽ(˽) (5)EclipseĻ() A:ʾк B:Сɫ C:ô D:Ҳ̨ô (6)EclipseĿݼ() A:ݸ alt+/ ȫmainmain + alt+/ ȫ䣺syso + alt+/ B:ÿݼ a:ʽ ctrl+shift+f b: ctrl+shift+o c:ע ctrl+/ (7)Eclipse߿Ч() A:д췽 B:дgetXxx()/setXxx() (8)Eclipseĵ() (9)Eclipsejarʹ() (10)Eclipseɾ͵Ŀ() A:ɾĿ a:Ŀбɾ b:Ӳɾ B:Ŀ հ--import-->> ע a:ͬĿͬʱ֡ b:ԼֶļвĿ c:ĿΣҪֱӸļСҪļ (11)Eclipsedebugʹ() A:debug a:Դ b:鿴ִ B:鿴ִ a:μӶϵ ڴ˫ b:Ӷϵ ﲻ ע⣺Ҫϻ߷ c:ۿЩط ִ ı仯 ̨ d:óһִ F6 e:ȥϵ ٴ˫ ҵdebug棬һbreakpointsxĵط 2:Object() (1)νṹĸ࣬඼ֱӻ߼ӵļ̳Ը (2)췽 ֻһ޲ι췽 Ϳ԰ǰ˵ģ๹췽ĬϷʸ޲ι췽 (3)Ա public int hashCode():ظöĹϣֵ ϣֵǵֵַΪֵַ public final Class getClass():ش Object ʱࡣ public String toString():ظöַʾ û壬ддôд?Զɡ public boolean equals(Object obj):Ƚ϶Ƿͬ ĬϱȽû壬ддôд?Զɡ protected void finalize():ãڴ protected Object clone():¡ Ҫܹʹÿ¡ʵֿ¡ӿڡ (4)⣺() ==equals()? A:== ͣȽϵǻ͵ֵǷͬ ͣȽϵ͵ĵֵַǷͬ B:equals() ֻܱȽͣĬϱȽϵǶĵֵַǷͬ ǣܱдһҪʵʵ ================================================ FILE: day12/code/day12_Scanner/.classpath ================================================ ================================================ FILE: day12/code/day12_Scanner/.project ================================================ day12_Scanner org.eclipse.jdt.core.javabuilder org.eclipse.jdt.core.javanature ================================================ FILE: day12/code/day12_Scanner/.settings/org.eclipse.jdt.core.prefs ================================================ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.compliance=1.7 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.source=1.7 ================================================ FILE: day12/code/day12_Scanner/src/cn/itcast_01/ScannerDemo.java ================================================ package cn.itcast_01; import java.io.InputStream; import java.util.Scanner; /* * Scanner:JDK5Ժڰʵּ¼ݵġ * * 췽 * public Scanner(InputStream source) */ public class ScannerDemo { public static void main(String[] args) { // ¼ // Scanner sc = new Scanner(System.in); // public Scanner(InputStream source) // SystemһԱ // public static final InputStream in; // InputStream is = System.in; // Demoһ // public static final int x; // public static final Student s; // int y = Demo.x; // Student student = Demo.s; // InputStream is = System.in; // // Scanner sc = new Scanner(is); Scanner sc = new Scanner(System.in); } } ================================================ FILE: day12/code/day12_Scanner/src/cn/itcast_02/ScannerDemo.java ================================================ package cn.itcast_02; import java.util.Scanner; /* * Ա * hasNextXxx():жһDzָ * nextXxx():ȡ͵ * * ע⣺ * ¼ݣҪintͣȴһַ * ڿ̨ʾInputMismatchException 벻ƥ쳣 * */ public class ScannerDemo { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("һ"); if (sc.hasNextInt()) { int number = sc.nextInt(); System.out.println(number); } System.out.println("over"); } } ================================================ FILE: day12/code/day12_Scanner/src/cn/itcast_03/ScannerDemo.java ================================================ package cn.itcast_03; import java.util.Scanner; /* * public int nextInt():ȡһint͵ * public String nextLine():ȡһַ͵ */ public class ScannerDemo { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String s = sc.nextLine(); System.out.println(s); } } ================================================ FILE: day12/code/day12_Scanner/src/cn/itcast_03/ScannerDemo2.java ================================================ package cn.itcast_03; import java.util.Scanner; /* * ⣺ * int--int * String--String * String--int * * int--String⣬ѻسиString * * ν? * A:´һµļ¼ * B:Ѽ¼ȫStringͽܡ * ҪʲôͣͰStringתΪ͡ * ôת콲 */ public class ScannerDemo2 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); // int x = sc.nextInt(); // int y = sc.nextInt(); // System.out.println(x); // System.out.println(y); // String x = sc.nextLine(); // String y = sc.nextLine(); // System.out.println(x); // System.out.println(y); // String x = sc.nextLine(); // int y = sc.nextInt(); // System.out.println(x); // System.out.println(y); int x = sc.nextInt(); sc = new Scanner(System.in); String y = sc.nextLine(); // ѻسи System.out.println(x); System.out.println(y); } } ================================================ FILE: day12/code/day12_String/.classpath ================================================ ================================================ FILE: day12/code/day12_String/.project ================================================ day12_String org.eclipse.jdt.core.javabuilder org.eclipse.jdt.core.javanature ================================================ FILE: day12/code/day12_String/.settings/org.eclipse.jdt.core.prefs ================================================ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.compliance=1.7 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.source=1.7 ================================================ FILE: day12/code/day12_String/bin/cn/itcast_08/String类的equals()方法源码.txt ================================================ String s1 = "admin"; String s2 = "admin"; System.out.println(s1.equals(s2)); private final char value[]; //ַ䱾ʾһַ顣ײԼʵת public boolean equals(Object anObject) { //this -- s1 //anObject -- s2 //Ƚ϶ĵַǷͬ if (this == anObject) { return true; } //жanObjectDzַһ if (anObject instanceof String) { //anObjectַ󣬾תΪһַ String anotherString = (String) anObject; int n = value.length; //value.length --> this.value.length --> s1.toCharArray().length if (n == anotherString.value.length) { char v1[] = value; //--> this.value --> s1.toCharArray() char v2[] = anotherString.value; //--> s2.toCharArray() int i = 0; while (n-- != 0) { if (v1[i] != v2[i]) return false; i++; } return true; } } return false; } ================================================ FILE: day12/code/day12_String/src/cn/itcast_01/StringDemo.java ================================================ package cn.itcast_01; /* * ַɶַɵһݡ * * 췽 * public String():String * public String(byte[] bytes):ֽתַ * public String(byte[] bytes,int index,int length):ֽеһתַ * public String(char[] value):ַתַ * public String(char[] value,int index,int count):ַһתַ * public String(String original):ַתַ * * ⣺ * 1:κζƵʱĬϵõǸötoString() * toString()Ĭǰ...@ϣֵʮơ * һƵʱ򣬷ֲʽ˵˸дtoString() * 2:شַij * public int length() * * ⣺ * length()?Stringlength() * ûС * С */ public class StringDemo { public static void main(String[] args) { // public String():String String s1 = new String(); System.out.println("s1:" + s1); System.out.println("s1.length():" + s1.length()); System.out.println("--------------------------"); // public String(byte[] bytes):ֽתַ byte[] bytes = { 97, 98, 99, 100, 101 }; String s2 = new String(bytes); // ֵתɶӦֵַ System.out.println("s2:" + s2); System.out.println("s2.length():" + s2.length()); System.out.println("--------------------------"); // public String(byte[] bytes,int index,int length):ֽеһתַ // String s3 = new String(bytes, 1, 2); String s3 = new String(bytes, 0, bytes.length); System.out.println("s3:" + s3); System.out.println("s3.length():" + s3.length()); System.out.println("--------------------------"); // public String(char[] value):ַתַ char[] chs = { 'a', 'b', 'c', 'd', 'e', '', '', 'ϼ' }; String s4 = new String(chs); System.out.println("s4:" + s4); System.out.println("s4.length():" + s4.length()); System.out.println("--------------------------"); // public String(char[] value,int index,int count):ַһתַ // Ҫַ:de String s5 = new String(chs, 3, 4); System.out.println("s5:" + s5); System.out.println("s5.length():" + s5.length()); System.out.println("--------------------------"); // public String(String original):ַתַ String s6 = new String("helloworld"); System.out.println("s6:" + s6); System.out.println("s6.length():" + s6.length()); System.out.println("--------------------------"); // Java еֵַ "abc" Ϊʵʵ֡ String s7 = "helloworld"; System.out.println("s7:" + s7); System.out.println("s7.length():" + s7.length()); } } ================================================ FILE: day12/code/day12_String/src/cn/itcast_02/StringDemo.java ================================================ package cn.itcast_02; /* * ַdz,ֵڴܸ֮ * ڴͼ */ public class StringDemo { public static void main(String[] args) { String s = "hello"; s += "world"; System.out.println(s); } } ================================================ FILE: day12/code/day12_String/src/cn/itcast_02/StringDemo2.java ================================================ package cn.itcast_02; /* * String s = new String(hello)String s = hello; * * ==:ȽͣȽϵǵֵַ * equal():ĬϱȽϵǵֵַStringдequals()÷DZȽַǷͬ */ public class StringDemo2 { public static void main(String[] args) { String s1 = new String("hello"); String s2 = "hello"; System.out.println(s1 == s2); // false System.out.println(s1.equals(s2)); // true } } ================================================ FILE: day12/code/day12_String/src/cn/itcast_02/StringDemo3.java ================================================ package cn.itcast_02; /* * д */ public class StringDemo3 { public static void main(String[] args) { String s1 = new String("hello"); String s2 = new String("hello"); System.out.println(s1 == s2); // false System.out.println(s1.equals(s2)); // true String s3 = new String("hello"); String s4 = "hello"; System.out.println(s3 == s4); // false System.out.println(s3.equals(s4)); // true String s5 = "hello"; String s6 = "hello"; System.out.println(s5 == s6);// true System.out.println(s5.equals(s6));// true } } ================================================ FILE: day12/code/day12_String/src/cn/itcast_02/StringDemo4.java ================================================ package cn.itcast_02; /* * д * ַӣȿռ䣬ټ * ַӣȼӣңûٿռ */ public class StringDemo4 { public static void main(String[] args) { String s1 = "hello"; String s2 = "world"; String s3 = "helloworld"; String s4 = s1 + s2; String s5 = "hello"+"world"; System.out.println(s4); System.out.println(s5); // System.out.println(s3 == s1 + s2);// false // System.out.println(s3.equals(s1 + s2));// true // System.out.println(s3 == "hello" + "world");// true } } ================================================ FILE: day12/code/day12_String/src/cn/itcast_03/StringDemo.java ================================================ package cn.itcast_03; /* * StringжϹܣ * boolean equals(Object obj):ȽַǷͬϸִСд * boolean equalsIgnoreCase(String str):ȽַǷͬǴСд * boolean contains(String str):жǷָС * boolean startsWith(String str):жǷַָͷ * boolean endsWith(String str):жǷַָβ * boolean isEmpty():жַǷΪ */ public class StringDemo { public static void main(String[] args) { String s = "helloworld"; // boolean equals(Object obj):ȽַǷͬϸִСд System.out.println("equals():" + s.equals("helloworld")); System.out.println("equals():" + s.equals("HelloWorld")); System.out.println("----------------------------------"); // boolean equalsIgnoreCase(String str):ȽַǷͬǴСд System.out.println("equalsIgnoreCase():" + s.equalsIgnoreCase("helloworld")); System.out.println("equalsIgnoreCase():" + s.equalsIgnoreCase("HelloWorld")); System.out.println("----------------------------------"); // boolean contains(String str):жǷָС System.out.println("contains():" + s.contains("owo")); System.out.println("contains():" + s.contains("hw")); System.out.println("----------------------------------"); // boolean startsWith(String str):жǷַָͷ System.out.println("startsWith():" + s.startsWith("hw")); System.out.println("startsWith():" + s.startsWith("owo")); System.out.println("startsWith():" + s.startsWith("h")); System.out.println("----------------------------------"); // boolean endsWith(String str):жǷַָβ:Լϰ // boolean isEmpty():жַǷΪ System.out.println("isEmpty():" + s.isEmpty()); // System.out.println("isEmpty():"+null.isEmpty()); // //󣬶Ϊnull˵󲻴ڣ󲻴ڣͲܵ÷ System.out.println("isEmpty():" + "".isEmpty()); } } ================================================ FILE: day12/code/day12_String/src/cn/itcast_03/StringTest.java ================================================ package cn.itcast_03; import java.util.Scanner; /* * ģ¼,λ,ʾмΡ * * * A:̶û * B:¼û * C:Ƚû * D:λ */ public class StringTest { public static void main(String[] args) { // ̶û // String username = "admin"; // String password = "admin"; for (int x = 0; x < 3; x++) { // x=0,1,2 // ¼û Scanner sc = new Scanner(System.in); System.out.println("û"); String name = sc.nextLine(); System.out.println("룺"); String pwd = sc.nextLine(); // Ƚû if ("admin".equals(name) && "admin".equals(pwd)) { System.out.println("¼ɹ"); break; } else { if (2 - x == 0) { System.out.println("ʺű೤ϵ"); } else { // 2,1,0 System.out.println("¼ʧܣ㻹" + (2 - x) + "λ"); } } } } } ================================================ FILE: day12/code/day12_String/src/cn/itcast_04/StringDemo.java ================================================ package cn.itcast_04; /* * StringĻȡܣ * int length():ַijȡַĸ * char charAt(int index):ַָλõַ * int indexOf(int ch):ַַָеһγֵλ * 97,'a' * int indexOf(String str):ַַָеһγֵλ * int indexOf(int ch,int fromIndex):ַָָλÿʼַеһγֵλ * int indexOf(String str,int fromIndex):ַָָλÿʼַеһγֵλ * String substring(int start):شָλÿʼĩβӴ * String substring(int start,int end):شָλÿʼָλýӴ----עҲ */ public class StringDemo { public static void main(String[] args) { String s = "helloworld"; // int length():ַijȡַĸ System.out.println("length():" + s.length()); System.out.println("----------------------"); // char charAt(int index):ַָλõַ System.out.println("charAt():" + s.charAt(0)); System.out.println("charAt():" + s.charAt(3)); // System.out.println("charAt():" + s.charAt(13)); // // StringIndexOutOfBoundsException System.out.println("----------------------"); // int indexOf(int ch):ַַָеһγֵλ System.out.println("indexOf():" + s.indexOf('l')); // int indexOf(int ch,int fromIndex):ַָָλÿʼַеһγֵλ System.out.println("indexOf():" + s.indexOf('l', 4)); // Լѧϰ // int indexOf(String str):ַַָеһγֵλ // int indexOf(String str,int fromIndex):ַָָλÿʼַеһγֵλ System.out.println("----------------------"); // String substring(int start):شָλÿʼĩβӴ System.out.println("substring():" + s.substring(0)); System.out.println("substring():" + s.substring(5)); // String substring(int start,int end):شָλÿʼָλýӴ // Ҫõowoд System.out.println("substring():" + s.substring(4, 7)); // ߣұ } } ================================================ FILE: day12/code/day12_String/src/cn/itcast_04/StringTest.java ================================================ package cn.itcast_04; /* * ַı:ȡַеÿһַ */ public class StringTest { public static void main(String[] args) { String s = "java"; // ͨcharAt()λȡַ // System.out.println(s.charAt(0)); // System.out.println(s.charAt(1)); // System.out.println(s.charAt(2)); // System.out.println(s.charAt(3)); // ǣַĸȽ϶࣬ͻ鷳ظȺܸ // for (int x = 0; x < 4; x++) { // System.out.println(s.charAt(x)); // } // ַݽ϶࣬ԣҪһȡַķ // length(); for (int x = 0; x < s.length(); x++) { // System.out.println(s.charAt(x)); char ch = s.charAt(x); System.out.println(ch); } } } ================================================ FILE: day12/code/day12_String/src/cn/itcast_04/StringTest2.java ================================================ package cn.itcast_04; import java.util.Scanner; /* * ͳһַддĸַСдĸֵַַĴ(ַ) * Hello123World * * д2 * Сд8 * ֣3 * * * A:¼һַ * B:ͳƱ * int bigCount = 0; * int smallCount = 0; * int numberCount = 0; * C:ַõÿһַ * D:жַǴдСд? * char ch = ???; * * ASCII * a 97 z=122 * A 65 Z=90 * 0 48 9=57 * * ch>=97 && ch<=122 * ... * * ch>='a' && ch<='z' * ch>='A' && ch<='Z' * ch>='0' && ch<='9' * E: */ public class StringTest2 { public static void main(String[] args) { // ¼һַ Scanner sc = new Scanner(System.in); System.out.println("һַ"); String s = sc.nextLine(); // ͳƱ int bigCount = 0; int smallCount = 0; int numberCount = 0; // ַõÿһַ for (int x = 0; x < s.length(); x++) { char ch = s.charAt(x); // жַǴдСд? if (ch >= 'A' && ch <= 'Z') { bigCount++; } else if (ch >= 'a' && ch <= 'z') { smallCount++; } else if (ch >= '0' && ch <= '9') { numberCount++; } } // System.out.println("д" + bigCount); System.out.println("Сд" + smallCount); System.out.println("֣" + numberCount); } } ================================================ FILE: day12/code/day12_String/src/cn/itcast_05/StringDemo.java ================================================ package cn.itcast_05; /* * Stringתܣ * byte[] getBytes():ַתΪֽ * char[] toCharArray():ַתΪַ * static String valueOf(char[] chs):ַתַ * static String valueOf(int i):int͵תַ * תΪַķ * String toLowerCase():ַתСд * String toUpperCase():ַתд * String concat(String str):ַ */ public class StringDemo { public static void main(String[] args) { // һַ String s = "abcde"; // byte[] getBytes():ַתΪֽ byte[] bys = s.getBytes(); for (int x = 0; x < bys.length; x++) { System.out.println(bys[x]); } System.out.println("----------------"); // char[] toCharArray():ַתΪַ char[] chs = s.toCharArray(); for (int x = 0; x < chs.length; x++) { System.out.println(chs[x]); } System.out.println("----------------"); // static String valueOf(char[] chs):ַתַ String s2 = String.valueOf(chs); System.out.println("s2:" + s2); System.out.println("----------------"); // static String valueOf(int i):int͵תַ int number = 100; String s3 = number + ""; String s4 = String.valueOf(number); System.out.println("s3:" + s3); System.out.println("s4:" + s4); System.out.println("----------------"); // String toLowerCase():ַתСд // String toUpperCase():ַתд System.out.println("toLowerCase():" + "HelloWorld".toLowerCase()); System.out.println("toUpperCase():" + "HelloWorld".toUpperCase()); System.out.println("----------------"); // String concat(String str):ַ String s5 = "hello"; String s6 = "world"; String s7 = s5.concat(s6); String s8 = s5 + s6; System.out.println("s7:" + s7); System.out.println("s8:" + s8); } } ================================================ FILE: day12/code/day12_String/src/cn/itcast_05/StringTest.java ================================================ package cn.itcast_05; import java.util.Scanner; /* * һַĸתɴдΪСд(ֻӢĴСдĸַ) * helloWorldAbCde * Helloworldabcde * * * A:¼һַ * B:ȡĸõs1 * C:ȡĸַõs2 * D:s1תд+s2תСд */ public class StringTest { public static void main(String[] args) { // ¼һַ Scanner sc = new Scanner(System.in); System.out.println("һַ"); String s = sc.nextLine(); // ȡĸõs1 String s1 = s.substring(0, 1); // ȡĸַõs2 String s2 = s.substring(1); // s1תд+s2תСд String result = s1.toUpperCase().concat(s2.toLowerCase()); System.out.println(result); // String result = s.substring(0, 1).toUpperCase() // .concat(s.substring(1).toLowerCase()); // System.out.println(result); } } ================================================ FILE: day12/code/day12_String/src/cn/itcast_06/StringDemo.java ================================================ package cn.itcast_06; /* * 滻 * String replace(char old,char new) * String replace(String old,String new) */ public class StringDemo { public static void main(String[] args) { // ַ String s = "helloworld"; String s2 = s.replace('l', 'b'); System.out.println("s:" + s); System.out.println("s2:" + s2); String s3 = s.replace("owo", "ak47"); System.out.println("s3:" + s3); } } ================================================ FILE: day12/code/day12_String/src/cn/itcast_06/StringDemo2.java ================================================ package cn.itcast_06; /* * ȥַո * String trim() */ public class StringDemo2 { public static void main(String[] args) { String s = " hello world "; System.out.println("---" + s + "---"); System.out.println("---" + s.trim() + "---"); } } ================================================ FILE: day12/code/day12_String/src/cn/itcast_06/StringDemo3.java ================================================ package cn.itcast_06; /* * ֵ˳Ƚַ a-z * int compareTo(String str) * int compareToIgnoreCase(String str) */ public class StringDemo3 { public static void main(String[] args) { String s = "hello"; System.out.println(s.compareTo("hello")); // 0 System.out.println(s.compareTo("Hello")); // 32 System.out.println(s.compareTo("mello")); // -5 System.out.println(s.compareTo("hgllo"));//һͬĸ֮ } } ================================================ FILE: day12/code/day12_String/src/cn/itcast_07/StringTest.java ================================================ package cn.itcast_07; /* * еݰָʽƴӳһַ * int[] arr = {1,2,3}; * [1, 2, 3] */ public class StringTest { public static void main(String[] args) { // һ int[] arr = { 1, 2, 3 }; String result = arrayToString(arr); System.out.println(result); } // дʵ // ʽ // ֵͣString public static String arrayToString(int[] arr) { String s = ""; s += "["; for (int x = 0; x < arr.length; x++) { if (x == arr.length - 1) { s += arr[x]; } else { s += arr[x]; s += ", "; } } s += "]"; return s; } } ================================================ FILE: day12/code/day12_String/src/cn/itcast_07/StringTest2.java ================================================ package cn.itcast_07; import java.util.Scanner; /* * ַת * ¼롱abc cba */ public class StringTest2 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("һַ"); String s = sc.nextLine(); String result = reverse(s); System.out.println(result); } // дʵ public static String reverse(String s) { String result = ""; char[] chs = s.toCharArray(); for (int x = chs.length - 1; x >= 0; x--) { result += chs[x]; } return result; } } ================================================ FILE: day12/code/day12_String/src/cn/itcast_07/StringTest3.java ================================================ package cn.itcast_07; /* * ͳƴСֵĴ * ַ woaijavawozhenaijavawozhendeaijavawozhendehenaijavaxinbuxinwoaijavagunjava5 */ public class StringTest3 { public static void main(String[] args) { String maxString = "woaijavawozhenaijavawozhendeaijavawozhendehenaijavaxinbuxinwoaijavagun"; String minString = "java"; int count = getCount(maxString, minString); System.out.println(count); } // дʵ֣ // ʽ:String maxString,String minString; // ֵ:int public static int getCount(String maxString, String minString) { // ͳƱ int count = 0; // Ȳһ int index = maxString.indexOf(minString); // һڼ¼ÿµIJλ int startIndex = 0; // жλDz-1ǣͲ while (index != -1) { // ͳƱ1 count++; // µIJλ startIndex = index + minString.length(); // µIJλãٲһСڴгֵλ index = maxString.indexOf(minString, startIndex); } return count; } } ================================================ FILE: day12/code/day12_String/src/cn/itcast_07/StringTest4.java ================================================ package cn.itcast_07; public class StringTest4 { public static void main(String[] args) { String maxString = "woaijavawozhenaijavawozhendeaijavawozhendehenaijavaxinbuxinwoaijavagun"; String minString = "java"; int count = getCount(maxString, minString); System.out.println(count); } // дʵ֣ // ʽ:String maxString,String minString; // ֵ:int public static int getCount(String maxString, String minString) { // ͳƱ int count = 0; // һβ int index = maxString.indexOf(minString); while (index != -1) { count++; // ȡõµĴ maxString = maxString.substring(index + minString.length()); // index = maxString.indexOf(minString); } return count; } } ================================================ FILE: day12/code/day12_String/src/cn/itcast_08/StringTest.java ================================================ package cn.itcast_08; /* * ԼдһܣȽַǷȡ * * * A:ַ * B:ȽϳǷͬͬ򷵻false * ͬͼ * C:ÿַתΪַ顣 * D:飬ÿһλϵַбȽϡ * һвͬģͷfalse * E:true */ public class StringTest { public static void main(String[] args) { System.out.println(compare("admin", "admin")); System.out.println(compare("admin", "Admin")); System.out.println(compare("admin", "hello")); System.out.println("admin".equals("admin")); } // ǿе÷ // public static boolean compare(String s1, String s2) { // return s1.equals(s2); // } // 뿼 public static boolean compare(String s1, String s2) { // ȽϳǷͬ if (s1.length() != s2.length()) { return false; } char[] chs1 = s1.toCharArray(); char[] chs2 = s2.toCharArray(); for (int x = 0; x < chs1.length; x++) { if (chs1[x] != chs2[x]) { return false; } } return true; } } ================================================ FILE: day12/code/day12_String/src/cn/itcast_08/String类的equals()方法源码.txt ================================================ String s1 = "admin"; String s2 = "admin"; System.out.println(s1.equals(s2)); private final char value[]; //ַ䱾ʾһַ顣ײԼʵת public boolean equals(Object anObject) { //this -- s1 //anObject -- s2 //Ƚ϶ĵַǷͬ if (this == anObject) { return true; } //жanObjectDzַһ if (anObject instanceof String) { //anObjectַ󣬾תΪһַ String anotherString = (String) anObject; int n = value.length; //value.length --> this.value.length --> s1.toCharArray().length if (n == anotherString.value.length) { char v1[] = value; //--> this.value --> s1.toCharArray() char v2[] = anotherString.value; //--> s2.toCharArray() int i = 0; while (n-- != 0) { if (v1[i] != v2[i]) return false; i++; } return true; } } return false; } ================================================ FILE: day12/day12总结.txt ================================================ 1Scanner() (1)JDK5Ժ󣬰ʵּ¼ݵġ (2)췽 public Scanner(InputStream is) Scanner sc = new Scanner(System.in); (3)Ա A:hasNextXxx() жǷxxx͵Ԫ B:nextXxx() ȡxxx͵Ԫ (4)õ nextInt():ȡһint͵ nextLine():ȡһString͵ (5)עС⣺ int--int String--String String--int int--String ν? A:ݶΪString,ҪʲôתΪʲô B:´һµScanner 2String() (1)ַɶַɵһ (2)췽 public String():String public String(byte[] bytes):ֽתַ public String(byte[] bytes,int index,int length):ֽеһתַ public String(char[] value):ַתַ public String(char[] value,int index,int count):ַһתַ public String(String original):ַתַ String s = "hello"; (3)ַص A:һֵͲܷı B:String s = new String("hello")String s = "hello" C:д ==equals() D:д ַӺͳӵ (4) A:жϹ boolean equals(Object obj):ȽַǷͬϸִСд boolean equalsIgnoreCase(String str):ȽַǷͬǴСд boolean contains(String str):жǷָС boolean startsWith(String str):жǷַָͷ boolean endsWith(String str):жǷַָβ boolean isEmpty():жַǷΪ B:ȡ int length():ַijȡַĸ char charAt(int index):ַָλõַ int indexOf(int ch):ַַָеһγֵλ 97,'a' int indexOf(String str):ַַָеһγֵλ int indexOf(int ch,int fromIndex):ַָָλÿʼַеһγֵλ int indexOf(String str,int fromIndex):ַָָλÿʼַеһγֵλ String substring(int start):شָλÿʼĩβӴ String substring(int start,int end):شָλÿʼָλýӴ C:ת byte[] getBytes():ַתΪֽ char[] toCharArray():ַתΪַ static String valueOf(char[] chs):ַתַ static String valueOf(int i):int͵תַ תΪַķ String toLowerCase():ַתСд String toUpperCase():ַתд String concat(String str):ַ D: a:滻 String replace(char old,char new) String replace(String old,String new) b:ȥַո String trim() c:ֵ˳Ƚַ int compareTo(String str) int compareToIgnoreCase(String str) (5) A:ģû¼ B:ַ a:charAt()length() b:ת C:ͳÿ͵ַ D:ַĸתдСд E:תָʽַ F:ַת G:ͳƴСֵĴ a:ָλÿʼ b:ѲĽȡ H:ԼʵַıȽԼStringequals()Դ ================================================ FILE: day13/code/day13_Array_Arrays/.classpath ================================================ ================================================ FILE: day13/code/day13_Array_Arrays/.project ================================================ day13_Array_Arrays org.eclipse.jdt.core.javabuilder org.eclipse.jdt.core.javanature ================================================ FILE: day13/code/day13_Array_Arrays/.settings/org.eclipse.jdt.core.prefs ================================================ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.compliance=1.7 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.source=1.7 ================================================ FILE: day13/code/day13_Array_Arrays/bin/cn/itcast_05/Arrays工具类的源码.txt ================================================ 1:public static String toString(int[] a) public static String toString(int[] a) { //a -- arr -- { 24, 13, 69, 80, 57 }; if (a == null) return "null"; int iMax = a.length - 1; //4 if (iMax == -1) //ûԪ return "[]"; StringBuilder b = new StringBuilder(); b.append('['); //[24, 13, 69, 80, 57] for (int i = 0; ; i++) { b.append(a[i]); if (i == iMax) return b.append(']').toString(); b.append(", "); } } int[] arr = { 24, 13, 69, 80, 57 }; System.out.println(Arrays.toString(arr)); ---------------------------------------------------------- 2:public static int binarySearch(int[] a,int key) public static int binarySearch(int[] a, int key) { //a -- arr -- { 24, 13, 69, 80, 57 } //key -- 244 return binarySearch0(a, 0, a.length, key); } private static int binarySearch0(int[] a, int fromIndex, int toIndex, int key) { //a -- { 13, 24, 5769 80} //fromIndex = 0 //toIndex = 5 //key = 244; int low = fromIndex; //0 int high = toIndex - 1; //4 while (low <= high) { int mid = (low + high) >>> 1; //2,3,4 int midVal = a[mid]; //57,69,80 if (midVal < key) low = mid + 1; //345 else if (midVal > key) high = mid - 1; else return mid; // key found } return -(low + 1); // key not found. } int[] arr = { 24, 13, 69, 80, 57 }; System.out.println(Arrays.binarySearch(arr, 244)); ================================================ FILE: day13/code/day13_Array_Arrays/src/cn/itcast_01/ArrayDemo.java ================================================ package cn.itcast_01; /* * ð */ public class ArrayDemo { public static void main(String[] args) { // int[] arr = { 24, 69, 80, 57, 13 }; /* * // һαȽ // 1Ϊ˷ֹԽ for (int x = 0; x < arr.length - 1 - 0; x++) { * if (arr[x] > arr[x + 1]) { int temp = arr[x]; arr[x] = arr[x + 1]; * arr[x + 1] = temp; } } // System.out.println("һ"); * printArray(arr); * * // ڶαȽ // 1Ϊ˷ֹԽ for (int x = 0; x < arr.length - 1 - 1; x++) { * if (arr[x] > arr[x + 1]) { int temp = arr[x]; arr[x] = arr[x + 1]; * arr[x + 1] = temp; } } // System.out.println("ڶ"); * printArray(arr); * * // αȽ // 1Ϊ˷ֹԽ for (int x = 0; x < arr.length - 1 - 2; x++) { * if (arr[x] > arr[x + 1]) { int temp = arr[x]; arr[x] = arr[x + 1]; * arr[x + 1] = temp; } } // System.out.println(""); * printArray(arr); * * // ĴαȽ // 1Ϊ˷ֹԽ for (int x = 0; x < arr.length - 1 - 3; x++) { * if (arr[x] > arr[x + 1]) { int temp = arr[x]; arr[x] = arr[x + 1]; * arr[x + 1] = temp; } } // System.out.println("Ĵ"); * printArray(arr); */ // for (int y = 0; y < arr.length - 1; y++) { // // ? 0,1,2,3 // for (int x = 0; x < arr.length - 1 - y; x++) { // if (arr[x] > arr[x + 1]) { // int temp = arr[x]; // arr[x] = arr[x + 1]; // arr[x + 1] = temp; // } // } // } // ð bubbleSort(arr); // printArray(arr); } // public static void printArray(int[] arr) { System.out.print("["); for (int x = 0; x < arr.length; x++) { if (x == arr.length - 1) { System.out.print(arr[x]); } else { System.out.print(arr[x] + ", "); } } System.out.println("]"); } // public static void bubbleSort(int[] arr) { for (int x = 0; x < arr.length - 1; x++) { for (int y = 0; y < arr.length - 1 - x; y++) { if (arr[y] > arr[y + 1]) { int temp = arr[y]; arr[y] = arr[y + 1]; arr[y + 1] = temp; } } } } } ================================================ FILE: day13/code/day13_Array_Arrays/src/cn/itcast_02/ArrayDemo.java ================================================ package cn.itcast_02; /* * ѡ */ public class ArrayDemo { public static void main(String[] args) { // int[] arr = { 24, 69, 80, 57, 13 }; /* * // һ int x = 0; for (int y = x + 1; y < arr.length; y++) { if * (arr[y] < arr[x]) { int temp = arr[x]; arr[x] = arr[y]; arr[y] = * temp; } } System.out.println("һαȽϣ"); // printArray(arr); * * // ڶ x = 1; for (int y = x + 1; y < arr.length; y++) { if (arr[y] < * arr[x]) { int temp = arr[x]; arr[x] = arr[y]; arr[y] = temp; } } * System.out.println("ڶαȽϣ"); // printArray(arr); * * // x = 2; for (int y = x + 1; y < arr.length; y++) { if (arr[y] < * arr[x]) { int temp = arr[x]; arr[x] = arr[y]; arr[y] = temp; } } * System.out.println("αȽϣ"); // printArray(arr); * * // Ĵ x = 3; for (int y = x + 1; y < arr.length; y++) { if (arr[y] < * arr[x]) { int temp = arr[x]; arr[x] = arr[y]; arr[y] = temp; } } * System.out.println("ĴαȽϣ"); // printArray(arr); */ // for (int x = 0; x < arr.length - 1; x++) { // for (int y = x + 1; y < arr.length; y++) { // if (arr[y] < arr[x]) { // int temp = arr[x]; // arr[x] = arr[y]; // arr[y] = temp; // } // } // } // ѡ selectSort(arr); // printArray(arr); } // ѡ public static void selectSort(int[] arr) { for (int x = 0; x < arr.length - 1; x++) { for (int y = x + 1; y < arr.length; y++) { if (arr[y] < arr[x]) { int temp = arr[x]; arr[x] = arr[y]; arr[y] = temp; } } } } // public static void printArray(int[] arr) { System.out.print("["); for (int x = 0; x < arr.length; x++) { if (x == arr.length - 1) { System.out.print(arr[x]); } else { System.out.print(arr[x] + ", "); } } System.out.println("]"); } } ================================================ FILE: day13/code/day13_Array_Arrays/src/cn/itcast_03/ArrayDemo.java ================================================ package cn.itcast_03; /* * Ԫأ * Ԫ * ֲ Ԫ(۰) */ public class ArrayDemo { public static void main(String[] args) { // int[] arr = { 24, 69, 80, 57, 13 }; // Ҫ80е // µ int[] arr = { 13, 24, 57, 69, 80 }; // Ҫ80е int index = getIndex(arr, 57); System.out.println(index); index = getIndex(arr, 88); System.out.println(index); } public static int getIndex(int[] arr, int value) { int minIndex = 0; int maxIndex = arr.length - 1; int middleIndex = (minIndex + maxIndex) / 2; while (value != arr[middleIndex]) { if (value > arr[middleIndex]) { minIndex = middleIndex + 1; } else if (value < arr[middleIndex]) { maxIndex = middleIndex - 1; } // һж if (maxIndex < minIndex) { return -1; } // дмֵ middleIndex = (minIndex + maxIndex) / 2; } return middleIndex; } // ͨ // public static int getIndex(int[] arr, int value) { // int index = -1; // // for (int x = 0; x < arr.length; x++) { // if (arr[x] == value) { // index = x; // break; // } // } // // return index; // } } ================================================ FILE: day13/code/day13_Array_Arrays/src/cn/itcast_04/ArrayDemo.java ================================================ package cn.itcast_04; /* * ַеַ *dacgebf *abcdefg */ public class ArrayDemo { public static void main(String[] args) { // ַ String s = "dacgebf"; // ַתַ char[] chs = s.toCharArray(); // ַ bubbleSort(chs); // ַתַ String result = String.valueOf(chs); System.out.println(result); } public static void bubbleSort(char[] chs) { for (int x = 0; x < chs.length - 1; x++) { for (int y = 0; y < chs.length - 1 - x; y++) { if (chs[y] > chs[y + 1]) { char temp = chs[y]; chs[y] = chs[y + 1]; chs[y + 1] = temp; } } } } } ================================================ FILE: day13/code/day13_Array_Arrays/src/cn/itcast_05/ArraysDemo.java ================================================ package cn.itcast_05; import java.util.Arrays; /* * Arrays:вĹࡣṩ򣬲ҵȹܡ * * Ա * public static String toString(int[] a):תַ * public static void sort(int[] a):() * public static int binarySearch(int[] a,int key):ֲ * * ע⣺ * 鱾ģֱʹöֲҡ * ңٶҲģΪ͸ıԪԭʼλá */ public class ArraysDemo { public static void main(String[] args) { int[] arr = { 24, 13, 69, 80, 57 }; // System.out.println(arr);// [I@a0834e7 // public static String toString(int[] a):תַ System.out.println(Arrays.toString(arr)); // [24, 13, 69, 80, 57] // public static void sort(int[] a):() Arrays.sort(arr); System.out.println(Arrays.toString(arr)); // [13, 24, 57, 69, 80] // public static int binarySearch(int[] a,int key):ֲ // [13, 24, 57, 69, 80] System.out.println(Arrays.binarySearch(arr, 24)); System.out.println(Arrays.binarySearch(arr, 244)); // ??? -6 } } ================================================ FILE: day13/code/day13_Array_Arrays/src/cn/itcast_05/Arrays工具类的源码.txt ================================================ 1:public static String toString(int[] a) public static String toString(int[] a) { //a -- arr -- { 24, 13, 69, 80, 57 }; if (a == null) return "null"; int iMax = a.length - 1; //4 if (iMax == -1) //ûԪ return "[]"; StringBuilder b = new StringBuilder(); b.append('['); //[24, 13, 69, 80, 57] for (int i = 0; ; i++) { b.append(a[i]); if (i == iMax) return b.append(']').toString(); b.append(", "); } } int[] arr = { 24, 13, 69, 80, 57 }; System.out.println(Arrays.toString(arr)); ---------------------------------------------------------- 2:public static int binarySearch(int[] a,int key) public static int binarySearch(int[] a, int key) { //a -- arr -- { 24, 13, 69, 80, 57 } //key -- 244 return binarySearch0(a, 0, a.length, key); } private static int binarySearch0(int[] a, int fromIndex, int toIndex, int key) { //a -- { 13, 24, 5769 80} //fromIndex = 0 //toIndex = 5 //key = 244; int low = fromIndex; //0 int high = toIndex - 1; //4 while (low <= high) { int mid = (low + high) >>> 1; //2,3,4 int midVal = a[mid]; //57,69,80 if (midVal < key) low = mid + 1; //345 else if (midVal > key) high = mid - 1; else return mid; // key found } return -(low + 1); // key not found. } int[] arr = { 24, 13, 69, 80, 57 }; System.out.println(Arrays.binarySearch(arr, 244)); ================================================ FILE: day13/code/day13_Character/.classpath ================================================ ================================================ FILE: day13/code/day13_Character/.project ================================================ day13_Character org.eclipse.jdt.core.javabuilder org.eclipse.jdt.core.javanature ================================================ FILE: day13/code/day13_Character/.settings/org.eclipse.jdt.core.prefs ================================================ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.compliance=1.7 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.source=1.7 ================================================ FILE: day13/code/day13_Character/src/cn/itcast_01/CharacterDemo.java ================================================ package cn.itcast_01; /* * Character ڶаװһ char ֵ,⣬ṩ˼ַȷַСдĸ֣ȵȣַӴдתСд֮Ȼ */ public class CharacterDemo { public static void main(String[] args) { // 췽 // Character(char value) Character ch = new Character('a'); System.out.println(ch); } } ================================================ FILE: day13/code/day13_Character/src/cn/itcast_02/CharacterDemo.java ================================================ package cn.itcast_02; public class CharacterDemo { public static void main(String[] args) { // public static boolean isUpperCase(char ch) System.out.println(Character.isUpperCase('a')); System.out.println(Character.isUpperCase('A')); System.out.println(Character.isUpperCase('0')); // public static boolean isLowerCase(char ch) System.out.println(Character.isLowerCase('a')); System.out.println(Character.isLowerCase('A')); System.out.println(Character.isLowerCase('0')); // public static boolean isDigit(char ch) System.out.println(Character.isDigit('a')); System.out.println(Character.isDigit('A')); System.out.println(Character.isDigit('0')); // public static char toUpperCase(char ch) System.out.println(Character.toUpperCase('a')); System.out.println(Character.toUpperCase('A')); // public static char toLowerCase(char ch) System.out.println(Character.toLowerCase('a')); System.out.println(Character.toLowerCase('A')); } } ================================================ FILE: day13/code/day13_Integer/.classpath ================================================ ================================================ FILE: day13/code/day13_Integer/.project ================================================ day13_Integer org.eclipse.jdt.core.javabuilder org.eclipse.jdt.core.javanature ================================================ FILE: day13/code/day13_Integer/.settings/org.eclipse.jdt.core.prefs ================================================ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.compliance=1.7 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.source=1.7 ================================================ FILE: day13/code/day13_Integer/src/cn/itcast_01/IntegerDemo.java ================================================ package cn.itcast_01; /* * 1ҸһݣҪжDzintΧ?ô? * 2Ҹһ100ҪõĶƣ˽ƣʮ? ƣƣ߽??? * ôûбȽϼ򵥵ķʽʵ?С * ģΪûйܿʹáԣֵIJйʵ֡ * Ȼǵùܼɡ * Ϊ˼ԻݵĸӵIJjavaÿֻṩһװͣͰװࡣ * byte Byte * short Short * int Integer * long Long * float Float * double Double * char Character * boolean Boolean */ public class IntegerDemo { public static void main(String[] args) { // public static final int MAX_VALUE // public static final int MIN_VALUE // if(>=Integer.MIN_VALUE && <=Integer.MAX_VALUE){} // public static String toBinaryString(int i) System.out.println(Integer.toBinaryString(100)); // public static String toOctalString(int i) System.out.println(Integer.toOctalString(100)); // public static String toHexString(int i) System.out.println(Integer.toHexString(100)); } } ================================================ FILE: day13/code/day13_Integer/src/cn/itcast_02/IntegerDemo.java ================================================ package cn.itcast_02; /* * IntegerĹ췽 * Integer(int value) int͵ֵװInteger * Integer(String s): ͵ַתInteger */ public class IntegerDemo { public static void main(String[] args) { // ʽ1 int number = 100; Integer i = new Integer(number); System.out.println("i:" + i); // ʽ2 String s = "100"; // String s = "abc"; // NumberFormatException:Ϊݲʽַ Integer i2 = new Integer(s); System.out.println("i2:" + i2); } } ================================================ FILE: day13/code/day13_Integer/src/cn/itcast_03/IntegerDemo.java ================================================ package cn.itcast_03; /* * intString͵໥תɡ * * int -- String * String.valueOf(number) * Integer.toString(number) * * String -- int * Integer.parseInt(s); */ public class IntegerDemo { public static void main(String[] args) { // int -- String int number = 100; // 1 String s1 = number + ""; //ʽ2 String s2 = String.valueOf(number); //ʽ3 //int -- Integer -- String Integer i = new Integer(number); String s3 = i.toString(); //ʽ4 String s4 = Integer.toString(number); System.out.println("--------------"); String s = "100"; //ʽ1 //String -- Integer -- int Integer ii = new Integer(s); //public int intValue() int num = ii.intValue(); //ʽ2 //public static int parseInt(String s) int num2 = Integer.parseInt(s); } } ================================================ FILE: day13/code/day13_Integer/src/cn/itcast_04/IntegerDemo.java ================================================ package cn.itcast_04; /* * õĻת * public static String toBinaryString(int i) * public static String toOctalString(int i) * public static String toHexString(int i) * ʮƵ * public static String toString(int i,int radix) *Ƶʮ * public static int parseInt(String s,int radix) */ public class IntegerDemo { public static void main(String[] args) { // public static String toString(int i,int radix): // ͨ򵥵IJԣ֪˽ƵķΧ2-36 System.out.println(Integer.toString(100, 2)); System.out.println(Integer.toString(100, 8)); System.out.println(Integer.toString(100, 16)); System.out.println(Integer.toString(100, 1)); System.out.println(Integer.toString(100, 100)); System.out.println(Integer.toString(100, 50)); System.out.println(Integer.toString(100, 25)); System.out.println(Integer.toString(100, 37)); System.out.println(Integer.toString(100, 32)); System.out.println(Integer.toString(100, 35)); System.out.println(Integer.toString(100, 36)); System.out.println(Integer.toString(100, 7)); System.out.println("----------------------"); // Ƶʮ // public static int parseInt(String s,int radix) System.out.println(Integer.parseInt("100", 2)); System.out.println(Integer.parseInt("100", 8)); System.out.println(Integer.parseInt("100", 16)); System.out.println(Integer.parseInt("300", 12)); } } ================================================ FILE: day13/code/day13_Integer/src/cn/itcast_05/IntegerDemo.java ================================================ package cn.itcast_05; /* * JDK5ԣ * Զװ:int -- Integer * ײ㷽public static Integer valueOf(int i) * Զ䣺Integer -- int * ײ㷽public int intValue() * * ע⣺Ϊnull * ԭֻҪǶ϶ж϶ǷΪnullΪnullż */ public class IntegerDemo { public static void main(String[] args) { // Integer i = new Integer(100); Integer i = 100; // Զװ // Integer i = Integer.valueOf(100); i += 200; // i = i + 200 // i = Integer.valueOf(i.intValue() + 200); System.out.println(i); } } ================================================ FILE: day13/code/day13_Integer/src/cn/itcast_06/IntegerDemo.java ================================================ package cn.itcast_06; //д:byteΧĻ public class IntegerDemo { public static void main(String[] args) { Integer i1 = new Integer(127); Integer i2 = new Integer(127); System.out.println(i1 == i2);// false System.out.println(i1.equals(i2));// true Integer i3 = new Integer(128); Integer i4 = new Integer(128); System.out.println(i3 == i4);// false System.out.println(i3.equals(i4));// true Integer i5 = 127; Integer i6 = 127; System.out.println(i5 == i6);// true System.out.println(i5.equals(i6));// true Integer i7 = 128; Integer i8 = 128; System.out.println(i7 == i8);// false System.out.println(i7.equals(i8));// true // Ҫ֪Ϊʲôͱ뿴Դ롣 // public static Integer valueOf(int i) //char ch = 127; //Integer i = Integer.valueOf(ch); // ͨ鿴Դ֪-128127֮䣬Ǵһзصġ // Χڣ´newĶ } } ================================================ FILE: day13/code/day13_StringBuffer/.classpath ================================================ ================================================ FILE: day13/code/day13_StringBuffer/.project ================================================ day13_StringBuffer org.eclipse.jdt.core.javabuilder org.eclipse.jdt.core.javanature ================================================ FILE: day13/code/day13_StringBuffer/.settings/org.eclipse.jdt.core.prefs ================================================ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.compliance=1.7 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.source=1.7 ================================================ FILE: day13/code/day13_StringBuffer/src/cn/itcast_01/StringBufferDemo.java ================================================ package cn.itcast_01; /* * StringBuffer:̰߳ȫĿɱַ * ͨ鿴API֪ˣǿԸıݺͳȵġ * * StringBufferString? * A:StringBufferijȿɱ * B:Stringijȹ̶ * * 췽 * StringBuffer() һвַַʼΪ 16 ַ * StringBuffer(int capacity)һַָʼַ * StringBuffer(String str):һַݳʼΪַָݡ * * Ա * public int length():سȣַʵֵ * public int capacity():صǰ ֵ */ public class StringBufferDemo { public static void main(String[] args) { // StringBuffer() һвַַʼΪ 16 ַ StringBuffer sb = new StringBuffer(); System.out.println("sb:" + sb); System.out.println("sb.length():" + sb.length()); System.out.println("sb.capacity():" + sb.capacity()); System.out.println("----------------------------"); // StringBuffer(int capacity)һַָʼַ StringBuffer sb2 = new StringBuffer(20); System.out.println("sb2:" + sb2); System.out.println("sb2.length():" + sb2.length()); System.out.println("sb2.capacity():" + sb2.capacity()); System.out.println("----------------------------"); // StringBuffer(String str):һַݳʼΪַָݡ StringBuffer sb3 = new StringBuffer("helloworld"); System.out.println("sb3:" + sb3); System.out.println("sb3.length():" + sb3.length()); System.out.println("sb3.capacity():" + sb3.capacity()); } } ================================================ FILE: day13/code/day13_StringBuffer/src/cn/itcast_02/StringBufferDemo.java ================================================ package cn.itcast_02; /* * ӹܣ * public StringBuffer append(String str)׷ݣݵĺ档 * public StringBuffer insert(int offset,String str):ݣָλݡ */ public class StringBufferDemo { public static void main(String[] args) { // ַ StringBuffer sb = new StringBuffer(); // // public StringBuffer append(String str)׷ݣݵĺ档 // StringBuffer sb2 = sb.append("hello"); // System.out.println(sb == sb2); // true // System.out.println("sb:" + sb); // System.out.println("sb2:" + sb2); // sb.append("hello"); // sb.append("world"); // sb.append("java"); // ʽ sb.append("hello").append("world").append("java"); // public StringBuffer insert(int offset,String str):ݣָλݡ sb.insert(5, "ak47"); System.out.println("sb:" + sb); } } ================================================ FILE: day13/code/day13_StringBuffer/src/cn/itcast_02/StringBufferDemo2.java ================================================ package cn.itcast_02; /* * ɾܣ * public StringBuffer deleteCharAt(int index)ɾָλõַ * public StringBuffer delete(int start,int end):ɾָλÿʼָλý */ public class StringBufferDemo2 { public static void main(String[] args) { // StringBuffer buffer = new StringBuffer(); // buffer.append("hello"); buffer.append("world"); buffer.append("java"); // public StringBuffer deleteCharAt(int index)ɾָλõַ // buffer.deleteCharAt(5); // public StringBuffer delete(int start,int end):ɾָλÿʼָλý // buffer.delete(5, 10); buffer.delete(0, buffer.length()); System.out.println("buffer:" + buffer); } } ================================================ FILE: day13/code/day13_StringBuffer/src/cn/itcast_02/StringBufferDemo3.java ================================================ package cn.itcast_02; /* * public StringBuffer replace(int start,int end,String str):øַ滻ָλÿʼָλý */ public class StringBufferDemo3 { public static void main(String[] args) { // StringBuffer buffer = new StringBuffer(); buffer.append("hello").append("world").append("java"); // public StringBuffer replace(int start,int end,String // str):øַ滻ָλÿʼָλý buffer.replace(3, 8, "haha"); System.out.println("buffer:" + buffer); } } ================================================ FILE: day13/code/day13_StringBuffer/src/cn/itcast_02/StringBufferDemo4.java ================================================ package cn.itcast_02; /* * ת public StringBuffer reverse() */ public class StringBufferDemo4 { public static void main(String[] args) { StringBuffer buffer = new StringBuffer(); buffer.append("java").append("ϼְ"); buffer.reverse(); System.out.println("buffer:" + buffer); } } ================================================ FILE: day13/code/day13_StringBuffer/src/cn/itcast_02/StringBufferDemo5.java ================================================ package cn.itcast_02; /* * ȡ:ֵStringͣûзı * public String substring(int start):ָλÿʼĩβ * public String substring(int start,int end):ָλÿʼָλý */ public class StringBufferDemo5 { public static void main(String[] args) { // StringBuffer buffer = new StringBuffer(); buffer.append("helloworldjava"); // public String substring(int start):ָλÿʼĩβ String s = buffer.substring(5); System.out.println("s:" + s); System.out.println("buffer:" + buffer); } } ================================================ FILE: day13/code/day13_StringBuffer/src/cn/itcast_03/StringBufferDemo.java ================================================ package cn.itcast_03; /* * תStringBufferйܣStringûС * StringҪת΢鷳һ㡣ܹʹStringBufferĹܾͺˡ * ôǵܲһȥʹһĹ?ԡ * ǰ᣺֮ʵ໥ת */ public class StringBufferDemo { public static void main(String[] args) { //String -- StringBuffer; //StringBuffer sb = "hello"; //StringBuffer(String str) String s = "hello"; StringBuffer sb = new StringBuffer(s); //StringBuffer -- String //String(StringBuffer buffer) String ss = new String(sb); } } ================================================ FILE: day13/code/day13_StringBuffer/src/cn/itcast_04/StringBufferTest.java ================================================ package cn.itcast_04; /* * ƴӳһַ */ public class StringBufferTest { public static void main(String[] args) { int[] arr = { 11, 22, 33, 44, 55 }; String result = arrayToString(arr); System.out.println(result); } public static String arrayToString(int[] arr) { StringBuffer sb = new StringBuffer(); sb.append("["); for (int x = 0; x < arr.length; x++) { if (x == arr.length - 1) { sb.append(arr[x]); } else { sb.append(arr[x]).append(", "); } } sb.append("]"); return new String(sb); } } ================================================ FILE: day13/code/day13_StringBuffer/src/cn/itcast_04/StringBufferTest2.java ================================================ package cn.itcast_04; /* * ַת */ public class StringBufferTest2 { public static void main(String[] args) { String s = "ϼְ"; // Էʽ1 // String s2 = reverse(s); // System.out.println(s2); // Էʽ2 // String s3 = reverse(s); // System.out.println(s3); // Էʽ3 String s4 = reverse(s); System.out.println(s4); } // ʽ1 // public static String reverse(String str) { // String s = ""; // // char[] chs = str.toCharArray(); // for (int x = chs.length - 1; x >= 0; x--) { // s += chs[x]; // } // // return s; // } // ʽ2 // public static String reverse(String str) { // // ַת // char[] chs = str.toCharArray(); // // Ԫطת // for (int start = 0, end = chs.length - 1; start <= end; start++, end--) { // char temp = chs[start]; // chs[start] = chs[end]; // chs[end] = temp; // } // // תַ // return String.valueOf(chs); // } // ʽ3 public static String reverse(String str) { StringBuffer sb = new StringBuffer(str); sb.reverse(); return new String(sb); //return new String(new StringBuffer(str).reverse()); } } ================================================ FILE: day13/code/day13_StringBuffer/src/cn/itcast_04/StringBufferTest3.java ================================================ package cn.itcast_04; /* * жһַǷǶԳַ * "abc"ǶԳַ"aba""abba""aaa""mnanm"ǶԳַ */ public class StringBufferTest3 { public static void main(String[] args) { String s = "mnanm"; // String s = "abcde"; // ʽ1 // boolean b = isDuiCheng(s); // System.out.println(b); // ʽ2 boolean b2 = isDuiCheng(s); System.out.println(b2); } // ʽ1 // public static boolean isDuiCheng(String s) { // // ַת // char[] chs = s.toCharArray(); // // Ԫطת // for (int start = 0, end = chs.length - 1; start <= end; start++, end--) { // if (chs[start] != chs[end]) { // return false; // } // } // return true; // } // public static boolean isDuiCheng(String s) { // boolean flag = true; // // ַת // char[] chs = s.toCharArray(); // // Ԫطת // for (int start = 0, end = chs.length - 1; start <= end; start++, end--) { // if (chs[start] != chs[end]) { // flag = false; // break; // } // } // return flag; // } // ʽ2 public static boolean isDuiCheng(String s) { // ת StringBuffer sb = new StringBuffer(s); sb.reverse(); String ss = new String(sb); // if (ss.equals(s)) { // return true; // } else { // return false; // } return ss.equals(s); // һ仰㶨 // return new String(new StringBuffer(s).reverse()).equals(s); } } ================================================ FILE: day13/code/day13_StringBuffer/src/cn/itcast_05/StringBufferDemo.java ================================================ package cn.itcast_05; /* * 1:String,StringBuffer,StringBuilder? * A:Stringȹ̶StringBufferStringBuilderijȿɱ䡣 * B:StringBuffer̰߳ȫЧʵ͡StringBuilder̲߳ȫЧʸߡ * * 2:StringBuffer * A:StringBufferijȿɱ䣬Դ洢ͣսʵһַ * B:鳤ȹ̶洢ͬһ͵Ԫء * * 3:д * StringΪݣStringBufferΪ * * StringһͣΪݵʱ򣬿ԵΪݵҲdzֵ * */ public class StringBufferDemo { public static void main(String[] args) { String s1 = "hello"; String s2 = "world"; System.out.println(s1 + "---" + s2); // hello---world change(s1, s2); System.out.println(s1 + "---" + s2);// world---worldworld??? StringBuffer sb1 = new StringBuffer("hello"); StringBuffer sb2 = new StringBuffer("world"); System.out.println(sb1 + "---" + sb2);// hello---world change(sb1, sb2); System.out.println(sb1 + "---" + sb2); // world---worldworld??? } public static void change(StringBuffer sb1, StringBuffer sb2) { System.out.println(sb1 + "---" + sb2);// hello---world sb1 = sb2;// sb1="world" sb2 = sb1.append(sb2); // sb2=worldworld System.out.println(sb1 + "---" + sb2);// world---worldworld ??? } public static void change(String s1, String s2) { System.out.println(s1 + "---" + s2);// hello---world s1 = s2; // s1=world s2 = s1 + s2; // s2=worldworld System.out.println(s1 + "---" + s2); // world---worldworld } } ================================================ FILE: day13/day13总结.txt ================================================ 1StringBuffer/StringBuilder() (1)StringBuffer̰߳ȫĿɱַ StringBuilder̲߳ȫĿɱַ StringBufferĹһЧʸһЩDzȫ (2)췽 A:StringBuffer sb = new StringBuffer(); B:StringBuffer sb = new StringBuffer(50); C:StringBuffer sb = new StringBuffer("hello"); (3)Ա(Լ뷽˼) A:ӹ public StringBuffer append(String str):׷ַ public StringBuffer insert(int offset,String str):ָλòַ B:ɾ public StringBuffer deleteCharAt(int index):ɾָλַ public StringBuffer delete(int start,int end):ɾָʼַҲ C:滻 public StringBuffer replace(int start,int end,String str):ַָʼַ D:ת public StringBuffer reverse():ת E:ȡ public String substring(int start):ָĩβַ public String substring(int start,int end):ָʼַָ (4) A:StringStringBuffer໥ת ͨ켴ɡ B:תַָʽ C:ַת D:жһַǷǶԳַ 2߼() (1) A:ð ԪأȽϣš public static void bubbleSort(int[] arr) { for(int x=0; xarr[y+1]) { int temp = arr[y]; arr[y] = arr[y+1]; arr[y+1] = temp; } } } } B:ѡ 0ʼκͺıȽϣСǰš public static void selectSort(int[] arr) { for(int x=0; x value) { max = mid - 1; }else if(arr[mid] < value) { min = mid + 1; } if(max < min) { return -1; } mid = (max+min)/2; } return mid; } 3Arrays() (1)ArraysвĹ࣬ṩͲҵȹ (2)Ա(Լ뷽˼) A:תַ public static String toString():תַ B: public static void sort() C:ֲ public static int binarySearch(int[] arr,int key) (3) ַеַ 4Ͱװ() (1)ΪǶԻͽиIJjavaÿֻṩ˶Ӧİװ͡ (2)ֱЩ? byte Byte short Short int Integer long Long float Float double Double char Character boolean Boolean ⣺ void Void (3)Integer A:췽 a:Integer i = new Integer(100); b:Integer i = new Integer("100"); B:Ա(Լ뷽˼) a:ַתint String-int:Integer.parseInt() int-String:String.valueOf() Integer.toString() C:JDK5 Զװ䣺 int -- Integer //Integer.valueOf() Զ䣺 Integer -- int //Integer.intValue() ͣ Integer i = 100; i+=200; System.out.println(i); D:byte byte,short,char--->С127-6Ĵ(鿴JDK) (4)Character A:췽 Character ch = new Character('a'); B:Ա(Լ뷽˼) a:жַǷǴдĸ public boolean isUpperCase(char ch) b:жַǷСдĸ public boolean isLowerCase(Char ch) c:жַǷַ public boolean isDigit(Char ch) d:ַתɴд public Char toUpperCase(Char ch) e:ַתСд public Char toLowerCase(Char ch) ================================================ FILE: day14/code/day14_BigInteger_BigDecimal/.classpath ================================================ ================================================ FILE: day14/code/day14_BigInteger_BigDecimal/.project ================================================ day14_BigInteger_BigDecimal org.eclipse.jdt.core.javabuilder org.eclipse.jdt.core.javanature ================================================ FILE: day14/code/day14_BigInteger_BigDecimal/.settings/org.eclipse.jdt.core.prefs ================================================ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.compliance=1.7 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.source=1.7 ================================================ FILE: day14/code/day14_BigInteger_BigDecimal/src/cn/itcast_01/BigIntegerDemo.java ================================================ package cn.itcast_01; import java.math.BigInteger; /* * BigInteger:ʵִļ * 췽BigInteger(String val) */ public class BigIntegerDemo { public static void main(String[] args) { // System.out.println(Integer.MAX_VALUE); // 2147483647 // Integer i = new Integer("2147483648"); // NumberFormatException // System.out.println(i); BigInteger bi = new BigInteger("2147483648"); System.out.println(bi); } } ================================================ FILE: day14/code/day14_BigInteger_BigDecimal/src/cn/itcast_01/BigIntegerDemo2.java ================================================ package cn.itcast_01; import java.math.BigInteger; public class BigIntegerDemo2 { public static void main(String[] args) { BigInteger bi1 = new BigInteger("20"); BigInteger bi2 = new BigInteger("10"); // public BigInteger add(BigInteger val) System.out.println("add:" + bi1.add(bi2)); // public BigInteger subtract(BigInteger val) System.out.println("subtract:" + bi1.subtract(bi2)); // public BigInteger multiply(BigInteger val) System.out.println("multiply:" + bi1.multiply(bi2)); // public BigInteger divide(BigInteger val) System.out.println("divide:" + bi1.divide(bi2)); // public BigInteger[] divideAndRemainder(BigInteger val) BigInteger[] bis = bi1.divideAndRemainder(bi2); for (int x = 0; x < bis.length; x++) { System.out.println(bis[x]); } } } ================================================ FILE: day14/code/day14_BigInteger_BigDecimal/src/cn/itcast_02/BigDecimalDemo.java ================================================ package cn.itcast_02; public class BigDecimalDemo { public static void main(String[] args) { // д System.out.println(0.09 + 0.01); // 0.1 System.out.println(1.0 - 0.32); // 0.68 System.out.println(1.015 * 100); // 101.5 System.out.println(1.301 / 100);// 0.01301 //0.5 1/2 //0.25 1/4 //0.125 1/8 //0.0625 1/16 //0.4 = 0.25 + 0.125 + ... } } ================================================ FILE: day14/code/day14_BigInteger_BigDecimal/src/cn/itcast_02/BigDecimalDemo2.java ================================================ package cn.itcast_02; import java.math.BigDecimal; /* * ʱfloatͺdouble׶ʧȣʾԣΪܾȷıʾ㸡JavaṩBigDecimal * * public BigDecimal(String val) */ public class BigDecimalDemo2 { public static void main(String[] args) { // System.out.println(0.09 + 0.01); // 0.1 // System.out.println(1.0 - 0.32); // 0.68 // System.out.println(1.015 * 100); // 101.5 // System.out.println(1.301 / 100);// 0.01301 // public BigDecimal add(BigDecimal augend) BigDecimal bd1 = new BigDecimal("0.09"); BigDecimal bd2 = new BigDecimal("0.01"); System.out.println("add:" + bd1.add(bd2)); // public BigDecimal subtract(BigDecimal subtrahend) BigDecimal bd3 = new BigDecimal("1.0"); BigDecimal bd4 = new BigDecimal("0.32"); System.out.println("subtract:" + bd3.subtract(bd4)); // public BigDecimal multiply(BigDecimal multiplicand) BigDecimal bd5 = new BigDecimal("1.015"); BigDecimal bd6 = new BigDecimal("100"); System.out.println("subtract:" + bd5.multiply(bd6)); // public BigDecimal divide(BigDecimal divisor) BigDecimal bd7 = new BigDecimal("1.301"); BigDecimal bd8 = new BigDecimal("100"); System.out.println("divide:" + bd7.divide(bd8)); // public BigDecimal divide(BigDecimal divisor,int scale, // int roundingMode) System.out.println(bd7.divide(bd8, 2, BigDecimal.ROUND_HALF_UP)); System.out.println(bd7.divide(bd8, 3, BigDecimal.ROUND_HALF_UP)); System.out.println(bd7.divide(bd8, 4, BigDecimal.ROUND_HALF_UP)); } } ================================================ FILE: day14/code/day14_Date_DateFormat_Calendar/.classpath ================================================ ================================================ FILE: day14/code/day14_Date_DateFormat_Calendar/.project ================================================ day14_Date_DateFormat_Calendar org.eclipse.jdt.core.javabuilder org.eclipse.jdt.core.javanature ================================================ FILE: day14/code/day14_Date_DateFormat_Calendar/.settings/org.eclipse.jdt.core.prefs ================================================ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.compliance=1.7 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.source=1.7 ================================================ FILE: day14/code/day14_Date_DateFormat_Calendar/src/cn/itcast_01/DateDemo.java ================================================ package cn.itcast_01; import java.util.Date; /* * Date ʾض˲䣬ȷ롣 * * 췽 * public Date():ĬϾǵǰʱ * public Date(long date):Ѹĺֵֵڶ * * Ա * public long getTime()ȡֵ * public void setTime(long time):ѺֵΪ */ public class DateDemo { public static void main(String[] args) { // Date d = new Date(); System.out.println("d:" + d); // try { // Thread.sleep(1000); // } catch (InterruptedException e) { // e.printStackTrace(); // } long time = System.currentTimeMillis(); // ȡǰʱĺֵ Date d2 = new Date(time);// ѺֵתΪڱʾ System.out.println("d2:" + d2); Date d3 = new Date(3600000); // 3600000/1000/60/60 = 1Сʱ System.out.println("d3:" + d3); System.out.println("--------------------"); Date d4 = new Date(); // long t = d4.getTime(); // long t2 = System.currentTimeMillis(); // System.out.println(t); // System.out.println(t2); d4.setTime(36000000); System.out.println("d4:" + d4); } } ================================================ FILE: day14/code/day14_Date_DateFormat_Calendar/src/cn/itcast_02/DateFormatDemo.java ================================================ package cn.itcast_02; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; /* * DateFormat:ڽиʽͽijࡣ * ԣѧϰಢʹá * SimpleDateForamt * ʽ -> ı * Date -- String * public final String format(Date date) * ģʽҪʲôдʲô * ı -> ڣ * String -- Date * public Date parse(String source) * ģʽ͸ַƥ䡣 */ public class DateFormatDemo { public static void main(String[] args) throws ParseException { // Date -- String Date d = new Date(); // public SimpleDateFormat() // SimpleDateFormat sdf = new SimpleDateFormat(); // SimpleDateFormat(String pattern) // SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd HH:mm:ss"); // SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss"); // public final String format(Date date) String result = sdf.format(d); System.out.println(result); System.out.println("-------------------------------------------------"); String s = "2008-08-08 12:23:34"; SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // public Date parse(String source) Date dd = sdf2.parse(s); System.out.println(dd); } } ================================================ FILE: day14/code/day14_Date_DateFormat_Calendar/src/cn/itcast_02/DateTool.java ================================================ package cn.itcast_02; import java.text.SimpleDateFormat; import java.util.Date; /** * DzڵĹ * * @author fqy * @version V1.0 */ public class DateTool { private DateTool() { } /** * ǻȡʱķ ʽ1997-06-01 12:23:34 * * @param d * @return */ public static String getRiQi(Date d) { // SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // String s = sdf.format(d); // return s; return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(d); } /** * ǻȡյķ ʽ1997-06-01 * * @param d * @return */ public static String getNYR(Date d) { // SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // String s = sdf.format(d); // return s; return new SimpleDateFormat("yyyy-MM-dd").format(d); } /** * ǻȡʱķ ʽ12:23:34 * * @param d * @return */ public static String getSFM(Date d) { // SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // String s = sdf.format(d); // return s; return new SimpleDateFormat("HH:mm:ss").format(d); } } ================================================ FILE: day14/code/day14_Date_DateFormat_Calendar/src/cn/itcast_02/DateToolTest.java ================================================ package cn.itcast_02; import java.util.Date; public class DateToolTest { public static void main(String[] args) { Date d = new Date(); // Ҫȡʱ System.out.println(DateTool.getRiQi(d)); System.out.println(DateTool.getNYR(d)); System.out.println(DateTool.getSFM(d)); } } ================================================ FILE: day14/code/day14_Date_DateFormat_Calendar/src/cn/itcast_02/MyDayDemo.java ================================================ package cn.itcast_02; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Scanner; /* * һ? * * A:¼ij * B:ַתΪһ * C:ͨڻȡһֵ * D:ȡǰʱĺֵ * E:D-Cõһֵ * F:Eõĺֵһ켴 */ public class MyDayDemo { public static void main(String[] args) throws ParseException { // ¼ij Scanner sc = new Scanner(System.in); System.out.println("ijڣ(yyyy-mm-dd)"); String s = sc.nextLine(); // ַתΪһ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd"); Date d = sdf.parse(s); // ͨڻȡһֵ long myTime = d.getTime(); // ȡǰʱĺֵ long time = System.currentTimeMillis(); // D-Cõһֵ long dateTime = time - myTime; // ѵõĺֵһ켴 System.out.println("Ѿ" + (dateTime / 1000 / 60 / 60 / 24) + ""); } } ================================================ FILE: day14/code/day14_Date_DateFormat_Calendar/src/cn/itcast_03/CalendarDemo.java ================================================ package cn.itcast_03; import java.util.Calendar; /* * Calendar:ʱָһ꣬£գʱ֣ȡҪõһʱ룬ҪԼƴݡ * * --- ꣬£գʱ֣ * * public int get(int field):ظֶεֵ */ public class CalendarDemo { public static void main(String[] args) { // // ֶɵǰںʱʼ Calendar rightNow = Calendar.getInstance(); // ̬ // ȡ int year = rightNow.get(Calendar.YEAR); System.out.println(year); // ȡ int month = rightNow.get(Calendar.MONTH); System.out.println(month + 1); // ȡ int date = rightNow.get(Calendar.DATE); System.out.println(date); // ȡʱ int hour = rightNow.get(Calendar.HOUR); System.out.println(hour); // ȡ int minute = rightNow.get(Calendar.MINUTE); System.out.println(minute); // ȡ int second = rightNow.get(Calendar.SECOND); System.out.println(second); } } ================================================ FILE: day14/code/day14_Date_DateFormat_Calendar/src/cn/itcast_03/CalendarDemo2.java ================================================ package cn.itcast_03; import java.util.Calendar; /* * public void add(int field,int amount):ݸԶֵıʱ * public final void set(int year,int month,int date): */ public class CalendarDemo2 { public static void main(String[] args) { // ȡ Calendar c = Calendar.getInstance(); System.out.println(c.get(Calendar.YEAR) + "---" + (c.get(Calendar.MONTH) + 1) + "---" + c.get(Calendar.DATE)); c.add(Calendar.YEAR, -3); c.add(Calendar.MONTH, 2); c.add(Calendar.DATE, -12); System.out.println(c.get(Calendar.YEAR) + "---" + (c.get(Calendar.MONTH) + 1) + "---" + c.get(Calendar.DATE)); // дcֵ c.set(2012, 3, 4); System.out.println(c.get(Calendar.YEAR) + "---" + (c.get(Calendar.MONTH) + 1) + "---" + c.get(Calendar.DATE)); } } ================================================ FILE: day14/code/day14_Date_DateFormat_Calendar/src/cn/itcast_03/CalendarTest.java ================================================ package cn.itcast_03; import java.util.Calendar; import java.util.Scanner; public class CalendarTest { public static void main(String[] args) { // ȡһĶж? Calendar c = Calendar.getInstance(); // Scanner sc = new Scanner(System.in); System.out.println("Ҫȡһ2·ݣ"); int year = sc.nextInt(); c.set(year, 2, 1); // һ31 c.add(Calendar.DATE, -1); // һ2һ System.out.println(c.get(Calendar.DATE)); } } ================================================ FILE: day14/code/day14_Math_Random_System/.classpath ================================================ ================================================ FILE: day14/code/day14_Math_Random_System/.project ================================================ day14_Math_Random_System org.eclipse.jdt.core.javabuilder org.eclipse.jdt.core.javanature ================================================ FILE: day14/code/day14_Math_Random_System/.settings/org.eclipse.jdt.core.prefs ================================================ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.compliance=1.7 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.source=1.7 ================================================ FILE: day14/code/day14_Math_Random_System/src/cn/itcast_01/MathDemo.java ================================================ package cn.itcast_01; /* * MathѧࡣǾ̬ */ public class MathDemo { public static void main(String[] args) { // public static int abs(int a):ֵ System.out.println("abs:" + Math.abs(12)); System.out.println("abs:" + Math.abs(-12)); System.out.println("--------------------"); // public static double ceil(double a):ڵڲСֵ System.out.println("ceil:" + Math.ceil(12.34)); System.out.println("ceil:" + Math.ceil(12.56)); System.out.println("--------------------"); // public static double floor(double a):Сڵڲֵ System.out.println("floor:" + Math.floor(12.34)); System.out.println("floor:" + Math.floor(12.56)); System.out.println("--------------------"); // public static int max(int a,int b) minѧ System.out.println("max:" + Math.max(12, 23)); // Ƕ׵ System.out.println("max:" + Math.max(Math.max(24, 47), 23)); System.out.println("--------------------"); // public static double pow(double a,double b) System.out.println("pow:" + Math.pow(2, 3)); System.out.println("pow:" + Math.pow(5, 5)); System.out.println("--------------------"); // public static double random():[0.0,1.0) // public static int round(float a) Ϊdoubleѧ System.out.println("round:" + Math.round(12.34f)); System.out.println("round:" + Math.round(12.56f)); System.out.println("--------------------"); // public static double sqrt(double a):ƽ System.out.println("sqrt:" + Math.sqrt(16)); } } ================================================ FILE: day14/code/day14_Math_Random_System/src/cn/itcast_02/RandomDemo.java ================================================ package cn.itcast_02; import java.util.Random; /* * Random: * * 췽 * public Random()ĬӣҺͷ׼ȷĿϵͳʱĵǰֵԺ΢Ϊλ * public Random(long seed)ָ * * Ա * public int nextInt()intΧڵ * public int nextInt(int n)[0,n) * * ⣺ * 췽ӵ? * Ӳͬͬ * ͬͬ */ public class RandomDemo { public static void main(String[] args) { // // Random r = new Random(); Random r = new Random(17); for (int x = 0; x < 10; x++) { // System.out.println(r.nextInt()); System.out.println(r.nextInt(100)); } } } ================================================ FILE: day14/code/day14_Math_Random_System/src/cn/itcast_03/SystemDemo.java ================================================ package cn.itcast_03; /* * System:System һЩõֶκͷܱʵ * public static void gc(): * public static void exit(int status):ֹǰе Java ״̬룻ݹ 0 ״̬ʾ쳣ֹ * public static long currentTimeMillis():ԺΪλĵǰʱ * * public static void arraycopy(Object src,int srcPos,Object dest,int destPos,int length) */ public class SystemDemo { public static void main(String[] args) { // System.out.println("hello"); // System.exit(0); // System.out.println("world"); // System.out.println(System.currentTimeMillis()); // 1427427569016 long start = System.currentTimeMillis(); for (int x = 0; x < 1000000; x++) { System.out.println(x); } long end = System.currentTimeMillis(); System.out.println("ʱ" + (end - start) + ""); } } ================================================ FILE: day14/code/day14_Math_Random_System/src/cn/itcast_03/SystemDemo2.java ================================================ package cn.itcast_03; import java.util.Arrays; /* * public static void arraycopy(Object src,int srcPos,Object dest,int destPos,int length) */ public class SystemDemo2 { public static void main(String[] args) { int[] arr = { 1, 2, 3, 4, 5 }; int[] arr2 = { 6, 7, 8, 9, 10 }; System.arraycopy(arr, 1, arr2, 2, 2); System.out.println(Arrays.toString(arr)); System.out.println(Arrays.toString(arr2)); } } ================================================ FILE: day14/code/day14_Regex/.classpath ================================================ ================================================ FILE: day14/code/day14_Regex/.project ================================================ day14_Regex org.eclipse.jdt.core.javabuilder org.eclipse.jdt.core.javanature ================================================ FILE: day14/code/day14_Regex/.settings/org.eclipse.jdt.core.prefs ================================================ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.compliance=1.7 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.source=1.7 ================================================ FILE: day14/code/day14_Regex/bin/正则表达式的规则.txt ================================================ 1:ַ x ַx \\ бַ \n з \r س 2:ַ [abc] ab c [^abc] κַ ab c [a-zA-Z] a z A Zͷĸ [0-9] ַ0-9 3:Ԥַ . κַ \d ֣[0-9] \w ַ[a-zA-Z_0-9] 4:߽ƥ ^ еĿͷ $ еĽβ \b ʱ߽(ǵַ) hello?hao are you. 5. X? XһλһҲû X* Xλ X+ Xһλ X{n} Xǡ n X{n,} X n X{n,m} X n ΣDz m ================================================ FILE: day14/code/day14_Regex/src/cn/itcast_01/RegexDemo.java ================================================ package cn.itcast_01; import java.util.Scanner; /* * ʽһַ * * ϰ * Уqq. * 1:Ҫ5-15λ * 2:0ܿͷ */ public class RegexDemo { public static void main(String[] args) { //¼ Scanner sc = new Scanner(System.in); System.out.println("qq룺"); String qq = sc.nextLine(); boolean flag = checkQQ(qq); System.out.println("flag:"+flag); //ʹʽʵ boolean flag2 = checkQQ2(qq); System.out.println("flag2:"+flag2); } public static boolean checkQQ2(String qq){ //ʽ // String regex = "[1-9][0-9]{4,14}"; // //public boolean matches(String regex) // boolean flag = qq.matches(regex); // return flag; return qq.matches("[1-9][0-9]{4,14}"); } /* * ֵͣboolean бString qq */ public static boolean checkQQ(String qq) { boolean flag = true; // У鳤 if (qq.length() >= 5 && qq.length() <= 15) { // 0ܿͷ if (!qq.startsWith("0")) { // Ƿַ char[] chs = qq.toCharArray(); for (int x = 0; x < chs.length; x++) { char ch = chs[x]; if (!Character.isDigit(ch)) { flag = false; break; } } } else { flag = false; } } else { flag = false; } return flag; } } ================================================ FILE: day14/code/day14_Regex/src/cn/itcast_02/RegexDemo.java ================================================ package cn.itcast_02; import java.util.Scanner; /* * жϹ * Stringķ * public boolean matches(String regex) */ public class RegexDemo { public static void main(String[] args) { /* * У绰 * * * 绰 * 13812345678 * 13999998888 * 13123456789 * 18912345678 * 18811112222 */ // String regex = "1[38][0-9]{9}"; //¼ֻ Scanner sc = new Scanner(System.in); System.out.println("ֻ룺"); String phone = sc.nextLine(); //жϹ boolean flag = phone.matches(regex); System.out.println(flag); } } ================================================ FILE: day14/code/day14_Regex/src/cn/itcast_02/RegexTest.java ================================================ package cn.itcast_02; import java.util.Scanner; /* * У * * liuyi@163.com * linqingxia@126.com * 123456@qq.com * zhangsan123@sina.cn * zhang456@sina.com.cn * fqy@itcast.cn */ public class RegexTest { public static void main(String[] args) { // //String regex = "[a-zA-Z_0-9]+@[a-zA-Z_0-9]{2,8}(\\.[a-z]{2,3})+"; String regex = "\\w+@\\w{2,8}(\\.[a-z]{2,3})+"; //¼ Scanner sc= new Scanner(System.in); System.out.println("䣺"); String email = sc.nextLine(); //У boolean flag = email.matches(regex); System.out.println(flag); } } ================================================ FILE: day14/code/day14_Regex/src/cn/itcast_03/RegexDemo.java ================================================ package cn.itcast_03; /* * ָ * StringĹܣ * public String[] split(String regex) */ public class RegexDemo { public static void main(String[] args) { // aa,bb,cc String s1 = "aa,bb,cc"; String regex1 = ","; String[] strArray1 = s1.split(regex1); for (int x = 0; x < strArray1.length; x++) { System.out.println(strArray1[x]); } System.out.println("---------------"); // aa.bb.cc String s2 = "aa.bb.cc"; String regex2 = "\\."; String[] strArray2 = s2.split(regex2); for (int x = 0; x < strArray2.length; x++) { System.out.println(strArray2[x]); } System.out.println("---------------"); // aa bb cc String s3 = "aa bb cc"; String regex3 = " "; String[] strArray3 = s3.split(regex3); for (int x = 0; x < strArray3.length; x++) { System.out.println(strArray3[x]); } System.out.println("---------------"); // aa bb cc String s4 = "aa bb cc"; String regex4 = " +"; String[] strArray4 = s4.split(regex4); for (int x = 0; x < strArray4.length; x++) { System.out.println(strArray4[x]); } System.out.println("---------------"); // D:\develop\eclipse-SDK-3.7.2-win64\workspace\day14_Regex String s5 = "D:\\develop\\eclipse-SDK-3.7.2-win64\\workspace\\day14_Regex"; String regex5 = "\\\\"; String[] strArray5 = s5.split(regex5); for (int x = 0; x < strArray5.length; x++) { System.out.println(strArray5[x]); } System.out.println("---------------"); } } ================================================ FILE: day14/code/day14_Regex/src/cn/itcast_03/RegexTest.java ================================================ package cn.itcast_03; import java.util.Arrays; /* * һַ:91 27 46 38 50 * дʵǣ27 38 46 50 91 * * * A:һַ * B:տոзַָõһַ * C:ַתΪ * D: * E:תַ */ public class RegexTest { public static void main(String[] args) { // һַ String s = "91 27 46 38 50"; // տոзַָõһַ String[] strArray = s.split(" "); // ַתΪ int[] arr = new int[strArray.length]; for (int x = 0; x < arr.length; x++) { arr[x] = Integer.parseInt(strArray[x]); } // Arrays.sort(arr); // תַ StringBuilder sb = new StringBuilder(); for (int x = 0; x < arr.length; x++) { if (x == arr.length - 1) { sb.append(arr[x]); } else { sb.append(arr[x]).append(" "); } } String result = sb.toString(); System.out.println(result); } } ================================================ FILE: day14/code/day14_Regex/src/cn/itcast_04/RegexDemo.java ================================================ package cn.itcast_04; /* * 滻 * StringĹܣ * public String replaceAll(String regex,String replacement) */ public class RegexDemo { public static void main(String[] args) { // ̳вַܳ*滻 String s = "hellowodekahaoshi62212934564347892nikyidaqiangeiwoxiexie13212345678gaowoyishen"; // String ss = s.replaceAll("\\d", "*"); // String ss = s.replaceAll("\\d", ""); String ss = s.replaceAll("\\d+", "***"); System.out.println(ss); } } ================================================ FILE: day14/code/day14_Regex/src/cn/itcast_05/RegexDemo.java ================================================ package cn.itcast_05; import java.util.regex.Matcher; import java.util.regex.Pattern; /* * ȡ * PatternMatcherʹ * */ public class RegexDemo { public static void main(String[] args) { // ģʽƥĻʹ // // ѹתΪģʽ // Pattern p = Pattern.compile("a*b"); // // ͨģʽõƥ // Matcher m = p.matcher("aaaaab"); // // ͨƥù // boolean b = m.matches(); // System.out.println(b); // Ϊж˵ // String s = "aaaaab"; // String regex = "a*b"; // boolean flag = s.matches(regex); // System.out.println(flag); // 󣺻ȡ // ȡַɵĵ String s = "da jia hao,wo men dou hen ai java."; // String regex = "\\b[a-z]{3}\\b"; Pattern p = Pattern.compile(regex); Matcher m = p.matcher(s); // public boolean find():Ƿƥ // boolean b = m.find(); // System.out.println(b); // ǵó // public String group() // String ss = m.group(); // System.out.println(ss); // b = m.find(); // System.out.println(b); // // ǵó // // public String group() // ss = m.group(); // System.out.println(ss); while (m.find()) { System.out.println(m.group()); } } } ================================================ FILE: day14/code/day14_Regex/src/正则表达式的规则.txt ================================================ 1:ַ x ַx \\ бַ \n з \r س 2:ַ [abc] ab c [^abc] κַ ab c [a-zA-Z] a z A Zͷĸ [0-9] ַ0-9 3:Ԥַ . κַ \d ֣[0-9] \w ַ[a-zA-Z_0-9] 4:߽ƥ ^ еĿͷ $ еĽβ \b ʱ߽(ǵַ) hello?hao are you. 5. X? XһλһҲû X* Xλ X+ Xһλ X{n} Xǡ n X{n,} X n X{n,m} X n ΣDz m ================================================ FILE: day14/day14总结.txt ================================================ 1ʽ() (1)һַ (2) A:жϹ(Stringķ) public boolean matches(String regex) B:ָ(Stringķ) public String[] split(String regex) C:滻(Stringķ) public String replaceAll(String regex,String replacement) D:ȡ(PatternMatcherĹ) a:Pattern public static Pattern compile(String regex) public Matcher matcher(String s) b:Matcher public boolean find() public String group() (3)() A:Уֻ B:У C:һַ:91 27 46 38 50 дʵǣ27 38 46 50 91 D:ȡַɵĵ 2Math() (1)ѧ࣬һЩǺ (2)ܣ public static int abs(int a) public static double ceil(double a) public static double floor(double a) public static int max(int a,int b) minѧ public static double pow(double a,double b) public static double random() public static int round(float a) Ϊdoubleѧ public static double sqrt(double a) (3)() СϷ 3Random() (1)Randomڲ (2)췽 public Random() public Random(long seed) ͬҲͬ (3)Ա public int nextInt():intΧڵ public int nextInt(int n):[0,n)Χڵ 1-100֮ Random r = new Random(); int number = r.nextInt(100) + 1; 4System() (1)ṩһЩõֶκͷ (2)Ա public static void gc() public static void exit(int status) public static long currentTimeMillis() public static void arraycopy(Object src,int srcPos,Object dest,int destPos,int length) 5BigInteger/BigDecimal() (1)BigInteger A:췽 public BigInteger(String val) B:Ա public BigInteger add(BigInteger val) public BigInteger subtract(BigInteger val) public BigInteger multiply(BigInteger val) public BigInteger divide(BigInteger val) public BigInteger[] divideAndRemainder(BigInteger val) (2)BigDecimal() A:췽 public BigDecimal(String val) B:Ա public BigDecimal add(BigDecimal augend) public BigDecimal subtract(BigDecimal subtrahend) public BigDecimal multiply(BigDecimal multiplicand) public BigDecimal divide(BigDecimal divisor) public BigDecimal divide(BigDecimal divisor,int scale, int roundingMode) 6Date/DateFormat/Calendar() (1)Date A:췽 public Date() public Date(long date) B:Ա public long getTime() public void setTime(long time) (2)SimpleDateFormat A:췽 public SimpleDateFormat(String pattern) ģʽyyyy-MM--dd HH:mm:ss B:Ա public final String format(Date date) public Date parse(String source) (3)Calendar A:εõ? public static Calendar getInstance() B:Ա public int get(int field) public void add(int field,int amount) public final void set(int year,int month,int date) (4) A:? B:һ2·ж? ================================================ FILE: day15/code/day15_Collection/.classpath ================================================ ================================================ FILE: day15/code/day15_Collection/.project ================================================ day15_Collection org.eclipse.jdt.core.javabuilder org.eclipse.jdt.core.javanature ================================================ FILE: day15/code/day15_Collection/.settings/org.eclipse.jdt.core.prefs ================================================ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.compliance=1.7 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.source=1.7 ================================================ FILE: day15/code/day15_Collection/bin/cn/itcast_04/迭代器的源码解析.txt ================================================ public interface Iterator { boolean hasNext(); Object next(); } public interface Iterable { Iterator iterator(); } public interface Collection extends Iterable { } public interface List extends Collection { } public class ArrayList implements List { public Iterator iterator() { return new Itr(); } private class Itr implements Iterator { public boolean hasNext() {...} public Object next(){...} } } Collection c = new ArrayList(); Iterator it = c.iterator(); //new Itr() while(it.hasNext()) { it.next(); } ================================================ FILE: day15/code/day15_Collection/src/cn/itcast_01/Student.java ================================================ package cn.itcast_01; public class Student { private String name; private int age; public Student() { super(); } public Student(String name, int age) { super(); this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public String toString() { return "Student [name=" + name + ", age=" + age + "]"; } } ================================================ FILE: day15/code/day15_Collection/src/cn/itcast_01/StudentDemo.java ================================================ package cn.itcast_01; /* * 붨һ飬洢ѧȻ飬õÿһѧijԱֵ * * Student[] 顣 */ public class StudentDemo { public static void main(String[] args) { // Student[] students = new Student[3]; // Ĭֵnull for (int x = 0; x < students.length; x++) { System.out.println(students[x]); } // ѧԪ Student s1 = new Student("ϼ", 28); Student s2 = new Student("", 31); Student s3 = new Student("־", 18); // Ԫطŵ students[0] = s1; students[1] = s2; students[2] = s3; // ֵѧ for (int x = 0; x < students.length; x++) { // System.out.println(students[x]); Student s = students[x]; System.out.println(s.getName() + "---" + s.getAge()); } } } ================================================ FILE: day15/code/day15_Collection/src/cn/itcast_02/CollectionDemo.java ================================================ package cn.itcast_02; import java.util.ArrayList; import java.util.Collection; /* * Ϊʲôּ? * ԶֶԶʽΪ˷ԶIJǰѧ֪ʶֻܲöʵ֡ * ǣijǹ̶ģӦ˱仯ԣjavaṩ˼๩ʹá * * ص㣺 * A:ȿɱ * B:ֻܴ洢 * C:Դ洢ͬ͵Ķ * * ⣺ͼϵ? * A:ϳȿɱ䣻ֻܴ洢ͣϿԴ洢ͬ͵Ԫ * B:鳤ȹ̶Դ洢ͣҲԴ洢ͣ洢ͬһ͵Ԫ * * ǵĹ̫һԣjavaṩ˶ּ๩ʹáЩıʵǵײݽṹͬ * ݽṹݵĴ洢ʽ * * CollectionĹܣ * A:ӹ * boolean add(Object obj):һԪ * boolean addAll(Collection c):ӶԪء * B:ȡ * Iterator iterator(): * int size():ϵԪظ * C:ɾ * void clear():ռϵԪ * boolean remove(Object obj):ӼƳһԪ * boolean removeAll(Collection c):ӼƳԪ * D:жϹ * boolean contains(Object obj):жϼǷָԪ * boolean containsAll(Collection c):жϼǷָĶԪ * boolean isEmpty():жϼǷΪ * E:Ԫ * boolean retainAll(Collection c) * F:ת * Object[] toArray():Ѽתɶ */ public class CollectionDemo { public static void main(String[] args) { // ϶ Collection c = new ArrayList(); // boolean add(Object obj):һԪ // System.out.println("add:" + c.add("hello")); // System.out.println("add:" + c.add("world")); c.add("hello"); c.add("world"); c.add("java"); // void clear():ռϵԪ // c.clear(); // boolean remove(Object obj):ӼƳһԪ // System.out.println("remove:" + c.remove("world")); // System.out.println("remove:" + c.remove("javaee")); // boolean contains(Object obj):жϼǷָԪ // System.out.println("contains:" + c.contains("hello")); // System.out.println("contains:" + c.contains("javaee")); // boolean isEmpty():жϼǷΪ // System.out.println("isEmpty:" + c.isEmpty()); // int size():ϵԪظ System.out.println("size:" + c.size()); System.out.println("c:" + c); } } ================================================ FILE: day15/code/day15_Collection/src/cn/itcast_02/CollectionDemo2.java ================================================ package cn.itcast_02; import java.util.ArrayList; import java.util.Collection; /* * boolean addAll(Collection c) * boolean removeAll(Collection c):ɾһɾtrue * boolean containsAll(Collection c):ȫǰ * boolean retainAll(Collection c) */ public class CollectionDemo2 { public static void main(String[] args) { // Collection c1 = new ArrayList(); c1.add("abc1"); c1.add("abc2"); c1.add("abc3"); c1.add("abc4"); // Collection c2 = new ArrayList(); // c2.add("abc1"); // c2.add("abc2"); // c2.add("abc3"); // c2.add("abc4"); c2.add("abc5"); c2.add("abc6"); c2.add("abc7"); // boolean addAll(Collection c) // System.out.println("addAll:" + c1.addAll(c2)); // boolean removeAll(Collection c) // System.out.println("removeAll:" + c1.removeAll(c2)); // boolean containsAll(Collection c) // System.out.println("containsAll:" + c1.containsAll(c2)); // boolean retainAll(Collection c) System.out.println("retainAll:" + c1.retainAll(c2)); /* * ABAB Ԫش洢AϣBϲı䡣 ֵAǷı䡣 */ System.out.println("c1:" + c1); System.out.println("c2:" + c2); } } ================================================ FILE: day15/code/day15_Collection/src/cn/itcast_02/CollectionDemo3.java ================================================ package cn.itcast_02; import java.util.ArrayList; import java.util.Collection; /* * Object[] toArray():Ѽתɶ * * ϰüϴ洢ѧ󣬲 */ public class CollectionDemo3 { public static void main(String[] args) { // ϶ Collection c = new ArrayList(); // Ԫ // String s = "hello"; c.add("hello"); c.add("world"); c.add("java"); // Object[] toArray():Ѽתɶ Object[] objs = c.toArray(); // for (int x = 0; x < objs.length; x++) { // System.out.println(objs[x]); String s = (String) objs[x]; System.out.println(s); } } } ================================================ FILE: day15/code/day15_Collection/src/cn/itcast_03/CollectionTest.java ================================================ package cn.itcast_03; import java.util.ArrayList; import java.util.Collection; /* * Object[] toArray():Ѽתɶ * * ϰüϴ洢ѧ󣬲 * * ܽ᣺ϵʹò * A:϶ * B:Ԫض * C:Ԫӵ * D: */ public class CollectionTest { public static void main(String[] args) { // ϶ Collection c = new ArrayList(); // Ԫض Student s1 = new Student("", 18); Student s2 = new Student("ؿ", 20); Student s3 = new Student("", 22); // ѧӵ c.add(s1); c.add(s2); c.add(s3); // c.add(new Student("ֱ", 20)); // Object[] objs = c.toArray(); for (int x = 0; x < objs.length; x++) { Student s = (Student) objs[x]; System.out.println(s.getName() + "---" + s.getAge()); } } } ================================================ FILE: day15/code/day15_Collection/src/cn/itcast_03/Student.java ================================================ package cn.itcast_03; public class Student { private String name; private int age; public Student() { super(); } public Student(String name, int age) { super(); this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } } ================================================ FILE: day15/code/day15_Collection/src/cn/itcast_04/IteratorDemo.java ================================================ package cn.itcast_04; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; /* * Iterator iterator() * boolean hasNext():ǷһԪ * Object next():ȡһԪ,Զƶһλõȴ * * NoSuchElementException:ûԪ쳣 * ԭǣѾȡԪصĩβˣ㻹ҪȡԪأѾûԪˣԱ */ public class IteratorDemo { public static void main(String[] args) { // ϶ Collection c = new ArrayList(); // ԪزԪ c.add("hello"); c.add("world"); c.add("java"); // еķIterator iterator() Iterator it = c.iterator();// ұʵǽӿڵʵǶ̬Ӧ // System.out.println(it.next()); // System.out.println(it.next()); // System.out.println(it.next()); // System.out.println(it.next()); // һѭʵ while (it.hasNext()) { // System.out.println(it.next()); String s = (String) it.next(); System.out.println(s); } } } ================================================ FILE: day15/code/day15_Collection/src/cn/itcast_04/IteratorDemo2.java ================================================ package cn.itcast_04; import java.util.ArrayList; import java.util.Collection; public class IteratorDemo2 { public static void main(String[] args) { // ϶ Collection c = new ArrayList(); // ԪزԪ c.add("hello"); c.add("world"); c.add("java"); // // Iterator it = c.iterator(); // while (it.hasNext()) { // String s = (String) it.next(); // System.out.println(s); // } // forѭĽ // for (Iterator it = c.iterator(); it.hasNext();) { // String s = (String) it.next(); // System.out.println(s); // } } } ================================================ FILE: day15/code/day15_Collection/src/cn/itcast_04/IteratorTest.java ================================================ package cn.itcast_04; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; /* * ϰüϴ洢ѧ󣬲ʹõ */ public class IteratorTest { public static void main(String[] args) { // ϶ Collection c = new ArrayList(); // Ԫض Student s1 = new Student("", 30); Student s2 = new Student("ϼ", 26); Student s3 = new Student("϶", 22); // Ԫӵ c.add(s1); c.add(s2); c.add(s3); // // ͨ϶iterator()ȡ Iterator it = c.iterator(); // ͨhasNext()жǷԪ while (it.hasNext()) { // ͨnext()ȡԪ,תΪ洢Ԫ Student s = (Student) it.next(); // ֱƣǵֵַûʲô塣 // ν?A:дtoString()B:ͨgetXxx() System.out.println(s.getName() + "---" + s.getAge()); } } } ================================================ FILE: day15/code/day15_Collection/src/cn/itcast_04/IteratorTest2.java ================================================ package cn.itcast_04; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; /* * ע⣺next()ûһεãȡһ󣬲ƶһλõȴ */ public class IteratorTest2 { public static void main(String[] args) { // ϶ Collection c = new ArrayList(); // Ԫض Student s1 = new Student("", 30); Student s2 = new Student("ϼ", 26); Student s3 = new Student("϶", 22); Student s4 = new Student("˽", 18); // Ԫӵ c.add(s1); // Object obj = s1; ת c.add(s2); c.add(s3); c.add(s4); Iterator it = c.iterator(); while (it.hasNext()) { // System.out.println(((Student) (it.next())).getName() + "---" // + ((Student) (it.next())).getAge()); Student s = (Student) it.next(); System.out.println(s.getName() + "---" + s.getAge()); } } } ================================================ FILE: day15/code/day15_Collection/src/cn/itcast_04/Student.java ================================================ package cn.itcast_04; public class Student { private String name; private int age; public Student() { super(); } public Student(String name, int age) { super(); this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } } ================================================ FILE: day15/code/day15_Collection/src/cn/itcast_04/迭代器的源码解析.txt ================================================ public interface Iterator { boolean hasNext(); Object next(); } public interface Iterable { Iterator iterator(); } public interface Collection extends Iterable { } public interface List extends Collection { } public class ArrayList implements List { public Iterator iterator() { return new Itr(); } private class Itr implements Iterator { public boolean hasNext() {...} public Object next(){...} } } Collection c = new ArrayList(); Iterator it = c.iterator(); //new Itr() while(it.hasNext()) { it.next(); } ================================================ FILE: day15/code/day15_List/.classpath ================================================ ================================================ FILE: day15/code/day15_List/.project ================================================ day15_List org.eclipse.jdt.core.javabuilder org.eclipse.jdt.core.javanature ================================================ FILE: day15/code/day15_List/.settings/org.eclipse.jdt.core.prefs ================================================ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.compliance=1.7 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.source=1.7 ================================================ FILE: day15/code/day15_List/src/cn/itcast_01/ListDemo.java ================================================ package cn.itcast_01; import java.util.ArrayList; import java.util.Iterator; import java.util.List; /* * Collection * List:Ԫ(洢˳ȡ˳һ),Ԫؿظ * Set:Ԫ,ԪΨһ * Listϴ洢ַ */ public class ListDemo { public static void main(String[] args) { // ϶ List list = new ArrayList(); // Ԫ list.add(""); list.add("˾ܲ"); list.add("ܲ"); // Iterator it = list.iterator(); while (it.hasNext()) { String s = (String) it.next(); System.out.println(s); } } } ================================================ FILE: day15/code/day15_List/src/cn/itcast_01/ListDemo2.java ================================================ package cn.itcast_01; import java.util.ArrayList; import java.util.Iterator; import java.util.List; /* * ϰListϴ洢Զ岢 * Student:name,age */ public class ListDemo2 { public static void main(String[] args) { // ϶ List list = new ArrayList(); // ѧ Student s1 = new Student("˽", 18); Student s2 = new Student("", 19); Student s3 = new Student("", 20); Student s4 = new Student("ʦʦ", 21); // Ԫӵ list.add(s1); list.add(s2); list.add(s3); list.add(s4); // Iterator it = list.iterator(); while (it.hasNext()) { Student s = (Student) it.next(); System.out.println(s.getName() + "---" + s.getAge()); } } } ================================================ FILE: day15/code/day15_List/src/cn/itcast_01/Student.java ================================================ package cn.itcast_01; public class Student { private String name; private int age; public Student() { super(); } public Student(String name, int age) { super(); this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } } ================================================ FILE: day15/code/day15_List/src/cn/itcast_02/ListDemo.java ================================================ package cn.itcast_02; import java.util.ArrayList; import java.util.List; /* * Listϵйܣ * void add(int index,Object obj):ָλԪ * Object remove(int index):ɾָλõԪأɾԪֵ * Object get(int index):ݸԪ * Object set(int index,E element):޸ָԪΪԪأر޸ĵֵ */ public class ListDemo { public static void main(String[] args) { // // Collection c = new ArrayList(); List list = new ArrayList(); // Թ list.add("hello"); list.add("world"); list.add("java"); // void add(int index,Object obj):ָλԪ // list.add(1, "android"); // list.add(3, "android"); // list.add(4, "android"); // // Object remove(int index):ɾָλõԪأɾԪֵ // System.out.println("remove:" + list.remove(1)); // Object get(int index):ݸԪ // System.out.println("get:" + list.get(1)); // Object set(int index,E element):޸ָԪΪԪأر޸ĵֵ System.out.println("set:" + list.set(1, "android")); System.out.println("list:" + list); } } ================================================ FILE: day15/code/day15_List/src/cn/itcast_02/ListDemo2.java ================================================ package cn.itcast_02; import java.util.ArrayList; import java.util.List; /* * Listϵбͨforѭ * size()get()ʹ */ public class ListDemo2 { public static void main(String[] args) { // ϶ List list = new ArrayList(); // Թ list.add("hello"); list.add("world"); list.add("java"); // get(int index) // System.out.println(list.get(0)); // System.out.println(list.get(1)); // System.out.println(list.get(2)); // System.out.println(list.get(3)); // IndexOutOfBoundsException for (int x = 0; x < list.size(); x++) { // System.out.println(list.get(x)); String s = (String) list.get(x); System.out.println(s); } } } ================================================ FILE: day15/code/day15_List/src/cn/itcast_03/ListDemo.java ================================================ package cn.itcast_03; import java.util.ArrayList; import java.util.List; /* * ϰListϴ洢Զ岢 * Student:name,age * ʹͨforѭ */ public class ListDemo { public static void main(String[] args) { // ϶ List list = new ArrayList(); // ѧ Student s1 = new Student("Ѿ", 18); Student s2 = new Student("ʩ", 19); Student s3 = new Student("", 20); Student s4 = new Student("", 17); // Ԫӵ list.add(s1); list.add(s2); list.add(s3); list.add(s4); // for (int x = 0; x < list.size(); x++) { Student s = (Student) list.get(x); System.out.println(s.getName() + "---" + s.getAge()); } } } ================================================ FILE: day15/code/day15_List/src/cn/itcast_03/Student.java ================================================ package cn.itcast_03; public class Student { private String name; private int age; public Student() { super(); } public Student(String name, int age) { super(); this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } } ================================================ FILE: day15/code/day15_List/src/cn/itcast_04/ListIteratorDemo.java ================================================ package cn.itcast_04; import java.util.ArrayList; import java.util.List; import java.util.ListIterator; /* * ListIterator listIterator() * ͨ鿴API֪б̳Եԣ;hasNext()next() */ public class ListIteratorDemo { public static void main(String[] args) { // ϶ List list = new ArrayList(); // Թ list.add("hello"); list.add("world"); list.add("java"); // ʹ÷ // ListIterator listIterator() ListIterator lit = list.listIterator(); // ̬ while (lit.hasNext()) { String s = (String) lit.next(); System.out.println(s); } } } ================================================ FILE: day15/code/day15_List/src/cn/itcast_04/ListIteratorDemo2.java ================================================ package cn.itcast_04; import java.util.ArrayList; import java.util.List; import java.util.ListIterator; /* * ListIterator listIterator() * Ȼйܣûʲô壬ΪҪ */ public class ListIteratorDemo2 { public static void main(String[] args) { // ϶ List list = new ArrayList(); // Թ list.add("hello"); list.add("world"); list.add("java"); // ListIterator lit = list.listIterator(); // while (lit.hasNext()) { // String s = (String) lit.next(); // System.out.println(s); // } System.out.println("---------------"); // while (lit.hasPrevious()) { String s = (String) lit.previous(); System.out.println(s); } } } ================================================ FILE: day15/code/day15_List/src/cn/itcast_04/ListIteratorDemo3.java ================================================ package cn.itcast_04; import java.util.ArrayList; import java.util.List; import java.util.ListIterator; /* * һϣԪ"hello","world","java",дʵ² * жûԪΪworldģУһԪAndroid * * * A:һϣӶԪ * B:ϣȡÿһԪ * C:жԪû"world"ģУһԪandroid * D:ֱ * * ConcurrentModificationException:޸쳣 * * ԭ * ڼ϶ڵģõϵʱģ * Ǿͨϵadd()һԪأҲ˵ʱ򣬼Ϸ˸ı䣬 * ûзı䣬Ͳ⡣ * Ҫԭͨȥϵʱ򣬲ͨȥ * * * A:õͨforѭ * Ԫӵ˼ϵĩβ * B:ʹбʹõҲʹõ * Ԫؾӵ */ public class ListIteratorDemo3 { public static void main(String[] args) { // һϣӶԪ List list = new ArrayList(); list.add("hello"); list.add("world"); list.add("java"); // ϣȡÿһԪ // Iterator it = list.iterator(); // while (it.hasNext()) { // String s = (String) it.next(); // // жԪû"world"ģУһԪandroid // if ("world".equals(s)) { // list.add("android"); // // it = list.iterator(); // } // } // ͨfor // for (int x = 0; x < list.size(); x++) { // String s = (String) list.get(x); // if ("world".equals(s)) { // list.add("android"); // } // } // ʹб ListIterator lit = list.listIterator(); while (lit.hasNext()) { String s = (String) lit.next(); if ("world".equals(s)) { lit.add("android"); } } // ֱ System.out.println("list:" + list); } } ================================================ FILE: day15/day15总结.txt ================================================ 1() (1)飺 ͵飺int[] ͵飺Student[] (2) ö洢ѧ󣬲 ѧĴ룬дܶˡ Ҫ룺 Student[] students = new Student[3]; Student s1 = new Student("ϼ",18); Student s2 = new Student("",21); Student s3 = new Student("֥",60); students[0] = s1; students[1] = s2; students[2] = s3; for(int x=0; x ================================================ FILE: day16/code/day16_ArrayList_Vector_LinkedList/.project ================================================ day16_ArrayList_Vector_LinkedList org.eclipse.jdt.core.javabuilder org.eclipse.jdt.core.javanature ================================================ FILE: day16/code/day16_ArrayList_Vector_LinkedList/.settings/org.eclipse.jdt.core.prefs ================================================ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.compliance=1.7 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.source=1.7 ================================================ FILE: day16/code/day16_ArrayList_Vector_LinkedList/src/cn/itcast_01/ArrayListDemo.java ================================================ package cn.itcast_01; import java.util.ArrayList; import java.util.Iterator; /* * List: * ArrayList: * ײݽṹ飬ѯ죬ɾ * ̲߳ȫЧʸ * Vector: * ײݽṹ飬ѯ죬ɾ * ̰߳ȫЧʵ * LinkedList: * ײݽṹѯɾ * ̲߳ȫЧʸ * * ⣺ArrayListVectorLinkedListĸص? * * ˼⣺ArrayListVectorLinkedListǵʹ˭? * * * Ҫȫ? * ҪVector(ҲãCollectionsµķʽ) * ҪArrayListLinkedList * ѯࣺArrayList * ɾࣺLinkedList * * ֪ĸArrayList * * ArrayList洢ַ */ public class ArrayListDemo { public static void main(String[] args) { ArrayList array = new ArrayList(); array.add("hello"); array.add("world"); array.add("java"); // Iterator it = array.iterator(); while (it.hasNext()) { String s = (String) it.next(); System.out.println(s); } System.out.println("--------------"); // ͨfor for (int x = 0; x < array.size(); x++) { String s = (String) array.get(x); System.out.println(s); } } } ================================================ FILE: day16/code/day16_ArrayList_Vector_LinkedList/src/cn/itcast_01/ArrayListTest.java ================================================ package cn.itcast_01; import java.util.ArrayList; import java.util.Iterator; /* * 󣺴洢ѧ󣬲ַʽ * * ϰ * VectorLinkedList * 洢ַ * 洢Զ󲢱 */ public class ArrayListTest { public static void main(String[] args) { // ϶ ArrayList array = new ArrayList(); // Ԫض Student s1 = new Student("Ԫ", 50); Student s2 = new Student(); s2.setName(""); s2.setAge(60); Student s3 = new Student("ʼ", 40); // Ԫӵ array.add(s1); array.add(s2); array.add(s3); // Iterator it = array.iterator(); while (it.hasNext()) { Student s = (Student) it.next(); System.out.println(s.getName() + "---" + s.getAge()); } System.out.println("-----------------"); for (int x = 0; x < array.size(); x++) { Student s = (Student) array.get(x); System.out.println(s.getName() + "---" + s.getAge()); } } } ================================================ FILE: day16/code/day16_ArrayList_Vector_LinkedList/src/cn/itcast_01/Student.java ================================================ package cn.itcast_01; public class Student { private String name; private int age; public Student() { super(); } public Student(String name, int age) { super(); this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } } ================================================ FILE: day16/code/day16_ArrayList_Vector_LinkedList/src/cn/itcast_02/VectorDemo.java ================================================ package cn.itcast_02; import java.util.Enumeration; import java.util.Vector; /* * йܣ * A:Ԫ * public void addElement(Object obj) -- add(Object obj) * B:ȡԪ * public Object elementAt(int index) -- get(int index) * public Enumeration elements() -- Iterator iterator() * hasMoreElements() hasNext() * nextElement() next() * * JDK汾 * A:ȫ * B:Ч * C:д */ public class VectorDemo { public static void main(String[] args) { // ϶ // Collection c = new Vector(); // List list = new Vector(); Vector v = new Vector(); // public void addElement(Object obj) v.addElement("hello"); v.addElement("world"); v.addElement("java"); // public Object elementAt(int index) // System.out.println(v.elementAt(0)); // System.out.println(v.elementAt(1)); // System.out.println(v.elementAt(2)); // ͨfor // for (int x = 0; x < v.size(); x++) { // String s = (String) v.elementAt(x); // System.out.println(s); // } // Ƶķʽ Enumeration en = v.elements(); while (en.hasMoreElements()) { String s = (String) en.nextElement(); System.out.println(s); } System.out.println("v:" + v); } } ================================================ FILE: day16/code/day16_ArrayList_Vector_LinkedList/src/cn/itcast_03/LinkedListDemo.java ================================================ package cn.itcast_03; import java.util.LinkedList; /* * LinkedListйܣ * A:ӹ * void addFirst() * void addLast() * B:Ƴ * Object removeFirst() * Object removeLast() * C:ȡ * Object getFirst() * Object getLast() */ public class LinkedListDemo { public static void main(String[] args) { // ϶ LinkedList link = new LinkedList(); // Ԫ link.add("hello"); link.add("world"); link.add("java"); // void addFirst() // void addLast() // link.addFirst("android"); // link.addLast("javaee"); // Object removeFirst() // Object removeLast() // System.out.println("removeFirst:" + link.removeFirst()); // System.out.println("removeLast:" + link.removeLast()); // Object getFirst() // Object getLast() System.out.println("getFirst:" + link.getFirst()); System.out.println("getLast:" + link.getLast()); System.out.println("link:" + link); } } ================================================ FILE: day16/code/day16_ArrayList_Vector_LinkedList/src/cn/itcast_04/ArrayListTest.java ================================================ package cn.itcast_04; import java.util.ArrayList; import java.util.Iterator; /* * ȥַظֵ(ַͬ) * * hello,world,java,android,world,java,javaee,java,java,java,android * * hello,world,java,android,javaee * * ¼ϵķʽ * A:弯ϣ洢ظԪ * B:¼ * C:ɼϣȡɼеÿһԪ * D:ǾɼϵÿһԪص¼ȥңû * УͲ() * ľУ * E:¼ */ public class ArrayListTest { public static void main(String[] args) { // 弯ϣ洢ظԪ ArrayList array = new ArrayList(); array.add("hello"); array.add("world"); array.add("java"); array.add("android"); array.add("world"); array.add("java"); array.add("javaee"); array.add("java"); array.add("java"); array.add("java"); array.add("android"); // ¼ ArrayList newArrayList = new ArrayList(); // ɼϣȡɼеÿһԪ for (int x = 0; x < array.size(); x++) { String s = (String) array.get(x); // ǾɼϵÿһԪص¼ȥңû if (!newArrayList.contains(s)) { // ľУ newArrayList.add(s); } } // ¼ Iterator it = newArrayList.iterator(); while (it.hasNext()) { String s = (String) it.next(); System.out.println(s); } } } ================================================ FILE: day16/code/day16_ArrayList_Vector_LinkedList/src/cn/itcast_04/ArrayListTest2.java ================================================ package cn.itcast_04; import java.util.ArrayList; import java.util.Iterator; /* * ȥַظֵ(ַͬ) * * hello,world,java,android,world,java,javaee,java,java,java,android * * hello,world,java,android,javaee * * ѡ˼һ */ public class ArrayListTest2 { public static void main(String[] args) { // 弯ϣ洢ظԪ ArrayList array = new ArrayList(); array.add("hello"); array.add("world"); array.add("java"); array.add("android"); array.add("world"); array.add("java"); array.add("javaee"); array.add("java"); array.add("java"); array.add("java"); array.add("android"); for (int x = 0; x < array.size() - 1; x++) { for (int y = x + 1; y < array.size(); y++) { if (array.get(y).equals(array.get(x))) { array.remove(y); y--; // Ԫɾ󣬻Ҫ͵ǰλõıȽһ } } } // Iterator it = array.iterator(); while (it.hasNext()) { String s = (String) it.next(); System.out.println(s); } } } ================================================ FILE: day16/code/day16_ArrayList_Vector_LinkedList/src/cn/itcast_04/ArrayListTest3.java ================================================ package cn.itcast_04; import java.util.ArrayList; import java.util.Iterator; /* * ȥԶظֵ(ijԱֵͬ) * Student:name,age * ͨ򵥵ķ֪Ӧж⡣ * ԣӦνжϵġ * Ҫ֪жϵģͱ뿴жϵķԴ * ͨ鿴Դ룬֪ϵcontains()ײԴԪضequals() * Ĭ£Ԫ̳Objectequals()Ƚϵǵֵַ * ԣҪȽ϶ijԱֵͬͱдequals() */ public class ArrayListTest3 { public static void main(String[] args) { // ϶ ArrayList array = new ArrayList(); // ѧ Student s1 = new Student("ϼ", 28); Student s2 = new Student("", 27); Student s3 = new Student("", 27); Student s4 = new Student("ͮ", 25); Student s5 = new Student("Ż", 40); Student s6 = new Student("֥", 60); Student s7 = new Student("ϼ", 20); Student s8 = new Student("ϼ", 28); // ѧӵ array.add(s1); array.add(s2); array.add(s3); array.add(s4); array.add(s5); array.add(s6); array.add(s7); array.add(s8); // ¼ ArrayList newArrayList = new ArrayList(); // ɼϣȡɼеÿһԪ for (int x = 0; x < array.size(); x++) { Student s = (Student) array.get(x); // ǾɼϵÿһԪص¼ȥңû if (!newArrayList.contains(s)) { // ľУ newArrayList.add(s); } } // ¼ Iterator it = newArrayList.iterator(); while (it.hasNext()) { Student s = (Student) it.next(); System.out.println(s.getName() + "---" + s.getAge()); } } } ================================================ FILE: day16/code/day16_ArrayList_Vector_LinkedList/src/cn/itcast_04/LinkedListDemo.java ================================================ package cn.itcast_04; /* * LinkedList * LinkedListģջݽṹļϣ * Ŀ˼ǣҪԼһ࣬ṩԪغͻȡԪصĹܣȻļࡣṩLinkedListʹá * ջȽ */ public class LinkedListDemo { public static void main(String[] args) { // ϶ // LinkedList link = new LinkedList(); // // // Ԫ // link.addFirst("hello"); // link.addFirst("world"); // link.addFirst("java"); // // Iterator it = link.iterator(); // while (it.hasNext()) { // String s = (String) it.next(); // System.out.println(s); // } // MyStack my = new MyStack(); //Ԫ my.add("hello"); my.add("world"); my.add("java"); //ȡ // System.out.println(my.get()); // System.out.println(my.get()); // System.out.println(my.get()); // System.out.println(my.get()); while(!my.isEmpty()){ System.out.println(my.get()); } } } ================================================ FILE: day16/code/day16_ArrayList_Vector_LinkedList/src/cn/itcast_04/MyStack.java ================================================ package cn.itcast_04; import java.util.LinkedList; /* * Լļ */ public class MyStack { private LinkedList link; public MyStack() { link = new LinkedList(); } public void add(Object obj) { link.addFirst(obj); } public Object get() { // return link.getFirst(); return link.removeFirst(); } public boolean isEmpty() { return link.isEmpty(); } } ================================================ FILE: day16/code/day16_ArrayList_Vector_LinkedList/src/cn/itcast_04/Student.java ================================================ package cn.itcast_04; public class Student { private String name; private int age; public Student() { super(); } public Student(String name, int age) { super(); this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; Student other = (Student) obj; if (age != other.age) return false; if (name == null) { if (other.name != null) return false; } else if (!name.equals(other.name)) return false; return true; } } ================================================ FILE: day16/code/day16_ArrayList_Vector_LinkedList/src/cn/itcast_05/ArrayListDemo.java ================================================ package cn.itcast_05; import java.util.ArrayList; /* * Ĵ * * Τ * ¥ * ֱؿ * ˮ䰴 * ɣ³ӣ¬壬 * μ * ׹Ǿ㣬գţħ캢 * * ҹĴÿкܶԽɫ */ public class ArrayListDemo { public static void main(String[] args) { // С ArrayList sgyy = new ArrayList(); sgyy.add(""); sgyy.add("Τ"); sgyy.add(""); // ¥С ArrayList hlm = new ArrayList(); hlm.add("ֱ"); hlm.add(""); hlm.add(""); hlm.add("ؿ"); // ˮ䰴С ArrayList shz = new ArrayList(); shz.add(""); shz.add("³"); shz.add(""); shz.add("¬"); shz.add(""); shz.add(""); // μС ArrayList xyj = new ArrayList(); xyj.add("׹Ǿ"); xyj.add(""); xyj.add(""); xyj.add("ţħ"); xyj.add("캢"); // Ĵ󼯺 ArrayList> sdmz = new ArrayList>(); sdmz.add(sgyy); sdmz.add(hlm); sdmz.add(shz); sdmz.add(xyj); // for (ArrayList array : sdmz) { for (String s : array) { System.out.print(s + " "); } System.out.println(); } } } ================================================ FILE: day16/code/day16_Generic/.classpath ================================================ ================================================ FILE: day16/code/day16_Generic/.project ================================================ day16_Generic org.eclipse.jdt.core.javabuilder org.eclipse.jdt.core.javanature ================================================ FILE: day16/code/day16_Generic/.settings/org.eclipse.jdt.core.prefs ================================================ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.compliance=1.7 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.source=1.7 ================================================ FILE: day16/code/day16_Generic/src/cn/itcast_01/ArrayListDemo.java ================================================ package cn.itcast_01; import java.util.ArrayList; import java.util.Iterator; /* * ⣺ * 1:лɫߣ̫ѿ * 2:ʵɫ߾Ǹ㣬üһ * 3:㿴˻͵ԪأʵԶװ䣬ӵҲһ * * ǾҪɫ⣬ʵǽϵİȫ? * ν? * ǿԲ * String[] strArray = new String[3]; * strArray[0] = "hello"; * strArray[1] = "world"; * strArray[2] = 100; * ڶʱҾȷԪصͣԺӵʱ򣬾Ͳκ⡣ */ public class ArrayListDemo { public static void main(String[] args) { // 洢ַ ArrayList array = new ArrayList(); array.add("hello"); array.add("world"); array.add("java"); // array.add(new Integer(100)); // array.add(100); // Զװ Iterator it = array.iterator(); while (it.hasNext()) { String s = (String) it.next(); System.out.println(s); // Object obj = it.next(); // // if (obj instanceof String) { // // String s = (String) obj; // // System.out.println(s); // // } else if (obj instanceof Integer) { // // Integer i = (Integer) obj; // // System.out.println(i); // // } // System.out.println(obj); } // String[] strArray = new String[3]; // strArray[0] = "hello"; // strArray[1] = "world"; // strArray[2] = 100; } } ================================================ FILE: day16/code/day16_Generic/src/cn/itcast_01/ArrayListDemo2.java ================================================ package cn.itcast_01; import java.util.ArrayList; import java.util.Iterator; /* * ڶ弯ϵʱȥȷϵԪ? * ʱ򣬴JDK5Ժ󣬾ṩһµļ * ͣȷ͵ĹƳٵ˴ߵ÷ʱȥġ * ʽ * <> ͡ * Щطʹ÷? * һڼг鿴API࣬࣬ӿں˵Ҫ÷͡ * * ͵ĺô * A:˳İȫ * B:תƵ˱ * C:ʡȥǿת鷳 * * ϰ * ArrayList洢Զ󣬲뷺͡ */ public class ArrayListDemo2 { public static void main(String[] args) { // 洢ַ ArrayList array = new ArrayList(); // Ӽ array.add("hello"); array.add("world"); array.add("java"); // array.add(100); // Iterator it = array.iterator(); while (it.hasNext()) { // String s = (String) it.next(); String s = it.next(); System.out.println(s); } System.out.println("-----------------"); for (int x = 0; x < array.size(); x++) { String s = array.get(x); System.out.println(s); } } } ================================================ FILE: day16/code/day16_Generic/src/cn/itcast_01/ArrayListTest.java ================================================ package cn.itcast_01; import java.util.ArrayList; import java.util.Iterator; /* * ArrayList洢Զ󲢱Ҫ뷺 */ public class ArrayListTest { public static void main(String[] args) { // ϶ ArrayList array = new ArrayList(); // JDK7ԣηͣƶ // ArrayList array = new ArrayList<>(); // Ԫ Student s1 = new Student("", 18); Student s2 = new Student("١", 20); Student s3 = new Student("", 19); Student s4 = new Student("", 21); // Ԫ array.add(s1); array.add(s2); array.add(s3); array.add(s4); // Iterator it = array.iterator(); while (it.hasNext()) { Student s = it.next(); System.out.println(s.getName() + "---" + s.getAge()); } System.out.println("------------------"); for (int x = 0; x < array.size(); x++) { Student s = array.get(x); System.out.println(s.getName() + "---" + s.getAge()); } } } ================================================ FILE: day16/code/day16_Generic/src/cn/itcast_01/Student.java ================================================ package cn.itcast_01; public class Student { private String name; private int age; public Student() { super(); } public Student(String name, int age) { super(); this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } } ================================================ FILE: day16/code/day16_Generic/src/cn/itcast_02/Inter.java ================================================ package cn.itcast_02; /* * ͽӿڣѷͶڽӿ * * ʽ * interface ӿ<,...> */ public interface Inter { public abstract void show(YY yy); } ================================================ FILE: day16/code/day16_Generic/src/cn/itcast_02/InterImpl.java ================================================ package cn.itcast_02; /* * ʵʵַͽӿڵʱ * A:ʵֽӿڵʱѾȷ˽ӿڵķͲ * B:ʵֽӿڵʱһ֪ӿڵķͲ */ //public class InterImpl implements Inter { // @Override // public void show(String yy) { // System.out.println(yy); // } // } public class InterImpl implements Inter { @Override public void show(YY yy) { System.out.println(yy); } } // new InterImpl(); ================================================ FILE: day16/code/day16_Generic/src/cn/itcast_02/InterTest.java ================================================ package cn.itcast_02; public class InterTest { public static void main(String[] args) { } } ================================================ FILE: day16/code/day16_Generic/src/cn/itcast_02/Tool.java ================================================ package cn.itcast_02; public class Tool { // private Student student; // public Student getStudent() { // return student; // } // public void setStudent(Student student) { // this.student = student; // } //⹤ߣҪTeacherֻҪStudentΪTeacherͿ //ǣǼҪTeacherҪStudentô? private Object obj; public Object getObj() { return obj; } public void setObj(Object obj) { this.obj = obj; } } class Student { public void love() { System.out.println("ѧѧϰ"); } } class Teacher { public void love() { System.out.println("ʦϼ"); } } ================================================ FILE: day16/code/day16_Generic/src/cn/itcast_02/Tool2.java ================================================ package cn.itcast_02; /* * ࣺѷͶϡ * ʽ * class <,...> {} */ public class Tool2 { private QQ qq; public QQ getQq() { return qq; } public void setQq(QQ qq) { this.qq = qq; } } ================================================ FILE: day16/code/day16_Generic/src/cn/itcast_02/Tool2Test.java ================================================ package cn.itcast_02; /* * Ĭ£Object͡ */ public class Tool2Test { public static void main(String[] args) { Student s = new Student(); Teacher t = new Teacher(); // Tool2 tool = new Tool2(); // // ΪStudent // tool.setQq(s); // Student ss = (Student) tool.getQq(); // ss.love(); // // ΪTeacher // tool.setQq(t); // Teacher tt = (Teacher) tool.getQq(); // tt.love(); // Student sss = (Student) tool.getQq(); // sss.love(); Tool2 tool = new Tool2(); tool.setQq(s); Student ss = tool.getQq(); ss.love(); // tool.setQq(t); // ڼ͸㣬ˣѾȷˣStudent Tool2 tool2 = new Tool2(); tool2.setQq(t); Teacher tt = tool2.getQq(); tt.love(); } } ================================================ FILE: day16/code/day16_Generic/src/cn/itcast_02/Tool3.java ================================================ package cn.itcast_02; /* * ͷѷӵϡ * ʽ * public <> ( .) */ public class Tool3 { // public void print(String s) { // System.out.println(s); // } // // public void print(Integer i) { // System.out.println(i); // } // // public void print(Boolean b) { // System.out.println(b); // } public void print(BMW bmw) { System.out.println(bmw); } } ================================================ FILE: day16/code/day16_Generic/src/cn/itcast_02/Tool3Test.java ================================================ package cn.itcast_02; public class Tool3Test { public static void main(String[] args) { Tool3 t = new Tool3(); t.print("hello"); t.print(100); t.print(true); } } ================================================ FILE: day16/code/day16_Generic/src/cn/itcast_02/ToolTest.java ================================================ package cn.itcast_02; /* * Objectǵijչԡ * ǣת쳣 * ԣֽرĺá * ʱjavaṩ˷ͼ */ public class ToolTest { public static void main(String[] args) { Student s = new Student(); Teacher t = new Teacher(); // Tool t = new Tool(); // t.setStudent(s); // Student ss = t.getStudent(); // ss.love(); Tool tool = new Tool(); // ΪStudent tool.setObj(s); Student ss = (Student) tool.getObj(); ss.love(); // ΪTeacher tool.setObj(t); Teacher tt = (Teacher) tool.getObj(); tt.love(); Student sss = (Student) tool.getObj(); sss.love(); } } ================================================ FILE: day16/code/day16_Generic/src/cn/itcast_03/GenericeDemo.java ================================================ package cn.itcast_03; import java.util.ArrayList; import java.util.Collection; /* *͸߼ *ͨ * ͣûȷôObjectԼJava *? extends E * ޶E *? super E * ޶E丸 */ public class GenericeDemo { public static void main(String[] args) { // ͨ Collection c1 = new ArrayList(); Collection c2 = new ArrayList(); Collection c3 = new ArrayList(); Collection c4 = new ArrayList(); System.out.println("--------------------"); // ? extends E Collection c5 = new ArrayList(); Collection c6 = new ArrayList(); Collection c7 = new ArrayList(); // Collection c8 = new ArrayList(); System.out.println("--------------------"); // ? super E Collection c9 = new ArrayList(); // Collection c10 = new ArrayList(); // Collection c11 = new ArrayList(); Collection c12 = new ArrayList(); } } class Animal { } class Dog extends Animal { } class Cat extends Animal { } ================================================ FILE: day16/code/day16_JDK5News/.classpath ================================================ ================================================ FILE: day16/code/day16_JDK5News/.project ================================================ day16_JDK5News org.eclipse.jdt.core.javabuilder org.eclipse.jdt.core.javanature ================================================ FILE: day16/code/day16_JDK5News/.settings/org.eclipse.jdt.core.prefs ================================================ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.compliance=1.7 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.source=1.7 ================================================ FILE: day16/code/day16_JDK5News/src/cn/itcast_01/ArrayListTest.java ================================================ package cn.itcast_01; import java.util.ArrayList; /* * ArrayList洢Զ󲢱Ҫ뷺ͣʹַʽ */ public class ArrayListTest { public static void main(String[] args) { // ϶ ArrayList array = new ArrayList(); // Ԫ Student s1 = new Student("", 18); Student s2 = new Student("١", 20); Student s3 = new Student("", 19); Student s4 = new Student("", 21); // Ԫ array.add(s1); array.add(s2); array.add(s3); array.add(s4); for (Student s : array) { System.out.println(s.getName() + "---" + s.getAge()); } } } ================================================ FILE: day16/code/day16_JDK5News/src/cn/itcast_01/ForDemo.java ================================================ package cn.itcast_01; import java.util.ArrayList; /* * ǿforforѭһָʽ * ʽ * for(Ԫ : Collection) { * ֱʹñͿˣıʵ߼еԪء * } * ô * Collectionϵı * * עǿforĿҪжǷΪnull * ǿforϣʵ * * Collectionǿfor * Listࣺǿforͨfor */ public class ForDemo { public static void main(String[] args) { // int int[] arr = { 1, 2, 3, 4, 5 }; // ǿfor for (int x : arr) { System.out.println(x); } System.out.println("-----------------"); String[] strArray = { "hello", "world", "java" }; // ǿfor for (String str : strArray) { System.out.println(str); } System.out.println("-----------------"); ArrayList array = new ArrayList(); array.add("hello"); array.add("world"); array.add("java"); // ǿfor for (String s : array) { System.out.println(s); } //NullPointerException // array = null; // for (String s : array) { // System.out.println(s); // } // for (String s : array) { // //ConcurrentModificationException // array.add("hello"); // } } } ================================================ FILE: day16/code/day16_JDK5News/src/cn/itcast_01/Student.java ================================================ package cn.itcast_01; public class Student { private String name; private int age; public Student() { super(); } public Student(String name, int age) { super(); this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } } ================================================ FILE: day16/code/day16_JDK5News/src/cn/itcast_02/StaticImportDemo.java ================================================ package cn.itcast_02; /* * ̬룺 * ʽimport static xxx.xxx.xxx..; * * ע⣺ * A:Ǿ̬ * B:жͬľ̬ײ֪ʹ˭?ʱҪʹãǰ׺ɴ˿ɼ岻һ㲻ãҪܿ */ import static java.lang.Math.abs; import static java.lang.Math.max; public class StaticImportDemo { public static void main(String[] args) { // System.out.println(java.lang.Math.abs(-12)); // System.out.println(java.lang.Math.max(12, 23)); // System.out.println(Math.abs(-12)); // System.out.println(Math.max(12, 23)); System.out.println(abs(-12)); System.out.println(java.lang.Math.max(12, 23)); } public static boolean max(int a, int b) { return a == b; } } ================================================ FILE: day16/code/day16_JDK5News/src/cn/itcast_03/ArgsDemo.java ================================================ package cn.itcast_03; /* * ɱ巽ʱ֪öٸ * ʽ * η ֵ (͡ ){ * * } * ע * A:ıʵһ顣ԶѲװһȥ * B:һеĿɱֻܳʽ */ public class ArgsDemo { public static void main(String[] args) { // System.out.println(sum()); int a = 10; int b = 20; int result = sum(a, b); System.out.println(result); int c = 30; result = sum(a, b, c); System.out.println(result); int d = 40; result = sum(a, b, c, d); System.out.println(result); // Ҫ͹ܣ2-100ĿǰҲ֪ٸ?õʱҾ֪ˣṩ? // ô?2ʼһֱ100ԣ̫鷳 // ûиõķ?СԲȷjavaṩһɱ÷ result = sum(10, 20, 30, 40, 50); System.out.println(result); result = sum(10, 20, 30, 40, 50, 60, 70, 80, 90); System.out.println(result); } public static int sum(int b,int... a) { // [I@7821f46a // System.out.println(a); int result = 0; for (int i : a) { result += i; } return result; } // public static int sum(int a, int b) { // return a + b; // } // // public static int sum(int a, int b, int c) { // return a + b + c; // } // // public static int sum(int a, int b, int c, int d) { // return a + b + c + d; // } } ================================================ FILE: day16/code/day16_JDK5News/src/cn/itcast_03/ArraysDemo.java ================================================ package cn.itcast_03; import java.util.Arrays; import java.util.List; /* * public static List asList(T... a):һֵָ֧Ĺ̶Сб */ public class ArraysDemo { public static void main(String[] args) { List list = Arrays.asList("hello", "world", "java"); // list.add("haha"); // UnsupportedOperationException // list.remove(1); list.set(1, "haha"); for (String s : list) { System.out.println(s); } } } ================================================ FILE: day16/day16总结.txt ================================================ 1ϰϰʲô() (1)ϰ (2)ϰ (3)ϰ 2ݽṹ() (1)⣺ݽṹЩ?Լÿݽṹȱ? (2)ݽṹ A:ջ Ƚ B: Ƚȳ C: ѯ죬ɾ D: ѯɾ 3Listʵ() (1)Listʵص A:ArrayList ײݽṹ飬ѯ죬ɾ ̲߳ȫЧʸ B:Vector ײݽṹ飬ѯ죬ɾ ̰߳ȫЧʵ C:LinkedList ײݽṹѯɾ ̲߳ȫЧʸ (2)ѡĸӽʹ? Ҫȫ? ҪVector(ʵҲиõķʽ潲) ҪArrayListLinkedList ѯࣺArrayList ɾࣺLinkedList ʲô֪ArrayList (3)ArrayList A:洢ַ B:洢Զ󲢱 (4)Vector A:й(˽) a:addElement(object obj) -- add() b:elementAt(int index) -- get() c:elements() -- iterator() B:洢ַ C:洢Զ󲢱 (5)LinkedList A:й(˽) a:addFirst(),addLast() b:removeFirst(),removeLast() c:getFirst(),getLast() B:洢ַ C:洢Զ󲢱 (6) A:ȥArrayListظַ B:ȥArrayListظԶ contains()ĵײԴequals() C:LinkedListģջݽṹļϣ 4:() (1)ͣһְȷ͵ĹƳٵߵ÷ʱȡȷ͡ (2)ʽ <> (3)ô A:˳İȫ B:ʱ쳣ǰ˱ C:ǿת (4)Щطʹ÷? APIɣ࣬࣬ӿں<...>˵Ҫʹ (5)͵() A:͵ B: C:ͷ D:ͽӿ E:͸߼ (6) ǰļϰ÷͸Ľ 5:JDK5() (1)ǿfor() A:ʽ for(Ԫص : Collection϶) { ʹñ } B:ô ߼ϵı C:ע ǿforĿ겻Ϊnull (2)̬(˽) A:ʽ import static xxx.yyy.zzz..; 뵽˷ļ B:ע a:Ǿ̬ b:ͬķʹõʱҪǰ׺岻һ㲻á (3)ɱ() A:дܵʱ򣬲ȷ B:ʽ η ֵ (ʽ... ) {} C:עʵ a:ʵ飬ԶѶԪװһ b:һжʽɱһ ================================================ FILE: day16/练习.txt ================================================ window±ʵ֣洢ַ ҪCollectionõõͨforַʽ Collection(1,2,3) List(4,5,6) ArrayList(7,8) Vector(9,10) LinkedList(11,12) ================================================ FILE: day16/练习和自习到底做什么.txt ================================================ 1ϰ(A,BDZҪ,Bû50Գ) A:ܽῴһ顣()10 B:Ԥϰppt˽Ҫʲô() C:Լ 룬ô룬 2ϰ A:ѽܽῴһ B:ҵ C:ܽҵ ңɳͬѧ D:ûͨģÿ10 E:ϰ 3ϰһ A:һ׶εܽῴһ a:java֪ʶ b: c:API d: e:IO f:GUI ˽ g:߳ h: i:+JDKܽ+ģʽ B:һ׶εĿһ C:һ׶εҵһ ࿴á ================================================ FILE: day17/Collection集合总结.txt ================================================ 1Collectionϵṹ Collection |--List(Ԫ򣬿ظ) |--ArrayList ײݽṹ飬ѯ,ɾ ̲߳ȫ,Чʸ |--Vector ײݽṹ飬ѯ,ɾ ̰߳ȫ,Чʵ |--LinkedList ײݽṹѯ,ɾ ̲߳ȫ,Чʸ |--Set(ԪΨһ) |--HashSet ײݽṹǹϣ ֤ԪصΨһ? hashCode()equals() |--LinkedHashSet ײݽṹǹϣ ɹϣ֤ԪΨһ ֤Ԫ |--TreeSet ײݽṹǶ() ֤ԪصΨһ? ݱȽϵķֵǷ0 ֤Ԫص? Ȼ Ƚ 2Collection׼ʹ˭? ԪΨһ? ǣSet Ҫ? ǣTreeSet HashSet ֪HashSet List Ҫȫ? ҪVector(ʵҲãиõķʽ潲) ҪArrayListLinkedList ѯࣺArrayList ɾࣺLinkedList ֪ArrayList ֪ArrayList 3еݽṹ ArrayXxx:ײݽṹ飬ѯ죬ɾ LinkedXxx:ײݽṹѯɾ HashXxx:ײݽṹǹϣhashCode()equals()ѡǷԶд TreeXxx:ײݽṹǶַȻ򣬱Ƚ ================================================ FILE: day17/code/day17_List_test/.classpath ================================================ ================================================ FILE: day17/code/day17_List_test/.project ================================================ day17_List_test org.eclipse.jdt.core.javabuilder org.eclipse.jdt.core.javanature ================================================ FILE: day17/code/day17_List_test/.settings/org.eclipse.jdt.core.prefs ================================================ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.compliance=1.7 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.source=1.7 ================================================ FILE: day17/code/day17_List_test/src/cn/itcast_01/RandomNumberDemo.java ================================================ package cn.itcast_01; import java.util.ArrayList; /* * 󣺻ȡ101-20֮Ҫظ * * * A:һϣڴ洢 * B:һͳƱʼֵ0 * C:жͳƱǷС10 * ǣ * һȻжڼ * ǣ * ӵ * 񣺽 * D: */ public class RandomNumberDemo { public static void main(String[] args) { // һϣڴ洢 ArrayList array = new ArrayList(); // һͳƱʼֵ0 int count = 0; // жͳƱǷС10 while (count < 10) { // һȻжڼ int randomNumber = (int) (Math.random() * 20) + 1; if (!array.contains(randomNumber)) { array.add(randomNumber); count++; } } // for (Integer i : array) { System.out.println(i); } } } ================================================ FILE: day17/code/day17_List_test/src/cn/itcast_02/GetMaxNumberDemo.java ================================================ package cn.itcast_02; import java.util.ArrayList; import java.util.Arrays; import java.util.Scanner; /* * ¼ݣ0Ҫڿ̨еֵ * * * A:弯ϣڴ洢 * B:ѭ¼ݣwhile(true){} * C:жϼ¼Ƿ0 * ǣbreak * ӵ * D:Ѽת * E:() * F:ȡеһԪؼ * */ public class GetMaxNumberDemo { public static void main(String[] args) { // 弯ϣڴ洢 ArrayList array = new ArrayList(); // ѭ¼ݣwhile(true){} Scanner sc = new Scanner(System.in); while (true) { int number = sc.nextInt(); // жϼ¼Ƿ0 if (number == 0) { break; } else { array.add(number); } } // Ѽת // T[] toArray(T[] a) Integer[] i = new Integer[array.size()]; Integer[] iArray = array.toArray(i); // () Arrays.sort(iArray); // ȡеһԪؼ System.out.println("ֵǣ" + iArray[iArray.length - 1]); } } ================================================ FILE: day17/code/day17_List_test/src/cn/itcast_03/ArrayListDemo.java ================================================ package cn.itcast_03; import java.util.ArrayList; import java.util.Iterator; /* * ϶toString()ʵֵ */ public class ArrayListDemo { public static void main(String[] args) { ArrayList array = new ArrayList(); array.add("hello"); array.add("world"); array.add("java"); System.out.println(array.toString()); // [hello, world, java] } } /* public String toString() { //this -- array Iterator it = this.iterator(); if (! it.hasNext()) return "[]"; StringBuilder sb = new StringBuilder(); sb.append('['); for (;;) { E e = it.next(); sb.append(e == this ? "(this Collection)" : e); if (! it.hasNext()) return sb.append(']').toString(); sb.append(',').append(' '); } } */ ================================================ FILE: day17/code/day17_Set_HashSet_TreeSet/.classpath ================================================ ================================================ FILE: day17/code/day17_Set_HashSet_TreeSet/.project ================================================ day17_Set_HashSet_TreeSet org.eclipse.jdt.core.javabuilder org.eclipse.jdt.core.javanature ================================================ FILE: day17/code/day17_Set_HashSet_TreeSet/.settings/org.eclipse.jdt.core.prefs ================================================ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.compliance=1.7 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.source=1.7 ================================================ FILE: day17/code/day17_Set_HashSet_TreeSet/src/cn/itcast_01/SetDemo.java ================================================ package cn.itcast_01; import java.util.HashSet; import java.util.Set; /* * Collection: * List:Ԫ(洢ȡ˳һ)ظ * Set:Ԫ,Ψһ */ public class SetDemo { public static void main(String[] args) { // ϶ Set set = new HashSet(); set.add("hello"); set.add("aaaa"); set.add("java"); set.add("world"); set.add("bbbb"); set.add("aaaa"); for (String s : set) { System.out.println(s); } } } ================================================ FILE: day17/code/day17_Set_HashSet_TreeSet/src/cn/itcast_02/HashSetDemo.java ================================================ package cn.itcast_02; import java.util.HashSet; /* * HashSet֤ set ĵ˳ر֤˳ò䡣 */ public class HashSetDemo { public static void main(String[] args) { // HashSet洢ַԪ HashSet hs = new HashSet(); System.out.println(hs.add("hello")); System.out.println(hs.add("world")); System.out.println(hs.add("java")); System.out.println(hs.add("hello")); System.out.println("hs:" + hs); } } ================================================ FILE: day17/code/day17_Set_HashSet_TreeSet/src/cn/itcast_02/HashSetDemo2.java ================================================ package cn.itcast_02; import java.util.HashSet; /* * 󣺴洢Զ󲢱(ijԱֵͬǾΪͬһҲظԪ) * Ǵ洢Ԫغ󣬷ûдﵽҪЧ * дequals()ֻDzС * ô?ǾӦ˼? * ͨ򵥵ķ֪϶add() * ԣҪ֪ʲô,ǾӦÿadd()Դ * ͨ鿴Դ룬ǿµһжϣ * if (e.hash == hash && ((k = e.key) == key || key.equals(k))){} * A:e.hash == hash * ȽϵǶĹϣֵǷͬ * B:((k = e.key) == key || key.equals(k)) * ߱ȽϵǵַǷͬ * ұ߱ȽϵǷͬ * HashSetϵײݽṹǹϣϣhashCode()equals()֤ԪصΨһԡ * Ƚ϶hashCode()ֵǷͬ * ǣȽequals()Ƿͬ * trueͲӵ * falseӵ * ֱӵ * * ѧϰϺֻҪ֪HashSetα֤ԪصΨһԵġ * ʵʿУǿֽṹļϣҪдhashCode()equals() * ǴҲõģΪԶɡ */ public class HashSetDemo2 { public static void main(String[] args) { // ϶ HashSet hs = new HashSet(); // Ԫض Person p1 = new Person("", 30); Person p2 = new Person("ɹ", 22); Person p3 = new Person("ܹ", 25); Person p4 = new Person("", 35); Person p5 = new Person("Ź", 33); Person p6 = new Person("ɺ", 22); Person p7 = new Person("ɹ", 22); Person p8 = new Person("", 18); // Ԫӵ hs.add(p1); // hs.add(p1); hs.add(p2); hs.add(p3); hs.add(p4); hs.add(p5); hs.add(p6); hs.add(p7); hs.add(p8); // for (Person p : hs) { System.out.println(p.getName() + "---" + p.getAge()); } } } ================================================ FILE: day17/code/day17_Set_HashSet_TreeSet/src/cn/itcast_02/Person.java ================================================ package cn.itcast_02; public class Person { private String name; private int age; public Person() { super(); } public Person(String name, int age) { super(); this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } // @Override // public int hashCode() { // // return 0; // // return this.name.hashCode() + this.age; // // this.name.hashCode(): 20,40 // // this.age: 50,30 // return this.name.hashCode() + this.age * 13; // } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + age; result = prime * result + ((name == null) ? 0 : name.hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; Person other = (Person) obj; if (age != other.age) return false; if (name == null) { if (other.name != null) return false; } else if (!name.equals(other.name)) return false; return true; } @Override public String toString() { return "Person [name=" + name + ", age=" + age + "]"; } } ================================================ FILE: day17/code/day17_Set_HashSet_TreeSet/src/cn/itcast_03/LinkedHashSetDemo.java ================================================ package cn.itcast_03; import java.util.LinkedHashSet; /* * LinkedHashSetײݽṹǹϣ * ϣܹ֤ԪصΨһ * ܹ֤Ԫ */ public class LinkedHashSetDemo { public static void main(String[] args) { LinkedHashSet link = new LinkedHashSet(); link.add("ccc"); link.add("hello"); link.add("bbb"); link.add("world"); link.add("aaa"); link.add("java"); link.add("aaa"); link.add("java"); System.out.println("link:" + link); } } ================================================ FILE: day17/code/day17_Set_HashSet_TreeSet/src/cn/itcast_04/Person.java ================================================ package cn.itcast_04; /* * ȻǾӦöʵȻӿComparable */ public class Person implements Comparable { private String name; private int age; public Person() { super(); } public Person(String name, int age) { super(); this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public int compareTo(Person p) { // ĿѵԼҪȷȽϵĴҪ // ҪȽ // ҪͬȽҪԼܹ // this // p // int num = this.age - p.age; // // int num = p.age - this.age; int num2 = (num == 0) ? (this.name.compareTo(p.name)) : num; return num2; } } ================================================ FILE: day17/code/day17_Set_HashSet_TreeSet/src/cn/itcast_04/TreeSetDemo.java ================================================ package cn.itcast_04; import java.util.TreeSet; /* * TreeSet:ײݽṹǶ * ԪֱַǣȻԼComparator(Ƚ),ʹʹõĹ췽 */ public class TreeSetDemo { public static void main(String[] args) { // 20,18,23,22,17,24,19,18,24 // һµĿ set set ԪصȻ˳ TreeSet ts = new TreeSet(); // 洢Ԫ ts.add(20); ts.add(18); ts.add(23); ts.add(22); ts.add(17); ts.add(24); ts.add(19); ts.add(18); ts.add(24); // for (Integer i : ts) { System.out.println(i); } } } ================================================ FILE: day17/code/day17_Set_HashSet_TreeSet/src/cn/itcast_04/TreeSetDemo2.java ================================================ package cn.itcast_04; import java.util.TreeSet; /* * TreeSetα֤Ԫ?α֤ԪΨһ? * * TreeSet洢Զ󣬲Ҫȥظֵ * a:ԱֵͬҾΪظԪ * b:밴ĴС * * ͨ۲Ǵһ˼ * ӵڶԪؿʼӵʱ򣬻ǰԪؽбȽϣߵcompareTo() * ص * صǸСǰ * ص0˵ظš */ public class TreeSetDemo2 { public static void main(String[] args) { // ϶ TreeSet ts = new TreeSet(); // ˶ Person p1 = new Person("tangseng", 30); Person p2 = new Person("jiapingwa", 25); Person p3 = new Person("zhangyimou", 25); Person p4 = new Person("xijinping", 26); Person p5 = new Person("yanni", 27); Person p6 = new Person("wenzhang", 30); Person p7 = new Person("tianliang", 28); Person p8 = new Person("xijinping", 26); // Ԫ ts.add(p1); ts.add(p2); ts.add(p3); ts.add(p4); ts.add(p5); ts.add(p6); ts.add(p7); ts.add(p8); // for (Person p : ts) { System.out.println(p.getName() + "---" + p.getAge()); } } } ================================================ FILE: day17/code/day17_Set_HashSet_TreeSet/src/cn/itcast_05/Person.java ================================================ package cn.itcast_05; public class Person implements Comparable { private String name; private int age; public Person() { super(); } public Person(String name, int age) { super(); this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public int compareTo(Person p) { // Ҫ // ijȽ int num = this.name.length() - p.name.length(); // Ҫ // һһԣҪ int num2 = num == 0 ? this.name.compareTo(p.name) : num; // һһӦñȽ int num3 = num2 == 0 ? this.age - p.age : num2; return num3; } } ================================================ FILE: day17/code/day17_Set_HashSet_TreeSet/src/cn/itcast_05/TreeSetDemo.java ================================================ package cn.itcast_05; import java.util.TreeSet; /* * TreeSetα֤Ԫ?α֤ԪΨһ? * * TreeSet洢Զ󣬲Ҫȥظֵ * a:ԱֵͬҾΪظԪ * b:밴ijȽ */ public class TreeSetDemo { public static void main(String[] args) { // ϶ TreeSet ts = new TreeSet(); // ˶ Person p1 = new Person("tangseng", 30); Person p2 = new Person("jiapingwa", 25); Person p3 = new Person("zhangyimou", 25); Person p4 = new Person("xijinping", 26); Person p5 = new Person("yanni", 27); Person p6 = new Person("wenzhang", 30); Person p7 = new Person("tianliang", 28); Person p8 = new Person("xijinping", 26); Person p9 = new Person("tianliang", 24); // Ԫ ts.add(p1); ts.add(p2); ts.add(p3); ts.add(p4); ts.add(p5); ts.add(p6); ts.add(p7); ts.add(p8); ts.add(p9); // for (Person p : ts) { System.out.println(p.getName() + "---" + p.getAge()); } } } ================================================ FILE: day17/code/day17_Set_HashSet_TreeSet/src/cn/itcast_06/Person.java ================================================ package cn.itcast_06; public class Person implements Comparable { private String name; private int age; public Person() { super(); } public Person(String name, int age) { super(); this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public int compareTo(Person p) { // Ҫ // ijȽ int num = this.name.length() - p.name.length(); // Ҫ // һһԣҪ int num2 = num == 0 ? this.name.compareTo(p.name) : num; // һһӦñȽ int num3 = num2 == 0 ? this.age - p.age : num2; return num3; } } ================================================ FILE: day17/code/day17_Set_HashSet_TreeSet/src/cn/itcast_06/TreeSetDemo.java ================================================ package cn.itcast_06; import java.util.Comparator; import java.util.TreeSet; /* * TreeSetα֤Ԫ?α֤ԪΨһ? * * TreeSet洢Զ󣬲Ҫȥظֵ * a:ԱֵͬҾΪظԪ * b:밴ĴС * * ܽ᣺TreeSet֤ԪΨһ * ΨһԣݱȽϵķֵǷ0жԪǷΨһ * ַʽ * A:Ȼ (Ԫؾ߱Ƚ) * öʵComparableӿ * B:Ƚ (Ͼ߱Ƚ) * ϶ʱ򣬽Comparatorӿڵʵһʹõڲʵ֡ */ public class TreeSetDemo { public static void main(String[] args) { // ϶ // TreeSet ts = new TreeSet(); // TreeSet(Comparator comparator) // һµĿ TreeSetָȽ TreeSet ts = new TreeSet(new Comparator() { @Override public int compare(Person p1, Person p2) { // this -- p1 // p -- p2 int num = p1.getAge() - p2.getAge(); int num2 = num == 0 ? p1.getName().compareTo(p2.getName()) : num; return num2; } }); // ˶ Person p1 = new Person("tangseng", 30); Person p2 = new Person("jiapingwa", 25); Person p3 = new Person("zhangyimou", 25); Person p4 = new Person("xijinping", 26); Person p5 = new Person("yanni", 27); Person p6 = new Person("wenzhang", 30); Person p7 = new Person("tianliang", 28); Person p8 = new Person("xijinping", 26); // Ԫ ts.add(p1); ts.add(p2); ts.add(p3); ts.add(p4); ts.add(p5); ts.add(p6); ts.add(p7); ts.add(p8); // for (Person p : ts) { System.out.println(p.getName() + "---" + p.getAge()); } } } ================================================ FILE: day17/code/day17_Set_HashSet_TreeSet/src/cn/itcast_07/GetRandomNumerDemo.java ================================================ package cn.itcast_07; import java.util.HashSet; /* * Setǽࡣһʹ˭? * Ҫ? * ҪTreeSet * ҪHashSet * Ҳ֪DzҪHashSet * * дһ򣬻ȡ10120Ҫظ * * * A:HashSetϣ洢Integer͵ * B:ֱжϼϵij * С10洢 * C: */ public class GetRandomNumerDemo { public static void main(String[] args) { // HashSetϣ洢Integer͵ HashSet hs = new HashSet(); // ֱжϼϵij while (hs.size() < 10) { // int number = (int) (Math.random() * 20) + 1; hs.add(number); } // for (Integer i : hs) { System.out.println(i); } } } ================================================ FILE: day17/code/day17_Set_HashSet_TreeSet/src/cn/itcast_07/Student.java ================================================ package cn.itcast_07; public class Student { private String name; private int chinese; private int math; private int english; public Student() { super(); } public Student(String name, int chinese, int math, int english) { super(); this.name = name; this.chinese = chinese; this.math = math; this.english = english; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getChinese() { return chinese; } public void setChinese(int chinese) { this.chinese = chinese; } public int getMath() { return math; } public void setMath(int math) { this.math = math; } public int getEnglish() { return english; } public void setEnglish(int english) { this.english = english; } public int getSum() { return chinese + math + english; } } ================================================ FILE: day17/code/day17_Set_HashSet_TreeSet/src/cn/itcast_07/StudentDemo.java ================================================ package cn.itcast_07; import java.util.Comparator; import java.util.Scanner; import java.util.TreeSet; /* * ¼5ѧϢ(,ijɼ,ѧɼ,Ӣɼ),ִܷӸߵ̨ * * * A:һѧ࣬гԱ,ijɼ,ѧɼ,Ӣɼ * B:ΪҪֽܷ˵ҪԣѡTreeSet * C:ַʽʵ֣ѡһ֣ñȽʵ * D:¼ѧ洢TreeSet * E: */ public class StudentDemo { public static void main(String[] args) { // TreeSet ts = new TreeSet(new Comparator() { @Override public int compare(Student s1, Student s2) { // Ҫ int num = s2.getSum() - s1.getSum(); // ҪһαȽijɼѧɼӢɼ int num2 = num == 0 ? s1.getName().compareTo(s2.getName()) : num; return num2; } }); System.out.println("ѧ¼뿪ʼ"); Scanner sc = new Scanner(System.in); // 5 for (int x = 1; x <= 5; x++) { // ¼ѧϢ System.out.println("" + x + "ѧ"); String name = sc.nextLine(); System.out.println("" + x + "ѧijɼ"); int chinese = Integer.parseInt(sc.nextLine()); System.out.println("" + x + "ѧѧɼ"); int math = Integer.parseInt(sc.nextLine()); System.out.println("" + x + "ѧӢɼ"); int english = Integer.parseInt(sc.nextLine()); // ѧ Student s = new Student(); s.setName(name); s.setChinese(chinese); s.setMath(math); s.setEnglish(english); // ӵ ts.add(s); } // һ仰 System.out.println("ѧ¼"); // for (Student s : ts) { System.out.println(s.getName() + "---" + s.getChinese() + "---" + s.getMath() + "---" + s.getEnglish()); } } } ================================================ FILE: day17/code/day17_login_regist/.classpath ================================================ ================================================ FILE: day17/code/day17_login_regist/.project ================================================ day17_login_regist org.eclipse.jdt.core.javabuilder org.eclipse.jdt.core.javanature ================================================ FILE: day17/code/day17_login_regist/.settings/org.eclipse.jdt.core.prefs ================================================ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.compliance=1.7 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.source=1.7 ================================================ FILE: day17/code/day17_login_regist/src/cn/itcast/dao/UserDao.java ================================================ package cn.itcast.dao; import cn.itcast.pojo.User; /** * ûĽӿ * * @author fqy * @version V1.0 */ public interface UserDao { /** * û¼ * * @param username * û * @param password * * @return ¼Ƿɹ */ public abstract boolean isLogin(String username, String password); // ˵עҲӦ÷booleanͣǵListϵļϣԪԶtrueأҾͷvoid // 뷨ҲӦû룬?Ҵһûû롣 // һIJ3ʱ򣬽鴫ݶ /** * ûעṦ * * @param user * û */ public abstract void regist(User user); } ================================================ FILE: day17/code/day17_login_regist/src/cn/itcast/dao/impl/UserDaoImpl.java ================================================ package cn.itcast.dao.impl; import java.util.ArrayList; import cn.itcast.dao.UserDao; import cn.itcast.pojo.User; public class UserDaoImpl implements UserDao { private static ArrayList array = new ArrayList(); @Override public boolean isLogin(String username, String password) { boolean flag = false; for (User user : array) { if (user.getUsername().equals(username) && user.getPassword().equals(password)) { flag = true; break; } } return flag; } @Override public void regist(User user) { array.add(user); } } ================================================ FILE: day17/code/day17_login_regist/src/cn/itcast/game/GuessNumber.java ================================================ package cn.itcast.game; import java.util.Scanner; /** * СϷ * * @author fqy * @version V1.0 */ public class GuessNumber { private GuessNumber() { } public static void start() { // int number = (int) (Math.random() * 100) + 1; while (true) { // ¼ Scanner sc = new Scanner(System.in); System.out.println("Ҫµݣ"); int guessNumber = sc.nextInt(); // ж if (guessNumber > number) { System.out.println("µ" + guessNumber + ""); } else if (guessNumber < number) { System.out.println("µ" + guessNumber + "С"); } else { System.out.println("ϲ㣬"); break; } } } } ================================================ FILE: day17/code/day17_login_regist/src/cn/itcast/pojo/User.java ================================================ package cn.itcast.pojo; /** * û * * @author fqy * @version V1.0 */ public class User { // û private String username; // private String password; public User() { super(); } public User(String username, String password) { super(); this.username = username; this.password = password; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } } ================================================ FILE: day17/code/day17_login_regist/src/cn/itcast/test/UserTest.java ================================================ package cn.itcast.test; import java.util.Scanner; import cn.itcast.dao.UserDao; import cn.itcast.dao.impl.UserDaoImpl; import cn.itcast.game.GuessNumber; import cn.itcast.pojo.User; /* * Dz */ public class UserTest { public static void main(String[] args) { wc: while (true) { // ӭ System.out.println("-----------ӭ------------"); System.out.println("1 ¼"); System.out.println("2 ע"); System.out.println("3 ˳"); System.out.println("ѡ"); // ¼ Scanner sc = new Scanner(System.in); String choiceString = sc.nextLine(); // ദʹ UserDao ud = new UserDaoImpl(); switch (choiceString) { case "1": System.out.println("-----------¼------------"); // ¼û System.out.println("û"); String username = sc.nextLine(); System.out.println("룺"); String password = sc.nextLine(); // ù // UserDao ud = new UserDaoImpl(); boolean flag = ud.isLogin(username, password); if (flag) { System.out.println("¼ɹ"); String yn; do { // Ϸ GuessNumber.start(); System.out.println("㻹Ҫ?y:"); yn = sc.nextLine(); } while ("y".equals(yn)); // break wc; } else { System.out.println("¼ʧ,صѡ"); } break; case "2": System.out.println("-----------ע------------"); // ¼û System.out.println("û"); String newUsername = sc.nextLine(); System.out.println("룺"); String newPassword = sc.nextLine(); // ù // UserDao ud = new UserDaoImpl(); // ݷװ // User user = new User(newUsername, newPassword); User user = new User(); user.setUsername(newUsername); user.setPassword(newPassword); ud.regist(user); System.out.println("עɹ,صѡ"); break; case "3": default: System.out.println("лл٣ӭ"); System.exit(0); break; } } } } ================================================ FILE: day17/code/day17_login_regist/登录注册案例分析.txt ================================================ 󲿷֣ǵijǷ˼? A:ҸóЩ B:ÿЩԱ C:Ĺϵ 󣺵¼ע᰸ A:ҸóЩ û û cn.itcast.pojo(ʵ,һ׼ Ա췽getXxx/setXxx) ûӿ cn.itcast.dao (ӿ) û cn.itcast.dao.impl (ӿʵ) cn.itcast.test B:ÿЩԱ ûࣺ û ûࣺ ¼ע ࣺ main C:Ĺϵ mainдûû󣬲ʹá ================================================ FILE: day17/day17总结.txt ================================================ 1ϰ (1)ȡ1-20֮10Ҫظ (2)¼ݣ0ȡ¼еֵ (3)CollectionϵtoString()Դ (4)¼ע᰸ϰ 2Set() (1)Setϵص Ψһ (2)HashSet() A:ԪΨһ B:α֤ԪΨһ? HashSetϵĵײݽṹǹϣ ϣ֤ԪΨһhashCode()equals() 裺 a:ж϶ĹϣֵǷͬ b:ֱͬӵ ͬͼִequals()бȽ c:falseֱӵ true˵Ԫظӡ C:õ HashXxxʽļϣҪסдɡңǿԶɵ (3)LinkedHashSet ײݽṹǹϣ ɹϣ֤ԪصΨһԡ ֤Ԫص(洢˳ȡ˳һ) (4)TreeSet() ײݽṹǺƽ A:ԪΨһҪ B:α֤ԪΨһ? ݱȽϵķֵǷ0ж C:α֤Ԫ? ַʽ a:Ȼ(Ԫؾ߱Ƚ) ԪʵComparableӿ b:Ƚ(Ͼ߱Ƚ) ϶ʱ򣬽ComparatorӿڵʵΪ (5) A:HashSet 洢ַ 洢Զ󲢱(ijԱֵͬΪͬһֵ) B:TreeSet 洢ַ 洢Զ󲢱(ijԱֵͬΪͬһֵ,С) C:ȡ1-20֮10Ҫظ D:¼5ѧ󣬲ֽܷ ================================================ FILE: day17/要练习的代码.txt ================================================ ϵIJ裺 A:϶ B:Ԫض C:Ԫӵ D: ϵıʽ Collection:,ǿfor |--List:ͨfor |--Set: ַ( hello,world,java) Զ(ѧ) class Student { private String name; private int age; public Student() {} public Student(String name,int age) { this.name = name; this.age = age; } public void setName(String name) { this.name = name; } public String getName() { return name; } public void setAge(int age) { this.age = age; } public int getAge() { return age; } } 1Collection A:ַ Collection c = new ArrayList(); c.add("hello"); c.add("world"); c.add("java"); Iterator it = c.iterator(); while(it.hasNext()) { String s = it.next(); System.out.println(s); } for(String s : c) { System.out.println(s); } B:Զ Collection c = new ArrayList(); Student s1 = new Student("",50); Student s2 = new Student("׿",40); Student s3 = new Student("⾩",30); c.add(s1); c.add(s2); c.add(s3); Iterator it = c.iterator(); while(it.hasNext()) { Student s = it.next(); System.out.println(s.getName()+"---"+s.getAge()); } for(Student s : c) { System.out.println(s.getName()+"---"+s.getAge()); } 2List A:ַ List list = new ArrayList(); list.add("hello"); list.add("world"); list.add("java"); Iterator it = list.iterator(); while(it.hasNext()) { String s = it.next(); System.out.println(s); } for(String s : list) { System.out.println(s); } for(int x=0; x list = new ArrayList(); Student s1 = new Student("",50); Student s2 = new Student("׿",40); Student s3 = new Student("⾩",30); list.add(s1); list.add(s2); list.add(s3); Iterator it = list.iterator(); while(it.hasNext()) { Student s = it.next(); System.out.println(s.getName()+"---"+s.getAge()); } for(Student s : list) { System.out.println(s.getName()+"---"+s.getAge()); } for(int x=0; x array = new ArrayList(); array.add("java"); array.add("hello"); array.add("world"); //ͨforѭ for(int i =0; i it = array.iterator(); while(it.hasNext()) { String s = it.next(); System.out.println(s); } B:Զ ArrayList array = new ArrayList(); Student s1 = new Student("laozi",1000); Student s2 = new Student("kongzi",100); Student s3 = new Student("zhuangzi",10); array.add(s1); array.add(s2); array.add(s3); //ͨforѭ for (int i = 0; i it = array.iterator(); it.hasNext();) { Student s = it.next(); System.out.println(s.getName()+"---"+s.getAge()); } 4Vector(Լ) A:ַ Vector vector = new Voctor(); vector.add("java"); vector.add("hello"); vector.add("world"); //ͨforѭ for(int i =0; i it = vector.iterator(); while(it.hasNext()) { String s = it.next(); System.out.println(s); } B:Զ vectorList array = new vectorList(); Student s1 = new Student("laozi",1000); Student s2 = new Student("kongzi",100); Student s3 = new Student("zhuangzi",10); vector.add(s1); vector.add(s2); vector.add(s3); //ͨforѭ for (int i = 0; i it = vector.iterator(); it.hasNext();) { Student s = it.next(); System.out.println(s.getName()+"---"+s.getAge()); } 5LinkedList( Լ) 6Set A:ַ Set set = new HashSet(); set.add("hello"); set.add("world"); set.add("java"); Iterator it = set.iterator(); while(it.hasNext()) { String s = it.next(); System.out.println(s); } for(String s : set) { System.out.println(s); } B:Զ Set set = new HashSet(); Student s1 = new Student("",50); Student s2 = new Student("׿",40); Student s3 = new Student("⾩",30); set.add(s1); set.add(s2); set.add(s3); Iterator it = set.iterator(); while(it.hasNext()) { Student s = it.next(); System.out.println(s.getName()+"---"+s.getAge()); } for(Student s : set) { System.out.println(s.getName()+"---"+s.getAge()); } 7HashSet( Լ) 洢ԶʱԱֵͬǾΪͬһԪء 8TreeSet( Լ) 洢ԶʱԱֵͬǾΪͬһԪء ȸСڸij ================================================ FILE: day18/code/day18_Collections/.classpath ================================================ ================================================ FILE: day18/code/day18_Collections/.project ================================================ day18_Collections org.eclipse.jdt.core.javabuilder org.eclipse.jdt.core.javanature ================================================ FILE: day18/code/day18_Collections/.settings/org.eclipse.core.resources.prefs ================================================ eclipse.preferences.version=1 encoding//src/cn/itcast_03/PokerDemo.java=UTF-8 encoding//src/cn/itcast_04/PokerDemo.java=UTF-8 ================================================ FILE: day18/code/day18_Collections/.settings/org.eclipse.jdt.core.prefs ================================================ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.compliance=1.7 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.source=1.7 ================================================ FILE: day18/code/day18_Collections/src/cn/itcast_01/CollectionsDemo.java ================================================ package cn.itcast_01; import java.util.ArrayList; import java.util.Collections; /* * CollectionsԼϽвĹࡣͲҵȷ * ? * CollectionsCollection? * Collections:ԼϽвĹ࣬Ͳҵȹܡ * Collection:ǵмϵĶӿڣ˵мϵĹԹܡ * * յĹܣ * public static void sort(List list): * public static int binarySearch(List list,T key):ֲ * public static T max(Collection coll):ֵ * public static void reverse(List list):ת * public static void shuffle(List list):û */ public class CollectionsDemo { public static void main(String[] args) { // ϶ ArrayList array = new ArrayList(); // Ԫ array.add(30); array.add(20); array.add(50); array.add(10); array.add(40); System.out.println("array:" + array); // public static void sort(List list): // Collections.sort(array); // System.out.println("array:" + array); // [10, 20, 30, 40, 50] // public static int binarySearch(List list,T key):ֲ // int index = Collections.binarySearch(array, 30); // System.out.println(index); // public static T max(Collection coll):ֵ // Integer max = Collections.max(array); // System.out.println(max); // public static void reverse(List list):ת // Collections.reverse(array); // System.out.println("array:" + array); // public static void shuffle(List list):û Collections.shuffle(array); System.out.println("array:" + array); } } ================================================ FILE: day18/code/day18_Collections/src/cn/itcast_02/ArrayListDemo.java ================================================ package cn.itcast_02; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; /* * ArrayList洢Զ󣬲 */ public class ArrayListDemo { public static void main(String[] args) { // ϶ ArrayList array = new ArrayList(); // Ԫض(ɵ) Person p1 = new Person("ܲ", 35);// ֪ Person p2 = new Person("", 33);// ֪ Person p3 = new Person("", 34); // ֪Ⱦ // Ԫ array.add(p1); array.add(p2); array.add(p3); // // Collections.sort(array); Collections.sort(array, new Comparator() { @Override public int compare(Person p1, Person p2) { return p2.getAge() - p1.getAge(); } }); // for (Person p : array) { System.out.println(p.getName() + "---" + p.getAge()); } } } ================================================ FILE: day18/code/day18_Collections/src/cn/itcast_02/Person.java ================================================ package cn.itcast_02; public class Person implements Comparable { private String name; private int age; public Person() { super(); } public Person(String name, int age) { super(); this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public int compareTo(Person p) { return this.age - p.age; } } ================================================ FILE: day18/code/day18_Collections/src/cn/itcast_03/PokerDemo.java ================================================ package cn.itcast_03; import java.util.ArrayList; import java.util.Collections; /* * 模拟斗地主洗牌和发牌 * * 扑克牌:54 * 小王 * 大王 * 黑桃A,黑桃2,黑桃3,黑桃4,黑桃...,黑桃10,黑桃J,黑桃Q,黑桃K * 红桃... * 梅花... * 方块... * * 分析: * A:造一个牌盒(集合) * B:造每一张牌,然后存储到牌盒里面去 * C:洗牌 * D:发牌 * E:看牌 */ public class PokerDemo { public static void main(String[] args) { // 造一个牌盒(集合) ArrayList array = new ArrayList(); // 造每一张牌,然后存储到牌盒里面去 // 定义花色数组 String[] colors = { "♠", "♥", "♣", "♦" }; // 定义点数数组 String[] numbers = { "A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K" }; for (String color : colors) { for (String number : numbers) { array.add(color.concat(number)); } } array.add("小王"); array.add("大王"); // 看牌 // System.out.println(array); // 洗牌 Collections.shuffle(array); // 发牌 // 三个选手 ArrayList linQingXia = new ArrayList(); ArrayList fengQingYang = new ArrayList(); ArrayList liuYi = new ArrayList(); // 底牌 ArrayList diPai = new ArrayList(); for (int x = 0; x < array.size(); x++) { if (x >= array.size() - 3) { diPai.add(array.get(x)); } else if (x % 3 == 0) { linQingXia.add(array.get(x)); } else if (x % 3 == 1) { fengQingYang.add(array.get(x)); } else if (x % 3 == 2) { liuYi.add(array.get(x)); } } // 看牌 lookPoker("林青霞", linQingXia); lookPoker("风清扬", fengQingYang); lookPoker("刘意", liuYi); lookPoker("底牌", diPai); } // 写一个功能实现遍历 public static void lookPoker(String name, ArrayList array) { System.out.print(name + "的牌是:"); for (String s : array) { System.out.print(s + " "); } System.out.println(); } } ================================================ FILE: day18/code/day18_Collections/src/cn/itcast_04/PokerDemo.java ================================================ package cn.itcast_04; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.TreeSet; /* * A:创建一个HashMap集合 * B:创建一个ArrayList集合 * C:装牌 * D:洗牌 * E:发牌 * F:看牌 */ public class PokerDemo { public static void main(String[] args) { // 创建一个HashMap集合 HashMap hm = new HashMap(); // 创建一个ArrayList集合 ArrayList array = new ArrayList(); // 存储牌 // 定义花色数组 String[] colors = { "♠", "♥", "♣", "♦" }; // 定义点数数组 String[] numbers = { "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A", "2" }; // 定义一个索引 int key = 0; for (String number : numbers) { for (String color : colors) { String value = color.concat(number); hm.put(key, value); array.add(key); key++; } } hm.put(key, "小王"); array.add(key); key++; hm.put(key, "大王"); array.add(key); // 洗牌 Collections.shuffle(array); // 发牌 TreeSet caoCao = new TreeSet(); TreeSet liuBei = new TreeSet(); TreeSet sunQuan = new TreeSet(); TreeSet diPai = new TreeSet(); for (int x = 0; x < array.size(); x++) { if (x >= array.size() - 3) { diPai.add(array.get(x)); } else if (x % 3 == 0) { caoCao.add(array.get(x)); } else if (x % 3 == 1) { liuBei.add(array.get(x)); } else if (x % 3 == 2) { sunQuan.add(array.get(x)); } } // 看牌 lookPoker("曹操", caoCao, hm); lookPoker("刘备", liuBei, hm); lookPoker("孙权", sunQuan, hm); lookPoker("底牌", diPai, hm); } // 写一个功能实现遍历 public static void lookPoker(String name, TreeSet ts, HashMap hm) { System.out.print(name + "的牌是:"); for (Integer key : ts) { String value = hm.get(key); System.out.print(value + " "); } System.out.println(); } } ================================================ FILE: day18/code/day18_Map_HashMap_TreeMap/.classpath ================================================ ================================================ FILE: day18/code/day18_Map_HashMap_TreeMap/.project ================================================ day18_Map_HashMap_TreeMap org.eclipse.jdt.core.javabuilder org.eclipse.jdt.core.javanature ================================================ FILE: day18/code/day18_Map_HashMap_TreeMap/.settings/org.eclipse.jdt.core.prefs ================================================ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.compliance=1.7 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.source=1.7 ================================================ FILE: day18/code/day18_Map_HashMap_TreeMap/src/cn/itcast_01/MapDemo.java ================================================ package cn.itcast_01; import java.util.HashMap; import java.util.Map; /* * ǵѧѧźϢġ * it001 ϼ * it002 * it003 * Ŀǰѧ֪ʶʵ֡ * ΪһijԱȻCollectionϵļϴ洢󼴿ɡ * أѧֱӾҵˣʵ?ҲǿʵֵģʱαȽѧżɡȻѧȷģȡö * ȻǿԵģе鷳ΪDzÿҪһˣͷһ顣 * һּϣܹʵѧźĶӦϵǾܼ򵥺ܶˡ * һѧŶӦһȻѧž֪ΪjavaṩһµļϣMap * * MapԪǰռֵʽ洢ġÿһԪɡֱмֵ * Ψһģֵǿظġ * MapϵĵײݽṹԼЧֵ޹ء * * MapӿںCollectionӿڵIJͬ?() * A:Map˫мϣMapϵļΨһģֵǿظġʵҲԼ򵥵ΪMapϵļֵSetListɣݽṹԼЧ * B:CollectionǵмϣCollectionϵĶSetΨһģListǿظģݽṹԪЧ * * MapϵĹܣ * A:ӹ * V put(K key,V value):ӣ滻޸ġͬӵϡֵͬ滻 * B:Ƴ * void clear():Ƴӳϵ * V remove(Object key):ݼƳֵԪأصǼӦֵ * C:жϹ * boolean containsKey(Object key):жMapǷָļ * boolean containsValue(Object value):жMapǷֵָ * boolean isEmpty():жϼǷΪ * D:ȡ * Set> entrySet():صǼֵԶSetϡ * V get(Object key):ݼȡֵ * Set keySet():еļļ * Collection values():ֵļ * int size():ϵij */ public class MapDemo { public static void main(String[] args) { // ϶ // Ԫ // Ԫ // // ϶ Map map = new HashMap(); // Ԫ // V put(K key,V value) // System.out.println("put:" + map.put("", "")); // System.out.println("put:" + map.put("", "Ҧ")); map.put("", ""); map.put("л", "Ű֥"); map.put("", "Ҷһ"); map.put("", ""); // void clear():Ƴӳϵ // map.clear(); // V remove(Object key):ݼƳֵԪأصǼӦֵ // System.out.println("remove:" + map.remove("")); // System.out.println("remove:" + map.remove("2")); // boolean containsKey(Object key):жMapǷָļ // System.out.println("containsKey:" + map.containsKey("")); // System.out.println("containsKey:" + map.containsKey("ɭ")); // boolean isEmpty():жϼǷΪ // System.out.println("isEmpty:" + map.isEmpty()); // int size():ϵij System.out.println("size:" + map.size()); System.out.println("map:" + map); } } ================================================ FILE: day18/code/day18_Map_HashMap_TreeMap/src/cn/itcast_01/MapDemo2.java ================================================ package cn.itcast_01; import java.util.Collection; import java.util.HashMap; import java.util.Map; import java.util.Set; /* * V get(Object key) * Set keySet() * Collection values() */ public class MapDemo2 { public static void main(String[] args) { // ϶ Map map = new HashMap(); // Ԫ map.put("", ""); map.put("л", "Ű֥"); map.put("", "Ҷһ"); map.put("", ""); // V get(Object key) System.out.println("get:" + map.get("")); System.out.println("get:" + map.get("")); System.out.println("---------------------"); // Set keySet() Set set = map.keySet(); for (String key : set) { System.out.println(key); } System.out.println("---------------------"); // Collection values() Collection cons = map.values(); for (String value : cons) { System.out.println(value); } } } ================================================ FILE: day18/code/day18_Map_HashMap_TreeMap/src/cn/itcast_01/MapDemo3.java ================================================ package cn.itcast_01; import java.util.HashMap; import java.util.Map; import java.util.Set; /* * Mapϵı(Mapϰ߿ɷ޶) * ˼· * A:ɷȡеļkeySet() * B:ɷ򣬵õÿһɷǿfor * C:ɷȥԼӡV get(key key) * * Ӧ * A:ȡMapϵеļSet * B:Setϣȡÿһ * C:ݼMapҶӦֵ */ public class MapDemo3 { public static void main(String[] args) { // ϶ Map map = new HashMap(); // Ԫ map.put("", ""); map.put("л", "Ű֥"); map.put("", "Ҷһ"); map.put("", ""); // // ȡMapϵеļSet Set set = map.keySet(); // Setϣȡÿһ for (String key : set) { // ݼMapҶӦֵ String value = map.get(key); System.out.println(key + "---" + value); } } } ================================================ FILE: day18/code/day18_Map_HashMap_TreeMap/src/cn/itcast_01/MapDemo4.java ================================================ package cn.itcast_01; import java.util.HashMap; import java.util.Map; import java.util.Set; /* * Mapϵı(Mapϰ߿ɷ޶) * ȻǷ޶ԣôӦн֤ * ֤֤Ӧɷӵ֡ * ԣǿ԰ѽ֤һ֤࣬࣬Աһɷһӡ * class ֤ <ɷ,>{ * private ɷ zf; * private qz; * * //췽setXxx()...ʡ * * public ɷ getZf() { * return zf; * } * * public getQz() { * return qz; * } * } * * ˼· * A:ȡеĽ֤Setϡ * B:֤Setϣõÿһ֤ * C:Ž֤ɷӵ֡ * * Ӧ * A:ȡеļֵԶSetϡ Set<ֵԶ> --Set<֤ <ɷ,>>--Set> entrySet() * B:ֵԶSetϣõÿһֵԶMap.Entry * C:ݼֵԶȥȡֵgetKey(),getValue() */ public class MapDemo4 { public static void main(String[] args) { // ϶ Map map = new HashMap(); // Ԫ map.put("", ""); map.put("л", "Ű֥"); map.put("", "Ҷһ"); map.put("", ""); // // ȡеļֵԶSetϡ Set> set = map.entrySet(); // ֵԶSetϣõÿһֵԶ for (Map.Entry me : set) { // ݼֵԶȥȡֵgetKey(),getValue() String key = me.getKey(); String value = me.getValue(); System.out.println(key + "---" + value); } } } ================================================ FILE: day18/code/day18_Map_HashMap_TreeMap/src/cn/itcast_02/HashMapDemo.java ================================================ package cn.itcast_02; import java.util.HashMap; import java.util.Map; import java.util.Set; /* * HashMap * ѧ * ֵַ * 洢ԪأȻ */ public class HashMapDemo { public static void main(String[] args) { // ϶ HashMap hm = new HashMap(); // Ԫ hm.put("ޱ", ""); hm.put("", ""); hm.put("", "ɽ"); // // ʽ1 Set keySet = hm.keySet(); for (String key : keySet) { String value = hm.get(key); System.out.println(key + "---" + value); } System.out.println("---------------------"); // ʽ2 // Set> entrySet = hm.entrySet(); // for (Map.Entry me : entrySet) { // String key = me.getKey(); // String value = me.getValue(); // System.out.println(key + "---" + value); // } // Set> entrySet = hm.entrySet(); // for (Entry me : entrySet) { // String key = me.getKey(); // String value = me.getValue(); // System.out.println(key + "---" + value); // } } } ================================================ FILE: day18/code/day18_Map_HashMap_TreeMap/src/cn/itcast_02/HashMapDemo2.java ================================================ package cn.itcast_02; import java.util.HashMap; import java.util.Set; /* * HashMap * Integer ѧ * ֵString */ public class HashMapDemo2 { public static void main(String[] args) { // ϶ HashMap hm = new HashMap(); // Ԫ // Integer i1 = 1; // String s1 = ""; // hm.put(i1, s1); hm.put(1, ""); hm.put(2, ""); hm.put(3, ""); // Set set = hm.keySet(); for (Integer key : set) { String value = hm.get(key); System.out.println(key + "---" + value); } } } ================================================ FILE: day18/code/day18_Map_HashMap_TreeMap/src/cn/itcast_02/HashMapDemo3.java ================================================ package cn.itcast_02; import java.util.HashMap; import java.util.Set; /* * HashMap * String ѧ eg:itcast001 * ֵStudent ѧ (ϼ,28) * name,age * Ҫ洢ѧĽǣ * itcast001--ϼ---28 * ... */ public class HashMapDemo3 { public static void main(String[] args) { // ϶ HashMap hm = new HashMap(); // Student s1 = new Student("ϼ", 28); Student s2 = new Student("", 31); Student s3 = new Student("", 200); // Ԫ hm.put("itcast001", s1); hm.put("itcast002", s2); hm.put("itcast003", s3); // Set set = hm.keySet(); for (String key : set) { Student value = hm.get(key); System.out.println(key + "---" + value.getName() + "---" + value.getAge()); } } } ================================================ FILE: day18/code/day18_Map_HashMap_TreeMap/src/cn/itcast_02/HashMapDemo4.java ================================================ package cn.itcast_02; import java.util.HashMap; import java.util.Set; /* * HashMap * Student ѧ (ϼ,28) * name,age * ֵString ѧ eg:it001 * Ҫ洢ѧĽǣ * ϼ---28---it001 * ѧijԱֵͬǾΪͬһҲ˵ظļ */ public class HashMapDemo4 { public static void main(String[] args) { // HashMap hm = new HashMap(); // Student s1 = new Student("ϼ", 28); Student s2 = new Student("", 31); Student s3 = new Student("", 200); Student s4 = new Student("ϼ", 28); Student s5 = new Student("", 20); Student s6 = new Student("", 100); // Ԫ hm.put(s1, "it001"); hm.put(s2, "it002"); hm.put(s3, "it003"); hm.put(s4, "it004"); hm.put(s5, "it005"); hm.put(s6, "it006"); // Set set = hm.keySet(); for (Student key : set) { String value = hm.get(key); System.out.println(key.getName() + "---" + key.getAge() + "---" + value); } } } ================================================ FILE: day18/code/day18_Map_HashMap_TreeMap/src/cn/itcast_02/Student.java ================================================ package cn.itcast_02; public class Student { private String name; private int age; public Student() { super(); } public Student(String name, int age) { super(); this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + age; result = prime * result + ((name == null) ? 0 : name.hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; Student other = (Student) obj; if (age != other.age) return false; if (name == null) { if (other.name != null) return false; } else if (!name.equals(other.name)) return false; return true; } } ================================================ FILE: day18/code/day18_Map_HashMap_TreeMap/src/cn/itcast_03/LinkedHashMapDemo.java ================================================ package cn.itcast_03; import java.util.LinkedHashMap; import java.util.Set; /* * Map ӿڵĹϣбʵ֣пԤ֪ĵ˳ */ public class LinkedHashMapDemo { public static void main(String[] args) { // ϶ LinkedHashMap map = new LinkedHashMap(); // Ԫ map.put("", ""); map.put("л", "Ű֥"); map.put("", "Ҷһ"); map.put("", ""); // Set set = map.keySet(); for (String key : set) { String value = map.get(key); System.out.println(key + "---" + value); } } } ================================================ FILE: day18/code/day18_Map_HashMap_TreeMap/src/cn/itcast_04/Student.java ================================================ package cn.itcast_04; public class Student { private String name; private int age; public Student() { super(); } public Student(String name, int age) { super(); this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } } ================================================ FILE: day18/code/day18_Map_HashMap_TreeMap/src/cn/itcast_04/TreeMapDemo.java ================================================ package cn.itcast_04; import java.util.Set; import java.util.TreeMap; /* * TreeMap */ public class TreeMapDemo { public static void main(String[] args) { // ϶ TreeMap tm = new TreeMap(); // Ԫ tm.put("zhangsan", ""); tm.put("lisi", ""); tm.put("wangwu", "Ϻ"); tm.put("zhaoliu", ""); tm.put("tianqi", ""); tm.put("lisi", "人"); // Set set = tm.keySet(); for (String key : set) { String value = tm.get(key); System.out.println(key + "---" + value); } } } ================================================ FILE: day18/code/day18_Map_HashMap_TreeMap/src/cn/itcast_04/TreeMapDemo2.java ================================================ package cn.itcast_04; import java.util.Comparator; import java.util.Set; import java.util.TreeMap; /* * HashMap */ public class TreeMapDemo2 { public static void main(String[] args) { // TreeMap tm = new TreeMap( new Comparator() { @Override public int compare(Student s1, Student s2) { // Ҫ int num = s2.getName().length() - s1.getName().length(); // Ҫ int num2 = num == 0 ? s1.getName().compareTo( s2.getName()) : num; int num3 = num2 == 0 ? s2.getAge() - s1.getAge() : num2; return num3; } }); // Student s1 = new Student("linqingxia", 28); Student s2 = new Student("fengqingyang", 31); Student s3 = new Student("wangchongyang", 200); Student s4 = new Student("linqingxia", 28); Student s5 = new Student("fengqingyang", 20); Student s6 = new Student("wangyang", 100); // Ԫ tm.put(s1, "it001"); tm.put(s2, "it002"); tm.put(s3, "it003"); tm.put(s4, "it004"); tm.put(s5, "it005"); tm.put(s6, "it006"); // Set set = tm.keySet(); for (Student key : set) { String value = tm.get(key); System.out.println(key.getName() + "---" + key.getAge() + "---" + value); } } } ================================================ FILE: day18/code/day18_Map_HashMap_TreeMap/src/cn/itcast_05/ArrayListAndHashMapTest.java ================================================ package cn.itcast_05; import java.util.ArrayList; import java.util.HashMap; import java.util.Set; /* ArrayListϵԪHashMap3 ÿһHashMapϵļֵַ ԪѾɣ ---С --- --- ---СŮ ---ӯӯ ƽ֮---ɺ */ public class ArrayListAndHashMapTest { public static void main(String[] args) { // ArrayList> array = new ArrayList>(); // Ԫ HashMap sgyy = new HashMap(); sgyy.put("", "С"); sgyy.put("", ""); // Ԫ HashMap sdxl = new HashMap(); sdxl.put("", ""); sdxl.put("", "СŮ"); // Ԫ HashMap xajh = new HashMap(); xajh.put("", "ӯӯ"); xajh.put("ƽ֮", "ɺ"); // Ԫӵ array.add(sgyy); array.add(sdxl); array.add(xajh); // for (HashMap hm : array) { Set set = hm.keySet(); for (String key : set) { String value = hm.get(key); System.out.println(key + "---" + value); } } } } ================================================ FILE: day18/code/day18_Map_HashMap_TreeMap/src/cn/itcast_05/HashMapAndArrayListTest.java ================================================ package cn.itcast_05; import java.util.ArrayList; import java.util.HashMap; import java.util.Set; /* HashMapϵԪֵArrayList3 ÿһArrayListϵֵַ ԪѾɣ Ц ƽ֮ */ public class HashMapAndArrayListTest { public static void main(String[] args) { // ϶ HashMap> hm = new HashMap>(); // Ԫ ArrayList sgyy = new ArrayList(); sgyy.add(""); sgyy.add(""); // Ԫ ArrayList xajh = new ArrayList(); xajh.add(""); xajh.add("ƽ֮"); // Ԫ ArrayList sdxl = new ArrayList(); sdxl.add(""); sdxl.add(""); // Ԫ hm.put("", sgyy); hm.put("Ц", xajh); hm.put("", sdxl); // Set hmSet = hm.keySet(); for (String key : hmSet) { System.out.println(key); ArrayList value = hm.get(key); for (String s : value) { System.out.println("\t" + s); } } } } ================================================ FILE: day18/code/day18_Map_HashMap_TreeMap/src/cn/itcast_05/HashMapTest.java ================================================ package cn.itcast_05; import java.util.HashMap; import java.util.Set; /* * HashMapǶHashMap * * У * jc * 31 * ɳʫ 18 * jy ҵ * ȷ 30 * 29 * dsj * 30 * 22 */ public class HashMapTest { public static void main(String[] args) { // ϶ HashMap> xaxq = new HashMap>(); // HashMap jc = new HashMap(); jc.put("", 31); jc.put("ɳʫ", 18); // ӵ xaxq.put("", jc); // ҵ HashMap jy = new HashMap(); jy.put("ȷ", 30); jy.put("", 29); // ӵ xaxq.put("ҵ", jy); // ݰ HashMap dsj = new HashMap(); dsj.put("", 30); dsj.put("", 22); // ӵ xaxq.put("ݰ", dsj); // xaxq Set xaxqSet = xaxq.keySet(); for (String xaxqKey : xaxqSet) { System.out.println(xaxqKey); HashMap xaxqValue = xaxq.get(xaxqKey); Set xaxqValueSet = xaxqValue.keySet(); for (String xaxqValuekey : xaxqValueSet) { Integer xaxqValueValue = xaxqValue.get(xaxqValuekey); System.out .println("\t" + xaxqValuekey + "---" + xaxqValueValue); } } } } ================================================ FILE: day18/code/day18_Map_HashMap_TreeMap/src/cn/itcast_05/TreeMapTest.java ================================================ package cn.itcast_05; import java.util.Scanner; import java.util.Set; import java.util.TreeMap; /* * "dabcdababcabcea",ȡַÿһĸֵĴҪ:a(5)b(4)c(3)d(2)e(1) * * ҵԼϵһ */ public class TreeMapTest { public static void main(String[] args) { // ¼һַ Scanner sc = new Scanner(System.in); System.out.println("һַ"); String s = sc.nextLine(); // һMapϣCharacterֵIntegerTreeMap TreeMap tm = new TreeMap(); // ַתַ char[] chs = s.toCharArray(); // ַõÿһַ for (char ch : chs) { // ַΪmapֵ Integer i = tm.get(ch); // null if (i == null) { // 洢 tm.put(ch, 1); } else { // ֵ++´洢 i++; tm.put(ch, i); } } // һStringBuilderַ StringBuilder sb = new StringBuilder(); // TreeMap Set set = tm.keySet(); for (Character key : set) { Integer value = tm.get(key); sb.append(key).append("(").append(value).append(")"); } // StringBuilderתΪַ String result = sb.toString(); System.out.println(result); } } ================================================ FILE: day18/code/day18_Map_HashMap_TreeMap/src/cn/itcast_06/HashtableDemo.java ================================================ package cn.itcast_06; import java.util.Hashtable; /* * ⣺ * 1:HashMapHashtable? * A:HashMap̲߳ȫģЧʸߡʹ null ֵ null * B:Hashtablḛ߳ȫģЧʵ͡ʹ null ֵ null * * 2:List,Set,MapȽӿǷ񶼼̳Mapӿ * List,Set̳Collectionӿڡ * MapǶӿ * * 3:㳣ļЩʲô? * Collection * |--List * |--ArrayList * |--Vector * |--LinkedList * |--Set * |--HashSet * |--LinkedHashSet * |--TreeSet * Map * |--HashMap * |--LinkedHashMap * |--Hashtable * |--TreeMap * * ArrayList * ӹܣƳܣжϹܣȡ * HashSet * ӹܣƳܣжϹܣȡ * HashMap * ӹܣƳܣжϹܣȡ */ public class HashtableDemo { public static void main(String[] args) { // HashMap hm = new HashMap(); Hashtable hm = new Hashtable(); hm.put("007", "dz"); // hm.put(null, ""); // NullPointerException // hm.put(null, ""); // hm.put("9527", null); // NullPointerException System.out.println(hm); } } ================================================ FILE: day18/day18总结.txt ================================================ 1:Map() (1)Mapص ɼֵɵġÿһԪһֵԣɡ Ψһֵظ ʵݽṹֻԼЧֵ޹ء (2)MapCollection? A:Map˫мϣɼֵɣΨһֵظݽṹԼЧ B:CollectionмϣеԪɣSetΨһListظݽṹԪЧ (3)MapĹܸ(Լ뷽˼) A:ӹ put B:Ƴ remove clear C:жϹ containsKey,containsValue isEmpty D:ȡ size get keySet values entrySet (4)Mapı A:ݼֵ ȡмļ ļϣõÿһ ݼֵ B:ݼֵԶҼֵ ȡеļֵԶļ ֵԶļϣõÿһֵԶ ݼֵԶȡֵ (5)HashMap HashMap HashMap HashMap HashMap (6)LinkedHashMap Ψһ (7)TreeMap TreeMap TreeMap (8) A:HashMaphashtable? HashMapͬȫЧʸ ߳Ƿȫ Ƿnullֵ B:ListSetMapǷ񶼼̳Collection C:֪ijЩ?Щ? ArrayList,HashSet,HashMap (9) A:ͳַÿֵַĴ B:ϵǶױ 2:Collections() (1)CollectionsԼϽвĹ (2)⣺CollectionCollections A:CollectionǵϵĶӿڣ˵ϵĹԹ B:CollectionsԼϽвĹ (3)Collections(Լ뷽) A: B:ֲ C:ֵ D:ת E:û (4) A:ArrayList洢Զ󲢰չ ArrayListģҿȥظԪصġ B:ģ⶷ϴƺͷ C:ģ⶷ϴƺͷƲƽ ================================================ FILE: day19/File总结.txt ================================================ 1File() (1)FileӲϵļļе (2)FileĹ췽 A:File file = new File("d:\\demo\\a.txt"); B:File file = new File("d:\\demo","a.txt"); C:File file = new File("d:\\demo"); File file2 = new File(file,"a.txt"); (3)FileijԱ(Լ뷽˼) A: CreateNewFile() mkdir() mkdirs() B:ɾ delete() C: renameTo() D:жϹ isDirectory() isFile() exists() isHidden() canWrite() canRead() E:ȡ get lastModifiedTime length F:߼ȡ String[] filename = file.list() File[] fileArray = file.listFiles() G:ļƹ (4) ָĿ¼ָ׺βļ ================================================ FILE: day19/code/day19_Exception/.classpath ================================================ ================================================ FILE: day19/code/day19_Exception/.project ================================================ day19_Exception org.eclipse.jdt.core.javabuilder org.eclipse.jdt.core.javanature ================================================ FILE: day19/code/day19_Exception/.settings/org.eclipse.jdt.core.prefs ================================================ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.compliance=1.7 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.source=1.7 ================================================ FILE: day19/code/day19_Exception/src/cn/itcast_01/ExceptionDemo.java ================================================ package cn.itcast_01; /* * 쳣еĹУ˲ * * ೤гȥ * һʼҪģ©ˣӵ * û⣬·һ·˳硣 * ɽ·м̺õˮ·мСʯӣ * Ļˮ·ͺˣ϶ûκģ * أƫƫѰ·Сʯӣ̥ˡ * ±̥ûʯ·ߵˮ·ߵһ룬ɽ·ˣ೤ֻûˡ * ࣺ * Error ӦóӦͼ⡣˵DzҪ⣬˵ڴ * 쳣 Exception ӦóҪ˵Ҫǽдġ * ʱ쳣 RuntimeException DZҪ쳣 * ʱ쳣 RuntimeException 쳣һҲDzҪġһ⣬ӦдĴˡ * * JVMĬϴ: * 쳣ûκδjvmĬϵĴ * 쳣ԭԼֵλõϢʾ˿̨ * óˡ */ public class ExceptionDemo { public static void main(String[] args) { System.out.println("hello"); int a = 10; // int b = 4; int b = 0; // java.lang.ArithmeticException: / by zero System.out.println(a / b); System.out.println("world"); } } ================================================ FILE: day19/code/day19_Exception/src/cn/itcast_02/ExceptionDemo.java ================================================ package cn.itcast_02; /* * javaδ쳣? * A:trycatchfinally * B:throws * * trycatchfinallyʽ * try { * ܳĴ * }catch(쳣 ) { * Ĵ * }finally { * ͷԴĴ * } * * finallyȻڽԣʱʹü򵥵ĸʽ * try { * ܳĴ * }catch(쳣 ) { * Ĵ * } * * ܵİѿܳĴtryжϲЩ⣬ԶһЩ */ public class ExceptionDemo { public static void main(String[] args) { System.out.println("hello"); int a = 10; int b = 0; try { System.out.println(a / b); } catch (ArithmeticException e) { System.out.println("Ϊ0"); // ʵʿʱӦøҳʽʾ } System.out.println("world"); } } ================================================ FILE: day19/code/day19_Exception/src/cn/itcast_02/ExceptionDemo2.java ================================================ package cn.itcast_02; /* * 쳣 * A:ÿ쳣һ * B:try...catch...catch...catch... * ע⣺ * a:һtryĴ⣬Ͳִtryݣcatchεƥ䣬һһƥ䣬IJִС * b:쳣ƽϵ˭˭ν * 쳣ƽϵȸ * * JDK7ԣƽϵ * catch(쳣1 | 쳣2 | 쳣3 ... e) {} */ public class ExceptionDemo2 { public static void main(String[] args) { // method1(); // method2(); method3(); } public static void method3() { int a = 10; int b = 0; int[] arr = { 1, 2, 3 }; try { System.out.println(a / b); System.out.println(arr[3]); } catch (ArithmeticException | ArrayIndexOutOfBoundsException e) { System.out.println(""); } System.out.println("over"); } public static void method2() { int a = 10; int b = 0; int[] arr = { 1, 2, 3 }; try { System.out.println(a / b); System.out.println(arr[3]); } catch (ArithmeticException e) { System.out.println("Ϊ0"); } catch (ArrayIndexOutOfBoundsException e) { System.out.println("Խ쳣"); } catch (Exception e) { System.out.println(""); } System.out.println("over"); } public static void method1() { int a = 10; int b = 0; try { System.out.println(a / b); // ArithmeticException: / by zero } catch (ArithmeticException e) { System.out.println("Ϊ0"); } int[] arr = { 1, 2, 3 }; try { System.out.println(arr[3]); // ArrayIndexOutOfBoundsException: 3 } catch (ArrayIndexOutOfBoundsException e) { System.out.println("Խ쳣"); } System.out.println("over"); } } ================================================ FILE: day19/code/day19_Exception/src/cn/itcast_02/ExceptionDemo3.java ================================================ package cn.itcast_02; /* * throwsڷ쳣㣬⡣ʹõʱҪעˡ */ public class ExceptionDemo3 { public static void main(String[] args) { // try { // method(); // } catch (ArithmeticException e) { // System.out.println("Ϊ0"); // } method(); System.out.println("haha"); } public static void method() throws ArithmeticException { System.out.println("hello"); int a = 10; int b = 0; System.out.println(a / b); System.out.println("world"); } } ================================================ FILE: day19/code/day19_Exception/src/cn/itcast_03/ExceptionDemo.java ================================================ package cn.itcast_03; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; /* * Javaе쳣Ϊࣺʱ쳣ʱ쳣еRuntimeException༰ʵΪʱ쳣쳣DZʱ쳣 * ʱ쳣 * Javaʾͻᷢ޷ͨ * ʱ쳣 * ʾҲԺͱʱ쳣һ * * 쳣ķʽرļ򵥣꼴ɡ */ public class ExceptionDemo { public static void main(String[] args) { String s = "2015-04-03 10:37:45"; // дʵ Date d = null; try { // System.out.println(10/0); d = stringToDate(s); } catch (ParseException e) { e.printStackTrace(); } System.out.println(d); System.out.println("haha"); // System.out.println(10/0); } public static Date stringToDate(String s) throws ParseException{ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date d = sdf.parse(s); return d; } } ================================================ FILE: day19/code/day19_Exception/src/cn/itcast_04/ExceptionDemo.java ================================================ package cn.itcast_04; /* *getMessage():ȡ쳣Ϣַ *toString():ȡ쳣쳣Ϣַ *printStackTrace():ȡ쳣쳣ϢԼ쳣ڳеλáֵvoid */ public class ExceptionDemo { public static void main(String[] args) { int a = 10; int b = 0; try { System.out.println(a / b); // 쳣ͻﴴһ쳣Ķnew // ArithmeticException(); // ȻŸ쳣󣬵catchȥƥ䡣 } catch (ArithmeticException e) { // ArithmeticException e = new // ArithmeticException(); // System.out.println(e.toString()); // System.out.println("Ϊ0"); // System.out.println(e.getMessage()); // by zero // System.out.println(e.toString()); e.printStackTrace(); } System.out.println("over"); } } ================================================ FILE: day19/code/day19_Exception/src/cn/itcast_05/ThrowDemo.java ================================================ package cn.itcast_05; import java.text.ParseException; import java.util.Arrays; /* * throw:ڷУóתġ */ public class ThrowDemo { public static void main(String[] args) { // show(10, 0); // show(); } public static void show() throws ParseException, ArithmeticException, NullPointerException { if ("hello".equals("world")) { throw new ParseException(null, 0); } else { System.out.println("over"); } } public static void show(int a, int b) { if (b == 0) { // System.out.println(""); throw new ArithmeticException(); } else { System.out.println(a / b); } System.out.println("haha"); } } ================================================ FILE: day19/code/day19_Exception/src/cn/itcast_05/ThrowsDemo.java ================================================ package cn.itcast_05; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; /* * throws:ڷϣ׳쳣õȥ */ public class ThrowsDemo { public static void main(String[] args) { // show(); try { show2(); } catch (ParseException e) { e.printStackTrace(); } } public static void show() throws ArithmeticException { int a = 10; int b = 0; System.out.println(a / b); } public static void show2() throws ParseException { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date d = sdf.parse("2012-03-04"); System.out.println(d); } } ================================================ FILE: day19/code/day19_Exception/src/cn/itcast_06/FinallyDemo.java ================================================ package cn.itcast_06; /* * finally:finallyƵһִС * ӦãݿӣIOʱ * ע * ִеfinally֮ǰjvm˳ */ public class FinallyDemo { public static void main(String[] args) { try { System.out.println(10 / 0); } catch (ArithmeticException e) { e.printStackTrace(); System.exit(0); } finally { // ͷԴIJ System.out.println("over"); } } } ================================================ FILE: day19/code/day19_Exception/src/cn/itcast_06/FinallyTest.java ================================================ package cn.itcast_06; /* * ⣺ * final,finallyfinalize? * final:࣬γԱγԱ * ,಻ܱ̳ * γԱdz * γԱܱд * finally:finallyƵĴԶִУͷԴ * עִеfinally֮ǰjvm˳ˡ * finalize:Objectķڻ * * catchreturn䣬finallyĴ뻹ִ?ᣬreturnǰreturn * ִС * ǰ * ׼ȷ˵м䡣 * * 1ִеreturn 40;ʱ򣬾ڴγһ· * 2:ֻһfinallyԣִfinallyn=50 * 3:finallyٴλصǰķ·Էص40 */ public class FinallyTest { public static void main(String[] args) { System.out.println(returnInt()); // 40 } public static int returnInt() { int n = 10; try { n = 20; System.out.println(10 / 0); n = 30; } catch (ArithmeticException e) { n = 40; return n; } finally { n = 50; return n; } // return 0; } } ================================================ FILE: day19/code/day19_Exception/src/cn/itcast_07/MyException.java ================================================ package cn.itcast_07; /* * java APIȻṩ˴쳣࣬ܿǵе * أԼ쳣ҪԼ쳣 * ҪԼһ࣬Ϊ쳣࣬ôҪ̳쳣ࡣ * ̳ĸ? * ̳Exception * ̳RuntimeException */ public class MyException extends Exception { public MyException() { super(); } public MyException(String message) { super(message); } } ================================================ FILE: day19/code/day19_Exception/src/cn/itcast_07/Teacher.java ================================================ package cn.itcast_07; public class Teacher { public void check(int score) throws MyException { if (score < 0 || score > 100) { throw new MyException("0-100֮"); } else { System.out.println(""); } } } ================================================ FILE: day19/code/day19_Exception/src/cn/itcast_07/TeacherTest.java ================================================ package cn.itcast_07; import java.util.Scanner; public class TeacherTest { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("뿼Գɼ "); int score = sc.nextInt(); Teacher t = new Teacher(); try { t.check(score); } catch (MyException e) { // System.out.println(e.toString()); // cn.itcast_07.MyException: // 0-100֮ e.printStackTrace(); } } } ================================================ FILE: day19/code/day19_File/.classpath ================================================ ================================================ FILE: day19/code/day19_File/.project ================================================ day19_File org.eclipse.jdt.core.javabuilder org.eclipse.jdt.core.javanature ================================================ FILE: day19/code/day19_File/.settings/org.eclipse.jdt.core.prefs ================================================ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.compliance=1.7 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.source=1.7 ================================================ FILE: day19/code/day19_File/aaa/bbb/b.txt ================================================ hello ================================================ FILE: day19/code/day19_File/demo.txt ================================================ hello ================================================ FILE: day19/code/day19_File/src/cn/itcast_01/FileDemo.java ================================================ package cn.itcast_01; import java.io.File; /* * File:ļĿ¼·ijʾʽ * ⣺ļĿ¼һڡ * * 췽 * File(String pathname)ͨһ·File * File(String parent, String child) ͨ··File * File(File parent, String child)ͨ·File·File */ public class FileDemo { public static void main(String[] args) { // // File(String pathname)ͨһ·File File file = new File("d:\\demo\\a.txt"); // File(String parent, String child) ͨ··File File file2 = new File("d:\\demo", "a.txt"); // File(File parent, String child)ͨ·File·File File file3 = new File("d:\\demo"); File file4 = new File(file3, "a.txt"); } } ================================================ FILE: day19/code/day19_File/src/cn/itcast_02/FileDemo.java ================================================ package cn.itcast_02; import java.io.File; import java.io.IOException; /* * ܣ * A:ļ,ļڣʹڣͲ * public boolean createNewFile() throws IOException * * B:ļУļвڣʹڣͲ * public boolean mkdir() ļ * public boolean mkdirs() ༶ļ * * ״ļļУȡʹõķȡں׺ * IJһǰ೤鳤 */ public class FileDemo { public static void main(String[] args) throws IOException { // Fileļ File file = new File("d:\\a.txt"); // public boolean createNewFile() throws IOException System.out.println("createNewFile:" + file.createNewFile()); // ļ File file2 = new File("d:\\demo"); System.out.println("mkdir:" + file2.mkdir()); // ༶ļ // File file3 = new File("d:\\aaa\\bbb"); // System.out.println("mkdir:" + file3.mkdir()); File file4 = new File("d:\\aaa"); File file5 = new File("d:\\aaa\\bbb"); // File file5 = new File(file4,"bbb"); System.out.println("mkdir:" + file4.mkdir()); System.out.println("mkdir:" + file5.mkdir()); // ַʽȻԣDZȽ鷳 // ô,һָ򵥵ķʽ File file6 = new File("d:\\ccc\\dddd\\eee\\fff"); System.out.println("mkdirs:" + file6.mkdirs()); // ҵ״ʲô? File file7 = new File("d:\\aaa\\bbb\\ccc.txt"); System.out.println("mkdir:" + file7.mkdir()); } } ================================================ FILE: day19/code/day19_File/src/cn/itcast_02/FileDemo2.java ================================================ package cn.itcast_02; import java.io.File; import java.io.IOException; /* * ɾܣpublic boolean delete() ȿɾļҲɾļС * * ·̷ʼ· * ·̷ʼ· * * ע * A:һļݣDzֱɾġ * B:Javaɾ߻վֱɾ */ public class FileDemo2 { public static void main(String[] args) throws IOException { // File File file = new File("a.txt"); System.out.println("createNewFile:" + file.createNewFile()); File file2 = new File("aaa\\bbb"); System.out.println("mkdirs:" + file2.mkdirs()); File file3 = new File(file2, "b.txt"); System.out.println("createNewFile:" + file3.createNewFile()); // ɾļ System.out.println("delete:" + file.delete()); // ɾļ File file4 = new File("aaa\\bbb\\ccc"); System.out.println("delete:" + file4.delete()); File file5 = new File("aaa"); System.out.println("delete:" + file5.delete()); } } ================================================ FILE: day19/code/day19_File/src/cn/itcast_02/FileDemo3.java ================================================ package cn.itcast_02; import java.io.File; /* * :public boolean renameTo(File dest) * ·ͬ * ·ͬв */ public class FileDemo3 { public static void main(String[] args) { // Ҫa.txtļƸΪb.txt // // File file = new File("a.txt"); // // Ŀ // File dest = new File("b.txt"); // // ÷ // System.out.println("renameTo:" + file.renameTo(dest)); File file = new File("b.txt"); File dest = new File("e:\\a.txt"); System.out.println("renameTo:" + file.renameTo(dest)); } } ================================================ FILE: day19/code/day19_File/src/cn/itcast_02/FileDemo4.java ================================================ package cn.itcast_02; import java.io.File; /* *public boolean isDirectory():Ƿļ *public boolean isFile():Ƿļ *public boolean exists():Ƿ *public boolean canRead():Ƿɶ *public boolean canWrite():Ƿд *public boolean isHidden():Ƿ */ public class FileDemo4 { public static void main(String[] args) { File file = new File("demo.txt"); System.out.println("isDirectory:" + file.isDirectory()); System.out.println("isFile:" + file.isFile()); System.out.println("exists:" + file.exists()); System.out.println("canRead:" + file.canRead()); System.out.println("canWrite:" + file.canWrite()); System.out.println("isHidden:" + file.isHidden()); } } ================================================ FILE: day19/code/day19_File/src/cn/itcast_02/FileDemo5.java ================================================ package cn.itcast_02; import java.io.File; import java.text.SimpleDateFormat; import java.util.Date; /* *public String getAbsolutePath():ȡ· *public String getPath():ȡ· *public String getName():ȡ *public long length():ȡļĴС *public long lastModified():ȡһ޸ʱĺֵ */ public class FileDemo5 { public static void main(String[] args) { File file = new File("aaa\\bbb\\b.txt"); System.out.println("getAbsolutePath:" + file.getAbsolutePath()); System.out.println("getPath:" + file.getPath()); System.out.println("getName:" + file.getName()); System.out.println("length:" + file.length()); System.out.println("lastModified:" + file.lastModified()); // 1428044959288 Date d = new Date(1428044959288L); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String s = sdf.format(d); System.out.println(s); } } ================================================ FILE: day19/code/day19_File/src/cn/itcast_02/FileDemo6.java ================================================ package cn.itcast_02; import java.io.File; /* * public String[] list():صǸĿ¼µļļе顣 * public File[] listFiles():صǸĿ¼µļļеFile顣 */ public class FileDemo6 { public static void main(String[] args) { // һĿ¼d:\\ File file = new File("d:\\"); // public String[] list():صǸĿ¼µļļе顣 String[] strArray = file.list(); for (String str : strArray) { System.out.println(str); } System.out.println("-----------------"); // public File[] listFiles():صǸĿ¼µļļеFile顣 File[] fileArray = file.listFiles(); for (File f : fileArray) { // System.out.println(f); System.out.println(f.getName()); } } } ================================================ FILE: day19/code/day19_File/src/cn/itcast_03/FileTest.java ================================================ package cn.itcast_03; import java.io.File; /* * dĿ¼е.jpgβļƸ * * * A:װĿ¼ * B:ȡĿ¼еļļеFile * C:File飬õÿһFile * D:жϸFile * жǷļ * ǣ * жǷ.jpgβ * ǣ */ public class FileTest { public static void main(String[] args) { // װĿ¼ File folder = new File("d:\\"); // ȡĿ¼еļļеFile File[] fileArray = folder.listFiles(); // File飬õÿһFile for (File file : fileArray) { // жǷļ if (file.isFile()) { // жǷ.jpgβ if (file.getName().endsWith(".jpg")) { System.out.println(file.getName()); } } } } } ================================================ FILE: day19/code/day19_File/src/cn/itcast_03/FileTest2.java ================================================ package cn.itcast_03; import java.io.File; import java.io.FilenameFilter; /* * dĿ¼е.jpgβļƸ * A˼·: * ȻȡеļļеFile飬ڱʱжϣ * B˼· * ж?㣬淽ֱӱɡ * * ҪʵBͱ֪һFilenameFilter ļƹ */ public class FileTest2 { public static void main(String[] args) { File folder = new File("d:\\"); // public String[] list(FilenameFilter filter) // public File[] listFiles(FilenameFilter filter) // String[] strArray = folder.list(new FilenameFilter() { // @Override // public boolean accept(File dir, String name) { // // return false; // // return true; // // System.out.println(dir + "---" + name); // // File file = new File(dir, name); // // boolean flag = file.isFile(); // // boolean flag2 = name.endsWith(".jpg"); // // return flag && flag2; // // return new File(dir, name).isFile() && name.endsWith(".jpg"); // } // }); // // for (String str : strArray) { // System.out.println(str); // } // public File[] listFiles(FilenameFilter filter) File[] fileArray = folder.listFiles(new FilenameFilter() { @Override public boolean accept(File dir, String name) { return new File(dir, name).isFile() && name.endsWith(".jpg"); } }); for (File file : fileArray) { System.out.println(file.getName()); } } } ================================================ FILE: day19/异常总结.txt ================================================ 1쳣() (1)ֵIJ (2)쳣 Throwable |--Error ص⣬Ҫ |--Exception |--RuntimeException ԴҲԲһdzˣҪó |--RuntimeException Ҫдģ벻ͨ ೤ȥ (3)jvmĬϴ 쳣ԭ򣬺λõϢ˿̨ ֹͣ (4)Լ쳣ķ A:try...catch...finally : try...catch... try...catch...catch...catch... try...catch...finally try...catch...catch...catch...finally try...finally B:throws ׳ ʹAʵڽˣʹB (5)ʱ쳣ʱ쳣? A:ʱ쳣 봦ͨ B:ʱ쳣 ԴҲԲһ㲻 (6)throwsthrow? A:throws ,,öŸԸʾ쳣 B:throw ,Ƕ,ֻܸһʾһ쳣 (7)finally? A:ص㼰ע a:finallyƵĴԶִ b:ע ִfinally֮ǰjvm˳ˣͲִ B:final,finallyfinalize? C:catchreturnfinallyִ?ִУreturnǰǺ (8)Զ쳣 һϰһ顣 д÷⣬ῴϢ͵꼴ɡ ================================================ FILE: day20/code/day20_DiGui/.classpath ================================================ ================================================ FILE: day20/code/day20_DiGui/.project ================================================ day20_DiGui org.eclipse.jdt.core.javabuilder org.eclipse.jdt.core.javanature ================================================ FILE: day20/code/day20_DiGui/.settings/org.eclipse.jdt.core.prefs ================================================ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.compliance=1.7 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.source=1.7 ================================================ FILE: day20/code/day20_DiGui/src/cn/itcast_01/DiGuiDemo.java ================================================ package cn.itcast_01; /* * ݹ:е÷ * * ע * A:ݹһҪгڣݹ * B:ݹĴܹ࣬ڴ * C:췽ܵݹʹ * * StackOverflowError:Ӧóݹ̫ջʱ׳ô * * * ǰɽɽиϺУڸСн£ǣ * ǰɽɽиϺУڸСн£ǣ * ǰɽɽиϺУڸСн£ǣ * ǰɽɽиϺУڸСн£ǣ * ... * * ѧjava -- ҹ -- Ǯ -- Ȣϱ -- -- -- Ǯ -- * ѧjava -- ҹ -- Ǯ -- Ȣϱ -- -- -- Ǯ -- * ѧjava -- ҹ -- Ǯ -- Ȣϱ -- -- -- Ǯ -- * ... */ public class DiGuiDemo { public void show() { show(); } // public DiGuiDemo() { // DiGuiDemo(); // } public static void main(String[] args) { DiGuiDemo dgd = new DiGuiDemo(); dgd.show(); } } ================================================ FILE: day20/code/day20_DiGui/src/cn/itcast_02/DiGuiDemo.java ================================================ package cn.itcast_02; /* * 5Ľ׳ */ public class DiGuiDemo { public static void main(String[] args) { // ѭʵֽ׳ int jc = 1; for (int x = 1; x <= 5; x++) { jc *= x; } System.out.println("5Ľ׳ǣ" + jc); // õݹʵ׳ System.out.println("5Ľ׳ǣ"+jc(5)); } /*һjc(int n), *jc(n)ʾnĽ׳ˣ *n-1Ľ׳αʾ? *jc(n-1) * *1= 1 */ public static int jc(int n){ if(n==1){ return 1; }else { return n*jc(n-1); } } } ================================================ FILE: day20/code/day20_DiGui/src/cn/itcast_02/DiGuiTest.java ================================================ package cn.itcast_02; /* * (쳲):һӣӳ3ÿ¶һӣСӳºÿһӣӶʵ20µӶΪ٣ * Ӷ * һ£ 1 * ڶ£ 1 * £ 2 * ĸ£ 3 * £ 5 * £ 8 * ... * * 쳲У1,1,2,3,5,8... * * ɣӵʼÿһǰ֮͡ * ڣǰӦ֪һ1ڶ1 * * ڵabʾ * һڣa=1,b=1 * ڶڣa=1,b=2 * ڣa=2,b=3 * ĸڣa=3,b=5 * ... * ÿһڵaǰbbǰa+b */ public class DiGuiTest { public static void main(String[] args) { // int[] arr = new int[20]; arr[0] = 1; arr[1] = 1; for (int x = 2; x < arr.length; x++) { arr[x] = arr[x - 1] + arr[x - 2]; } System.out.println("20µӶǣ" + arr[19]); //ñı仯 int a = 1; int b = 1; for(int x=0; x<18; x++){ int temp = a;//ǰa a = b; b = temp + b; } System.out.println("20µӶǣ"+b); //õݹʵ System.out.println("20µӶǣ"+fib(20)); } /* * 巽fib(int n) * fib(n)ʾǵnµӶ * ʣn-1n-2µӶαʾ? * fib(n-1),fib(n-2) */ public static int fib(int n){ if(n==1 || n==2){ return 1; }else { return fib(n-1)+fib(n-2); } } } ================================================ FILE: day20/code/day20_DiGui/src/cn/itcast_03/DeleteFolderDemo.java ================================================ package cn.itcast_03; import java.io.File; /* /* * ɾݵĿ¼ * D:\demo * * * A:װָĿ¼ * B:ȡָĿ¼µļļеFile * C:File飬ȡõÿһFile * D:жϸFile * ļУصB(ݹ) * ļ * ֱɾ * E:ɾļ */ public class DeleteFolderDemo { public static void main(String[] args) { // װָĿ¼ File srcFolder = new File("d:\\demo"); // ݹ鷽 deleteFolder(srcFolder); } public static void deleteFolder(File srcFolder) { // ȡָĿ¼µļļеFile File[] fileArray = srcFolder.listFiles(); // ɾϵͳļݣǿʵ if (fileArray != null) { // File飬ȡõÿһFile for (File file : fileArray) { if (file.isDirectory()) { deleteFolder(file); } else { System.out.println(file.getName() + "---" + file.delete()); } } System.out .println(srcFolder.getName() + "---" + srcFolder.delete()); } } } ================================================ FILE: day20/code/day20_DiGui/src/cn/itcast_03/GetAllFileNameDemo.java ================================================ package cn.itcast_03; import java.io.File; /* * ݹĿ¼ָ׺βļ· .java * D:\itcast\20150306 * * * A:װָĿ¼ * B:ȡָĿ¼µļļеFile * C:File飬ȡõÿһFile * D:жϸFile * ļУصB(ݹ) * ļ * жǷָĺ׺β * ǣļľ· */ public class GetAllFileNameDemo { public static int count1 = 0; public static int count2 = 0; public static void main(String[] args) { // װָĿ¼ File srcFolder = new File("D:\\itcast\\20150306"); // ݹʵ getAllJavaFilePath(srcFolder); System.out.println("ѧϰ" + count1 + "javaļ"); System.out.println("ѧϰ" + count2 + "aviļ"); } public static void getAllJavaFilePath(File srcFolder) { // ȡָĿ¼µļļеFile File[] fileArray = srcFolder.listFiles(); // File飬ȡõÿһFile for (File file : fileArray) { if (file.isDirectory()) { // ļУصB(ݹ) getAllJavaFilePath(file); } else { // жǷָĺ׺β if (file.getName().endsWith(".java")) { count1++; // ļľ· System.out.println(file.getAbsolutePath()); }else if(file.getName().endsWith(".avi")){ count2++; System.out.println(file.getName()); } } } } } ================================================ FILE: day20/code/day20_IO/.classpath ================================================ ================================================ FILE: day20/code/day20_IO/.project ================================================ day20_IO org.eclipse.jdt.core.javabuilder org.eclipse.jdt.core.javanature ================================================ FILE: day20/code/day20_IO/.settings/org.eclipse.jdt.core.prefs ================================================ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.compliance=1.7 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.source=1.7 ================================================ FILE: day20/code/day20_IO/a.txt ================================================ package cn.itcast_02; import java.io.FileInputStream; import java.io.IOException; /* * ֽݲ裺 * A:ֽ * B:÷ȡ * C:ͷԴ * * ֽȡַʽ: * A:һζȡһֽ * B:һζȡһֽ * * һζȡһֽڣpublic int read() */ public class FileInputStreamDemo { public static void main(String[] args) throws IOException { // ֽ // FileInputStream fis = new FileInputStream("fis.txt"); FileInputStream fis = new FileInputStream("FileOutputStreamDemo.java"); // ÷ȡ // һζȡ // int by = fis.read(); // System.out.println(by); // System.out.println((char) by); // // // ڶζȡ // by = fis.read(); // System.out.println(by); // System.out.println((char) by); // // // ζȡ // by = fis.read(); // System.out.println(by); // System.out.println((char) by); // ǷĴһģԣǿҪѭĽ // ѭĽ? // ص // жѭʲôʱ // by = fis.read(); // System.out.println(by); // by = fis.read(); // System.out.println(by); // ͨǷ֣жֵ-1 // int by = fis.read(); // while (by != -1) { // System.out.print((char) by); // by = fis.read(); // } // մ int by = 0; // ȡݣֵж while ((by = fis.read()) != -1) { System.out.print((char) by); } // ͷԴ fis.close(); } } ================================================ FILE: day20/code/day20_IO/b.txt ================================================ package cn.itcast_02; import java.io.FileInputStream; import java.io.IOException; /* * ֽݲ裺 * A:ֽ * B:÷ȡ * C:ͷԴ * * ֽȡַʽ: * A:һζȡһֽ * B:һζȡһֽ * * һζȡһֽڣpublic int read() */ public class FileInputStreamDemo { public static void main(String[] args) throws IOException { // ֽ // FileInputStream fis = new FileInputStream("fis.txt"); FileInputStream fis = new FileInputStream("FileOutputStreamDemo.java"); // ÷ȡ // һζȡ // int by = fis.read(); // System.out.println(by); // System.out.println((char) by); // // // ڶζȡ // by = fis.read(); // System.out.println(by); // System.out.println((char) by); // // // ζȡ // by = fis.read(); // System.out.println(by); // System.out.println((char) by); // ǷĴһģԣǿҪѭĽ // ѭĽ? // ص // жѭʲôʱ // by = fis.read(); // System.out.println(by); // by = fis.read(); // System.out.println(by); // ͨǷ֣жֵ-1 // int by = fis.read(); // while (by != -1) { // System.out.print((char) by); // by = fis.read(); // } // մ int by = 0; // ȡݣֵж while ((by = fis.read()) != -1) { System.out.print((char) by); } // ͷԴ fis.close(); } } ================================================ FILE: day20/code/day20_IO/src/cn/itcast_01/FileOutputStreamDemo.java ================================================ package cn.itcast_01; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; /* * IOࣺ * A: * * д * B: * ֽ * ַ * Ĭ£IO˵ǰͷ֡ * * IOĸࣺ * ֽ * ֽ InputStream * ֽ OutputStream * ַ * ַ Reader * ַ Writer * * һ仰"helloworld"дһıļ * ͨ򵥵ķҵOutputStream * OutputStreamһ࣬Ӧѧϰ * ѧϰǰȻһ⣬Ӳϵļjavaṩĸʾ?File * ٽڵֽOutputStreamƴһ¾һµ֣FileOutputStream * * FileOutputStreamĹ췽 * FileOutputStream(File file) * FileOutputStream(String name) * * ֽ裺 * A:ֽ * B:дݹд * C:ͷԴ * * ϰֽڵдһıļ */ public class FileOutputStreamDemo { public static void main(String[] args) throws IOException { // ֽ // FileOutputStream fos = new FileOutputStream("a.txt"); // ݵIJStringFile? // File file = new File("a.txt"); // FileOutputStream fos = new FileOutputStream(file); FileOutputStream fos = new FileOutputStream("a.txt"); // OutputStream os = new FileOutputStream("a.txt"); /* * ֽЩ? A:ϵͳܴһļa.txt B:һfos * C:fosָa.txtļ */ // д // public void write(int b):һдһֽڵ // fos.write(57); // fos.write(55); // fos.write(97); // public void write(byte[] b):һдһֽ // byte[] bys = {97,98,99,100,101}; // fos.write(bys); // ǽͨStringõbyte[] // byte[] bys = "abcde".getBytes(); // fos.write(bys); fos.write("helloworld".getBytes()); // public void write(byte[] b,int off,int len):һдһֽһ // fos.write("helloworld".getBytes(), 0, 5); // fos.write("helloworld".getBytes(), 0, "helloworld".length()); //ͷԴ fos.close(); //رմļͷйصϵͳԴ /* * 飺 * A:ر(󲻿Լд) * B:ͷصԴ(֪ͨϵͳȥͷصԴ) */ //java.io.IOException: Stream Closed //fos.write("haha".getBytes()); // while(true){} } } ================================================ FILE: day20/code/day20_IO/src/cn/itcast_01/FileOutputStreamDemo2.java ================================================ package cn.itcast_01; import java.io.FileOutputStream; import java.io.IOException; /* * С⣺ * A:ʵݵĻ? * ͬϵͳԻзŵʶDzһġ * Mac: \r * linux: \n * windows: \r\n * ϵͳԴļ±ֻʶϵͳܹʶĻС * EclipseԴļ±ԼEditplusȴʶĻз * * B:ʵݵ׷д? * public FileOutputStream(String name,boolean append) * ڶΪ trueֽдļĩβдļʼ */ public class FileOutputStreamDemo2 { public static void main(String[] args) throws IOException { // ֽ FileOutputStream fos = new FileOutputStream("b.txt",true); // д for (int x = 0; x < 10; x++) { // // fos.write(("hello" + x).getBytes()); // fos.write(("hello" + x + "\n").getBytes()); // fos.write(("hello" + x + "\r").getBytes()); fos.write(("hello" + x + "\r\n").getBytes()); } // ͷԴ fos.close(); } } ================================================ FILE: day20/code/day20_IO/src/cn/itcast_01/FileOutputStreamDemo3.java ================================================ package cn.itcast_01; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; /* * FileOutputStremaдݵ쳣 */ public class FileOutputStreamDemo3 { public static void main(String[] args) { // method1(); method2(); } public static void method2() { // ⣬finally濴 FileOutputStream fos = null; try { fos = new FileOutputStream("fos.txt"); fos.write("hello".getBytes()); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { // жϲΪnullȥر if (fos != null) { try { fos.close(); } catch (IOException e) { e.printStackTrace(); } } } } public static void method1() { FileOutputStream fos = null; try { // System.out.println(10 / 0); fos = new FileOutputStream("fos.txt"); } catch (FileNotFoundException e) { // e.printStackTrace(); System.out.println("ļʧ"); } try { fos.write("hello".getBytes()); } catch (IOException e) { // e.printStackTrace(); System.out.println("дʧ"); } try { fos.close(); } catch (IOException e) { // e.printStackTrace(); System.out.println("ͷԴʧ"); } } } ================================================ FILE: day20/code/day20_IO/src/cn/itcast_02/FileInputStreamDemo.java ================================================ package cn.itcast_02; import java.io.FileInputStream; import java.io.IOException; /* * ֽݲ裺 * A:ֽ * B:÷ȡ * C:ͷԴ * * ֽȡַʽ: * A:һζȡһֽ * B:һζȡһֽ * * һζȡһֽڣpublic int read() */ public class FileInputStreamDemo { public static void main(String[] args) throws IOException { // ֽ // FileInputStream fis = new FileInputStream("fis.txt"); FileInputStream fis = new FileInputStream("FileOutputStreamDemo.java"); // ÷ȡ // һζȡ // int by = fis.read(); // System.out.println(by); // System.out.println((char) by); // // // ڶζȡ // by = fis.read(); // System.out.println(by); // System.out.println((char) by); // // // ζȡ // by = fis.read(); // System.out.println(by); // System.out.println((char) by); // ǷĴһģԣǿҪѭĽ // ѭĽ? // ص // жѭʲôʱ // by = fis.read(); // System.out.println(by); // by = fis.read(); // System.out.println(by); // ͨǷ֣жֵ-1 // int by = fis.read(); // while (by != -1) { // System.out.print((char) by); // by = fis.read(); // } // մ int by = 0; // ȡݣֵж while ((by = fis.read()) != -1) { System.out.print((char) by); } // ͷԴ fis.close(); } } ================================================ FILE: day20/code/day20_IO/src/cn/itcast_02/FileInputStreamDemo2.java ================================================ package cn.itcast_02; import java.io.FileInputStream; import java.io.IOException; /* * Ϊ߶ȡݵЧʣ˵ڶַ * һζȡһֽ飺public int read(byte[] b):صʵʵĶȡȣݶȡֽ */ public class FileInputStreamDemo2 { public static void main(String[] args) throws IOException { // ֽ FileInputStream fis = new FileInputStream("a.txt"); // ȡ // public int read(byte[] b) // byte[] bys = new byte[5]; // // һζȡ // int len = fis.read(bys); // System.out.println(len); // // System.out.println(new String(bys)); // System.out.println(new String(bys, 0, len)); // // // ڶζȡ // len = fis.read(bys); // System.out.println(len); // // System.out.println(new String(bys)); // System.out.println(new String(bys, 0, len)); // // // ζȡ // len = fis.read(bys); // System.out.println(len); // // System.out.println(new String(bys)); // System.out.println(new String(bys, 0, len)); // // // Ĵζȡ // len = fis.read(bys); // System.out.println(len); // // System.out.println(new String(bys)); // System.out.println(new String(bys, 0, len)); // // // ѭģӦ֪жϽ // len = fis.read(bys); // len = fis.read(bys); // System.out.println(len); // System.out.println(len); // byte[] bys = new byte[5]; byte[] bys = new byte[1024 * 1024]; // һ1024 int len = 0; while ((len = fis.read(bys)) != -1) { System.out.print(new String(bys, 0, len)); } // ͷԴ fis.close(); } } ================================================ FILE: day20/code/day20_IO/src/cn/itcast_03/CopyAviDemo.java ================================================ package cn.itcast_03; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; /* * e:\\DOS.aviƵǰĿĿ¼µcopy.avi * Դ * e:\\DOS.avi * Ŀĵأ * copy.avi */ public class CopyAviDemo { public static void main(String[] args) throws IOException { // װԴ FileInputStream fis = new FileInputStream("e:\\DOS.avi"); // װĿĵ FileOutputStream fos = new FileOutputStream("copy.avi"); // д int by = 0; while ((by = fis.read()) != -1) { fos.write(by); } // ͷԴ fos.close(); fis.close(); } } ================================================ FILE: day20/code/day20_IO/src/cn/itcast_03/CopyFileDemo.java ================================================ package cn.itcast_03; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; /* * ѵǰĿĿ¼µa.txtݸƵǰĿĿ¼µb.txt * * ļ * Դ * a.txt -- InputStream -- FileInputStream -- һζһֽ * Ŀĵأ * b.txt -- OutputStream -- FileOutputStream -- һдһֽ? */ public class CopyFileDemo { public static void main(String[] args) throws IOException { // װ FileInputStream fis = new FileInputStream("a.txt"); // װĿĵ FileOutputStream fos = new FileOutputStream("b.txt"); // ݣд int by = 0; while ((by = fis.read()) != -1) { fos.write(by); } // ͷԴ fos.close(); fis.close(); } } ================================================ FILE: day20/code/day20_IO/src/cn/itcast_03/CopyFileDemo2.java ================================================ package cn.itcast_03; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; /* * c:\\a.txtݸƵd:\\b.txt * Դ * c:\\a.txt -- FileInputStream * Ŀĵأ * d:\\b.txt -- FileOutputStream */ public class CopyFileDemo2 { public static void main(String[] args) throws IOException { // װԴ // java.io.FileNotFoundException: c:\a.txt (ϵͳҲָļ) FileInputStream fis = new FileInputStream("c:\\a.txt"); // װĿĵ FileOutputStream fos = new FileOutputStream("d:\\b.txt"); // д int by = 0; while ((by = fis.read()) != -1) { fos.write(by); } // ͷԴ fos.close(); fis.close(); } } ================================================ FILE: day20/code/day20_IO/src/cn/itcast_03/CopyImageDemo.java ================================================ package cn.itcast_03; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; /* * e:\\ϼ.jpgݸƵǰĿĿ¼µmn.jpg * * Դ * e:\\ϼ.jpg -- FileInputStream * Ŀĵأ * mn.jpg -- FileOutputStream */ public class CopyImageDemo { public static void main(String[] args) throws IOException { // װԴ FileInputStream fis = new FileInputStream("e:\\ϼ.jpg"); // װĿĵ FileOutputStream fos = new FileOutputStream("mn.jpg"); // д int by = 0; while ((by = fis.read()) != -1) { fos.write(by); } // ͷԴ fos.close(); fis.close(); } } ================================================ FILE: day20/code/day20_IO/src/cn/itcast_04/CopyAviDemo.java ================================================ package cn.itcast_04; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; /* * e:\\DOS.aviƵǰĿĿ¼µcopy.avi * Դ * e:\\DOS.avi * Ŀĵأ * copy.avi */ public class CopyAviDemo { public static void main(String[] args) throws IOException { // װԴ FileInputStream fis = new FileInputStream("e:\\DOS.avi"); // װĿĵ FileOutputStream fos = new FileOutputStream("copy.avi"); // д byte[] bys = new byte[1024]; int len = 0; while ((len = fis.read(bys)) != -1) { fos.write(bys, 0, len); } // ͷԴ fos.close(); fis.close(); } } ================================================ FILE: day20/code/day20_IO/src/cn/itcast_04/CopyFileDemo.java ================================================ package cn.itcast_04; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; /* * ѵǰĿĿ¼µa.txtݸƵǰĿĿ¼µb.txt * * ļ * Դ * a.txt -- InputStream -- FileInputStream -- һζһֽ * Ŀĵأ * b.txt -- OutputStream -- FileOutputStream -- һдһֽһ */ public class CopyFileDemo { public static void main(String[] args) throws IOException { // װԴ FileInputStream fis = new FileInputStream("a.txt"); // װĿĵ FileOutputStream fos = new FileOutputStream("b.txt"); // д byte[] bys = new byte[1024]; int len = 0; while ((len = fis.read(bys)) != -1) { fos.write(bys, 0, len); } // ͷԴ fos.close(); fis.close(); } } ================================================ FILE: day20/code/demo/aaa/ccc.txt ================================================ ================================================ FILE: day20/day20总结.txt ================================================ 1ݹ() (1)е÷ (2)ע A:һҪгڣݹ B:Ҫ࣬ڴ C:췽ܵݹʹ (3) A:ϺиСн B:ѧJava (4)(A,BգC,DҪ) A:ݹ׳ B:ݹ C:ݹָĿ¼ָ׺ļľ· D:ݹɾݵĿ¼ 2IO() (1)IO A:ʵ豸ݴ ϴļļ B:javaIOʽ C:Ķio (2)IOķ A: B: ֽ ַ a:ûȷָĬϰͷ֡ b:ͨwindows±򿪲ܹļַ ֽ 㲻֪Զʹֽ (3)FileOutputStreamд 裺 A:ֽ B:дݹ C:ͷԴ ֣ FileOutputStream fos = new FileOutputStream("fos.txt"); fos.write("helloworld".getBytes()); fos.close(); С⣺ A:ֽ˼? B:дݺΪʲôҪclose()? C:ʵݵĻ? D:ʵݵ׷д? E:Ҫܹ쳣IO (4)FileInputStream 裺 A:ֽ B:öݹ C:ͷԴ ֣ FileInputStream fis = new FileInputStream("fis.txt"); //ʽ1:һζȡһֽ int by = 0; while((by=fis.read())!=-1) { System.out.print((char)by); } //2:һζȡһֽ byte[] bys = new byte[1024]; int len = 0; while((len=fis.read(bys))!=-1) { System.out.print(new String(bys,0,len)); } fis.close(); (5) ļ Դ Ŀĵأд A: Ŀ·µa.txt,Ŀ·µb.txt B: c:\\a.txtd:\\b.txt C: e:\\ϼ.jpgĿ·µmn.jpg D: e:\\.mp4Ŀ·µcopy.mp4 ================================================ FILE: day21/code/day21_IO/.classpath ================================================ ================================================ FILE: day21/code/day21_IO/.project ================================================ day21_IO org.eclipse.jdt.core.javabuilder org.eclipse.jdt.core.javanature ================================================ FILE: day21/code/day21_IO/.settings/org.eclipse.jdt.core.prefs ================================================ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.compliance=1.7 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.source=1.7 ================================================ FILE: day21/code/day21_IO/a.txt ================================================ hello ================================================ FILE: day21/code/day21_IO/bos.txt ================================================ hello ================================================ FILE: day21/code/day21_IO/src/cn/itcast_01/CopyImageDemo.java ================================================ package cn.itcast_01; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; /* * Ŀ·µı߻.bmpƵĿ·µϼ.bmp * Դ * ߻.bmp -- FileInputStream * Ŀĵأ * ϼ.bmp -- FileOutputStream */ public class CopyImageDemo { public static void main(String[] args) throws IOException { // װԴ FileInputStream fis = new FileInputStream("߻.bmp"); // װĿĵ FileOutputStream fos = new FileOutputStream("ϼ.bmp"); // ʽ1 // int by = 0; // while ((by = fis.read()) != -1) { // fos.write(by); // } // ʽ2 byte[] bys = new byte[1024]; int len = 0; while ((len = fis.read(bys)) != -1) { fos.write(bys, 0, len); } // ͷԴ fos.close(); fis.close(); } } ================================================ FILE: day21/code/day21_IO/src/cn/itcast_02/BufferedDemo.java ================================================ package cn.itcast_02; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; /* * ķʽһαһֽڵķʽܶ࣬ԣjavaƵʱҲǵˡ * ƳĻ * ֽڻ * BufferedInputStream * ֽڻ * BufferedOutputStream * * ͨ췽Ƿֱ֣Ӳļ * ǽڻIJ֮ϵġ * ԣҲ֮Ϊ߼ */ public class BufferedDemo { public static void main(String[] args) throws IOException { // д // BufferedOutputStream(OutputStream out) // OutputStream out = new FileOutputStream("bos.txt"); // BufferedOutputStream bos = new BufferedOutputStream(out); // BufferedOutputStream bos = new BufferedOutputStream( // new FileOutputStream("bos.txt")); // bos.write("hello".getBytes()); // bos.close(); // // BufferedInputStream(InputStream is) BufferedInputStream bis = new BufferedInputStream(new FileInputStream( "bos.txt")); // ʽ1 int by = 0; while ((by = bis.read()) != -1) { System.out.print((char) by); } System.out.println("-----------------------"); // ʽ2 bis = new BufferedInputStream(new FileInputStream("bos.txt")); byte[] bys = new byte[1024]; int len = 0; while ((len = bis.read(bys)) != -1) { System.out.print(new String(bys, 0, len)); } bis.close(); } } ================================================ FILE: day21/code/day21_IO/src/cn/itcast_03/CopyMP4Demo.java ================================================ package cn.itcast_03; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; /* * Դ * d:\\.mp4 * Ŀĵأ * Ŀ·copy.mp4 * * ַʽ * A:ֽһζдһֽ 67023 * B:ֽһζдһֽ ʱ102 * C:Чֽһζдһֽ ʱ650 * D:Чֽһζдһֽ ʱ36 */ public class CopyMP4Demo { public static void main(String[] args) throws IOException { long start = System.currentTimeMillis(); // method1(); // method2(); // method3(); method4(); long end = System.currentTimeMillis(); System.out.println("ʱ" + (end - start) + ""); } // ֽһζдһֽ public static void method1() throws IOException { FileInputStream fis = new FileInputStream("d:\\.mp4"); FileOutputStream fos = new FileOutputStream("copy1.mp4"); int by = 0; while ((by = fis.read()) != -1) { fos.write(by); } fos.close(); fis.close(); } // ֽһζдһֽ public static void method2() throws IOException { FileInputStream fis = new FileInputStream("d:\\.mp4"); FileOutputStream fos = new FileOutputStream("copy2.mp4"); byte[] bys = new byte[1024]; int len = 0; while ((len = fis.read(bys)) != -1) { fos.write(bys, 0, len); } fos.close(); fis.close(); } // Чֽһζдһֽ public static void method3() throws IOException { BufferedInputStream bis = new BufferedInputStream(new FileInputStream( "d:\\.mp4")); BufferedOutputStream bos = new BufferedOutputStream( new FileOutputStream("copy3.mp4")); int by = 0; while ((by = bis.read()) != -1) { bos.write(by); } bos.close(); bis.close(); } // Чֽһζдһֽ public static void method4() throws IOException { BufferedInputStream bis = new BufferedInputStream(new FileInputStream( "d:\\.mp4")); BufferedOutputStream bos = new BufferedOutputStream( new FileOutputStream("copy4.mp4")); byte[] bys = new byte[1024]; int len = 0; while ((len = bis.read(bys)) != -1) { bos.write(bys, 0, len); } bos.close(); bis.close(); } } ================================================ FILE: day21/code/day21_IO/src/cn/itcast_04/FileInputStreamDemo.java ================================================ package cn.itcast_04; import java.io.FileInputStream; import java.io.IOException; /* * ֽģرķ㣬Ҫ취Ľʱת * ԰ֽתΪַ * ַ = ֽ+ */ public class FileInputStreamDemo { public static void main(String[] args) throws IOException { FileInputStream fis = new FileInputStream("a.txt"); // int by = 0; // while ((by = fis.read()) != -1) { // System.out.print((char) by); // } byte[] bys = new byte[1024]; int len = 0; while ((len = fis.read(bys)) != -1) { System.out.print(new String(bys, 0, len)); } fis.close(); } } ================================================ FILE: day21/code/day21_IO/src/cn/itcast_04/StringDemo.java ================================================ package cn.itcast_04; import java.util.Arrays; /* * Լֽƴһ * һֽڿ϶Ǹڶ󲿷Ǹ */ public class StringDemo { public static void main(String[] args) { // hello // String s = "hello"; // byte[] bys = s.getBytes(); // // [104, 101, 108, 108, 111] // System.out.println(Arrays.toString(bys)); String ss = "Ұϼ"; byte[] bys = ss.getBytes(); // [-50, -46, -80, -82, -60, -29, -63, -42, -57, -32, -49, -68] System.out.println(Arrays.toString(bys)); } } ================================================ FILE: day21/code/day21_IO/src/cn/itcast_05/StringDemo.java ================================================ package cn.itcast_05; import java.io.UnsupportedEncodingException; import java.util.Arrays; /* * String s = ""; * * 룺 * ܹı㿴 * 룺 * 㿴ܿ * * սƬDZ,ؼҿȥ * ϵط -- 1011110000111 -- ʮ -- ҸС -- ַ */ public class StringDemo { public static void main(String[] args) throws UnsupportedEncodingException { String s = ""; // public byte[] getBytes() // byte[] bys = s.getBytes(); // [-60, -29, -70, -61] // public byte[] getBytes(String charsetName) byte[] bys = s.getBytes("GBK"); // [-60, -29, -70, -61] // byte[] bys = s.getBytes("UTF-8"); // [-28, -67, -96, -27, -91, -67] System.out.println(Arrays.toString(bys)); // String(byte[] bytes) // String ss = new String(bys); // public String(byte[] bytes, String charsetName) String ss = new String(bys, "GBK"); // String ss = new String(bys, "UTF-8"); System.out.println(ss); } } ================================================ FILE: day21/code/day21_IO2/.classpath ================================================ ================================================ FILE: day21/code/day21_IO2/.project ================================================ day21_IO2 org.eclipse.jdt.core.javabuilder org.eclipse.jdt.core.javanature ================================================ FILE: day21/code/day21_IO2/.settings/org.eclipse.jdt.core.prefs ================================================ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.compliance=1.7 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.source=1.7 ================================================ FILE: day21/code/day21_IO2/Copy.java ================================================ package cn.itcast_01; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; /* * InputStreamReader(InputStream in) * InputStreamReader(InputStream in, String charsetName) */ public class InputStreamReaderDemo { public static void main(String[] args) throws IOException { // InputStreamReader isr = new InputStreamReader(new FileInputStream( "isr.txt")); // һζȡһַ // int ch = 0; // while ((ch = isr.read()) != -1) { // System.out.print((char) ch); // } // һζȡһַ char[] chs = new char[1024]; int len = 0; while ((len = isr.read(chs)) != -1) { System.out.print(new String(chs, 0, len)); } // ͷԴ isr.close(); } } ================================================ FILE: day21/code/day21_IO2/Demo.java ================================================ package cn.itcast_01; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; /* * InputStreamReader(InputStream in) * InputStreamReader(InputStream in, String charsetName) */ public class InputStreamReaderDemo { public static void main(String[] args) throws IOException { // InputStreamReader isr = new InputStreamReader(new FileInputStream( "isr.txt")); // һζȡһַ // int ch = 0; // while ((ch = isr.read()) != -1) { // System.out.print((char) ch); // } // һζȡһַ char[] chs = new char[1024]; int len = 0; while ((len = isr.read(chs)) != -1) { System.out.print(new String(chs, 0, len)); } // ͷԴ isr.close(); } } ================================================ FILE: day21/code/day21_IO2/InputStreamReaderDemo.java ================================================ package cn.itcast_01; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; /* * InputStreamReader(InputStream in) * InputStreamReader(InputStream in, String charsetName) */ public class InputStreamReaderDemo { public static void main(String[] args) throws IOException { // InputStreamReader isr = new InputStreamReader(new FileInputStream( "isr.txt")); // һζȡһַ // int ch = 0; // while ((ch = isr.read()) != -1) { // System.out.print((char) ch); // } // һζȡһַ char[] chs = new char[1024]; int len = 0; while ((len = isr.read(chs)) != -1) { System.out.print(new String(chs, 0, len)); } // ͷԴ isr.close(); } } ================================================ FILE: day21/code/day21_IO2/a.txt ================================================ hello world java ================================================ FILE: day21/code/day21_IO2/b.txt ================================================ hello world java ================================================ FILE: day21/code/day21_IO2/bw.txt ================================================ hello0 hello1 hello2 hello3 hello4 hello5 hello6 hello7 hello8 hello9 ================================================ FILE: day21/code/day21_IO2/c.txt ================================================ hello world java ================================================ FILE: day21/code/day21_IO2/isr.txt ================================================ hello ================================================ FILE: day21/code/day21_IO2/osw.txt ================================================ 中国 ================================================ FILE: day21/code/day21_IO2/src/cn/itcast_01/IOEncodeDemo.java ================================================ package cn.itcast_01; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; /* * IOеı⣺ҪIOжݽб⣬ʹת */ public class IOEncodeDemo { public static void main(String[] args) throws IOException { // д // ĬGBK // OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream( // "osw.txt")); // ָGBK // OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream( // "osw.txt"), "GBK"); // OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream( // "osw.txt"), "UTF-8"); // osw.write("й"); // osw.close(); // // InputStreamReader isr = new InputStreamReader(new FileInputStream( // "osw.txt")); // InputStreamReader isr = new InputStreamReader(new FileInputStream( // "osw.txt"), "GBK"); InputStreamReader isr = new InputStreamReader(new FileInputStream( "osw.txt"), "UTF-8"); char[] chs = new char[1024]; int len = 0; while ((len = isr.read(chs)) != -1) { System.out.print(new String(chs, 0, len)); } isr.close(); } } ================================================ FILE: day21/code/day21_IO2/src/cn/itcast_01/InputStreamReaderDemo.java ================================================ package cn.itcast_01; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; /* * InputStreamReader(InputStream in) * InputStreamReader(InputStream in, String charsetName) */ public class InputStreamReaderDemo { public static void main(String[] args) throws IOException { // InputStreamReader isr = new InputStreamReader(new FileInputStream( "isr.txt")); // һζȡһַ // int ch = 0; // while ((ch = isr.read()) != -1) { // System.out.print((char) ch); // } // һζȡһַ char[] chs = new char[1024]; int len = 0; while ((len = isr.read(chs)) != -1) { System.out.print(new String(chs, 0, len)); } // ͷԴ isr.close(); } } ================================================ FILE: day21/code/day21_IO2/src/cn/itcast_01/OutputStreamWriterDemo.java ================================================ package cn.itcast_01; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; /* * ַ = ֽ + * OutputStreamWriter:ֽתַ * OutputStreamWriter(OutputStream out):Ĭַ * OutputStreamWriter(OutputStream out, String charsetName):ַָ * * flush()close()? * A:flush ˢ󻹿Լʹ * B:close ر󲻿Լʹ */ public class OutputStreamWriterDemo { public static void main(String[] args) throws IOException { // OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream( "osw.txt")); // дݵķ // дһַ // osw.write(''); /* * ʱΪʲôû? ַ = 2ֽ */ // дһַ // char[] chs = { 'a', 'b', 'c', '', '', 'ϼ' }; // osw.write(chs); // дһַһ // osw.write(chs, 0, 3); // дһַ // osw.write("helloworld"); // дһַһ String s = "hello"; osw.write(s, 0, s.length()); osw.flush(); // 10M-20M // ͷԴ osw.close();// رմҪˢ // osw.write("haha"); //java.io.IOException: Stream closed } } ================================================ FILE: day21/code/day21_IO2/src/cn/itcast_02/CopyFileDemo.java ================================================ package cn.itcast_02; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; /* * OutputStreamWriterInputStreamReaderjavaļ * Դ * InputStreamReaderDemo.java * Ŀĵأ * Copy.java */ public class CopyFileDemo { public static void main(String[] args) throws IOException { // װԴ InputStreamReader isr = new InputStreamReader(new FileInputStream( "InputStreamReaderDemo.java")); // װĿĵ OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream( "Copy.java")); // ʽ1 // int ch = 0; // while ((ch = isr.read()) != -1) { // osw.write(ch); // } // ʽ2 char[] chs = new char[1024]; int len = 0; while ((len = isr.read(chs)) != -1) { osw.write(chs, 0, len); } // ͷԴ osw.close(); isr.close(); } } ================================================ FILE: day21/code/day21_IO2/src/cn/itcast_03/CopyFileDemo.java ================================================ package cn.itcast_03; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; /* * Writer: * OutputStreamWriter ֽתΪַ,ָ * FileWriter * Reader: * InputStreamReader ֽתΪַ,ָ * FileReader * * Դ * a.txt * Ŀĵأ * b.txt */ public class CopyFileDemo { public static void main(String[] args) throws IOException { // װԴ FileReader fr = new FileReader("a.txt"); // װĿĵ FileWriter fw = new FileWriter("b.txt"); // д // ʽ1 // int ch = 0; // while ((ch = fr.read()) != -1) { // fw.write(ch); // } // ʽ2 char[] chs = new char[1024]; int len = 0; while ((len = fr.read(chs)) != -1) { fw.write(chs, 0, len); } // ͷԴ fw.close(); fr.close(); } } ================================================ FILE: day21/code/day21_IO2/src/cn/itcast_03/CopyFileDemo2.java ================================================ package cn.itcast_03; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; /* * ַ * BufferedReader * BufferedWriter * * * Դ * a.txt * Ŀĵأ * b.txt * * ĿǰΪֹ * ıļ * 8 * ֽ 4 * ֽ * ֽڻ * ַ 4 * ַ * ַ * * ͼƬƵƵȣ * 4 * ֽ 4 * ֽ * ֽڻ */ public class CopyFileDemo2 { public static void main(String[] args) throws IOException { // װԴ BufferedReader br = new BufferedReader(new FileReader("a.txt")); // װĿĵ BufferedWriter bw = new BufferedWriter(new FileWriter("c.txt")); // ַʽ char[] chs = new char[1024]; int len = 0; while ((len = br.read(chs)) != -1) { bw.write(chs, 0, len); } bw.close(); br.close(); } } ================================================ FILE: day21/code/day21_IO2/src/cn/itcast_04/BufferedDemo.java ================================================ package cn.itcast_04; import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; /* * йܣ * BufferedReader: * public String readLine()ݵַκֹѵĩβ򷵻 null * BufferedWriter: * public void newLine()дһз */ public class BufferedDemo { public static void main(String[] args) throws IOException { // д // BufferedWriter bw = new BufferedWriter(new FileWriter("bw.txt")); // for (int x = 0; x < 10; x++) { // bw.write("hello" + x); // bw.newLine(); // bw.flush(); // } // bw.close(); // ȡ BufferedReader br = new BufferedReader(new FileReader("bw.txt")); // String s = br.readLine(); // System.out.println(s); // s = br.readLine(); // System.out.println(s); String line = null; while ((line = br.readLine()) != null) { System.out.println(line); } br.close(); } } ================================================ FILE: day21/code/day21_IO2/src/cn/itcast_04/CopyFileDemo.java ================================================ package cn.itcast_04; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; /* * Դ * InputStreamReaderDemo.java * Ŀĵأ * Deom.java */ public class CopyFileDemo { public static void main(String[] args) throws IOException { // ַйʵ // һζȡһ // װԴ BufferedReader br = new BufferedReader(new FileReader( "InputStreamReaderDemo.java")); // װĿĵ BufferedWriter bw = new BufferedWriter(new FileWriter("Demo.java")); // дһ String line = null; while ((line = br.readLine()) != null) { bw.write(line); bw.newLine(); bw.flush(); } // ͷԴ bw.close(); br.close(); } } ================================================ FILE: day21/code/day21_IOTest/.classpath ================================================ ================================================ FILE: day21/code/day21_IOTest/.project ================================================ day21_IOTest org.eclipse.jdt.core.javabuilder org.eclipse.jdt.core.javanature ================================================ FILE: day21/code/day21_IOTest/.settings/org.eclipse.jdt.core.prefs ================================================ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.compliance=1.7 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.source=1.7 ================================================ FILE: day21/code/day21_IOTest/array.txt ================================================ hello world java ================================================ FILE: day21/code/day21_IOTest/names.txt ================================================ ʯ· ղ   ׻ 󺣿 ޽ ˾ΰ Сţ Ǵ ſ ¬ ӵ¿ 쿡 ŷ ź ν ↢ ȫ ݸ лҽ лТ  ʤ ׺ ţ ־Զ ¬Ʒ лҸ һ ͮ Ҧ Ӻ ΰ ҫ  ΰǿ Ʒ ϼ ================================================ FILE: day21/code/day21_IOTest/s.txt ================================================ hcexfgijkamdnoqrzstuvwybpl ================================================ FILE: day21/code/day21_IOTest/src/cn/itcast_01/CopyBmpDemo.java ================================================ package cn.itcast_01; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; /* * ͼƬ(4) * A:ֽһζдһֽ * B:ֽһζдһֽ * C:Чֽһζдһֽ * D:Чֽһζдһֽ */ public class CopyBmpDemo { public static void main(String[] args) throws IOException { File srcFile = new File("c:\\ϼ.bmp"); File destFile = new File("d:\\mn.bmp"); // method1(srcFile, destFile); // method2(srcFile, destFile); // method3(srcFile, destFile); method4(srcFile, destFile); } // Чֽһζдһֽ public static void method4(File srcFile, File destFile) throws IOException { BufferedInputStream bis = new BufferedInputStream(new FileInputStream( srcFile)); BufferedOutputStream bos = new BufferedOutputStream( new FileOutputStream(destFile)); byte[] bys = new byte[1024]; int len = 0; while ((len = bis.read(bys)) != -1) { bos.write(bys, 0, len); } bos.close(); bis.close(); } // Чֽһζдһֽ public static void method3(File srcFile, File destFile) throws IOException { BufferedInputStream bis = new BufferedInputStream(new FileInputStream( srcFile)); BufferedOutputStream bos = new BufferedOutputStream( new FileOutputStream(destFile)); int by = 0; while ((by = bis.read()) != -1) { bos.write(by); } bos.close(); bis.close(); } // ֽһζдһֽ public static void method2(File srcFile, File destFile) throws IOException { FileInputStream fis = new FileInputStream(srcFile); FileOutputStream fos = new FileOutputStream(destFile); byte[] bys = new byte[1024]; int len = 0; while ((len = fis.read(bys)) != -1) { fos.write(bys, 0, len); } fos.close(); fis.close(); } // ֽһζдһֽ public static void method1(File srcFile, File destFile) throws IOException { FileInputStream fis = new FileInputStream(srcFile); FileOutputStream fos = new FileOutputStream(destFile); int by = 0; while ((by = fis.read()) != -1) { fos.write(by); } fos.close(); fis.close(); } } ================================================ FILE: day21/code/day21_IOTest/src/cn/itcast_01/CopyTxtDemo.java ================================================ package cn.itcast_01; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; /* * ıļ(9֣ѡַ5ַʽʵ) * A:ַһһַ * B:ַһһַ * C:Чַһһַ * D:Чַһһַ * E:Чַһһַ * * Դ * c:\\a.txt * Ŀĵأ * d:\\b.txt */ public class CopyTxtDemo { public static void main(String[] args) throws IOException { String srcString = "c:\\a.txt"; String destString = "d:\\b.txt"; method1(srcString, destString); // method2(srcString, destString); // method3(srcString, destString); // method4(srcString, destString); // method5(srcString, destString); } // Чַһһַ private static void method5(String srcString, String destString) throws IOException { BufferedReader br = new BufferedReader(new FileReader(srcString)); BufferedWriter bw = new BufferedWriter(new FileWriter(destString)); String line = null; while ((line = br.readLine()) != null) { bw.write(line); bw.newLine(); bw.flush(); } bw.close(); br.close(); } // Чַһһַ private static void method4(String srcString, String destString) throws IOException { BufferedReader br = new BufferedReader(new FileReader(srcString)); BufferedWriter bw = new BufferedWriter(new FileWriter(destString)); char[] chs = new char[1024]; int len = 0; while ((len = br.read(chs)) != -1) { bw.write(chs, 0, len); } bw.close(); br.close(); } // Чַһһַ private static void method3(String srcString, String destString) throws IOException { BufferedReader br = new BufferedReader(new FileReader(srcString)); BufferedWriter bw = new BufferedWriter(new FileWriter(destString)); int ch = 0; while ((ch = br.read()) != -1) { bw.write(ch); } bw.close(); br.close(); } // ַһһַ private static void method2(String srcString, String destString) throws IOException { FileReader fr = new FileReader(srcString); FileWriter fw = new FileWriter(destString); char[] chs = new char[1024]; int len = 0; while ((len = fr.read(chs)) != -1) { fw.write(chs, 0, len); } fw.close(); fr.close(); } // ַһһַ private static void method1(String srcString, String destString) throws IOException { FileReader fr = new FileReader(srcString); FileWriter fw = new FileWriter(destString); int ch = 0; while ((ch = fr.read()) != -1) { fw.write(ch); } fw.close(); fr.close(); } } ================================================ FILE: day21/code/day21_IOTest/src/cn/itcast_02/ArrayListToFileDemo.java ================================================ package cn.itcast_02; import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; import java.util.ArrayList; /* * ArrayListеַݴ洢ıļ * * Դ * ArrayList * Ŀĵأ * array.txt */ public class ArrayListToFileDemo { public static void main(String[] args) throws IOException { // ϶ // װԴ ArrayList array = new ArrayList(); array.add("hello"); array.add("world"); array.add("java"); // װĿĵ BufferedWriter bw = new BufferedWriter(new FileWriter("array.txt")); for (String line : array) { bw.write(line); bw.newLine(); bw.flush(); } // ͷԴ bw.close(); } } ================================================ FILE: day21/code/day21_IOTest/src/cn/itcast_02/FileToArrayListDemo.java ================================================ package cn.itcast_02; import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; import java.util.ArrayList; /* * ıļжȡ(ÿһΪһַ)У * * Դ * array.txt * Ŀĵأ * ArrayList */ public class FileToArrayListDemo { public static void main(String[] args) throws IOException { // װԴ BufferedReader br = new BufferedReader(new FileReader("array.txt")); // װĿĵ ArrayList array = new ArrayList(); String line = null; while ((line = br.readLine()) != null) { array.add(line); } br.close(); // for (String s : array) { System.out.println(s); } } } ================================================ FILE: day21/code/day21_IOTest/src/cn/itcast_02/GetNameDemo.java ================================================ package cn.itcast_02; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.util.ArrayList; import java.util.Random; /* * names.txtд洢ǰͬѧơ * дһܣÿгһƳ * * * A:ıļ,Ҫȡ * B:Ѷȡݴ洢 * C:һ * D:ӼиȡһֵͿ */ public class GetNameDemo { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new FileReader("names.txt")); ArrayList array = new ArrayList(); String line = null; while ((line = br.readLine()) != null) { array.add(line); } br.close(); // һ // int index = (int) (Math.random() * array.size()); // // [0,array.size()-1) Random r = new Random(); int index = r.nextInt(array.size()); System.out.println("ǣ" + array.get(index)); // Ϊչ array.remove(index); BufferedWriter bw = new BufferedWriter(new FileWriter("names.txt")); for (String name : array) { bw.write(name); bw.newLine(); bw.flush(); } bw.close(); } } ================================================ FILE: day21/code/day21_IOTest/src/cn/itcast_03/ChangeNameDemo.java ================================================ package cn.itcast_03; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; /* * Ƶļָļ޸ļ * 󣺰d:\\javaļµjavaļƵd:\\jadĿ¼£޸ĺ׺Ϊjad * * * A:װԴĿ¼ * B:װĿĵĿ¼ * C:ȡԴĿ¼µļFile * D:File,õÿһFile * E:Ƽ * Դd:\\java\\ForDemo.java * Ŀĵأd:\\jad\\ForDemo.jad */ public class ChangeNameDemo { public static void main(String[] args) throws IOException { // װԴĿ¼ File srcFolder = new File("d:\\java"); // װĿĵĿ¼ File destFolder = new File("d:\\jad"); if (!destFolder.exists()) { destFolder.mkdir(); } // ȡԴĿ¼µļFile File[] fileArray = srcFolder.listFiles(); // File,õÿһFile for (File file : fileArray) { // System.out.println(file); // d:\java\ForDemo.java String name = file.getName(); // ForDemo.java name = name.replace(".java", ".jad"); // ForDemo.jad File newFile = new File(destFolder, name); // d:\\jad\\ForDemo.jad copy(file, newFile); } } private static void copy(File file, File newFile) throws IOException { BufferedInputStream bis = new BufferedInputStream(new FileInputStream( file)); BufferedOutputStream bos = new BufferedOutputStream( new FileOutputStream(newFile)); byte[] bys = new byte[1024]; int len = 0; while ((len = bis.read(bys)) != -1) { bos.write(bys, 0, len); } bos.close(); bis.close(); } } ================================================ FILE: day21/code/day21_IOTest/src/cn/itcast_03/CopyFolderDemo.java ================================================ package cn.itcast_03; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; /* * Ƶļ * * Դ * d:\\demo * Ŀĵأ * demo * * * A:Ŀĵشļ * B:ȡԴļµļFile * C:File飬õÿһFile * D:ƸFile * Դd:\\demo\\a.txt * Ŀĵأdemo\\a.txt */ public class CopyFolderDemo { public static void main(String[] args) throws IOException { // װԴļ File srcFolder = new File("d:\\demo"); // Ŀĵشļ // װԴһļУжǷڣڣʹ File destFolder = new File(srcFolder.getName()); if (!destFolder.exists()) { destFolder.mkdir(); } // ȡԴļµļFile File[] fileArray = srcFolder.listFiles(); // File飬õÿһFile for (File file : fileArray) { String name = file.getName(); // a.txt File newFile = new File(destFolder, name); // demo\\a.txt copy(file, newFile); } } private static void copy(File file, File newFile) throws IOException { BufferedInputStream bis = new BufferedInputStream(new FileInputStream( file)); BufferedOutputStream bos = new BufferedOutputStream( new FileOutputStream(newFile)); byte[] bys = new byte[1024]; int len = 0; while ((len = bis.read(bys)) != -1) { bos.write(bys, 0, len); } bos.close(); bis.close(); } } ================================================ FILE: day21/code/day21_IOTest/src/cn/itcast_04/Student.java ================================================ package cn.itcast_04; public class Student { private String name; private int chinese; private int math; private int english; public Student(String name, int chinese, int math, int english) { super(); this.name = name; this.chinese = chinese; this.math = math; this.english = english; } public Student() { super(); } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getChinese() { return chinese; } public void setChinese(int chinese) { this.chinese = chinese; } public int getMath() { return math; } public void setMath(int math) { this.math = math; } public int getEnglish() { return english; } public void setEnglish(int english) { this.english = english; } public int getSum() { return chinese + math + english; } } ================================================ FILE: day21/code/day21_IOTest/src/cn/itcast_04/StudentDemo.java ================================================ package cn.itcast_04; import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; import java.util.Comparator; import java.util.Scanner; import java.util.TreeSet; /* * ¼5ѧϢ(,ijɼ,ѧɼ,Ӣɼ),ִܷӸߵʹıļ * * * A:ѧ * B:ʹTreeSetϴ洢ѧϢܷñȽʵ * C:¼ѧϢ * D:SetϣѧϢ洢ıļ */ public class StudentDemo { public static void main(String[] args) throws IOException { // Set TreeSet ts = new TreeSet(new Comparator() { @Override public int compare(Student s1, Student s2) { int num = s2.getSum() - s1.getSum(); int num2 = num == 0 ? s1.getName().compareTo(s2.getName()) : num; return num2; } }); System.out.println("ѧ¼뿪ʼ----------------------"); // ¼ for (int x = 1; x <= 5; x++) { Scanner sc = new Scanner(System.in); System.out.println("" + x + "ѧ"); String name = sc.nextLine(); System.out.println("" + x + "ѧijɼ"); int chinese = sc.nextInt(); System.out.println("" + x + "ѧѧɼ"); int math = sc.nextInt(); System.out.println("" + x + "ѧӢɼ"); int english = sc.nextInt(); // ѧ Student s = new Student(); s.setName(name); s.setChinese(chinese); s.setMath(math); s.setEnglish(english); // ѧӵ ts.add(s); } System.out.println("ѧ¼----------------------"); // ѧϢ洢ıļ BufferedWriter bw = new BufferedWriter(new FileWriter("students.txt")); bw.write(",ijɼ,ѧɼ,Ӣɼ"); bw.newLine(); bw.flush(); for (Student s : ts) { StringBuilder sb = new StringBuilder(); sb.append(s.getName()).append(",").append(s.getChinese()) .append(",").append(s.getMath()).append(",") .append(s.getEnglish()); bw.write(sb.toString()); bw.newLine(); bw.flush(); } bw.close(); System.out.println("ݳɹдļ"); } } ================================================ FILE: day21/code/day21_IOTest/src/cn/itcast_05/StringDemo.java ================================================ package cn.itcast_05; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.util.Arrays; /* *֪s.txtļһַhcexfgijkamdnoqrzstuvwybpl *дȡݣдss.txtС * * * A:ȡļݣһΣַܡ * B:ַתַ * C:ַ * D:ַתַ * E:ַдıļ */ public class StringDemo { public static void main(String[] args) throws IOException { // ȡļݣһΣַܡ BufferedReader br = new BufferedReader(new FileReader("s.txt")); String line = br.readLine(); br.close(); // ַתַ char[] chs = line.toCharArray(); // ַ Arrays.sort(chs); // ַתַ String s = String.valueOf(chs); // ַдıļ BufferedWriter bw = new BufferedWriter(new FileWriter("ss.txt")); bw.write(s); bw.newLine(); bw.flush(); bw.close(); } } ================================================ FILE: day21/code/day21_IOTest/ss.txt ================================================ abcdefghijklmnopqrstuvwxyz ================================================ FILE: day21/code/day21_IOTest/students.txt ================================================ ,ijɼ,ѧɼ,Ӣɼ ϼ,100,99,98 ,99,80,88 ,80,100,70 ɳʪ,70,90,90 ,60,70,50 ================================================ FILE: day21/code/day21_login_regist/.classpath ================================================ ================================================ FILE: day21/code/day21_login_regist/.project ================================================ day21_login_regist org.eclipse.jdt.core.javabuilder org.eclipse.jdt.core.javanature ================================================ FILE: day21/code/day21_login_regist/.settings/org.eclipse.jdt.core.prefs ================================================ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.compliance=1.7 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.source=1.7 ================================================ FILE: day21/code/day21_login_regist/src/cn/itcast/dao/UserDao.java ================================================ package cn.itcast.dao; import cn.itcast.pojo.User; /** * ûĽӿ * * @author fqy * @version V1.0 */ public interface UserDao { /** * û¼ * * @param username * û * @param password * * @return ¼Ƿɹ */ public abstract boolean isLogin(String username, String password); // ˵עҲӦ÷booleanͣǵListϵļϣԪԶtrueأҾͷvoid // 뷨ҲӦû룬?Ҵһûû롣 // һIJ3ʱ򣬽鴫ݶ /** * ûעṦ * * @param user * û */ public abstract void regist(User user); } ================================================ FILE: day21/code/day21_login_regist/src/cn/itcast/dao/impl/UserDaoImpl.java ================================================ package cn.itcast.dao.impl; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import cn.itcast.dao.UserDao; import cn.itcast.pojo.User; public class UserDaoImpl implements UserDao { private static File userFile = new File("user.txt"); static { try { userFile.createNewFile(); } catch (IOException e) { e.printStackTrace(); } } @Override public boolean isLogin(String username, String password) { boolean flag = false; BufferedReader br = null; try { br = new BufferedReader(new FileReader(userFile)); String line = null; while ((line = br.readLine()) != null) { String[] datas = line.split("="); if (datas[0].equals(username) && datas[1].equals(password)) { flag = true; break; } } } catch (IOException e) { e.printStackTrace(); } finally { if (br != null) { try { br.close(); } catch (IOException e) { e.printStackTrace(); } } } return flag; } @Override public void regist(User user) { // ܹһʽ // username=password BufferedWriter bw = null; try { bw = new BufferedWriter(new FileWriter(userFile, true)); bw.write(user.getUsername() + "=" + user.getPassword()); bw.newLine(); bw.flush(); } catch (IOException e) { e.printStackTrace(); } finally { if (bw != null) { try { bw.close(); } catch (IOException e) { e.printStackTrace(); } } } } } ================================================ FILE: day21/code/day21_login_regist/src/cn/itcast/game/GuessNumber.java ================================================ package cn.itcast.game; import java.util.Scanner; /** * СϷ * * @author fqy * @version V1.0 */ public class GuessNumber { private GuessNumber() { } public static void start() { // int number = (int) (Math.random() * 100) + 1; while (true) { // ¼ Scanner sc = new Scanner(System.in); System.out.println("Ҫµݣ"); int guessNumber = sc.nextInt(); // ж if (guessNumber > number) { System.out.println("µ" + guessNumber + ""); } else if (guessNumber < number) { System.out.println("µ" + guessNumber + "С"); } else { System.out.println("ϲ㣬"); break; } } } } ================================================ FILE: day21/code/day21_login_regist/src/cn/itcast/pojo/User.java ================================================ package cn.itcast.pojo; /** * û * * @author fqy * @version V1.0 */ public class User { // û private String username; // private String password; public User() { super(); } public User(String username, String password) { super(); this.username = username; this.password = password; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } } ================================================ FILE: day21/code/day21_login_regist/src/cn/itcast/test/UserTest.java ================================================ package cn.itcast.test; import java.util.Scanner; import cn.itcast.dao.UserDao; import cn.itcast.dao.impl.UserDaoImpl; import cn.itcast.game.GuessNumber; import cn.itcast.pojo.User; /* * Dz */ public class UserTest { public static void main(String[] args) { wc: while (true) { // ӭ System.out.println("-----------ӭ------------"); System.out.println("1 ¼"); System.out.println("2 ע"); System.out.println("3 ˳"); System.out.println("ѡ"); // ¼ Scanner sc = new Scanner(System.in); String choiceString = sc.nextLine(); // ദʹ UserDao ud = new UserDaoImpl(); switch (choiceString) { case "1": System.out.println("-----------¼------------"); // ¼û System.out.println("û"); String username = sc.nextLine(); System.out.println("룺"); String password = sc.nextLine(); // ù // UserDao ud = new UserDaoImpl(); boolean flag = ud.isLogin(username, password); if (flag) { System.out.println("¼ɹ"); String yn; do { // Ϸ GuessNumber.start(); System.out.println("㻹Ҫ?y:"); yn = sc.nextLine(); } while ("y".equals(yn)); // break wc; } else { System.out.println("¼ʧ,صѡ"); } break; case "2": System.out.println("-----------ע------------"); // ¼û System.out.println("û"); String newUsername = sc.nextLine(); System.out.println("룺"); String newPassword = sc.nextLine(); // ù // UserDao ud = new UserDaoImpl(); // ݷװ // User user = new User(newUsername, newPassword); User user = new User(); user.setUsername(newUsername); user.setPassword(newPassword); ud.regist(user); System.out.println("עɹ,صѡ"); break; case "3": default: System.out.println("лл٣ӭ"); System.exit(0); break; } } } } ================================================ FILE: day21/code/day21_login_regist/user.txt ================================================ liuyi=liuyi admin=admin ================================================ FILE: day21/code/demo/HelloWorld.java ================================================ class HelloWorld { public static void main(String[] args) { System.out.println("Ұϼ"); } } ================================================ FILE: day21/code/demo/a.txt ================================================ hello world java ================================================ FILE: day21/code/java/ForDemo.java ================================================ /* ѭ䣺 ʼ:һЩʼ ж:֪Ҫٴ ѭ:Ҫ 仯:ͨںʵʱ */ class ForDemo { public static void main(String[] args) { //ڿ̨һ"HelloWorld" System.out.println("HelloWorld"); //ڿ̨ʮ"HelloWorld" System.out.println("HelloWorld"); System.out.println("HelloWorld"); System.out.println("HelloWorld"); System.out.println("HelloWorld"); System.out.println("HelloWorld"); System.out.println("HelloWorld"); System.out.println("HelloWorld"); System.out.println("HelloWorld"); System.out.println("HelloWorld"); System.out.println("HelloWorld"); //ڿ̨һ"HelloWorld" } } ================================================ FILE: day21/code/java/ForDemo2.java ================================================ /* forѭĸʽ for(ʼ;ж;) { ѭ; } ִ̣ A:ִгʼ B:ִж䣬䷵ֵ trueͼ falseѭ C:ִѭ D:ִп E:صB */ class ForDemo2 { public static void main(String[] args) { //ڿ̨10HelloWorld for(int x=0; x<10; x++) { System.out.println("HelloWorld"); } System.out.println("--------------"); //ʼ0ʼ for(int x=1; x<=10; x++) { System.out.println("HelloWorld"); } for(int x=1; x<11; x++) { System.out.println("HelloWorld"); } for(int x=10; x>0; x--) { System.out.println("HelloWorld"); } } } ================================================ FILE: day21/code/java/ForDemo3.java ================================================ /* 5Ľ׳ ׳ˣ n! = n*(n-1)*(n-2)*...*3*2*1 n! = n*(n-1)! */ class ForDemo3 { public static void main(String[] args) { //۳˱ int jc = 1; for(int x=1; x<=5; x++) { jc *= x; } System.out.println("5Ľ׳ǣ"+jc); } } ================================================ FILE: day21/code/java/ForDemo4.java ================================================ /* ͳơˮɻжٸ A:ҪͳжٸݣҪһͳƱ int count = 0; B:һλʵǵǷΧͨforѭͿԸ㶨 C:λֵ͵ڸǹ ȡÿһλϵ? һx 153 λx%10 ʮλx/10%10 λx/10/10%10 ǧλx/10/10/10%10 ... x == (λ*λ*λ + ʮλ*ʮλ*ʮλ + λ*λ*λ) */ class ForDemo4 { public static void main(String[] args) { //ͳƱ int count = 0; for(int x=100; x<1000; x++) { int ge = x%10; int shi = x/10%10; int bai = x/10/10%10; if(x == (ge*ge*ge + shi*shi*shi + bai*bai*bai)) { count++; } } System.out.println("ˮɻУ"+count+""); } } ================================================ FILE: day21/code/java/ForTest.java ================================================ class ForTest { public static void main(String[] args) { //ڿ̨1-10 System.out.println(1); System.out.println(2); System.out.println(3); System.out.println(4); System.out.println(5); System.out.println(6); System.out.println(7); System.out.println(8); System.out.println(9); System.out.println(10); System.out.println("------------"); for(int x=0; x<10; x++) { System.out.println(x+1); } System.out.println("------------"); for(int x=1; x<=10; x++) { System.out.println(x); } System.out.println("------------"); for(int x=10; x>0; x--) { System.out.println(x); } System.out.println("------------"); } } ================================================ FILE: day21/code/java/ForTest2.java ================================================ /* 1-10֮֮ 0+1=1 1+2=3 3+3=6 6+4=10 10+5=15 ... ΪÿһεۼӽDZ仯ģҪһרڼ¼ÿۼӵĽ Ҫ1234...ҲDZ仯ģҲҪһѭܵõÿֵ */ class ForTest2 { public static void main(String[] args) { // //System.out.println(1+2+3+4+5+6+7+8+9+10); //ѭ int sum = 0; for(int x=1; x<=10; x++) { //x=1,2,3,4,...10 //sum = sum + x; //sum=0 + 1 = 1; //sum = sum + x; //sum=1 + 2 = 3; //sum = sum + x; sum += x; } System.out.println("1-10ĺǣ"+sum); } } ================================================ FILE: day21/code/java/ForTest3.java ================================================ class ForTest3 { public static void main(String[] args) { //1-100֮ż /* //ͱ int sum = 0; //ͨforѭȡÿһ for(int x=1; x<=100; x++) { //ۼ sum += x; } // System.out.println("1-100֮ͣ"+sum); System.out.println("---------------"); */ //ż:ܱ2 //жǷܹ? x%2 == 0 /* int sum = 0; for(int x=1; x<=100; x++) { if(x%2 == 0) { sum += x; } } System.out.println("1-100żͣ"+sum); */ int sum = 0; for(int x=0; x<=100; x+=2) { sum += x; } System.out.println("1-100żͣ"+sum); } } ================================================ FILE: day21/code/java/ForTest4.java ================================================ /* νˮɻָһλλֵ͵ڸ 153һˮɻ 153 = 1*1*1 + 5*5*5 + 3*3*3 A:һλʵǵǷΧͨforѭͿԸ㶨 B:λֵ͵ڸǹ ȡÿһλϵ? һx 153 λx%10 ʮλx/10%10 λx/10/10%10 ǧλx/10/10/10%10 ... x == (λ*λ*λ + ʮλ*ʮλ*ʮλ + λ*λ*λ) */ class ForTest4 { public static void main(String[] args) { for(int x=100; x<1000; x++) { int ge = x%10; int shi = x/10%10; int bai = x/10/10%10; if(x == (ge*ge*ge + shi*shi*shi + bai*bai*bai)){ System.out.println(x); } } } } ================================================ FILE: day21/code/java/ForTest5.java ================================================ /* ڿ̨λ λλ ʮλǧλ λ+ʮλ+ǧλ+λ=λ A:λǷΧ B:ȡÿһλϵݡ C: λλ ʮλǧλ λ+ʮλ+ǧλ+λ=λ */ class ForTest5 { public static void main(String[] args) { for(int x=10000; x<100000; x++) { int ge = x%10; int shi = x/10%10; int bai = x/10/10%10; int qian = x/10/10/10%10; int wan = x/10/10/10/10%10; if((ge == wan) && (shi == qian) && (ge+shi+qian+wan == bai)) { System.out.println(x); } } } } ================================================ FILE: day21/code/java/ForTest6.java ================================================ /* ͳ1-1000֮ͬʱжٸ 32 53 72 A:һͳƱ B:1-1000֮˷ΧforѭԽ C: 32 53 72 x%3 == 2 x%5 == 3 x%7 == 2 */ class ForTest6 { public static void main(String[] args) { //һͳƱ int count = 0; //1-1000֮˷ΧforѭԽ for(int x=1; x<=1000; x++) { //ж if(x%3==2 && x%5==3 && x%7==2) { //System.out.println(x); count++; } } System.out.println(""+count+""); } } ================================================ FILE: day21/day21总结.txt ================================================ 1:ֽڻ() (1)ΪЧʣjavaṩֽڻ (2)ֽڻ BufferedInputStream BufferedOutputStream (3)Ƶļ A:ֽһζдһֽ B:ֽһζдһֽ C:Чֽһζдһֽ D:Чֽһζдһֽ (4)һЩ A:ڵ B: ߼ 2:ת() (1)Ϊֽıļرķ㣬ԣjavaṩת DzıļݸһЩ (2)תһַ ַ = ֽ + (3) ַͶӦɵһű ASCII ISO-8859-1 GB2312,GBK,GB18030 BIG5 UTF-8 (4) A:Stringı B:IOеı ͳһ룬Ͳκ⡣ 3:ַ() (1)ַϵ Reader |--InputStreamReader |--FileReader |--BufferedReader Writer |--OutputStreamWriter |--FileWriter |--BufferedWriter (2)ַ A:ַһζдһַ B:ַһζдһַ C:Чַһζдһַ D:Чַһζдһַ E:Чַһζдһַ 4:IOС() IO |--ֽ |-- InputStream |--FileInputStream |--BufferedInputStream |-- OutputStream |--FileOutputStream |--BufferedOutputStream |--ַ |-- Reader |--FileReader |--BufferedReader |-- Writer |--FileWriter |--BufferedWriter ıļ 9ַ ֽ4 ַ5 ʹַһ֡ ƶݣ 4ַ 㲻ֽ֪ ================================================ FILE: day22/code/day22_IO/.classpath ================================================ ================================================ FILE: day22/code/day22_IO/.project ================================================ day22_IO org.eclipse.jdt.core.javabuilder org.eclipse.jdt.core.javanature ================================================ FILE: day22/code/day22_IO/.settings/org.eclipse.core.resources.prefs ================================================ eclipse.preferences.version=1 encoding//src/cn/itcast_12/JDK7Demo.java=UTF-8 ================================================ FILE: day22/code/day22_IO/.settings/org.eclipse.jdt.core.prefs ================================================ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.compliance=1.7 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.source=1.7 ================================================ FILE: day22/code/day22_IO/a.txt ================================================ package cn.itcast_01; import java.io.IOException; import java.io.Reader; public class MyBufferedReader { private Reader r; public MyBufferedReader(Reader r) { // Reader r = new FileReader("my.txt"); this.r = r; } public String readLine() throws IOException { /* * ֪rrȡַʽһζȡһַһζȡһַ * ׼ĸ?ķʽȲȷԣȷһζȡһַ * ÿζȡһַȡڶַʱǰһͻᶪʧԣҪ취Ѷȡַ * ʲô?ͨ򵥵ķȷStringBuilder */ StringBuilder sb = new StringBuilder(); // while (true) { // // һζȡһַ // int ch = r.read(); // if (ch == '\r') { // continue; // } // if (ch == '\n') { // // return sb.toString(); // break; // } else { // sb.append((char) ch); // } // } // return sb.toString(); // νѭ? int ch = 0; while ((ch = r.read()) != -1) { if (ch == '\r') { continue; } if (ch == '\n') { return sb.toString(); } else { sb.append((char) ch); } } // ֹݶʧ if (sb.length() > 0) { return sb.toString(); } return null; } public void close() throws IOException { r.close(); } } ================================================ FILE: day22/code/day22_IO/array.txt ================================================ hello world java ================================================ FILE: day22/code/day22_IO/b.txt ================================================ package cn.itcast_01; import java.io.IOException; import java.io.Reader; public class MyBufferedReader { private Reader r; public MyBufferedReader(Reader r) { // Reader r = new FileReader("my.txt"); this.r = r; } public String readLine() throws IOException { /* * ֪rrȡַʽһζȡһַһζȡһַ * ׼ĸ?ķʽȲȷԣȷһζȡһַ * ÿζȡһַȡڶַʱǰһͻᶪʧԣҪ취Ѷȡַ * ʲô?ͨ򵥵ķȷStringBuilder */ StringBuilder sb = new StringBuilder(); // while (true) { // // һζȡһַ // int ch = r.read(); // if (ch == '\r') { // continue; // } // if (ch == '\n') { // // return sb.toString(); // break; // } else { // sb.append((char) ch); // } // } // return sb.toString(); // νѭ? int ch = 0; while ((ch = r.read()) != -1) { if (ch == '\r') { continue; } if (ch == '\n') { return sb.toString(); } else { sb.append((char) ch); } } // ֹݶʧ if (sb.length() > 0) { return sb.toString(); } return null; } public void close() throws IOException { r.close(); } } ================================================ FILE: day22/code/day22_IO/playCount.txt ================================================ #Thu Apr 09 16:28:54 CST 2015 count=0 ================================================ FILE: day22/code/day22_IO/src/cn/itcast_01/MyBufferedReader.java ================================================ package cn.itcast_01; import java.io.IOException; import java.io.Reader; public class MyBufferedReader { private Reader r; public MyBufferedReader(Reader r) { // Reader r = new FileReader("my.txt"); this.r = r; } public String readLine() throws IOException { /* * ֪rrȡַʽһζȡһַһζȡһַ * ׼ĸ?ķʽȲȷԣȷһζȡһַ * ÿζȡһַȡڶַʱǰһͻᶪʧԣҪ취Ѷȡַ * ʲô?ͨ򵥵ķȷStringBuilder */ StringBuilder sb = new StringBuilder(); // while (true) { // // һζȡһַ // int ch = r.read(); // if (ch == '\r') { // continue; // } // if (ch == '\n') { // // return sb.toString(); // break; // } else { // sb.append((char) ch); // } // } // return sb.toString(); // νѭ? int ch = 0; while ((ch = r.read()) != -1) { if (ch == '\r') { continue; } if (ch == '\n') { return sb.toString(); } else { sb.append((char) ch); } } // ֹݶʧ if (sb.length() > 0) { return sb.toString(); } return null; } public void close() throws IOException { r.close(); } } ================================================ FILE: day22/code/day22_IO/src/cn/itcast_01/MyBufferedReaderDemo.java ================================================ package cn.itcast_01; import java.io.FileReader; import java.io.IOException; /* * ReaderģBufferedReaderreadLine() */ public class MyBufferedReaderDemo { public static void main(String[] args) throws IOException { MyBufferedReader mbr = new MyBufferedReader(new FileReader("my.txt")); String line = null; while ((line = mbr.readLine()) != null) { System.out.println(line); } mbr.close(); } } ================================================ FILE: day22/code/day22_IO/src/cn/itcast_02/LineNumberReaderDemo.java ================================================ package cn.itcast_02; import java.io.FileReader; import java.io.IOException; import java.io.LineNumberReader; /* * public int getLineNumber():ȡǰк * public void setLineNumber(int lineNumber):õǰк */ public class LineNumberReaderDemo { public static void main(String[] args) throws IOException { LineNumberReader lnr = new LineNumberReader(new FileReader("my.txt")); lnr.setLineNumber(100); // System.out.println(lnr.getLineNumber()); // System.out.println(lnr.getLineNumber()); // System.out.println(lnr.getLineNumber()); String line = null; while ((line = lnr.readLine()) != null) { System.out.println(lnr.getLineNumber() + ":" + line); } lnr.close(); } } ================================================ FILE: day22/code/day22_IO/src/cn/itcast_02/MyLineNumberReader.java ================================================ package cn.itcast_02; import java.io.IOException; import java.io.Reader; public class MyLineNumberReader { private Reader r; private int lineNumber; public int getLineNumber() { // return ++lineNumber; return lineNumber; } public void setLineNumber(int lineNumber) { this.lineNumber = lineNumber; } public MyLineNumberReader(Reader r) { this.r = r; } public String readLine() throws IOException { lineNumber++; StringBuilder sb = new StringBuilder(); int ch = 0; while ((ch = r.read()) != -1) { if (ch == '\r') { continue; } if (ch == '\n') { return sb.toString(); } else { sb.append((char) ch); } } // ֹݶʧ if (sb.length() > 0) { return sb.toString(); } return null; } public void close() throws IOException { r.close(); } } ================================================ FILE: day22/code/day22_IO/src/cn/itcast_02/MyMyLineNumberReaderDemo.java ================================================ package cn.itcast_02; import java.io.FileReader; import java.io.IOException; public class MyMyLineNumberReaderDemo { public static void main(String[] args) throws IOException { MyLineNumberReader lnr = new MyLineNumberReader( new FileReader("my.txt")); lnr.setLineNumber(100); // System.out.println(lnr.getLineNumber()); // System.out.println(lnr.getLineNumber()); // System.out.println(lnr.getLineNumber()); String line = null; while ((line = lnr.readLine()) != null) { System.out.println(lnr.getLineNumber() + ":" + line); } lnr.close(); } } ================================================ FILE: day22/code/day22_IO/src/cn/itcast_03/MyBufferedReader.java ================================================ package cn.itcast_03; import java.io.IOException; import java.io.Reader; public class MyBufferedReader { private Reader r; public MyBufferedReader(Reader r) { // Reader r = new FileReader("my.txt"); this.r = r; } public String readLine() throws IOException { /* * ֪rrȡַʽһζȡһַһζȡһַ * ׼ĸ?ķʽȲȷԣȷһζȡһַ * ÿζȡһַȡڶַʱǰһͻᶪʧԣҪ취Ѷȡַ * ʲô?ͨ򵥵ķȷStringBuilder */ StringBuilder sb = new StringBuilder(); // while (true) { // // һζȡһַ // int ch = r.read(); // if (ch == '\r') { // continue; // } // if (ch == '\n') { // // return sb.toString(); // break; // } else { // sb.append((char) ch); // } // } // return sb.toString(); // νѭ? int ch = 0; while ((ch = r.read()) != -1) { if (ch == '\r') { continue; } if (ch == '\n') { return sb.toString(); } else { sb.append((char) ch); } } // ֹݶʧ if (sb.length() > 0) { return sb.toString(); } return null; } public void close() throws IOException { r.close(); } } ================================================ FILE: day22/code/day22_IO/src/cn/itcast_03/MyLineNumberReader.java ================================================ package cn.itcast_03; import java.io.IOException; import java.io.Reader; public class MyLineNumberReader extends MyBufferedReader { private int lineNumber; public int getLineNumber() { return lineNumber; } public void setLineNumber(int lineNumber) { this.lineNumber = lineNumber; } public MyLineNumberReader(Reader r) { super(r); } public String readLine() throws IOException { lineNumber++; return super.readLine(); } } ================================================ FILE: day22/code/day22_IO/src/cn/itcast_03/MyMyLineNumberReaderDemo.java ================================================ package cn.itcast_03; import java.io.FileReader; import java.io.IOException; public class MyMyLineNumberReaderDemo { public static void main(String[] args) throws IOException { MyLineNumberReader lnr = new MyLineNumberReader( new FileReader("my.txt")); lnr.setLineNumber(100); // System.out.println(lnr.getLineNumber()); // System.out.println(lnr.getLineNumber()); // System.out.println(lnr.getLineNumber()); String line = null; while ((line = lnr.readLine()) != null) { System.out.println(lnr.getLineNumber() + ":" + line); } lnr.close(); } } ================================================ FILE: day22/code/day22_IO/src/cn/itcast_04/DataStreamDemo.java ================================================ package cn.itcast_04; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; /* * ѻ͵дļԴļȡ */ public class DataStreamDemo { public static void main(String[] args) throws IOException { // write(); read(); } private static void read() throws IOException { // DataInputStream(InputStream in) DataInputStream dis = new DataInputStream( new FileInputStream("dos.txt")); // System.out.println(dis.readByte()); System.out.println(dis.readShort()); System.out.println(dis.readInt()); System.out.println(dis.readLong()); System.out.println(dis.readFloat()); System.out.println(dis.readDouble()); System.out.println(dis.readChar()); System.out.println(dis.readBoolean()); // ͷԴ dis.close(); } private static void write() throws IOException { // DataOutputStream(OutputStream out) DataOutputStream dos = new DataOutputStream(new FileOutputStream( "dos.txt")); // д dos.writeByte(1); dos.writeShort(10); dos.writeInt(100); dos.writeLong(1000); dos.writeFloat(1.1f); dos.writeDouble(2.2); dos.writeChar('a'); dos.writeBoolean(true); // ͷԴ dos.close(); } } ================================================ FILE: day22/code/day22_IO/src/cn/itcast_05/ArrayStreamDemo.java ================================================ package cn.itcast_05; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; /* * ڴڴתһȦ * ByteArrayInputStream * ByteArrayOutputStream */ public class ArrayStreamDemo { public static void main(String[] args) throws IOException { // public ByteArrayOutputStream() ByteArrayOutputStream baos = new ByteArrayOutputStream(); baos.write("helloworld".getBytes()); baos.write("javajava".getBytes()); baos.write("android".getBytes()); baos.close(); // public byte[] toByteArray() byte[] bys = baos.toByteArray(); // public ByteArrayInputStream(byte[] buf) ByteArrayInputStream bais = new ByteArrayInputStream(bys); int by = 0; while ((by = bais.read()) != -1) { System.out.print((char) by); } bais.close(); } } ================================================ FILE: day22/code/day22_IO/src/cn/itcast_06/CopyFileDemo.java ================================================ package cn.itcast_06; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; /* * Դ * MyBufferedReader.java -- Reader -- FileReader -- BufferedReader * Ŀĵأ * Copy.java -- Writer -- FileWriter -- BufferedWriter -- PrintWriter */ public class CopyFileDemo { public static void main(String[] args) throws IOException { // // װԴ // BufferedReader br = new BufferedReader(new FileReader( // "MyBufferedReader.java")); // // װĿĵ // BufferedWriter bw = new BufferedWriter(new FileWriter("Copy.java")); // // д // String line = null; // while ((line = br.readLine()) != null) { // bw.write(line); // bw.newLine(); // bw.flush(); // } // // ͷԴ // bw.close(); // br.close(); // PrintWriterĽ BufferedReader br = new BufferedReader(new FileReader( "MyBufferedReader.java")); PrintWriter pw = new PrintWriter(new FileWriter("Copy.java"), true); String line = null; while ((line = br.readLine()) != null) { pw.println(line); } pw.close(); br.close(); } } ================================================ FILE: day22/code/day22_IO/src/cn/itcast_06/PrintWriterDemo.java ================================================ package cn.itcast_06; import java.io.IOException; import java.io.PrintWriter; /* * ӡ * ֽӡ PrintStream * ַӡ PrintWriter * * ص㣺 * A:ֻܲĿĵأܲԴ * B:Բ͵ݡ * C:Զˢ£ܹԶˢ¡ * D:Բļ * ЩֱӲļ? FileInputStream,FileOutputStream,FileReader,FileWriter,PrintStream,PrintWriter * 췽ͬʱԽFileString͵ĹǿԵġ */ public class PrintWriterDemo { public static void main(String[] args) throws IOException { // ӡΪWriterʹ PrintWriter pw = new PrintWriter("pw.txt"); pw.write("hello"); pw.write("\r\n"); pw.flush(); pw.write("world"); pw.write("\r\n"); pw.flush(); pw.write("java"); pw.write("\r\n"); pw.flush(); // ͷԴ pw.close(); } } ================================================ FILE: day22/code/day22_IO/src/cn/itcast_06/PrintWriterDemo2.java ================================================ package cn.itcast_06; import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; /* * print: * println: */ public class PrintWriterDemo2 { public static void main(String[] args) throws IOException { // PrintWriter(OutputStream out, boolean autoFlush) // PrintWriter(Writer out, boolean autoFlush) // PrintWriter pw = new PrintWriter("pw2.txt"); // PrintWriter pw = new PrintWriter(new FileWriter("pw2.txt"), true); // pw.print(100); // pw.print(true); // pw.print("hello"); // pw.flush(); // println() PrintWriter pw = new PrintWriter(new FileWriter("pw2.txt"), true); // ˢ£ܹʵֻ pw.println("hello"); pw.println("world"); pw.println("java"); // write,newLine,flush pw.close(); } } ================================================ FILE: day22/code/day22_IO/src/cn/itcast_07/PrintfDemo.java ================================================ package cn.itcast_07; /* * CԵ䣺printf(...) */ public class PrintfDemo { public static void main(String[] args) { // ̶ı // System.out.printf("hellworld\n"); // System.out.printf("hellworld\n"); // ָʾı // System.out.printf("%d\n", 100, 200); // System.out.printf("%d<%d\n", 100, 200); // System.out.printf("%d<%d\n", 100); // System.out.printf("%d+%d=%d\n", 10, 20, 30); // System.out.println(10 + "+" + 20 + "=" + 30); System.out.printf("%.1f\n", 12.345); System.out.printf("%.2f\n", 12.567); System.out.printf("%.2f\n", 12.564); } } ================================================ FILE: day22/code/day22_IO/src/cn/itcast_07/SystemInDemo.java ================================================ package cn.itcast_07; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; /* * ׼ * System: * public static final InputStream in:׼ * public static final PrintStream out:׼ ̨ * * ¼ݣ * A:mainܼ¼ * B:IOʵּ¼ * C:Scannerʵּ¼ */ public class SystemInDemo { public static void main(String[] args) throws IOException { // // ¼ // InputStream is = System.in; // BufferedInputStream,̬ // // System.out.println(is); // // // һζȡһ,ǿʵֵģԭBufferedReaderһ,ֻ΢鷳 // // θĽ? // // ģֱܲʹreadLine()? // // ܣҾֱܹһζȡһ,readLine()BufferedReader // // ԣҪBufferedReaderĶ // // ʱֱӰisΪݣΪʲô? // // ΪBufferedReaderַַֻܶл // // isֽԣҪǰֽתΪַȻٶַл // // ǰѧϰһתֽתΪַ // InputStreamReader isr = new InputStreamReader(is); // BufferedReader br = new BufferedReader(isr); // װ¼룬IOʵ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.println("һַ"); String line = br.readLine(); System.out.println(line); System.out.println("һint͵ֵ"); line = br.readLine(); int number = Integer.parseInt(line); System.out.println(number); // ͷԴ // br.close(); System.out.println("һint͵ֵ"); line = br.readLine(); number = Integer.parseInt(line); System.out.println(number); System.out.println("-------------------------"); // Scanner sc = new Scanner(System.in); // // ... // sc.close(); } } ================================================ FILE: day22/code/day22_IO/src/cn/itcast_07/SystemOutDemo.java ================================================ package cn.itcast_07; import java.io.IOException; import java.io.PrintStream; /* * public static final PrintStream out:׼ ̨ * * ¼룺BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); * ̨BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); */ public class SystemOutDemo { public static void main(String[] args) throws IOException { // ׼ // PrintStream ps = System.out; // OutputStream os = ps; // OutputStream os = System.out; // PrintStream,̬ // System.out.println(os); // os.write("hello\r\n".getBytes()); // os.write("world\r\n".getBytes()); // os.write("java\r\n".getBytes()); // дݵʱÿβдһַȽ鷳ǿǸĽ // BufferedWriter bw = new BufferedWriter(new OutputStreamWriter( // System.out)); // bw.write("hello"); // bw.newLine(); // bw.flush(); // bw.write("world"); // bw.newLine(); // bw.flush(); // bw.close(); // ׼ // PrintStream ps = System.out; // ps.print(100); // ps.print(true); // ps.println(100); // ps.println(true); System.out.println(100); System.out.println(true); System.out.println(); // System.out.print(); } } ================================================ FILE: day22/code/day22_IO/src/cn/itcast_08/RandomAccessFileDemo.java ================================================ package cn.itcast_08; import java.io.IOException; import java.io.RandomAccessFile; /* * RandomAccessFile:ʵֶ֧ļĶȡд롣 * RandomAccessFile(String name, String mode) * * public long getFilePointer():ƫֽΪλ * public void seek(long pos):õļͷļָƫڸλ÷һȡд */ public class RandomAccessFileDemo { public static void main(String[] args) throws IOException { write(); read(); } private static void read() throws IOException { // RandomAccessFile raf = new RandomAccessFile("raf.txt", "rw"); // System.out.println(raf.getFilePointer()); System.out.println(raf.readInt()); System.out.println(raf.getFilePointer()); System.out.println(raf.readChar()); System.out.println(raf.getFilePointer()); System.out.println(raf.readUTF()); System.out.println(raf.getFilePointer()); System.out.println("------------------"); // System.out.println(raf.read()); // raf.seek(0); // System.out.println(raf.readInt()); raf.seek(4); System.out.println(raf.readChar()); raf.seek(1000); System.out.println(raf.readUTF()); // ͷԴ raf.close(); } private static void write() throws IOException { // RandomAccessFile raf = new RandomAccessFile("raf.txt", "rw"); // д raf.writeInt(100); raf.writeChar('a'); // raf.writeUTF("hello"); raf.writeUTF("ϼ"); raf.seek(1000); raf.writeUTF(""); // ͷԴ raf.close(); } } ================================================ FILE: day22/code/day22_IO/src/cn/itcast_09/SequenceInputStreamDemo.java ================================================ package cn.itcast_09; import java.io.BufferedOutputStream; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.SequenceInputStream; import java.util.Enumeration; import java.util.Vector; /* * SequenceInputStream ʾ߼򼯺Ͽʼӵһʼȡֱļĩβ * ŴӵڶȡƣֱһļĩβΪֹ * * 췽 * SequenceInputStream(InputStream s1, InputStream s2):ϲ * SequenceInputStream(Enumeration e):ϲ */ public class SequenceInputStreamDemo { public static void main(String[] args) throws IOException { // mergeTwo(); mergeMore(); } private static void mergeMore() throws IOException { // SequenceInputStream(Enumeration e):ϲ // public Enumeration elements() // Vector // ϶ Vector v = new Vector(); // Ԫض InputStream s1 = new FileInputStream("MyBufferedReader.java"); InputStream s2 = new FileInputStream("MyBufferedReaderDemo.java"); InputStream s3 = new FileInputStream("MyLineNumberReader.java"); InputStream s4 = new FileInputStream("MyMyLineNumberReaderDemo.java"); // Ԫӵ v.add(s1); v.add(s2); v.add(s3); v.add(s4); // ͨϵĵEnumeration Enumeration en = v.elements(); // ϲ SequenceInputStream sis = new SequenceInputStream(en); BufferedOutputStream bos = new BufferedOutputStream( new FileOutputStream("Copy.java")); byte[] bys = new byte[1024]; int len = 0; while ((len = sis.read(bys)) != -1) { bos.write(bys, 0, len); } bos.close(); sis.close(); } private static void mergeTwo() throws IOException { // SequenceInputStream(InputStream s1, InputStream s2) InputStream s1 = new FileInputStream("MyBufferedReader.java"); InputStream s2 = new FileInputStream("MyBufferedReaderDemo.java"); SequenceInputStream sis = new SequenceInputStream(s1, s2); BufferedOutputStream bos = new BufferedOutputStream( new FileOutputStream("Copy.java")); byte[] bys = new byte[1024]; int len = 0; while ((len = sis.read(bys)) != -1) { bos.write(bys, 0, len); } bos.close(); sis.close(); } } ================================================ FILE: day22/code/day22_IO/src/cn/itcast_10/ObjectStreamDemo.java ================================================ package cn.itcast_10; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; /* * ΪʲôҪл? * Ϊöļг־ô洢д䡣 * * лObjectOutputStream * public final void writeObject(Object obj) * лObjectInputStream (ݵĶԭ) * public final Object readObject() */ public class ObjectStreamDemo { public static void main(String[] args) throws IOException, ClassNotFoundException { // write(); read(); } private static void read() throws IOException, ClassNotFoundException { // ObjectInputStream(InputStream is) ObjectInputStream ois = new ObjectInputStream(new FileInputStream( "oos.txt")); Object obj = ois.readObject(); ois.close(); System.out.println(obj); } private static void write() throws IOException { // ObjectOutputStream(OutputStream out) ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream( "oos.txt")); Person p = new Person("ϼ", 28); oos.writeObject(p); oos.close(); } } ================================================ FILE: day22/code/day22_IO/src/cn/itcast_10/Person.java ================================================ package cn.itcast_10; import java.io.Serializable; /* * NotSerializableException:δʵлӿ쳣 * Serializableͨʵ java.io.Serializable ӿлܡδʵִ˽ӿڵཫ޷ʹκ״̬лл * * Ժٿӿûзʸýӿʲô? * СֽӿڱΪǽӿڡ * * Exception in thread "main" java.io.InvalidClassException: * cn.itcast_10.Person; local class incompatible: * stream classdesc serialVersionUID = -1509474945256457713, * local class serialVersionUID = -8199609520215381056 * * A:лĶʵлӿڡ * B:һjavaļclassļʱҲһлidֵлļʱidֵдļ * Person.java id=100 * Person.class id=100 * oos.txt id=100 * C:һjavaļ޸ģidֵͻӦķı * Person.java id=200 * Person.class id=200 * oos.txt id=100 * ЩʱһЩ򵥵޸ģдݣûа취֤ȡݲ? * Сÿβidֵǹ̶ľͿˡ * ǣθidֵ?ôʾ? * ֪?͵꼴ɡ * ʱǾ֪idֵıʽˣһ˻ɫߵ⡣ * * л * Ѷһʽдļд * л * ݻԭɶ * ʵл? * ñлĶʵлӿ * СĸĶӰǰлԼʵлֵĻɫ? * ꣬һ̶лidֵ */ public class Person implements Serializable { private static final long serialVersionUID = 8535379254621922917L; private String name; // private int age; int age; public Person(String name, int age) { super(); this.name = name; this.age = age; } public Person() { super(); } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public String toString() { return "Person [name=" + name + ", age=" + age + "]"; } } ================================================ FILE: day22/code/day22_IO/src/cn/itcast_11/GuessNumberGame.java ================================================ package cn.itcast_11; import java.util.Scanner; public class GuessNumberGame { private GuessNumberGame() { } public static void start() { // ϵͳһ int number = (int) (Math.random() * 100) + 1; while (true) { // ¼ݣ Scanner sc = new Scanner(System.in); System.out.println("Ҫµݣ(1-100)"); int guessNumber = sc.nextInt(); // ж if (guessNumber > number) { System.out.println("µ" + guessNumber + ""); } else if (guessNumber < number) { System.out.println("µ" + guessNumber + "С"); } else { System.out.println("ϲ㣬"); break; } } } } ================================================ FILE: day22/code/day22_IO/src/cn/itcast_11/PropertiesDemo.java ================================================ package cn.itcast_11; import java.util.Properties; import java.util.Set; /* * Properties ʾһ־õԼProperties ɱлмءбÿӦֵһַ * * PropertiesΪMapϵʹ */ public class PropertiesDemo { public static void main(String[] args) { // ϶ Properties prop = new Properties(); // prop.put(1, "java"); prop.put(2, "c#"); prop.put(3, "php"); // Set set = prop.keySet(); for (Object key : set) { Object value = prop.get(key); System.out.println(key + "---" + value); } } } ================================================ FILE: day22/code/day22_IO/src/cn/itcast_11/PropertiesDemo2.java ================================================ package cn.itcast_11; import java.util.Properties; import java.util.Set; /* * Propertiesйܣ * A:ӹ * public Object setProperty(String key,String value) * B:ȡ * public String getProperty(String key) * public String getProperty(String key,String defaultValue) * public Set stringPropertyNames() */ public class PropertiesDemo2 { public static void main(String[] args) { // Properties prop = new Properties(); // prop.setProperty("it001", "javase"); prop.setProperty("it003", "android"); prop.setProperty("it002", "javaee"); // ȡ // // public String getProperty(String key) // System.out.println(prop.getProperty("it001")); // System.out.println(prop.getProperty("it007")); // // public String getProperty(String key,String defaultValue) // System.out.println(prop.getProperty("it007", "dz")); // public Set stringPropertyNames() Set set = prop.stringPropertyNames(); for (String key : set) { String value = prop.getProperty(key); System.out.println(key + "---" + value); } } } /* * class Properties extends Hashtable { private Hashtable ht; * * public Properties() { ht = new Hashtable(); } * * public Object setProperty(String key,String value) { return * ht.put(key,value); } } */ ================================================ FILE: day22/code/day22_IO/src/cn/itcast_11/PropertiesDemo3.java ================================================ package cn.itcast_11; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.Reader; import java.io.Writer; import java.util.Properties; /* * PropertiesIOĽʹá * A:ıļеݶȡ * Դıļ * Ŀĵأ * * public void load(InputStream inStream) * public void load(Reader reader) * B:Ѽеݴ洢ıļ * Դ * Ŀĵأıļ * * public void store(OutputStream out,String comments) * public void store(Writer writer,String comments) */ public class PropertiesDemo3 { public static void main(String[] args) throws IOException { // ϶ Properties prop = new Properties(); // public void load(Reader reader) Reader r = new FileReader("prop.txt"); prop.load(r); r.close(); System.out.println("prop:" + prop); System.out.println("---------------------"); // ϶ Properties prop2 = new Properties(); prop2.setProperty("001", "hello"); prop2.setProperty("002", "world"); prop2.setProperty("003", "java"); // public void store(Writer writer,String comments) Writer w = new FileWriter("w.txt"); prop2.store(w, null); w.close(); } } ================================================ FILE: day22/code/day22_IO/src/cn/itcast_11/PropertiesTest.java ================================================ package cn.itcast_11; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.Reader; import java.io.Writer; import java.util.Properties; import java.util.Set; /* * һıļuser.txt֪ǼֵʽģDz֪ʲô * дһжǷСlisiļڣо͸ıֵΪ100 * * * A:ıļݼص * B:ϣȡÿһ * C:жϼֵǷΪlisi * ǣ޸ֵΪ100 * 񣺲 * D:Ѽеݴ洢ıļ */ public class PropertiesTest { public static void main(String[] args) throws IOException { // ıļݼص Properties prop = new Properties(); Reader r = new FileReader("user.txt"); prop.load(r); r.close(); // ϣȡÿһ Set set = prop.stringPropertyNames(); for (String key : set) { // жϼֵǷΪlisi if ("lisi".equals(key)) { // ޸ֵΪ100 prop.setProperty(key, "100"); break; } } // Ѽеݴ洢ıļ Writer w = new FileWriter("user.txt"); prop.store(w, null); w.close(); } } ================================================ FILE: day22/code/day22_IO/src/cn/itcast_11/PropertiesTest2.java ================================================ package cn.itcast_11; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.Reader; import java.io.Writer; import java.util.Properties; /* * һСϷijдһʵڲֻ5Σ5ʾףϷѽ븶ѡ * * * A:дһСϷij * B:ڲп棬Dzܳ5 * C:ο? * Ϳ԰ĴдһļУÿ֮ǰȶȡļеĴж * ûг5ΣͿԼ棬Ͳˣʾɡ * * ȺӢ2(ȼ) */ public class PropertiesTest2 { public static void main(String[] args) throws IOException { // ϶ Properties prop = new Properties(); Reader r = new FileReader("playCount.txt"); prop.load(r); r.close(); // ȡ String value = prop.getProperty("count"); // ַתint͵ֵ int count = Integer.parseInt(value); if (count >= 5) { System.out.println("ףϷѽҰ೤ѡ:10086"); } else { GuessNumberGame.start(); count++; // ޸ļ prop.setProperty("count", String.valueOf(count)); // Ѽϵдıļ Writer w = new FileWriter("playCount.txt"); prop.store(w, null); w.close(); } } } ================================================ FILE: day22/code/day22_IO/src/cn/itcast_12/JDK7Demo.java ================================================ package cn.itcast_12; import java.io.IOException; import java.nio.charset.Charset; import java.nio.file.Files; import java.nio.file.Paths; import java.util.ArrayList; /* * JDK4以后,出现了新IO。在nio包下。和以前的IO相比,它是把文件映射到内存,效率更高。 * JDK7出现了几个新东西: * Path:与平台无关的路径。 * Paths:包含了返回Path的静态方法。 * public static Path get(URI uri):根据给定的URI来确定文件路径。 * Files:操作文件的工具类。提供了大量的方法,简单了解如下方法 * public static long copy(Path source, OutputStream out) :复制文件 * public static Path write(Path path, Iterable lines, Charset cs, OpenOption... options): * 把集合的数据写到文件。 */ public class JDK7Demo { public static void main(String[] args) throws IOException { // public static long copy(Path source, OutputStream out) // Files.copy(Paths.get("a.txt"), new FileOutputStream("b.txt")); // Files.copy(Paths.get("d:\\mn.bmp"), new FileOutputStream("mn.bmp")); // 把集合数据写到文本文件 // ArrayList array = new ArrayList(); // array.add("hello"); // array.add("world"); // array.add("java"); // Files.write(Paths.get("array.txt"), array, Charset.forName("GBK")); } } ================================================ FILE: day22/code/day22_IO/user.txt ================================================ #Thu Apr 09 16:16:18 CST 2015 zhangsan=30 lisi=100 wangwu=50 ================================================ FILE: day22/day22.txt ================================================ 1 (1)ReaderģBufferedReaderreadLine() (2)ReaderBufferedReaderģreadNumberLine() (3)̳иĵڶ 2ݲ DataInputStream/DataOutputStream:ܹеĻͣעд˳򱣳һ 3ڴ() ݲô ByteArrayInputStream/ByteArrayOutputStream:ֽ CharArrayReader/CharArrayWriter:ַ StringReader/StringWriter:ַ 4ӡ PrintWriter/PrintStream ص㣺ֻܲĿĵأܲԴ Բ͵ Զˢ£Զˢ£Զˢ£printlnʹãһ䶥 ȥ ֱӲļ 췽ͬʱFileString͵ĶֱӲļ printfʹãString format % ʽ 5׼ System.in:BufferedReader br = new BufferedReader(new InputStream(System.in)); System.out:BufferedWriter bw = new BufferedWriter(new OutputStream(System.out)); оļ·ͷԴ 6ȡ RandomAccessFile: seek() 7ϲ SequenceInputStream: 췽 InputStream նInputStream 8л лΪöôʵдɵĶ ллԭ лʵSeriableӿ ûκηӿڵ壺ǽӿ С⣺ֻҪһССı䶯²һлidֵ ָһ̶SerialVersionUID 9:Propertiesϣ 10nio ================================================ FILE: day22/day22总结.txt ================================================ 1() (1)ͨReaderģBufferedReaderreadLine() (2)ͨReaderģLineNumberReaderreadLine()getLineNumber()setLineNumber() 2ݲ() (1)԰ѻ͵дıļҲԴıļжȡ (2)ݲ A:DataInputStream B:DataOutputStream 3ڴ() (1)ݽڴ,ǿԸı (2)ڴ A:ֽ ByteArrayInputStream ByteArrayOutputStream B:ַ CharArrayReader CharArrayWriter C:ַ StringReader StringWriter 4ӡ() (1)Ϊֽڴӡַӡ (2)ַӡ A:ֻĿĵأԴ B:Բ C:Զˢ£ڵprintln()ʱ򣬿Զˢºͻ D:ֱӲļ ⣺ЩֱӲļ? 췽ͬʱFileStringIJͿԡ (3)ıļ BufferedReader br = new BufferedReader(new FileReader("a.txt")); PrintWriter pw = new PrintWriter(new FileWriter("b.txt"),true); String line = null; while((line=br.readLine())!=null) { pw.println(line); } pw.close(); br.close(); 5׼() (1)׼ System.in BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); (2)׼ System.out BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); ʵǵ䱾ʾIO PrintStream ps = System.out; ps.print(...) ps.println(...) System.out.print(...) System.out.println(....); 6() (1)ָλд,ҲԴָλöȡݡԼȿдݣԶ (2)Լȥ 7ϲ() (1)ҪѶļϲһжȡҪʹúϲ ָһļ mn.jpg (4100) 001.jpg 1024 002.jpg 1024 003.jpg 1024 004.jpg 1024 005.jpg 4 (2)ʵļĺϲԼļĺϲ 8л() (1)л Ѷһķʽ洢ļд (2)л ݻԭɶ (3)ʵл ñлʵлӿ (4)ν? A:СĶļ B:ɫ ꣬һ̶лidֵ 9Properties() (1)MapӼϣԺIOнʹáֵַ (2)й A:ӹ setProperty(String key,String value) B:ȡ getProperty(String key) stringProertyNames() (3) A:жuser.txtûмΪlisiģо޸ֵΪ100 B:СϷֻ5 10NIO(˽) (1)JDK4ʼNIOµĶ (2)JDK7¶дһ ================================================ FILE: day23/code/day23_Thread/.classpath ================================================ ================================================ FILE: day23/code/day23_Thread/.project ================================================ day23_Thread org.eclipse.jdt.core.javabuilder org.eclipse.jdt.core.javanature ================================================ FILE: day23/code/day23_Thread/.settings/org.eclipse.jdt.core.prefs ================================================ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.compliance=1.7 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.source=1.7 ================================================ FILE: day23/code/day23_Thread/src/cn/itcast_01/MyThread.java ================================================ package cn.itcast_01; public class MyThread extends Thread { @Override public void run() { // System.out.println("hello"); // Ҫִ߳еĴ룬һ˵ӦDZȽϺʱ for (int x = 0; x < 100; x++) { System.out.println("hello" + x); } } } ================================================ FILE: day23/code/day23_Thread/src/cn/itcast_01/MyThreadDemo.java ================================================ package cn.itcast_01; /* * ߳ڽ̶ڵġ * * ̣̾еijϵͳԴ͵õĶλÿһ̶ԼڴռϵͳԴ * ʲô? * ̵òִٶȣCPUʹʡ * ˼CPU̼иЧлһʱֻ̣һС * * ̣߳߳dzе˳ĿdzʹCPUĻλ * ߳ʲô? * ̵߳òִٶȣΪӦóʹʡ * * Ϊ̹߳ͬһ̵Դ(ڴͷ)ջڴǶģһ߳һջ * ȻCPUԴִСһʱֻһִ߳С˭һԣ߳еԡ * * кͲ * ǰ߼ͬʱָijһʱͬʱж * ͬʱָijһʱͬʱж * ôܲʵϵIJأǿԵģCPUͿʵ֣֪εȺͿǡ * * ̸߳ * ̣ * еijϵͳԴ͵õĶλ * ÿһ̶ԼڴռϵͳԴ * ̣߳ * ǽеĵ˳һִ· * һֻһִ·Ϊ̳߳ * һжִ·Ϊ̳߳ * * * ɨϷ(Ϸʱ),Ѹ(ͬʱضļ) * * ǾҪʵһ̵߳ijˡ * ⣺Լʵ֣ô? * ̳߳Ӧ̣߳߳ڽ̶ڣҲ˵Ҫһ̣߳ͱһ̡ * ǣˣDzϵͳʵֵģJavaDzֱӺͲϵͳ򽻵ģԣͨjavaԼʵֶ̣߳ʵֲ˵ġ * ʱΪ˷ܹʵֶ̳߳javaһ๩ʹãThread * Thread -- Java * ײ㣺CC++˲ϵͳһЩԴʵ˽̵ĴjavaԵĹṩjavaԿԷʵݾͿˡ * * ǾͽThreadѧϰ,ͨ鿴APIִַ֪߳ * ʽ1̳Thread * ʽ2ʵRunnableӿ * * ̳ThreadIJ裺 * A:ԶMyThread̳Thread * B:дrun() * Ϊrun()װĴDZִ߳еĴ롣 * C: * D:߳ * ߳ʹõǸ? * start():̣߳Զrun() * * С⣺ * A:ΪʲôҪдrun()? * B:߳ʹõǸ? * C:start()run()? * start:̣߳Զrun() * run:ֱӵãͨĵ * D:߳ܲܶ? * */ public class MyThreadDemo { public static void main(String[] args) { // // MyThread mt = new MyThread(); // mt.run(); // mt.run(); // MyThread mt1 = new MyThread(); // MyThread mt2 = new MyThread(); // mt1.run(); // mt2.run(); MyThread mt1 = new MyThread(); MyThread mt2 = new MyThread(); mt1.start(); mt2.start(); // IllegalThreadStateException // mt1.start(); } } ================================================ FILE: day23/code/day23_Thread/src/cn/itcast_02/MyThread.java ================================================ package cn.itcast_02; public class MyThread extends Thread { public MyThread() { } public MyThread(String name) { super(name); } @Override public void run() { for (int x = 0; x < 100; x++) { System.out.println(getName() + "---hello" + x); } } } ================================================ FILE: day23/code/day23_Thread/src/cn/itcast_02/MyThreadDemo.java ================================================ package cn.itcast_02; /* * λȡ߳? * public final String getName() * ûƣһĬơThread- * public final void setName(String name) * * ʵͨ췽ҲԸ߳? * * mainĸ߳? * ߳ * λȡ̵߳? * public static Thread currentThread():ͿԻȡⷽڵ߳ */ public class MyThreadDemo { public static void main(String[] args) { // ޲+setXxx() // MyThread mt1 = new MyThread(); // MyThread mt2 = new MyThread(); // mt1.setName("ϼ"); // mt2.setName(""); // MyThread mt1 = new MyThread(""); MyThread mt2 = new MyThread(""); mt1.start(); mt2.start(); System.out .println(Thread.currentThread().getName() + "AAAAAAAAAAAAAAA"); } } ================================================ FILE: day23/code/day23_Thread/src/cn/itcast_03/ThreadPriority.java ================================================ package cn.itcast_03; public class ThreadPriority extends Thread { @Override public void run() { for (int x = 0; x < 100; x++) { System.out.println(getName() + ":" + x); } } } ================================================ FILE: day23/code/day23_Thread/src/cn/itcast_03/ThreadPriorityDemo.java ================================================ package cn.itcast_03; /* * ̵߳ĵȣ * ʱģ ƽ * ռʽģ ˭ȼ˭ִ * javaõռʽģ͡ * * javaλȡ̵߳ȼ? * ڲûиÿ̵߳ȼǣһܡ˵ˣӦĬȼ * public final int getPriority():̵߳ȼ ͨԣ̵֪߳Ĭȼ5 * * public final void setPriority(int newPriority):̵߳ȼ ͨ鿴Դ룬̵֪߳ȼΧǣ1-10Ĭ5 * * ̵߳ȼߣһִϡֻڴر£ֳ */ public class ThreadPriorityDemo { public static void main(String[] args) { // ̶߳ ThreadPriority tp1 = new ThreadPriority(); ThreadPriority tp2 = new ThreadPriority(); ThreadPriority tp3 = new ThreadPriority(); // ͨsetName() tp1.setName(""); tp2.setName("Ⱥ"); tp3.setName("ƽ֮"); // ȡĬȼ // System.out.println(tp1.getPriority()); // System.out.println(tp2.getPriority()); // System.out.println(tp3.getPriority()); // ߳ȼ // IllegalArgumentException // tp1.setPriority(1000); tp1.setPriority(10); tp2.setPriority(1); // ߳ tp1.start(); tp2.start(); tp3.start(); } } ================================================ FILE: day23/code/day23_Thread/src/cn/itcast_04/ThreadDaemon.java ================================================ package cn.itcast_04; public class ThreadDaemon extends Thread { @Override public void run() { for (int x = 0; x < 100; x++) { System.out.println(getName() + ":" + x); } } } ================================================ FILE: day23/code/day23_Thread/src/cn/itcast_04/ThreadDaemonDemo.java ================================================ package cn.itcast_04; /* * public final void setDaemon(boolean on):е̶߳ػ߳ʱJava ˳ * * ̹˴ս */ public class ThreadDaemonDemo { public static void main(String[] args) { Thread.currentThread().setName(""); ThreadDaemon td1 = new ThreadDaemon(); ThreadDaemon td2 = new ThreadDaemon(); td1.setName(""); td2.setName("ŷ"); // ػ߳ td1.setDaemon(true); td2.setDaemon(true); td1.start(); td2.start(); for (int x = 0; x < 5; x++) { System.out.println(Thread.currentThread().getName() + ":" + x); } } } ================================================ FILE: day23/code/day23_Thread/src/cn/itcast_04/ThreadJoin.java ================================================ package cn.itcast_04; public class ThreadJoin extends Thread { @Override public void run() { for (int x = 0; x < 100; x++) { System.out.println(getName() + ":" + x); } } } ================================================ FILE: day23/code/day23_Thread/src/cn/itcast_04/ThreadJoinDemo.java ================================================ package cn.itcast_04; /* * public final void join():ȴֹ߳ */ public class ThreadJoinDemo { public static void main(String[] args) { ThreadJoin tj1 = new ThreadJoin(); ThreadJoin tj2 = new ThreadJoin(); ThreadJoin tj3 = new ThreadJoin(); tj1.setName("Ԩ"); tj2.setName(""); tj3.setName("Ԫ"); tj1.start(); try { tj1.join(); } catch (InterruptedException e) { e.printStackTrace(); } tj2.start(); tj3.start(); } } ================================================ FILE: day23/code/day23_Thread/src/cn/itcast_04/ThreadKill.java ================================================ package cn.itcast_04; import java.text.SimpleDateFormat; import java.util.Date; public class ThreadKill extends Thread { @Override public void run() { System.out.println("ʼִУ" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss") .format(new Date())); try { // ףҪңҪϢ10 Thread.sleep(10000); } catch (InterruptedException e) { // e.printStackTrace(); System.out.println("ұɱ"); } System.out.println("ִУ" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss") .format(new Date())); } } ================================================ FILE: day23/code/day23_Thread/src/cn/itcast_04/ThreadKillDemo.java ================================================ package cn.itcast_04; /* * ж߳ * public final void stop():ֱ * public void interrupt():󻹿д */ public class ThreadKillDemo { public static void main(String[] args) { ThreadKill tk = new ThreadKill(); tk.start(); // Ͳִˣȥ try { Thread.sleep(3000); // tk.stop(); tk.interrupt(); } catch (InterruptedException e) { e.printStackTrace(); } } } ================================================ FILE: day23/code/day23_Thread/src/cn/itcast_04/ThreadSleep.java ================================================ package cn.itcast_04; import java.text.SimpleDateFormat; import java.util.Date; public class ThreadSleep extends Thread { @Override public void run() { for (int x = 0; x < 100; x++) { System.out.println(getName() + ":" + x + "---" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss") .format(new Date())); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } } } ================================================ FILE: day23/code/day23_Thread/src/cn/itcast_04/ThreadSleepDemo.java ================================================ package cn.itcast_04; /* * public static void sleep(long millis):߳ */ public class ThreadSleepDemo { public static void main(String[] args) { ThreadSleep ts1 = new ThreadSleep(); ThreadSleep ts2 = new ThreadSleep(); ThreadSleep ts3 = new ThreadSleep(); ts1.setName("ͫ|"); ts2.setName(""); ts3.setName("ٴ"); ts1.start(); ts2.start(); ts3.start(); } } ================================================ FILE: day23/code/day23_Thread/src/cn/itcast_04/ThreadYield.java ================================================ package cn.itcast_04; public class ThreadYield extends Thread { @Override public void run() { for (int x = 0; x < 100; x++) { System.out.println(getName() + ":" + x); Thread.yield(); } } } ================================================ FILE: day23/code/day23_Thread/src/cn/itcast_04/ThreadYieldDemo.java ================================================ package cn.itcast_04; /* * public static void yield():߳,ͣǰִе̶߳󣬲ִ̡߳ */ public class ThreadYieldDemo { public static void main(String[] args) { ThreadYield ty1 = new ThreadYield(); ThreadYield ty2 = new ThreadYield(); ty1.setName(""); ty2.setName(""); ty1.start(); ty2.start(); } } ================================================ FILE: day23/code/day23_Thread/src/cn/itcast_05/MyRunnable.java ================================================ package cn.itcast_05; public class MyRunnable implements Runnable { @Override public void run() { for (int x = 0; x < 100; x++) { System.out.println(Thread.currentThread().getName() + ":" + x); } } } ================================================ FILE: day23/code/day23_Thread/src/cn/itcast_05/MyRunnableDemo.java ================================================ package cn.itcast_05; /* * ʵRunnableӿڵIJ裺 * A:MyRunnableʵֽӿRunnable * B:дrun() * C:MyRunnableĶ * D:ThreadĶ󣬲CĶΪ * E:߳ * * ˼̳ThreadķʽΪʲôҪʵRunnableӿڵķʽ? * ԭΪǵ̳С */ public class MyRunnableDemo { public static void main(String[] args) { // MyRunnableĶ MyRunnable my = new MyRunnable(); // ThreadĶ󣬲CĶΪ // Thread(Runnable target) // Thread(Runnable target, String name) Thread t1 = new Thread(my, "Ϸ"); Thread t2 = new Thread(my, "ּ"); // ߳ t1.start(); t2.start(); } } ================================================ FILE: day23/code/day23_Thread/src/cn/itcast_06/MovieTicket.java ================================================ package cn.itcast_06; public class MovieTicket extends Thread { // Ա private static int tickets = 100; @Override public void run() { // 100Ʊ // int tickets = 100; while (true) { if (tickets > 0) { System.out.println(getName() + "ڳ۵" + (tickets--) + "Ʊ"); } } } } ================================================ FILE: day23/code/day23_Thread/src/cn/itcast_06/MovieTicketDemo.java ================================================ package cn.itcast_06; /* * ijӰԺĿǰӳƬ100Ʊ3ƱƱһģõӰԺƱ * ͨǵѧϰǴĿԷӦִ߳ƱĶ * * ʵַ * A:̳Thread * B:ʵRunnableӿ * * ̳Thread */ public class MovieTicketDemo { public static void main(String[] args) { // ̶߳ MovieTicket mt1 = new MovieTicket(); MovieTicket mt2 = new MovieTicket(); MovieTicket mt3 = new MovieTicket(); mt1.setName("1"); mt2.setName("2"); mt3.setName("3"); mt1.start(); mt2.start(); mt3.start(); } } ================================================ FILE: day23/code/day23_Thread/src/cn/itcast_07/MovieTicket.java ================================================ package cn.itcast_07; public class MovieTicket implements Runnable { // 100Ʊ private int tickets = 100; @Override public void run() { while (true) { if (tickets > 0) { System.out.println(Thread.currentThread().getName() + "ڳ۵" + (tickets--) + "Ʊ"); } } } } ================================================ FILE: day23/code/day23_Thread/src/cn/itcast_07/MovieTicketDemo.java ================================================ package cn.itcast_07; /* * ʵRunnableӿ */ public class MovieTicketDemo { public static void main(String[] args) { // һƱԴ MovieTicket mt = new MovieTicket(); // ߳ Thread t1 = new Thread(mt, "1"); Thread t2 = new Thread(mt, "2"); Thread t3 = new Thread(mt, "3"); t1.start(); t2.start(); t3.start(); } } ================================================ FILE: day23/code/day23_Thread/src/cn/itcast_08/MovieTicket.java ================================================ package cn.itcast_08; public class MovieTicket implements Runnable { // 100Ʊ private int tickets = 100; // @Override // public void run() { // while (true) { // // tickets = 50; t1,t2,t3ֱ // if (tickets > 0) { // // ʵ // try { // Thread.sleep(100); // t1˯,t2˯ // } catch (InterruptedException e) { // e.printStackTrace(); // } // // System.out.println(Thread.currentThread().getName() + "ڳ۵" // + (tickets--) + "Ʊ"); // // // // 1ڳ۵50Ʊtickets=49 // // 2ڳ۵49Ʊtickets=48 // // һCPUʱִܹеĶһԭԵĶ // // System.out.println(a+b*c); // // Thread.currentThread().getName() + "ڳ۵"+ (tickets--) + // // "Ʊ" // // ʵкִܶС // // 赱ո 1ڳ۵50Ʊ,ʱt1ûִȨt2ˣ // // 2ڳ۵50Ʊ // // } // } // } @Override public void run() { while (true) { // tickets = 1; t1,t2,t3ֱ if (tickets > 0) { // ʵ try { Thread.sleep(100);// t1,t2,t3 } catch (InterruptedException e) { e.printStackTrace(); } // ѹ System.out.println(Thread.currentThread().getName() + "ڳ۵" + (tickets--) + "Ʊ"); // 1ڳ۵1Ʊtickets=0 // 2ڳ۵0Ʊtickets=-1 // 3ڳ۵-1Ʊtickets=-2 } } } } ================================================ FILE: day23/code/day23_Thread/src/cn/itcast_08/MovieTicketDemo.java ================================================ package cn.itcast_08; /* * Ϊ˸ʵǼһЩӳ١ * ǼһЩʱ֮󣬳⣺ * A:ͬƱ˶ * CPUһβԭԵ * B:˸Ʊ * Ժӳٵµ * * Ϊʲô?ʲô»̰߳ȫ? * A:̻߳ * B:й * C: * * ôǸν? */ public class MovieTicketDemo { public static void main(String[] args) { // һƱԴ MovieTicket mt = new MovieTicket(); // ߳ Thread t1 = new Thread(mt, "1"); Thread t2 = new Thread(mt, "2"); Thread t3 = new Thread(mt, "3"); Thread t4 = new Thread(mt, "4"); t1.start(); t2.start(); t3.start(); t4.start(); } } ================================================ FILE: day23/code/day23_Thread/src/cn/itcast_09/MovieTicket.java ================================================ package cn.itcast_09; class Demo { } public class MovieTicket implements Runnable { // 100Ʊ private int tickets = 100; // private Object obj = new Object(); private Demo d = new Demo(); @Override public void run() { while (true) { // t1,t2,t3 // t1ˣͬǣɫ(ϲ·ĺ̵) // t2,t3ֻɵɵĵȴ synchronized (this) { // t1ͽˣ޸ıΪɫ if (tickets > 0) { // ʵ try { Thread.sleep(100); // t1Ϣ } catch (InterruptedException e) { e.printStackTrace(); } System.out.println(Thread.currentThread().getName() + "ڳ۵" + (tickets--) + "Ʊ"); } } // t1ˣ޸ıΪɫ } } } ================================================ FILE: day23/code/day23_Thread/src/cn/itcast_09/MovieTicketDemo.java ================================================ package cn.itcast_09; /* * Ϊ˸ʵǼһЩӳ١ * ǼһЩʱ֮󣬳⣺ * A:ͬƱ˶ * CPUһβԭԵ * B:˸Ʊ * Ժӳٵµ * * Ϊʲô?ʲô»̰߳ȫ? * A:̻߳ * B:й * C: * * ôǸν? * ǰжݵĵطΧȻһˡ * ȻͿԽˡ * * ؼ? * ʱjavaṩһͬ顣 * * ʽ * synchronized(){ * ҪͬĴ; * } * * 󵽵ʲô? * * ̵߳һ¡ * * ͬĶЩ? * Ķ */ public class MovieTicketDemo { public static void main(String[] args) { // һƱԴ MovieTicket mt = new MovieTicket(); // ߳ Thread t1 = new Thread(mt, "1"); Thread t2 = new Thread(mt, "2"); Thread t3 = new Thread(mt, "3"); t1.start(); t2.start(); t3.start(); } } ================================================ FILE: day23/code/day23_Thread/src/cn/itcast_10/MovieTicket.java ================================================ package cn.itcast_10; class Demo { } public class MovieTicket implements Runnable { // 100Ʊ private static int tickets = 100; private Object obj = new Object(); private int x = 0; // ĽΪif...elseʵ // @Override // public void run() { // while (true) { // if (x % 2 == 0) { // synchronized (obj) { // if (tickets > 0) { // try { // Thread.sleep(100); // } catch (InterruptedException e) { // e.printStackTrace(); // } // // System.out.println(Thread.currentThread().getName() // + "ڳ۵" + (tickets--) + "Ʊ"); // } // } // } else { // synchronized (obj) { // if (tickets > 0) { // try { // Thread.sleep(100); // } catch (InterruptedException e) { // e.printStackTrace(); // } // // System.out.println(Thread.currentThread().getName() // + "ڳ۵" + (tickets--) + "Ʊ"); // } // } // } // x++; // } // } @Override public void run() { while (true) { if (x % 2 == 0) { synchronized (MovieTicket.class) { if (tickets > 0) { try { Thread.sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println(Thread.currentThread().getName() + "ڳ۵" + (tickets--) + "Ʊ"); } } } else { sellTicket(); } x++; } } // ĽΪһʵ֡ // private void sellTicket() { // synchronized (obj) { // if (tickets > 0) { // try { // Thread.sleep(100); // } catch (InterruptedException e) { // e.printStackTrace(); // } // // System.out.println(Thread.currentThread().getName() + "ڳ۵" // + (tickets--) + "Ʊ"); // } // } // } // private synchronized void sellTicket() { // if (tickets > 0) { // try { // Thread.sleep(100); // } catch (InterruptedException e) { // e.printStackTrace(); // } // // System.out.println(Thread.currentThread().getName() + "ڳ۵" // + (tickets--) + "Ʊ"); // } // } private static synchronized void sellTicket() { if (tickets > 0) { try { Thread.sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println(Thread.currentThread().getName() + "ڳ۵" + (tickets--) + "Ʊ"); } } } ================================================ FILE: day23/code/day23_Thread/src/cn/itcast_10/MovieTicketDemo.java ================================================ package cn.itcast_10; /* * һһȥͼʵһͬķͬ * ʽǰͬؼּӵ * * ͬʲô? * ͬthis * * ̬ͬʲô? * ǰֽļ * Class c = MovieTicket.class; * Class c = obj.getClass(); */ public class MovieTicketDemo { public static void main(String[] args) { // һƱԴ MovieTicket mt = new MovieTicket(); // ߳ Thread t1 = new Thread(mt, "1"); Thread t2 = new Thread(mt, "2"); Thread t3 = new Thread(mt, "3"); t1.start(); t2.start(); t3.start(); } } ================================================ FILE: day23/code/day23_Thread/src/cn/itcast_10/ThreadDemo.java ================================================ package cn.itcast_10; public class ThreadDemo { public static void main(String[] args) { // StringBuffer/StringBuilder // StringBuffer; // StringBuilder // Vector/ArrayList // Vector // ArrayList // Hashtable/HashMap // java.util.Hashtable; // HashMap; } } ================================================ FILE: day23/day23总结.txt ================================================ 1߳() (1) ִ̣еӦó ̵? CPUʹ (2)߳ ̵ִ̣߳·ִеԪ ̵߳? Ӧóʹ ԭ Ϊ̲߳ȥCPUԴCPU̼߳пٵлԡ (3)кͲ У߼ͬʱͬһʱ ͬʱͬһʱ (4)̵߳ʵַ(Լʵֲʹ) A:̳Thread B:ʵRunnableӿ (5)ļС A:ΪʲôҪдrun() B:߳ʹõĸ C:start()run() D:һ߳ܲ E:˼̳Threadʵ֣ΪʲôҪʵֽӿڵʵ F: (6)̵߳ĵ ̵߳ȣ A:ʱ B:ռʽ javaõڶַ ȡ̵߳ȼ Ĭȼ5 ȼΧ1-10 (7)̵߳Ŀ A:߳ B:̼߳ C:߳ D:ػ߳ E:ж߳ (8)ͼ(,ܹԼ) (9)ͨ߳ģӰԺƱ A:̳Thread B:ʵRunnableӿ (10)ͨ߳ģӰԺƱ(ӳ) A:ͬƱ CPUһִбԭԲ B:˸Ʊ ̵߳Ժӳ (11)̰߳ȫβ? A:̻߳ B:й C: (12) A:ͬ ʽ synchronized() { ҪͬĴ } B:ͬ Ǿ̬ this ̬ ǵǰֽļ (13)鿴ǰѧϰļԴ StringBuffer,Vector,Hashtable ================================================ FILE: day24/code/day24_Pattern/.classpath ================================================ ================================================ FILE: day24/code/day24_Pattern/.project ================================================ day24_Pattern org.eclipse.jdt.core.javabuilder org.eclipse.jdt.core.javanature ================================================ FILE: day24/code/day24_Pattern/.settings/org.eclipse.jdt.core.prefs ================================================ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.compliance=1.7 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.source=1.7 ================================================ FILE: day24/code/day24_Pattern/src/cn/itcast_01/SingletDemo.java ================================================ package cn.itcast_01; /* * ģʽܽᡣһģ͡ * * ࣺ * ģʽ * Ϊģʽ * ṹģʽ * * ģʽ֤ڴֻһ * * windowsӡվ * * ܹ֤ڴֻһ? * A:粻ܴ * ˽ * B:ṩһ * ڳԱλô * C:ṩķʷʽ * дһ */ public class SingletDemo { public static void main(String[] args) { // Student s1 = new Student(); // Student s2 = new Student(); // System.out.println(s1 == s2); // Student.s = null; Student s1 = Student.getStudent(); Student s2 = Student.getStudent(); System.out.println(s1 == s2); } } ================================================ FILE: day24/code/day24_Pattern/src/cn/itcast_01/Student.java ================================================ package cn.itcast_01; public class Student { // ˽ private Student() { } // // ֻ̬ܷʾ̬,static // Ϊ˲ӷʣprivate private static Student s = new Student(); // ṩ // Ϊֱӷʣstatic public static Student getStudent() { return s; } } ================================================ FILE: day24/code/day24_Pattern/src/cn/itcast_02/SingletDemo.java ================================================ package cn.itcast_02; public class SingletDemo { public static void main(String[] args) { Teacher t1 = Teacher.getTeacher(); Teacher t2 = Teacher.getTeacher(); System.out.println(t1 == t2); } } ================================================ FILE: day24/code/day24_Pattern/src/cn/itcast_02/Teacher.java ================================================ package cn.itcast_02; /* * ʽصʱʹ * ʽõʱȥ * ̰߳ȫ * ӳټ˼(ʲôʱãʲôʱ) * * :дһSingleton * ԣʽ * ʽ * * Ϊʲô? * ʽ׳⣬ʽ⡣ * ̰߳ȫ⡣ */ public class Teacher { private Teacher() { } private static Teacher t = null; public synchronized static Teacher getTeacher() { // t1,t2,t3 if (t == null) { // t1,t2,t3 t = new Teacher(); } return t; } } ================================================ FILE: day24/code/day24_Pattern/src/cn/itcast_03/RuntimeDemo.java ================================================ package cn.itcast_03; import java.io.IOException; /* * Runtime * public static Runtime getRuntime() * * ûй죬ȫǾ̬ġ * ϶̬ͨķ˸Ķ */ public class RuntimeDemo { public static void main(String[] args) throws IOException { Runtime r = Runtime.getRuntime(); // r.exec("calc"); r.exec("notepad"); } } ================================================ FILE: day24/code/day24_Thread/.classpath ================================================ ================================================ FILE: day24/code/day24_Thread/.project ================================================ day24_Thread org.eclipse.jdt.core.javabuilder org.eclipse.jdt.core.javanature ================================================ FILE: day24/code/day24_Thread/.settings/org.eclipse.core.resources.prefs ================================================ eclipse.preferences.version=1 encoding//src/cn/itcast_07/ThreadGroupRunnableDemo.java=UTF-8 ================================================ FILE: day24/code/day24_Thread/.settings/org.eclipse.jdt.core.prefs ================================================ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.compliance=1.7 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.source=1.7 ================================================ FILE: day24/code/day24_Thread/src/cn/itcast_01/MovieTicket.java ================================================ package cn.itcast_01; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; public class MovieTicket implements Runnable { private int tickets = 100; private Object obj = new Object(); // // private ReentrantLock lock = new ReentrantLock(); private Lock lock = new ReentrantLock(); // @Override // public void run() { // while (true) { // synchronized (obj) { // if (tickets > 0) { // try { // Thread.sleep(100); // } catch (InterruptedException e) { // e.printStackTrace(); // } // // System.out.println(Thread.currentThread().getName() // + "ڳ۵" + (tickets--) + "Ʊ"); // } // } // } // } @Override public void run() { while (true) { try { // lock.lock(); if (tickets > 0) { try { Thread.sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println(Thread.currentThread().getName() + "ڳ۵" + (tickets--) + "Ʊ"); } } finally { // ͷ lock.unlock(); } } } } ================================================ FILE: day24/code/day24_Thread/src/cn/itcast_01/MovieTicketDemo.java ================================================ package cn.itcast_01; /* * Ϊ˸֪μͷģJDK5ԺṩһӿڣLock * Lock * public void lock(): * public void unlock():ͷ * ʵ * public ReentrantLock() */ public class MovieTicketDemo { public static void main(String[] args) { MovieTicket mt = new MovieTicket(); Thread t1 = new Thread(mt, "1"); Thread t2 = new Thread(mt, "2"); Thread t3 = new Thread(mt, "3"); t1.start(); t2.start(); t3.start(); } } ================================================ FILE: day24/code/day24_Thread/src/cn/itcast_02/DieLock.java ================================================ package cn.itcast_02; public class DieLock extends Thread { private boolean flag; public DieLock(boolean flag) { this.flag = flag; } @Override public void run() { if (flag) { synchronized (MyLock.objA) { System.out.println("if objA"); // CPUִȨû synchronized (MyLock.objB) { System.out.println("if objB"); } } } else { synchronized (MyLock.objB) { System.out.println("else objB"); synchronized (MyLock.objA) { System.out.println("else objA"); } } } } } ================================================ FILE: day24/code/day24_Thread/src/cn/itcast_02/DieLockDemo.java ================================================ package cn.itcast_02; /* * ָϵִ߳еĹУԴһֻȴ * * * й˺һ˳Է * йˣֻ * ˣ * ʵ * йˣһֻӣһѵ * ˣһֻӣһѲ */ public class DieLockDemo { public static void main(String[] args) { DieLock d1 = new DieLock(true); DieLock d2 = new DieLock(false); d1.start(); d2.start(); } } ================================================ FILE: day24/code/day24_Thread/src/cn/itcast_02/MyLock.java ================================================ package cn.itcast_02; public class MyLock { public static final Object objA = new Object(); public static final Object objB = new Object(); } ================================================ FILE: day24/code/day24_Thread/src/cn/itcast_03/GetThread.java ================================================ package cn.itcast_03; public class GetThread implements Runnable { private Student s; public GetThread(Student s) { this.s = s; } @Override public void run() { // Student s = new Student(); System.out.println(s.name + "---" + s.age); } } ================================================ FILE: day24/code/day24_Thread/src/cn/itcast_03/SetThread.java ================================================ package cn.itcast_03; public class SetThread implements Runnable { private Student s; public SetThread(Student s) { this.s = s; } @Override public void run() { // Student s = new Student(); s.name = "ϼ"; s.age = 28; } } ================================================ FILE: day24/code/day24_Thread/src/cn/itcast_03/Student.java ================================================ package cn.itcast_03; public class Student { String name; int age; } ================================================ FILE: day24/code/day24_Thread/src/cn/itcast_03/StudentDemo.java ================================================ package cn.itcast_03; /* * ѧѧԣҲԻȡѧԡǾͰÿȡѾͿˡ * ࣺ * ѧ * Ե߳ * ȡԵ߳ * * * 1дһЩ򵥵ĴǷ⣬null---0 * ԭ: * õĶͻȡĶͬһԣòֵ * * úͻȡĶͬһ */ public class StudentDemo { public static void main(String[] args) { // һѧԴ Student s = new Student(); // ̶߳ SetThread st = new SetThread(s); GetThread gt = new GetThread(s); Thread t1 = new Thread(st); Thread t2 = new Thread(gt); t1.start(); t2.start(); } } ================================================ FILE: day24/code/day24_Thread/src/cn/itcast_04/GetThread.java ================================================ package cn.itcast_04; public class GetThread implements Runnable { private Student s; public GetThread(Student s) { this.s = s; } @Override public void run() { while (true) { synchronized (s) { System.out.println(s.name + "---" + s.age); } } } } ================================================ FILE: day24/code/day24_Thread/src/cn/itcast_04/SetThread.java ================================================ package cn.itcast_04; public class SetThread implements Runnable { private Student s; private int x = 0; public SetThread(Student s) { this.s = s; } @Override public void run() { // .......... while (true) { synchronized (s) { if (x % 2 == 0) { s.name = "ϼ"; // ûִȨˡ s.age = 28; } else { s.name = ""; s.age = 31; } x++; } } // ........... } } ================================================ FILE: day24/code/day24_Thread/src/cn/itcast_04/Student.java ================================================ package cn.itcast_04; public class Student { String name; int age; } ================================================ FILE: day24/code/day24_Thread/src/cn/itcast_04/StudentDemo.java ================================================ package cn.itcast_04; /* * ѧѧԣҲԻȡѧԡǾͰÿȡѾͿˡ * ࣺ * ѧ * Ե߳ * ȡԵ߳ * * * 1дһЩ򵥵ĴǷ⣬null---0 * ԭ: * õĶͻȡĶͬһԣòֵ * * úͻȡĶͬһ * * ΪЧһЩǸ鲻ֵͬѭģ⡣ * ΣЧõˣֳµ * 2: * A:ͬݳ˶ * CPUһʱ㹻ִкܶ * B:ݶӦ * ϼ 31 * 28 * * ̵߳ * * һ⣺̰߳ȫ * A:̻߳ * B: s * C: * * ̰߳ȫ,ô? * ͬ顣 * ע⣺ * A:̲ͬ߳ʱҪͬʱҪӡ * B:ͬʱҪͬһ */ public class StudentDemo { public static void main(String[] args) { // һѧԴ Student s = new Student(); // ̶߳ SetThread st = new SetThread(s); GetThread gt = new GetThread(s); Thread t1 = new Thread(st); Thread t2 = new Thread(gt); t1.start(); t2.start(); } } ================================================ FILE: day24/code/day24_Thread/src/cn/itcast_05/GetThread.java ================================================ package cn.itcast_05; public class GetThread implements Runnable { private Student s; public GetThread(Student s) { this.s = s; } @Override public void run() { while (true) { synchronized (s) { if (!s.flag) { // ûݣ͵ȴ try { s.wait(); // t2͵ȴ,ͷ, } catch (InterruptedException e) { e.printStackTrace(); } } System.out.println(s.name + "---" + s.age); // ϼ---28 // ---31 // ʾ s.flag = false; s.notify(); } // t1,t2 } } } ================================================ FILE: day24/code/day24_Thread/src/cn/itcast_05/SetThread.java ================================================ package cn.itcast_05; public class SetThread implements Runnable { private Student s; private int x = 0; public SetThread(Student s) { this.s = s; } @Override public void run() { while (true) { synchronized (s) { if (s.flag) { // ͱʾ try { s.wait(); // t1͵ȴ } catch (InterruptedException e) { e.printStackTrace(); }// ȴ } if (x % 2 == 0) { s.name = "ϼ"; s.age = 28; } else { s.name = ""; s.age = 31; } x++; // x=1,x=2 // ʾ s.flag = true; s.notify(); // ѵȴ̣ܹ߳߳ȡCPUִȨ } // t1,t2 } } } ================================================ FILE: day24/code/day24_Thread/src/cn/itcast_05/Student.java ================================================ package cn.itcast_05; public class Student { String name; int age; boolean flag = false; // ʾǷ } ================================================ FILE: day24/code/day24_Thread/src/cn/itcast_05/StudentDemo.java ================================================ package cn.itcast_05; /* * ѧѧԣҲԻȡѧԡǾͰÿȡѾͿˡ * ࣺ * ѧ * Ե߳ * ȡԵ߳ * * * 1дһЩ򵥵ĴǷ⣬null---0 * ԭ: * õĶͻȡĶͬһԣòֵ * * úͻȡĶͬһ * * ΪЧһЩǸ鲻ֵͬѭģ⡣ * ΣЧõˣֳµ * 2: * A:ͬݳ˶ * CPUһʱ㹻ִкܶ * B:ݶӦ * ϼ 31 * 28 * * ̵߳ * * һ⣺̰߳ȫ * A:̻߳ * B: s * C: * * ̰߳ȫ,ô? * ͬ顣 * ע⣺ * A:̲ͬ߳ʱҪͬʱҪӡ * B:ͬʱҪͬһ * * ڵݣһγһƬγ֡ * ʱjavaṩ˵ȴѻơ * wait() ̴߳ڵȴ * notify() ѵ߳ * notifyAll() ߳ * * ΪʲôЩ嵽Object? * ΪЩͨãͬԶObjectࡣ * * θ? * ΪܹʵֵȴѣҼһµı */ public class StudentDemo { public static void main(String[] args) { // һѧԴ Student s = new Student(); // ̶߳ SetThread st = new SetThread(s); GetThread gt = new GetThread(s); Thread t1 = new Thread(st); Thread t2 = new Thread(gt); t1.start(); t2.start(); // ʱҪifΪwhileҰѻѸΪnotifyAll() // Thread t1 = new Thread(st); // Thread t2 = new Thread(st); // Thread t3 = new Thread(st); // Thread t4 = new Thread(gt); // Thread t5 = new Thread(gt); // Thread t6 = new Thread(gt); // // t1.start(); // t2.start(); // t3.start(); // t4.start(); // t5.start(); // t6.start(); } } ================================================ FILE: day24/code/day24_Thread/src/cn/itcast_06/GetThread.java ================================================ package cn.itcast_06; public class GetThread implements Runnable { private Student s; public GetThread(Student s) { this.s = s; } @Override public void run() { while (true) { s.get(); } } } ================================================ FILE: day24/code/day24_Thread/src/cn/itcast_06/SetThread.java ================================================ package cn.itcast_06; public class SetThread implements Runnable { private Student s; private int x = 0; public SetThread(Student s) { this.s = s; } @Override public void run() { while (true) { if (x % 2 == 0) { s.set("ϼ", 28); } else { s.set("", 31); } x++; } } } ================================================ FILE: day24/code/day24_Thread/src/cn/itcast_06/Student.java ================================================ package cn.itcast_06; public class Student { private String name; private int age; private boolean flag = false; // ʾǷ public synchronized void set(String name, int age) { if (this.flag) { try { this.wait(); } catch (InterruptedException e) { e.printStackTrace(); } } this.name = name; this.age = age; this.flag = true; this.notify(); } public synchronized void get() { if (!this.flag) { try { this.wait(); } catch (InterruptedException e) { e.printStackTrace(); } } System.out.println(this.name + "---" + this.age); this.flag = false; this.notify(); } } ================================================ FILE: day24/code/day24_Thread/src/cn/itcast_06/StudentDemo.java ================================================ package cn.itcast_06; /* * ѧѧԣҲԻȡѧԡǾͰÿȡѾͿˡ * ࣺ * ѧ * Ե߳ * ȡԵ߳ * * * 1дһЩ򵥵ĴǷ⣬null---0 * ԭ: * õĶͻȡĶͬһԣòֵ * * úͻȡĶͬһ * * ΪЧһЩǸ鲻ֵͬѭģ⡣ * ΣЧõˣֳµ * 2: * A:ͬݳ˶ * CPUһʱ㹻ִкܶ * B:ݶӦ * ϼ 31 * 28 * * ̵߳ * * һ⣺̰߳ȫ * A:̻߳ * B: s * C: * * ̰߳ȫ,ô? * ͬ顣 * ע⣺ * A:̲ͬ߳ʱҪͬʱҪӡ * B:ͬʱҪͬһ * * ڵݣһγһƬγ֡ * ʱjavaṩ˵ȴѻơ * wait() ̴߳ڵȴ * notify() ѵ߳ * notifyAll() ߳ * * ΪʲôЩ嵽Object? * ΪЩͨãͬԶObjectࡣ * * θ? * ΪܹʵֵȴѣҼһµı * * ͬʵָĽΪͬ */ public class StudentDemo { public static void main(String[] args) { // һѧԴ Student s = new Student(); // ̶߳ SetThread st = new SetThread(s); GetThread gt = new GetThread(s); Thread t1 = new Thread(st); Thread t2 = new Thread(gt); t1.start(); t2.start(); } } ================================================ FILE: day24/code/day24_Thread/src/cn/itcast_07/ThreadGroupRunnable.java ================================================ package cn.itcast_07; public class ThreadGroupRunnable implements Runnable { @Override public void run() { for (int x = 0; x < 100; x++) { System.out.println(Thread.currentThread().getName() + ":" + x); } } } ================================================ FILE: day24/code/day24_Thread/src/cn/itcast_07/ThreadGroupRunnableDemo.java ================================================ package cn.itcast_07; /* * 线程组:Java中使用ThreadGroup来表示线程组,它可以对一批线程进行分类管理,Java允许程序直接对线程组进行控制。 * * 默认情况下,所有的线程都属于主线程组。 * public final ThreadGroup getThreadGroup():返回该线程所属的线程组。 * * public final String getName():返回此线程组的名称。 * * Thread(ThreadGroup group, Runnable target, String name):设置线程组名称 * * public final int getMaxPriority():返回此线程组最高优先级 */ public class ThreadGroupRunnableDemo { public static void main(String[] args) { // method1(); method2(); } // 设置线程所属的线程组 private static void method2() { // public ThreadGroup(String name) ThreadGroup tg = new ThreadGroup("王子二人组"); // tg.setDaemon(true); ThreadGroupRunnable tgr = new ThreadGroupRunnable(); Thread t1 = new Thread(tg, tgr, "王亚聪"); Thread t2 = new Thread(tg, tgr, "王思聪"); // System.out.println(t1.getThreadGroup().getName()); // 王子二人组 // System.out.println(t2.getThreadGroup().getName()); // 王子二人组 // System.out.println(Thread.currentThread().getThreadGroup().getName()); // // main // 设置t1,t2为守护线程 // t1.setDaemon(true); // t2.setDaemon(true); // tg.stop(); // System.out.println(tg.isDaemon()); // t1.start(); // t2.start(); // for (int x = 0; x < 5; x++) { // System.out.println("王健林" + x); // } // System.out.println(tg.getMaxPriority()); // System.out.println(tg.toString()); tg.setMaxPriority(8); // System.out.println(tg.getMaxPriority()); System.out.println(t1.getPriority()); System.out.println(t2.getPriority()); } // 获取线程所在的线程组名称 private static void method1() { ThreadGroupRunnable tgr = new ThreadGroupRunnable(); Thread t1 = new Thread(tgr, "王亚聪"); Thread t2 = new Thread(tgr, "王思聪"); // public final ThreadGroup getThreadGroup() ThreadGroup tg1 = t1.getThreadGroup(); ThreadGroup tg2 = t2.getThreadGroup(); String t1Name = tg1.getName(); String t2Name = tg2.getName(); System.out.println(t1Name); // main System.out.println(t2Name); // main System.out.println(Thread.currentThread().getThreadGroup().getName()); // main // t1.start(); // t2.start(); } } ================================================ FILE: day24/code/day24_Thread/src/cn/itcast_08/MyRunnable.java ================================================ package cn.itcast_08; public class MyRunnable implements Runnable { @Override public void run() { for (int x = 0; x < 100; x++) { System.out.println(Thread.currentThread().getName() + ":" + x); } } } ================================================ FILE: day24/code/day24_Thread/src/cn/itcast_08/ThreadPoolDemo.java ================================================ package cn.itcast_08; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; /* * ̳߳أ̳߳ÿһ̴߳󣬲ٴλص̳߳гΪ״̬ȴһʹá * * 裺 * A:MyRunnableʵRunnableӿ * B:MyRunnable * C:̳߳ض * D:ύ * E:ͷ */ public class ThreadPoolDemo { public static void main(String[] args) { // ʵRunnableӿڵĶ MyRunnable my = new MyRunnable(); // ̳߳ض // public static ExecutorService newFixedThreadPool(int nThreads) ExecutorService pool = Executors.newFixedThreadPool(5); // ύ // Future submit(Runnable task) pool.submit(my); pool.submit(my); pool.submit(my); pool.submit(my); pool.submit(my); // ͷ pool.shutdown(); } } ================================================ FILE: day24/code/day24_Thread/src/cn/itcast_09/MyCallable.java ================================================ package cn.itcast_09; import java.util.concurrent.Callable; public class MyCallable implements Callable { @Override public Object call() throws Exception { for (int x = 0; x < 100; x++) { System.out.println(Thread.currentThread().getName() + ":" + x); } return null; } } ================================================ FILE: day24/code/day24_Thread/src/cn/itcast_09/ThreadPoolDemo.java ================================================ package cn.itcast_09; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; /* * ̳߳أ̳߳ÿһ̴߳󣬲ٴλص̳߳гΪ״̬ȴһʹá * * 裺 * A:MyCallableʵCallableӿ * B:MyCallable * C:̳߳ض * D:ύ * E:ͷ */ public class ThreadPoolDemo { public static void main(String[] args) { // ʵRunnableӿڵĶ MyCallable my = new MyCallable(); // ̳߳ض // public static ExecutorService newFixedThreadPool(int nThreads) ExecutorService pool = Executors.newFixedThreadPool(5); // ύ // Future submit(Runnable task) pool.submit(my); pool.submit(my); pool.submit(my); pool.submit(my); pool.submit(my); // ͷ pool.shutdown(); } } ================================================ FILE: day24/code/day24_Thread/src/cn/itcast_10/MyCallable.java ================================================ package cn.itcast_10; import java.util.concurrent.Callable; public class MyCallable implements Callable { private int number; public MyCallable(int number) { this.number = number; } @Override public Integer call() throws Exception { int sum = 0; for (int x = 1; x <= number; x++) { sum += x; } return sum; } } ================================================ FILE: day24/code/day24_Thread/src/cn/itcast_10/ThreadPoolDemo.java ================================================ package cn.itcast_10; import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Future; /* * Ͱ */ public class ThreadPoolDemo { public static void main(String[] args) throws InterruptedException, ExecutionException { // ̳߳ض ExecutorService pool = Executors.newFixedThreadPool(3); // ύ Future f1 = pool.submit(new MyCallable(10)); Future f2 = pool.submit(new MyCallable(50)); Future f3 = pool.submit(new MyCallable(100)); Integer i1 = f1.get(); Integer i2 = f2.get(); Integer i3 = f3.get(); System.out.println(i1); System.out.println(i2); System.out.println(i3); pool.shutdown(); } } ================================================ FILE: day24/code/day24_Thread/src/cn/itcast_11/NiMingDemo.java ================================================ package cn.itcast_11; /* * ڲķʽ̳߳ * * new () { * д * }; */ public class NiMingDemo { public static void main(String[] args) { /* * new Thread() { * * @Override public void run() { for (int x = 0; x < 100; x++) { * System.out.println("hello" + x); } } }.start(); * * new Thread() { * * @Override public void run() { for (int x = 0; x < 100; x++) { * System.out.println("world" + x); } } }.start(); */ /* * new Thread(new Runnable() { * * @Override public void run() { for (int x = 0; x < 100; x++) { * System.out.println("javase" + x); } } }).start(); * * new Thread(new Runnable() { * * @Override public void run() { for (int x = 0; x < 100; x++) { * System.out.println("javaee" + x); } } }).start(); */ // new Thread(new Runnable() { @Override public void run() { for (int x = 0; x < 100; x++) { System.out.println("android" + x); } } }) { @Override public void run() { for (int x = 0; x < 100; x++) { System.out.println("haha" + x); } } }.start(); } } ================================================ FILE: day24/code/day24_Thread/src/cn/itcast_12/TimerDemo.java ================================================ package cn.itcast_12; import java.util.Timer; import java.util.TimerTask; /* * һɣ * Timer,TimerTask * * Timer: * public Timer()һ¼ʱ */ public class TimerDemo { public static void main(String[] args) { // final Timer t = new Timer(); // public void schedule(TimerTask task,long delay):delaytask // t.schedule(new MyTask(t), 3000); // ڲʵ t.schedule(new TimerTask() { @Override public void run() { System.out.println("ըը,duang duang duang"); t.cancel(); } }, 3000); } } class MyTask extends TimerTask { private Timer t; public MyTask(Timer t) { this.t = t; } @Override public void run() { System.out.println("ըը,duang duang duang"); t.cancel(); } } ================================================ FILE: day24/code/day24_Thread/src/cn/itcast_12/TimerDemo2.java ================================================ package cn.itcast_12; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Timer; import java.util.TimerTask; /* * ըҪը */ public class TimerDemo2 { public static void main(String[] args) throws ParseException { // Timer t = new Timer(); // // t.schedule(new TimerTask() { // @Override // public void run() { // System.out.println("Ҫըˣ"); // } // }, 2000); // public void schedule(TimerTask task,long delay,long // period):һdelayԺÿperiod // t.schedule(new TimerTask() { // @Override // public void run() { // System.out.println("ը"); // } // }, 3000, 1000); // public void schedule(TimerTask task,Date time) String s = "2015-04-12 15:48:20"; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date d = sdf.parse(s); t.schedule(new TimerTask() { @Override public void run() { System.out.println("ը"); } }, d, 3000); } } ================================================ FILE: day24/code/day24_Thread/src/cn/itcast_12/TimerTest.java ================================================ package cn.itcast_12; import java.io.File; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Timer; import java.util.TimerTask; /* * 4ɾd:\\helloļ */ public class TimerTest { public static void main(String[] args) throws ParseException { Timer t = new Timer(); String s = "2015-04-12 15:55:30"; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date d = sdf.parse(s); t.schedule(new DeleteFolder(new File("d:\\hello")), d); } } class DeleteFolder extends TimerTask { private File folder; public DeleteFolder(File folder) { this.folder = folder; } @Override public void run() { deleteFolder(folder); } private void deleteFolder(File folder) { File[] fileArray = folder.listFiles(); if (fileArray != null) { for (File file : fileArray) { if (file.isDirectory()) { deleteFolder(file); } else { file.delete(); } } folder.delete(); } } } ================================================ FILE: day24/day24总结.txt ================================================ 1߳() (1)JDK5Lock A:lock() B:unlock() (2) Ҫһ顣 (3)̼߳ͨ A:Ĵʵ B:̰߳ȫĴ C:ȴѻƵĴ D:ͨͬĽĴ (4)߳ ThreadGroup (5)̳߳ ... Executors future<> newFixedThreadPool() (6)̷߳ʽ3 ʵCallableӿ ô A:ֵ B:쳣 ׶ˣ Ƚ鷳 (7)ʱ Timer TimerTask 2ģʽ() (1)֤ڴֻһ (2)ʵֵ? A:˽ B:Լṩ C:ṩʷʽ (3)ʵ֣ A:ʽ public class Student { private Student(){} private static Student s = new Student(); public static Student getStudent() { return s; } } B:ʽ public class Student { private Student(){} private static Student s = null; public static Student getStudent() { if(s == null) { s = new Student(); } return s; } } (4)ԺͿ A: ʽ ̰߳ȫ Ҫsynchronizedؼ ӳټ˼ B: ʽ (5)Runtime ǵģʽʽʵ֡ public class Runtime{ private Runtime(){} private static Runtime r = new Runtime(); public static Runtime getInstance(){ return r; } } ================================================ FILE: day25/code/Eclipse版本的登录注册/.classpath ================================================ ================================================ FILE: day25/code/Eclipse版本的登录注册/.project ================================================ Eclipse版本的登录注册 org.eclipse.jdt.core.javabuilder org.eclipse.jdt.core.javanature ================================================ FILE: day25/code/Eclipse版本的登录注册/.settings/org.eclipse.core.resources.prefs ================================================ eclipse.preferences.version=1 encoding/=UTF-8 ================================================ FILE: day25/code/Eclipse版本的登录注册/.settings/org.eclipse.jdt.core.prefs ================================================ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.compliance=1.7 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.source=1.7 ================================================ FILE: day25/code/Eclipse版本的登录注册/bin/cn/itcast/view/GuessNumberJFrame.form ================================================
================================================ FILE: day25/code/Eclipse版本的登录注册/bin/cn/itcast/view/LoginJFrame.form ================================================
================================================ FILE: day25/code/Eclipse版本的登录注册/bin/cn/itcast/view/RegistJFrame.form ================================================
================================================ FILE: day25/code/Eclipse版本的登录注册/bin/登录注册.txt ================================================ 登录注册: 有哪些类? 用户类 用户描述类 用户操作类 登录窗体 注册窗体 类有哪些成员? 用户类 用户描述类 用户名,密码 用户操作类 登录,注册 类与类的关系? 在登录窗体上点击登录按钮,调用登录功能 在注册窗体上点击注册按钮,调用注册功能 分包: cn.itcast.pojo 用户基本描述类 cn.itcast.dao 用户操作接口 cn.itcast.dao.impl 用户操作具体实现类 cn.itcast.util 工具类 cn.itcast.view 窗体类 ================================================ FILE: day25/code/Eclipse版本的登录注册/count.txt ================================================ count=5 ================================================ FILE: day25/code/Eclipse版本的登录注册/src/cn/itcast/dao/UserDao.java ================================================ /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package cn.itcast.dao; import cn.itcast.pojo.User; /** * * @author fqy */ public interface UserDao { public abstract boolean isLogin(String username,String password); public abstract void regist(User user); } ================================================ FILE: day25/code/Eclipse版本的登录注册/src/cn/itcast/dao/impl/UserDaoImpl.java ================================================ /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package cn.itcast.dao.impl; import cn.itcast.dao.UserDao; import cn.itcast.pojo.User; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; /** * * @author fqy */ public class UserDaoImpl implements UserDao { private static File file = new File("user.txt"); static { try { file.createNewFile(); } catch (IOException ex) { ex.printStackTrace(); } } @Override public boolean isLogin(String username, String password) { boolean flag = false; BufferedReader br = null; try { br = new BufferedReader(new FileReader(file)); String line = null; while ((line = br.readLine()) != null) { String[] datas = line.split("="); if (username.equals(datas[0]) && password.equals(datas[1])) { flag = true; break; } } } catch (IOException e) { e.printStackTrace(); } finally { if (br != null) { try { br.close(); } catch (IOException ex) { ex.printStackTrace(); } } } return flag; } @Override public void regist(User user) { BufferedWriter bw = null; try { bw = new BufferedWriter(new FileWriter(file, true)); bw.write(user.getUsername() + "=" + user.getPassword()); bw.newLine(); bw.flush(); } catch (IOException e) { e.printStackTrace(); } finally { if (bw != null) { try { bw.close(); } catch (IOException ex) { ex.printStackTrace(); } } } } } ================================================ FILE: day25/code/Eclipse版本的登录注册/src/cn/itcast/pojo/User.java ================================================ /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package cn.itcast.pojo; /** * * @author fqy */ public class User { private String username; private String password; public User() { } public User(String username, String password) { this.username = username; this.password = password; } /** * @return the username */ public String getUsername() { return username; } /** * @param username the username to set */ public void setUsername(String username) { this.username = username; } /** * @return the password */ public String getPassword() { return password; } /** * @param password the password to set */ public void setPassword(String password) { this.password = password; } } ================================================ FILE: day25/code/Eclipse版本的登录注册/src/cn/itcast/util/UiUtil.java ================================================ /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package cn.itcast.util; import java.awt.Dimension; import java.awt.Image; import java.awt.Toolkit; import javax.swing.JFrame; /** * 工具类 * @author fqy */ public class UiUtil { private UiUtil(){} /** * 修改窗体图标 * @param jf */ public static void setFrameIcon(JFrame jf,String imagePath){ //获取工具类 Toolkit took = Toolkit.getDefaultToolkit(); //根据路径获取图片 Image image = took.getImage(imagePath); //设置图标 jf.setIconImage(image); } /** * 设置窗体居中 * @param jf */ public static void setFrameCenter(JFrame jf){ /* 思路: 获取屏幕的宽和高 获取窗体的宽和高 */ //获取工具类 Toolkit took = Toolkit.getDefaultToolkit(); //获取屏幕的宽和高 Dimension screen = took.getScreenSize(); double screenWidth = screen.getWidth(); double screenHeight = screen.getHeight(); //获取窗体的宽和高 int jfWidth = jf.getWidth(); int jfHeight = jf.getHeight(); //设置坐标 int width = (int)(screenWidth-jfWidth)/2; int height = (int)(screenHeight-jfHeight)/2; jf.setLocation(width,height); } } ================================================ FILE: day25/code/Eclipse版本的登录注册/src/cn/itcast/view/GuessNumberJFrame.form ================================================
================================================ FILE: day25/code/Eclipse版本的登录注册/src/cn/itcast/view/GuessNumberJFrame.java ================================================ /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package cn.itcast.view; import cn.itcast.util.UiUtil; import java.io.BufferedWriter; import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.util.Properties; import javax.swing.JOptionPane; /** * * @author fqy */ public class GuessNumberJFrame extends javax.swing.JFrame { private int number; // private static File file = new File("count.txt"); // static { // BufferedWriter bw = null; // try { //// file.createNewFile(); // bw = new BufferedWriter(new FileWriter(file)); // bw.write("count=0"); // bw.newLine(); // bw.flush(); // } catch (IOException ex) { // ex.printStackTrace(); // } finally { // if (bw != null) { // try { // bw.close(); // } catch (IOException ex) { // ex.printStackTrace(); // } // } // } // } /** * Creates new form GuessNumberJFrame */ public GuessNumberJFrame() { initComponents(); } public GuessNumberJFrame(String username) { initComponents(); init(username); checkGame(); } private void init(String username) { this.setTitle("欢迎" + username + "光临"); UiUtil.setFrameCenter(this); number = getRandomNumber(); System.out.println("number:" + number); } private int getRandomNumber() { return (int) (Math.random() * 100) + 1; } /** * This method is called from within the constructor to initialize the form. * WARNING: Do NOT modify this code. The content of this method is always * regenerated by the Form Editor. */ @SuppressWarnings("unchecked") // //GEN-BEGIN:initComponents private void initComponents() { jLabel1 = new javax.swing.JLabel(); jtfGuessNumber = new javax.swing.JTextField(); guessButton = new javax.swing.JButton(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); jLabel1.setText("系统已经产生了一个随机数,请输入你要猜的数据(1-100)"); guessButton.setText("我猜"); guessButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { guessButtonActionPerformed(evt); } }); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addComponent(jtfGuessNumber, javax.swing.GroupLayout.PREFERRED_SIZE, 154, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(18, 18, 18) .addComponent(guessButton)) .addComponent(jLabel1)) .addGap(46, 46, 46)) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(46, 46, 46) .addComponent(jLabel1) .addGap(24, 24, 24) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jtfGuessNumber, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(guessButton)) .addContainerGap(36, Short.MAX_VALUE)) ); pack(); }// //GEN-END:initComponents private void checkGame() { Properties prop = new Properties(); try { FileReader fr = new FileReader("count.txt"); prop.load(fr); fr.close(); String countString = prop.getProperty("count"); int count = Integer.parseInt(countString); if (count >= 5) { JOptionPane.showMessageDialog(this, "试玩结束,要想继续玩,请充值"); System.exit(0); } else { count++; prop.setProperty("count", String.valueOf(count)); FileWriter fw = new FileWriter("count.txt"); prop.store(fw, null); fw.close(); } } catch (IOException e) { e.printStackTrace(); } } private void guessButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_guessButtonActionPerformed checkGame(); //获取数据 String guessNumberString = this.jtfGuessNumber.getText().trim(); //判断必须是数字 String regex = "\\d{1,3}"; //判断 if (!guessNumberString.matches(regex)) { JOptionPane.showMessageDialog(this, "你猜的数据不是数字"); this.jtfGuessNumber.setText(""); this.jtfGuessNumber.requestFocus(); return; } //转换为数据 int guessNumber = Integer.parseInt(guessNumberString); if (guessNumber < 0 || guessNumber > 100) { JOptionPane.showMessageDialog(this, "你猜的数字超出范围(1-100)"); this.jtfGuessNumber.setText(""); this.jtfGuessNumber.requestFocus(); return; } if (guessNumber > number) { JOptionPane.showMessageDialog(this, "你猜的数字" + guessNumber + "大了"); this.jtfGuessNumber.setText(""); this.jtfGuessNumber.requestFocus(); } else if (guessNumber < number) { JOptionPane.showMessageDialog(this, "你猜的数字" + guessNumber + "小了"); this.jtfGuessNumber.setText(""); this.jtfGuessNumber.requestFocus(); } else { JOptionPane.showMessageDialog(this, "恭喜你猜中了"); //public static int showConfirmDialog(Component parentComponent,Object message) int choice = JOptionPane.showConfirmDialog(this, "还要玩吗"); //System.out.println("choice:"+choice); if (choice == 0) { number = getRandomNumber(); JOptionPane.showMessageDialog(this, "随机数再次产生,祝玩的开心"); this.jtfGuessNumber.setText(""); this.jtfGuessNumber.requestFocus(); } } }//GEN-LAST:event_guessButtonActionPerformed /** * @param args the command line arguments */ // public static void main(String args[]) { // /* Set the Nimbus look and feel */ // // // /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. // * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html // */ // try { // for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { // if ("Nimbus".equals(info.getName())) { // javax.swing.UIManager.setLookAndFeel(info.getClassName()); // break; // } // } // } catch (ClassNotFoundException ex) { // java.util.logging.Logger.getLogger(GuessNumberJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); // } catch (InstantiationException ex) { // java.util.logging.Logger.getLogger(GuessNumberJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); // } catch (IllegalAccessException ex) { // java.util.logging.Logger.getLogger(GuessNumberJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); // } catch (javax.swing.UnsupportedLookAndFeelException ex) { // java.util.logging.Logger.getLogger(GuessNumberJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); // } // // // // /* Create and display the form */ // java.awt.EventQueue.invokeLater(new Runnable() { // public void run() { // new GuessNumberJFrame().setVisible(true); // } // }); // } // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton guessButton; private javax.swing.JLabel jLabel1; private javax.swing.JTextField jtfGuessNumber; // End of variables declaration//GEN-END:variables } ================================================ FILE: day25/code/Eclipse版本的登录注册/src/cn/itcast/view/LoginJFrame.form ================================================
================================================ FILE: day25/code/Eclipse版本的登录注册/src/cn/itcast/view/LoginJFrame.java ================================================ /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package cn.itcast.view; import cn.itcast.dao.UserDao; import cn.itcast.dao.impl.UserDaoImpl; import cn.itcast.util.UiUtil; import javax.swing.JOptionPane; /** * * @author fqy */ public class LoginJFrame extends javax.swing.JFrame { /** * Creates new form LoginJFrame */ public LoginJFrame() { initComponents(); init(); } private void init() { this.setTitle("登录界面"); UiUtil.setFrameIcon(this, "src\\cn\\itcast\\resource\\user.jpg"); UiUtil.setFrameCenter(this); } /** * This method is called from within the constructor to initialize the form. * WARNING: Do NOT modify this code. The content of this method is always * regenerated by the Form Editor. */ @SuppressWarnings("unchecked") // //GEN-BEGIN:initComponents private void initComponents() { jLabel2 = new javax.swing.JLabel(); jLabel1 = new javax.swing.JLabel(); jLabel3 = new javax.swing.JLabel(); jtfUsername = new javax.swing.JTextField(); jpfPassword = new javax.swing.JPasswordField(); loginButton = new javax.swing.JButton(); resetButton = new javax.swing.JButton(); registButton = new javax.swing.JButton(); jLabel2.setText("jLabel2"); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); setResizable(false); jLabel1.setText("用户名:"); jLabel3.setText("密码:"); loginButton.setText("登录"); loginButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { loginButtonActionPerformed(evt); } }); resetButton.setText("重置"); resetButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { resetButtonActionPerformed(evt); } }); registButton.setText("注册"); registButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { registButtonActionPerformed(evt); } }); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(48, 48, 48) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addGroup(layout.createSequentialGroup() .addComponent(loginButton) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 124, Short.MAX_VALUE) .addComponent(resetButton)) .addGroup(layout.createSequentialGroup() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel1) .addComponent(jLabel3)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(jtfUsername) .addComponent(jpfPassword, javax.swing.GroupLayout.DEFAULT_SIZE, 190, Short.MAX_VALUE)))) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(registButton) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(34, 34, 34) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel1) .addComponent(jtfUsername, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(registButton)) .addGap(32, 32, 32) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel3) .addComponent(jpfPassword, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 57, Short.MAX_VALUE) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(loginButton) .addComponent(resetButton)) .addGap(79, 79, 79)) ); pack(); }// //GEN-END:initComponents private void registButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_registButtonActionPerformed RegistJFrame rjf = new RegistJFrame(); // this.setVisible(false); this.dispose(); rjf.setVisible(true); }//GEN-LAST:event_registButtonActionPerformed private void clearData() { this.jtfUsername.setText(""); this.jpfPassword.setText(""); this.jtfUsername.requestFocus(); } private void resetButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_resetButtonActionPerformed clearData(); }//GEN-LAST:event_resetButtonActionPerformed private void loginButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_loginButtonActionPerformed //获取用户名和密码 String username = this.jtfUsername.getText().trim(); // String password = this.jpfPassword.getText().trim(); String password = String.valueOf(this.jpfPassword.getPassword()); //校验数据 //定义规则 String regex = "\\w{6,12}"; //校验用户名 if(!username.matches(regex)) { JOptionPane.showMessageDialog(this, "用户名不满足条件(6~12位字符)"); this.jtfUsername.setText(""); this.jtfUsername.requestFocus(); return; } //校验密码 if(!password.matches(regex)) { JOptionPane.showMessageDialog(this, "密码不满足条件(6~12位字符)"); this.jpfPassword.setText(""); this.jpfPassword.requestFocus(); return; } //调用登录功能 UserDao ud = new UserDaoImpl(); boolean flag = ud.isLogin(username, password); if(flag) { JOptionPane.showMessageDialog(this, "登录成功,可以开始玩游戏了"); GuessNumberJFrame gjf = new GuessNumberJFrame(username); this.dispose(); gjf.setVisible(true); }else{ JOptionPane.showMessageDialog(this, "用户名或者密码有误"); clearData(); } }//GEN-LAST:event_loginButtonActionPerformed /** * @param args the command line arguments */ public static void main(String args[]) { /* Set the Nimbus look and feel */ // /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html */ try { for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { if ("Nimbus".equals(info.getName())) { javax.swing.UIManager.setLookAndFeel(info.getClassName()); break; } } } catch (ClassNotFoundException ex) { java.util.logging.Logger.getLogger(LoginJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (InstantiationException ex) { java.util.logging.Logger.getLogger(LoginJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (IllegalAccessException ex) { java.util.logging.Logger.getLogger(LoginJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (javax.swing.UnsupportedLookAndFeelException ex) { java.util.logging.Logger.getLogger(LoginJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } // /* Create and display the form */ java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new LoginJFrame().setVisible(true); } }); } // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3; private javax.swing.JPasswordField jpfPassword; private javax.swing.JTextField jtfUsername; private javax.swing.JButton loginButton; private javax.swing.JButton registButton; private javax.swing.JButton resetButton; // End of variables declaration//GEN-END:variables } ================================================ FILE: day25/code/Eclipse版本的登录注册/src/cn/itcast/view/RegistJFrame.form ================================================
================================================ FILE: day25/code/Eclipse版本的登录注册/src/cn/itcast/view/RegistJFrame.java ================================================ /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package cn.itcast.view; import cn.itcast.dao.UserDao; import cn.itcast.dao.impl.UserDaoImpl; import cn.itcast.pojo.User; import cn.itcast.util.UiUtil; import javax.swing.JOptionPane; /** * * @author fqy */ public class RegistJFrame extends javax.swing.JFrame { /** * Creates new form LoginJFrame */ public RegistJFrame() { initComponents(); init(); } private void init() { this.setTitle("注册界面"); UiUtil.setFrameIcon(this, "src\\cn\\itcast\\resource\\user.jpg"); UiUtil.setFrameCenter(this); } /** * This method is called from within the constructor to initialize the form. * WARNING: Do NOT modify this code. The content of this method is always * regenerated by the Form Editor. */ @SuppressWarnings("unchecked") // //GEN-BEGIN:initComponents private void initComponents() { jLabel2 = new javax.swing.JLabel(); jLabel1 = new javax.swing.JLabel(); jLabel3 = new javax.swing.JLabel(); jtfUsername = new javax.swing.JTextField(); jpfPassword = new javax.swing.JPasswordField(); registButton = new javax.swing.JButton(); cancleButton = new javax.swing.JButton(); jLabel2.setText("jLabel2"); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); jLabel1.setText("用户名:"); jLabel3.setText("密码:"); registButton.setText("注册"); registButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { registButtonActionPerformed(evt); } }); cancleButton.setText("取消"); cancleButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { cancleButtonActionPerformed(evt); } }); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(48, 48, 48) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addGroup(layout.createSequentialGroup() .addComponent(registButton) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 124, Short.MAX_VALUE) .addComponent(cancleButton)) .addGroup(layout.createSequentialGroup() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel1) .addComponent(jLabel3)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(jtfUsername) .addComponent(jpfPassword, javax.swing.GroupLayout.DEFAULT_SIZE, 190, Short.MAX_VALUE)))) .addContainerGap(79, Short.MAX_VALUE)) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(36, 36, 36) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel1) .addComponent(jtfUsername, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(34, 34, 34) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel3) .addComponent(jpfPassword, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(59, 59, 59) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(registButton) .addComponent(cancleButton)) .addContainerGap(77, Short.MAX_VALUE)) ); pack(); }// //GEN-END:initComponents private void goLoginView() { LoginJFrame ljf = new LoginJFrame(); this.dispose(); ljf.setVisible(true); } private void cancleButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cancleButtonActionPerformed goLoginView(); }//GEN-LAST:event_cancleButtonActionPerformed private void registButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_registButtonActionPerformed //获取用户名和密码 String username = this.jtfUsername.getText().trim(); // String password = this.jpfPassword.getText().trim(); String password = String.valueOf(this.jpfPassword.getPassword()); //校验数据 //定义规则 String regex = "\\w{6,12}"; //校验用户名 if (!username.matches(regex)) { JOptionPane.showMessageDialog(this, "用户名不满足条件(6~12位字符)"); this.jtfUsername.setText(""); this.jtfUsername.requestFocus(); return; } //校验密码 if (!password.matches(regex)) { JOptionPane.showMessageDialog(this, "密码不满足条件(6~12位字符)"); this.jpfPassword.setText(""); this.jpfPassword.requestFocus(); return; } //封装对象 User user = new User(); user.setUsername(username); user.setPassword(password); //调用注册功能 UserDao ud = new UserDaoImpl(); ud.regist(user); JOptionPane.showMessageDialog(this, "注册成功"); //返回到登录界面 goLoginView(); }//GEN-LAST:event_registButtonActionPerformed /** * @param args the command line arguments */ // public static void main(String args[]) { // /* Set the Nimbus look and feel */ // // // /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. // * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html // */ // try { // for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { // if ("Nimbus".equals(info.getName())) { // javax.swing.UIManager.setLookAndFeel(info.getClassName()); // break; // } // } // } catch (ClassNotFoundException ex) { // java.util.logging.Logger.getLogger(RegistJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); // } catch (InstantiationException ex) { // java.util.logging.Logger.getLogger(RegistJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); // } catch (IllegalAccessException ex) { // java.util.logging.Logger.getLogger(RegistJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); // } catch (javax.swing.UnsupportedLookAndFeelException ex) { // java.util.logging.Logger.getLogger(RegistJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); // } // // // // /* Create and display the form */ // java.awt.EventQueue.invokeLater(new Runnable() { // public void run() { // new RegistJFrame().setVisible(true); // } // }); // } // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton cancleButton; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3; private javax.swing.JPasswordField jpfPassword; private javax.swing.JTextField jtfUsername; private javax.swing.JButton registButton; // End of variables declaration//GEN-END:variables } ================================================ FILE: day25/code/Eclipse版本的登录注册/src/登录注册.txt ================================================ 登录注册: 有哪些类? 用户类 用户描述类 用户操作类 登录窗体 注册窗体 类有哪些成员? 用户类 用户描述类 用户名,密码 用户操作类 登录,注册 类与类的关系? 在登录窗体上点击登录按钮,调用登录功能 在注册窗体上点击注册按钮,调用注册功能 分包: cn.itcast.pojo 用户基本描述类 cn.itcast.dao 用户操作接口 cn.itcast.dao.impl 用户操作具体实现类 cn.itcast.util 工具类 cn.itcast.view 窗体类 ================================================ FILE: day25/code/Eclipse版本的登录注册/user.txt ================================================ adminadmin=adminadmin woaigame=woaigame LoveJava=123456 ================================================ FILE: day25/code/day25_Frame/.classpath ================================================ ================================================ FILE: day25/code/day25_Frame/.project ================================================ day25_Frame org.eclipse.jdt.core.javabuilder org.eclipse.jdt.core.javanature ================================================ FILE: day25/code/day25_Frame/.settings/org.eclipse.jdt.core.prefs ================================================ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.compliance=1.7 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.source=1.7 ================================================ FILE: day25/code/day25_Frame/bin/cn/itcast_02/事件监听机制.txt ================================================ ¼ƣ ¼Դ ¼ĵط() ¼ Ҫ ¼ Է鴦ʽ ¼ ¼עᵽ¼Դ ¼ ¼Դ ¼ interface { void һȭ(); void һ(); void һש(); } ¼˴ class ˴ implements { void һȭ() { sop("Ѫˣ͵ϴϴ"); } void һ() { sop("ε͵ͨ紦"); } void һש() { sop("ͷѪ͵̫ƽ伴"); } } Person p1 = new Person(""); Person p2 = new Person(""); p1.ע¼(); ν⣺ ǽֻһȴжôܱ֤뼸üء ģʽ ڵ ӿڣ interface { void һȭ(); void һ(); void һש(); ... } ࣺ class ˴ implements { public void һȭ() { sop("Ѫˣ͵ϴϴ"); } public void һ() {} public void һש() {} ... } ģʽĽ ӿڣ interface { void һȭ(); void һ(); void һש(); ... } ࣺ abstract class implements { public void һȭ(){} public void һ(){} public void һש(){} ... } ࣺ class ˴ extends { public void һȭ() { sop("Ѫˣ͵ϴϴ"); } } ================================================ FILE: day25/code/day25_Frame/bw.txt ================================================ iii н ================================================ FILE: day25/code/day25_Frame/src/cn/itcast_01/FrameDemo.java ================================================ package cn.itcast_01; import java.awt.Frame; /* * Componentһ * һжܵҪ * Դ洢 * ͨ۲ļ̳ϵͼǰѧϰʽѧϰ㣬̫鷳ˡ * ԣǽֱFrameɡ * * 췽 * public Frame() * * ͨ۲죬֪С * A:ڴдˣֻûп * B:ĴҲǿ̵߳ġ */ public class FrameDemo { public static void main(String[] args) { // Frame f = new Frame(); // ñ f.setTitle("ٶһ,֪"); // ôС f.setSize(400, 300); // ôɼ f.setVisible(true); // λ f.setLocation(500, 200); // f.show(); // System.out.println("over"); } } ================================================ FILE: day25/code/day25_Frame/src/cn/itcast_02/FrameDemo.java ================================================ package cn.itcast_02; import java.awt.Frame; import java.awt.event.WindowEvent; import java.awt.event.WindowListener; public class FrameDemo { public static void main(String[] args) { // Frame f = new Frame(); // ô f.setTitle("ر"); f.setSize(400, 200); f.setLocation(500, 250); // ע¼ f.addWindowListener(new WindowListener() { @Override public void windowOpened(WindowEvent e) { } @Override public void windowIconified(WindowEvent e) { } @Override public void windowDeiconified(WindowEvent e) { } @Override public void windowDeactivated(WindowEvent e) { } @Override public void windowClosing(WindowEvent e) { System.exit(0); } @Override public void windowClosed(WindowEvent e) { } @Override public void windowActivated(WindowEvent e) { } }); // ôɼ f.setVisible(true); } } ================================================ FILE: day25/code/day25_Frame/src/cn/itcast_02/FrameDemo2.java ================================================ package cn.itcast_02; import java.awt.Frame; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; /* * Ľ * * * е¼Ҫࡣ * һ¼ӿֻһ */ public class FrameDemo2 { public static void main(String[] args) { // Frame f = new Frame(); // ô f.setTitle("ر"); f.setSize(400, 200); f.setLocation(500, 250); // ע¼ f.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { System.exit(0); } }); // ôɼ f.setVisible(true); } } ================================================ FILE: day25/code/day25_Frame/src/cn/itcast_02/事件监听机制.txt ================================================ ¼ƣ ¼Դ ¼ĵط() ¼ Ҫ ¼ Է鴦ʽ ¼ ¼עᵽ¼Դ ¼ ¼Դ ¼ interface { void һȭ(); void һ(); void һש(); } ¼˴ class ˴ implements { void һȭ() { sop("Ѫˣ͵ϴϴ"); } void һ() { sop("ε͵ͨ紦"); } void һש() { sop("ͷѪ͵̫ƽ伴"); } } Person p1 = new Person(""); Person p2 = new Person(""); p1.ע¼(); ν⣺ ǽֻһȴжôܱ֤뼸üء ģʽ ڵ ӿڣ interface { void һȭ(); void һ(); void һש(); ... } ࣺ class ˴ implements { public void һȭ() { sop("Ѫˣ͵ϴϴ"); } public void һ() {} public void һש() {} ... } ģʽĽ ӿڣ interface { void һȭ(); void һ(); void һש(); ... } ࣺ abstract class implements { public void һȭ(){} public void һ(){} public void һש(){} ... } ࣺ class ˴ extends { public void һȭ() { sop("Ѫˣ͵ϴϴ"); } } ================================================ FILE: day25/code/day25_Frame/src/cn/itcast_03/ButtonDemo.java ================================================ package cn.itcast_03; import java.awt.Button; import java.awt.FlowLayout; import java.awt.Frame; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; /* * ڴһť԰ť¼ûһΰť̨ٵ * * * A: * B:ť * C:Ѱťӵ * D:ôʾ */ public class ButtonDemo { public static void main(String[] args) { // Frame f = new Frame(); // ô f.setTitle("ť¼"); f.setBounds(500, 250, 400, 300); // ò f.setLayout(new FlowLayout()); // ť Button bu = new Button("Ұ"); // bu.setSize(20, 10); // Ѱťӵ f.add(bu); // ע¼ // עᰴť¼ bu.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { System.out.println("ٵ"); } }); // ر¼ f.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { System.exit(0); } }); // ôʾ f.setVisible(true); } } ================================================ FILE: day25/code/day25_Frame/src/cn/itcast_04/TextDemo.java ================================================ package cn.itcast_04; import java.awt.Button; import java.awt.FlowLayout; import java.awt.Frame; import java.awt.TextArea; import java.awt.TextField; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; /* * ͨ۲ͼǷ֪Ӧµļ * 壬ı򣬰ťı * ҶԴͰť¼ */ public class TextDemo { public static void main(String[] args) { // Frame f = new Frame("ת"); // ô f.setBounds(500, 250, 400, 300); // ò f.setLayout(new FlowLayout()); // ı final TextField tf = new TextField(20); // ť Button bu = new Button("ת"); // ı final TextArea ta = new TextArea(10, 40); // ӵ f.add(tf); f.add(bu); f.add(ta); // ע¼ f.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { System.exit(0); } }); // bu¼ bu.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // ȡıֵֵı String tf_str = tf.getText(); // tf.setText(""); // ta.setText(tf_str); ta.append(tf_str + "\n"); } }); // ôɼ f.setVisible(true); } } ================================================ FILE: day25/code/day25_Frame/src/cn/itcast_04/TextDemo2.java ================================================ package cn.itcast_04; import java.awt.Button; import java.awt.FlowLayout; import java.awt.Frame; import java.awt.TextArea; import java.awt.TextField; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; /* * ͨ۲ͼǷ֪Ӧµļ * 壬ı򣬰ťı * ҶԴͰť¼ */ public class TextDemo2 { public static void main(String[] args) { // Frame f = new Frame("ת"); // ô f.setBounds(500, 250, 400, 300); // ò f.setLayout(new FlowLayout()); // ı final TextField tf = new TextField(20); // ť Button bu = new Button("дıļ"); Button bu2 = new Button("ȡıļ"); // ı final TextArea ta = new TextArea(10, 40); // ӵ f.add(tf); f.add(bu); f.add(bu2); f.add(ta); // ע¼ f.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { System.exit(0); } }); // bu¼ bu.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // ȡıֵֵı String tf_str = tf.getText(); // tf.setText(""); // дıļ BufferedWriter bw = null; try { bw = new BufferedWriter(new FileWriter("bw.txt", true)); bw.write(tf_str); bw.newLine(); bw.flush(); } catch (IOException e1) { e1.printStackTrace(); } finally { if (bw != null) { try { bw.close(); } catch (IOException e1) { e1.printStackTrace(); } } } } }); bu2.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { ta.setText(""); BufferedReader br = null; try { br = new BufferedReader(new FileReader("bw.txt")); String line = null; while ((line = br.readLine()) != null) { ta.append(line + "\n"); } } catch (IOException e1) { e1.printStackTrace(); } finally { if (br != null) { try { br.close(); } catch (IOException e1) { e1.printStackTrace(); } } } } }); // ôɼ f.setVisible(true); } } ================================================ FILE: day25/code/day25_Frame/src/cn/itcast_05/MouseDemo.java ================================================ package cn.itcast_05; import java.awt.Button; import java.awt.Color; import java.awt.FlowLayout; import java.awt.Frame; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.awt.event.WindowListener; /* * ͨ۲֪ҪĶ1壬4ť */ public class MouseDemo { public static void main(String[] args) { // final Frame f = new Frame("ıɫ"); // ô f.setBounds(500, 250, 400, 300); // ò f.setLayout(new FlowLayout()); // ť Button redButton = new Button("ɫ"); Button greenButton = new Button("ɫ"); Button blueButton = new Button("ɫ"); Button whiteButton = new Button("ԭ"); // ӵ f.add(redButton); f.add(greenButton); f.add(blueButton); f.add(whiteButton); // ע¼ f.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { System.exit(0); } }); // redButton // ¼ // redButton.addActionListener(new ActionListener() { // @Override // public void actionPerformed(ActionEvent e) { // // public void setBackground(Color c) // f.setBackground(Color.RED); // } // }); // ¼ // redButton.addMouseListener(new MouseAdapter() { // @Override // public void mouseClicked(MouseEvent e) { // f.setBackground(Color.RED); // } // }); redButton.addMouseListener(new MouseAdapter() { @Override public void mouseEntered(MouseEvent e) { f.setBackground(Color.RED); } }); redButton.addMouseListener(new MouseAdapter() { @Override public void mouseExited(MouseEvent e) { f.setBackground(Color.WHITE); } }); // ôɼ f.setVisible(true); } } ================================================ FILE: day25/code/day25_Frame/src/cn/itcast_06/KeyDemo.java ================================================ package cn.itcast_06; import java.awt.FlowLayout; import java.awt.Frame; import java.awt.Label; import java.awt.TextField; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; /* * һ壬һǩһı */ public class KeyDemo { public static void main(String[] args) { // final Frame f = new Frame("¼"); // ô f.setBounds(500, 250, 400, 300); // ò f.setLayout(new FlowLayout()); // ǩ Label label = new Label("qq룬ֻ,:"); // ı TextField tf = new TextField(20); // ӵ f.add(label); f.add(tf); // ע¼ f.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { System.exit(0); } }); tf.addKeyListener(new KeyAdapter() { @Override public void keyPressed(KeyEvent e) { // public char getKeyChar() char ch = e.getKeyChar(); if (!(ch >= KeyEvent.VK_0 && ch <= KeyEvent.VK_9)) { System.out.println("ǣ" + ch); e.consume(); } } }); // ÿɼ f.setVisible(true); } } ================================================ FILE: day25/code/day25_Frame/src/cn/itcast_07/MenuDemo.java ================================================ package cn.itcast_07; import java.awt.Frame; import java.awt.Menu; import java.awt.MenuBar; import java.awt.MenuItem; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; /* * һ˵ */ public class MenuDemo { public static void main(String[] args) { // final Frame f = new Frame("һ˵"); // ô f.setBounds(500, 250, 400, 300); // ˵ MenuBar mb = new MenuBar(); // ˵ Menu m = new Menu("ļ"); // ˵ MenuItem mi = new MenuItem("˳ϵͳ"); // ˵ m.add(mi); mb.add(m); // ӵ f.setMenuBar(mb); // ע¼ f.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { System.exit(0); } }); mi.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { System.exit(0); } }); f.setVisible(true); } } ================================================ FILE: day25/code/day25_Frame/src/cn/itcast_07/MenuDemo2.java ================================================ package cn.itcast_07; import java.awt.Frame; import java.awt.Menu; import java.awt.MenuBar; import java.awt.MenuItem; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.io.IOException; /* * Frame * MenuBar * Menu * Menu * MenuItem * MenuItem */ public class MenuDemo2 { public static void main(String[] args) { // final Frame f = new Frame("༶˵"); // ô f.setBounds(500, 250, 400, 300); // ˵ MenuBar mb = new MenuBar(); // ˵ Menu m1 = new Menu("ļ"); Menu m2 = new Menu(""); // ˵ final MenuItem mi1 = new MenuItem("úѧϰ"); final MenuItem mi2 = new MenuItem(""); MenuItem mi3 = new MenuItem("ָ"); MenuItem mi4 = new MenuItem("򿪼±"); MenuItem mi5 = new MenuItem("˳ϵͳ"); // ˵ m2.add(mi1); m2.add(mi2); m2.add(mi3); m1.add(m2); m1.add(mi4); m1.add(mi5); mb.add(m1); // ӵ f.setMenuBar(mb); // ȡǰı final String title = f.getTitle(); // ע¼ f.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { System.exit(0); } }); mi5.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { System.exit(0); } }); mi4.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { Runtime r = Runtime.getRuntime(); try { r.exec("notepad"); } catch (IOException e1) { e1.printStackTrace(); } } }); mi1.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { f.setTitle(mi1.getLabel()); } }); mi2.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { f.setTitle(mi2.getLabel()); } }); mi3.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { f.setTitle(title); } }); f.setVisible(true); } } ================================================ FILE: day25/code/txz_demo/.classpath ================================================ ================================================ FILE: day25/code/txz_demo/.project ================================================ txz_demo org.eclipse.jdt.core.javabuilder org.eclipse.jdt.core.javanature ================================================ FILE: day25/code/txz_demo/.settings/org.eclipse.jdt.core.prefs ================================================ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.compliance=1.7 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.source=1.7 ================================================ FILE: day25/code/txz_demo/bin/.classpath ================================================ ================================================ FILE: day25/code/txz_demo/bin/.project ================================================ TXZProject org.eclipse.jdt.core.javabuilder org.eclipse.jdt.core.javanature ================================================ FILE: day25/code/txz_demo/src/.classpath ================================================ ================================================ FILE: day25/code/txz_demo/src/.project ================================================ TXZProject org.eclipse.jdt.core.javabuilder org.eclipse.jdt.core.javanature ================================================ FILE: day25/code/txz_demo/src/App.java ================================================ import cn.itcast.txz.ui.MainFrame; public class App { public static void main(String[] args) { new MainFrame(); } } ================================================ FILE: day25/code/txz_demo/src/cn/itcast/txz/ui/LogicHelper.java ================================================ package cn.itcast.txz.ui; public class LogicHelper { public static final int FLOOR = 0; public static final int WALL = 1; public static final int BOX = 2; public static final int TARGET = 4; public static final int BOX_AND_TARGET = 6; } ================================================ FILE: day25/code/txz_demo/src/cn/itcast/txz/ui/MainFrame.java ================================================ package cn.itcast.txz.ui; import java.awt.Container; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.io.IOException; import javax.swing.ImageIcon; import javax.swing.JDialog; import javax.swing.JFrame; import javax.swing.JLabel; //Ϸ˵ //ӱ˵ //ϷԻͼ //ϷԻ //Ƕ public class MainFrame extends JFrame implements KeyListener { private Container panel; private JLabel player; // private int playerX; // private int playerY; // ɼ int count = 0; // int total = 3; public MainFrame() { // UIʼ this.mainFrameBaseUI(); // UIݳʼ this.dateInit(); // UIʼ this.dateUI(); // ذUIʼ this.backgroundUI(); // Ӽ̼ this.addKeyListener(this); this.setVisible(true); } private JLabel[][] uis = new JLabel[12][16]; private void dateUI() { // ǽʼ for (int i = 0; i < dates.length; i++) { for (int j = 0; j < dates[i].length; j++) { if (dates[i][j] == 1) { JLabel temp = new JLabel(new ImageIcon("1.png")); temp.setBounds(10 + j * 50, 10 + i * 50, 50, 50); this.panel.add(temp); } } } // ʼλõ3У3(ڵ0е0) this.playerX = 3; this.playerY = 3; player = new JLabel(new ImageIcon("-10.png")); player.setBounds(10 + playerX * 50, 10 + playerY * 50, 50, 50); this.panel.add(player); // Ŀʼ // totalй JLabel tar1 = new JLabel(new ImageIcon("8.png")); tar1.setBounds(10 + 14 * 50, 10 + 5 * 50, 50, 50); this.panel.add(tar1); dates[5][14] = LogicHelper.TARGET; uis[5][14] = tar1; JLabel tar2 = new JLabel(new ImageIcon("8.png")); tar2.setBounds(10 + 14 * 50, 10 + 6 * 50, 50, 50); this.panel.add(tar2); dates[6][14] = LogicHelper.TARGET; uis[6][14] = tar2; JLabel tar3 = new JLabel(new ImageIcon("8.png")); tar3.setBounds(10 + 14 * 50, 10 + 7 * 50, 50, 50); this.panel.add(tar3); dates[7][14] = LogicHelper.TARGET; uis[7][14] = tar3; // ӳʼ // totalй JLabel box1 = new JLabel(new ImageIcon("4.png")); box1.setBounds(10 + 7 * 50, 10 + 3 * 50, 50, 50); this.panel.add(box1); dates[3][7] = LogicHelper.BOX; uis[3][7] = box1; JLabel box2 = new JLabel(new ImageIcon("4.png")); box2.setBounds(10 + 7 * 50, 10 + 5 * 50, 50, 50); this.panel.add(box2); dates[5][7] = LogicHelper.BOX; uis[5][7] = box2; JLabel box3 = new JLabel(new ImageIcon("4.png")); box3.setBounds(10 + 7 * 50, 10 + 7 * 50, 50, 50); this.panel.add(box3); dates[7][7] = LogicHelper.BOX; uis[7][7] = box3; } private int[][] dates = new int[12][16]; private void dateInit() { dates = new int[][] { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 }, { 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1 }, { 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1 }, { 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1 }, { 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1 }, { 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1 }, { 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1 }, { 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1 }, { 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 }, { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 }, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, }; } private void backgroundUI() { // ͼƬϢ JLabel floor = new JLabel(new ImageIcon("floor.png")); floor.setBounds(10, 10, 800, 600); this.panel.add(floor); } private void mainFrameBaseUI() { this.panel = this.getContentPane(); this.setSize(826, 650); this.setLocationRelativeTo(null); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.panel.setLayout(null); // ô,ǿDzƷʶ,ͬʱÿϿνҪ԰汾v1.0е仯 this.setTitle("v1.0 - java.itcast.cn DzJavaѵѧԺȫõJavaѵJavaѵγ"); this.setResizable(false); this.getContentPane().setLayout(null); } // ƶƣԭʼλýƶ2ʾֱƶƶ3ʾˮƽƶƶ private static void move(JLabel c, int vMoveType, int hMoveType) { c.setLocation(c.getX() - hMoveType * 50, c.getY() - vMoveType * 50); } public void keyPressed(KeyEvent e) { int keyCode = e.getKeyCode(); int x = keyCode % 2 == 0 ? 39 - keyCode : 0; int y = keyCode % 2 == 1 ? 38 - keyCode : 0; // ǽ if (keyCode >= 37 && keyCode <= 40) { // ͼƬл // 10 // -10 // 01 // 0-1 player.setIcon(new ImageIcon(x + "" + y + ".png")); // ذ,Ŀ if (dates[playerX - x][playerY - y] == LogicHelper.FLOOR || dates[playerX - x][playerY - y] == LogicHelper.TARGET) { move(player, x, y); playerX = playerX - x; playerY = playerY - y; return; } // Ӽ if (dates[playerX - x][playerY - y] == LogicHelper.BOX || dates[playerX - x][playerY - y] == LogicHelper.BOX_AND_TARGET) { // ͬǷΪյذĿλ // ȡǰƶϰ int code1 = dates[playerX - x][playerY - y]; int code2 = dates[playerX - x * 2][playerY - y * 2]; if (code2 == LogicHelper.FLOOR || code2 == LogicHelper.TARGET) { // ƶ JLabel box = uis[playerX - x][playerY - y]; move(box, x, y); // uisģ͸ uis[playerX - x * 2][playerY - y * 2] = uis[playerX - x][playerY - y]; uis[playerX - x][playerY - y] = null; // datesģ͸ // ӵյ if (code1 == LogicHelper.BOX && code2 == LogicHelper.FLOOR) { dates[playerX - x * 2][playerY - y * 2] = LogicHelper.BOX; dates[playerX - x][playerY - y] = LogicHelper.FLOOR; } // ӵĿ if (code1 == LogicHelper.BOX && code2 == LogicHelper.TARGET) { dates[playerX - x * 2][playerY - y * 2] = LogicHelper.BOX_AND_TARGET; dates[playerX - x][playerY - y] = LogicHelper.FLOOR; // ıģ box.setIcon(new ImageIcon("40.png")); count++; } // Ŀ굽յ if (code1 == LogicHelper.BOX_AND_TARGET && code2 == LogicHelper.FLOOR) { dates[playerX - x * 2][playerY - y * 2] = LogicHelper.BOX; dates[playerX - x][playerY - y] = LogicHelper.TARGET; // ıģ box.setIcon(new ImageIcon("4.png")); count--; } // Ŀ굽Ŀ if (code1 == LogicHelper.BOX_AND_TARGET && code2 == LogicHelper.TARGET) { dates[playerX - x * 2][playerY - y * 2] = LogicHelper.BOX_AND_TARGET; dates[playerX - x][playerY - y] = LogicHelper.TARGET; // ıģ box.setIcon(new ImageIcon("40.png")); } // ģƶ move(player, x, y); // playerX = playerX - x; playerY = playerY - y; victory(); } return; } } } // ʤж private void victory() { if (count == total) { // Ƴ¼û this.removeKeyListener(this); // ´Ϊֲ룬ҪϺն JDialog victory = new JDialog(this, "ϲȡʤ!Dz͡JAVAѵҵ콢", true); victory.setSize(400, 300); victory.setLocationRelativeTo(null); victory.setLayout(null); JLabel info = new JLabel(new ImageIcon("gg.jpg")); info.setBounds(2, 2, 380, 180); victory.add(info); JLabel click = new JLabel(new ImageIcon("gg2.jpg")); click.setBounds(2, 182, 380, 88); click.addMouseListener(new MouseAdapter() { public void mousePressed(MouseEvent e) { try { Runtime.getRuntime() .exec("rundll32 url.dll,FileProtocolHandler http://www.itcast.cn"); } catch (IOException e1) { e1.printStackTrace(); } } }); victory.add(click); victory.setVisible(true); } } public void keyReleased(KeyEvent e) { } public void keyTyped(KeyEvent e) { } } ================================================ FILE: day25/code/修改皮肤要使用的资源/MyLookAndFeel.java ================================================ package cn.itcast_01; //涨˳ҪʹõƤַ· public abstract class MyLookAndFeel { // ϵͳԴƤ,5ֶ public static String SYS_METAL = "javax.swing.plaf.metal.MetalLookAndFeel"; public static String SYS_NIMBUS = "com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel"; // и public static String SYS_CDE_MOTIF = "com.sun.java.swing.plaf.motif.MotifLookAndFeel"; public static String SYS_WINDOWS = "com.sun.java.swing.plaf.windows.WindowsLookAndFeel"; public static String SYS_WINDOWS_CLASSIC = "com.sun.java.swing.plaf.windows.WindowsClassicLookAndFeel"; // JIattoo jarԴ public static String JTATTOO_ACRYL = "com.jtattoo.plaf.acryl.AcrylLookAndFeel"; public static String JTATTOO_AERO = "com.jtattoo.plaf.aero.AeroLookAndFeel"; // public static String JTATTOO_ALUMINUM = "com.jtattoo.plaf.aluminium.AluminiumLookAndFeel"; // ϲ public static String JTATTOO_BERNSTEIN = "com.jtattoo.plaf.bernstein.BernsteinLookAndFeel"; public static String JTATTOO_FAST = "com.jtattoo.plaf.fast.FastLookAndFeel"; // и public static String JTATTOO_HIFI = "com.jtattoo.plaf.hifi.HiFiLookAndFeel"; public static String JTATTOO_LUNA = "com.jtattoo.plaf.luna.LunaLookAndFeel"; // ϲ public static String JTATTOO_MCWIN = "com.jtattoo.plaf.mcwin.McWinLookAndFeel"; public static String JTATTOO_MINT = "com.jtattoo.plaf.mint.MintLookAndFeel"; // и public static String JTATTOO_NOIRE = "com.jtattoo.plaf.noire.NoireLookAndFeel"; public static String JTATTOO_SMART = "com.jtattoo.plaf.smart.SmartLookAndFeel"; // liquidlnf.jarԴ // ϲ public static String LIQUIDINF = "com.birosoft.liquid.LiquidLookAndFeel"; } ================================================ FILE: day25/code/四则运算/build/classes/.netbeans_automatic_build ================================================ ================================================ FILE: day25/code/四则运算/build/classes/.netbeans_update_resources ================================================ ================================================ FILE: day25/code/四则运算/build/classes/cn/itcast_01/OperatorJFrame.form ================================================
================================================ FILE: day25/code/四则运算/build/classes/cn/itcast_02/OperatorJFrame.form ================================================
================================================ FILE: day25/code/四则运算/build/classes/cn/itcast_03/OperatorJFrame.form ================================================
================================================ FILE: day25/code/四则运算/build.xml ================================================ Builds, tests, and runs the project 四则运算. ================================================ FILE: day25/code/四则运算/manifest.mf ================================================ Manifest-Version: 1.0 X-COMMENT: Main-Class will be added automatically by build ================================================ FILE: day25/code/四则运算/nbproject/build-impl.xml ================================================ Must set src.dir Must set test.src.dir Must set build.dir Must set dist.dir Must set build.classes.dir Must set dist.javadoc.dir Must set build.test.classes.dir Must set build.test.results.dir Must set build.classes.excludes Must set dist.jar Must set javac.includes No tests executed. Must set JVM to use for profiling in profiler.info.jvm Must set profiler agent JVM arguments in profiler.info.jvmargs.agent Must select some files in the IDE or set javac.includes To run this application from the command line without Ant, try: java -jar "${dist.jar.resolved}" Must select one file in the IDE or set run.class Must select one file in the IDE or set run.class Must select one file in the IDE or set debug.class Must select one file in the IDE or set debug.class Must set fix.includes This target only works when run from inside the NetBeans IDE. Must select one file in the IDE or set profile.class This target only works when run from inside the NetBeans IDE. This target only works when run from inside the NetBeans IDE. This target only works when run from inside the NetBeans IDE. Must select one file in the IDE or set run.class Must select some files in the IDE or set test.includes Must select one file in the IDE or set run.class Must select one file in the IDE or set applet.url Must select some files in the IDE or set javac.includes Some tests failed; see details above. Must select some files in the IDE or set test.includes Some tests failed; see details above. Must select some files in the IDE or set test.class Must select some method in the IDE or set test.method Some tests failed; see details above. Must select one file in the IDE or set test.class Must select one file in the IDE or set test.class Must select some method in the IDE or set test.method Must select one file in the IDE or set applet.url Must select one file in the IDE or set applet.url ================================================ FILE: day25/code/四则运算/nbproject/genfiles.properties ================================================ build.xml.data.CRC32=d258e380 build.xml.script.CRC32=cb3323dd build.xml.stylesheet.CRC32=8064a381@1.68.1.46 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. nbproject/build-impl.xml.data.CRC32=d258e380 nbproject/build-impl.xml.script.CRC32=1c040c79 nbproject/build-impl.xml.stylesheet.CRC32=5a01deb7@1.68.1.46 ================================================ FILE: day25/code/四则运算/nbproject/private/private.properties ================================================ compile.on.save=true user.properties.file=C:\\Users\\fqy\\AppData\\Roaming\\NetBeans\\7.4\\build.properties ================================================ FILE: day25/code/四则运算/nbproject/private/private.xml ================================================ ================================================ FILE: day25/code/四则运算/nbproject/project.properties ================================================ annotation.processing.enabled=true annotation.processing.enabled.in.editor=false annotation.processing.processor.options= annotation.processing.processors.list= annotation.processing.run.all.processors=true annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output build.classes.dir=${build.dir}/classes build.classes.excludes=**/*.java,**/*.form # This directory is removed when the project is cleaned: build.dir=build build.generated.dir=${build.dir}/generated build.generated.sources.dir=${build.dir}/generated-sources # Only compile against the classpath explicitly listed here: build.sysclasspath=ignore build.test.classes.dir=${build.dir}/test/classes build.test.results.dir=${build.dir}/test/results # Uncomment to specify the preferred debugger connection transport: #debug.transport=dt_socket debug.classpath=\ ${run.classpath} debug.test.classpath=\ ${run.test.classpath} # build.classes.dir \u4e2d\u5e94\u4ece\u5206\u53d1 jar \u4e2d\u6392\u9664\u7684\u6587\u4ef6 dist.archive.excludes= # This directory is removed when the project is cleaned: dist.dir=dist dist.jar=${dist.dir}/____.jar dist.javadoc.dir=${dist.dir}/javadoc excludes= file.reference.JTattoo.jar=D:\\itcast\\20150306\\day25\\code\\\u4fee\u6539\u76ae\u80a4\u8981\u4f7f\u7528\u7684\u8d44\u6e90\\JTattoo.jar file.reference.liquidlnf.jar=D:\\itcast\\20150306\\day25\\code\\\u4fee\u6539\u76ae\u80a4\u8981\u4f7f\u7528\u7684\u8d44\u6e90\\liquidlnf.jar includes=** jar.compress=false javac.classpath=\ ${file.reference.JTattoo.jar}:\ ${file.reference.liquidlnf.jar} # Space-separated list of extra javac options javac.compilerargs= javac.deprecation=false javac.processorpath=\ ${javac.classpath} javac.source=1.7 javac.target=1.7 javac.test.classpath=\ ${javac.classpath}:\ ${build.classes.dir} javac.test.processorpath=\ ${javac.test.classpath} javadoc.additionalparam= javadoc.author=false javadoc.encoding=${source.encoding} javadoc.noindex=false javadoc.nonavbar=false javadoc.notree=false javadoc.private=false javadoc.splitindex=true javadoc.use=true javadoc.version=false javadoc.windowtitle= main.class=cn.itcast_01.OperatorJFrame manifest.file=manifest.mf meta.inf.dir=${src.dir}/META-INF mkdist.disabled=false platform.active=default_platform run.classpath=\ ${javac.classpath}:\ ${build.classes.dir} # Space-separated list of JVM arguments used when running the project. # You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. # To set system properties for unit tests define test-sys-prop.name=value: run.jvmargs= run.test.classpath=\ ${javac.test.classpath}:\ ${build.test.classes.dir} source.encoding=UTF-8 src.dir=src test.src.dir=test ================================================ FILE: day25/code/四则运算/nbproject/project.xml ================================================ org.netbeans.modules.java.j2seproject 四则运算 ================================================ FILE: day25/code/四则运算/src/cn/itcast/util/MyLookAndFeel.java ================================================ /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package cn.itcast.util; /** * * @author fqy */ public abstract class MyLookAndFeel { // 系统自带皮肤,5种都能用 public static String SYS_METAL = "javax.swing.plaf.metal.MetalLookAndFeel"; public static String SYS_NIMBUS = "com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel"; // 有个性 public static String SYS_CDE_MOTIF = "com.sun.java.swing.plaf.motif.MotifLookAndFeel"; public static String SYS_WINDOWS = "com.sun.java.swing.plaf.windows.WindowsLookAndFeel"; public static String SYS_WINDOWS_CLASSIC = "com.sun.java.swing.plaf.windows.WindowsClassicLookAndFeel"; // JIattoo jar包资源 public static String JTATTOO_ACRYL = "com.jtattoo.plaf.acryl.AcrylLookAndFeel"; public static String JTATTOO_AERO = "com.jtattoo.plaf.aero.AeroLookAndFeel"; // 还可以 public static String JTATTOO_ALUMINUM = "com.jtattoo.plaf.aluminium.AluminiumLookAndFeel"; // 很喜欢 public static String JTATTOO_BERNSTEIN = "com.jtattoo.plaf.bernstein.BernsteinLookAndFeel"; public static String JTATTOO_FAST = "com.jtattoo.plaf.fast.FastLookAndFeel"; // 有个性 public static String JTATTOO_HIFI = "com.jtattoo.plaf.hifi.HiFiLookAndFeel"; public static String JTATTOO_LUNA = "com.jtattoo.plaf.luna.LunaLookAndFeel"; // 很喜欢 public static String JTATTOO_MCWIN = "com.jtattoo.plaf.mcwin.McWinLookAndFeel"; public static String JTATTOO_MINT = "com.jtattoo.plaf.mint.MintLookAndFeel"; // 有个性 public static String JTATTOO_NOIRE = "com.jtattoo.plaf.noire.NoireLookAndFeel"; public static String JTATTOO_SMART = "com.jtattoo.plaf.smart.SmartLookAndFeel"; // liquidlnf.jar包资源 // 很喜欢 public static String LIQUIDINF = "com.birosoft.liquid.LiquidLookAndFeel"; } ================================================ FILE: day25/code/四则运算/src/cn/itcast/util/UiUtil.java ================================================ /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package cn.itcast.util; import java.awt.Dimension; import java.awt.Image; import java.awt.Toolkit; import javax.swing.JFrame; /** * 工具类 * @author fqy */ public class UiUtil { private UiUtil(){} /** * 修改窗体图标 * @param jf */ public static void setFrameIcon(JFrame jf,String imagePath){ //获取工具类 Toolkit took = Toolkit.getDefaultToolkit(); //根据路径获取图片 Image image = took.getImage(imagePath); //设置图标 jf.setIconImage(image); } /** * 设置窗体居中 * @param jf */ public static void setFrameCenter(JFrame jf){ /* 思路: 获取屏幕的宽和高 获取窗体的宽和高 */ //获取工具类 Toolkit took = Toolkit.getDefaultToolkit(); //获取屏幕的宽和高 Dimension screen = took.getScreenSize(); double screenWidth = screen.getWidth(); double screenHeight = screen.getHeight(); //获取窗体的宽和高 int jfWidth = jf.getWidth(); int jfHeight = jf.getHeight(); //设置坐标 int width = (int)(screenWidth-jfWidth)/2; int height = (int)(screenHeight-jfHeight)/2; jf.setLocation(width,height); } } ================================================ FILE: day25/code/四则运算/src/cn/itcast_01/OperatorJFrame.form ================================================
================================================ FILE: day25/code/四则运算/src/cn/itcast_01/OperatorJFrame.java ================================================ /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package cn.itcast_01; /** * * @author fqy */ public class OperatorJFrame extends javax.swing.JFrame { /** * Creates new form OperatorJFrame */ public OperatorJFrame() { initComponents(); } /** * This method is called from within the constructor to initialize the form. * WARNING: Do NOT modify this code. The content of this method is always * regenerated by the Form Editor. */ @SuppressWarnings("unchecked") // //GEN-BEGIN:initComponents private void initComponents() { jLabel1 = new javax.swing.JLabel(); firstNumber = new javax.swing.JTextField(); choiceOperator = new javax.swing.JComboBox(); jLabel2 = new javax.swing.JLabel(); secondNumber = new javax.swing.JTextField(); jLabel3 = new javax.swing.JLabel(); resultNumber = new javax.swing.JTextField(); jLabel4 = new javax.swing.JLabel(); jiSuanButton = new javax.swing.JButton(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); jLabel1.setText("第一个操作数"); choiceOperator.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "+", "-", "*", "/" })); jLabel2.setText("第二个操作数"); jLabel3.setText("="); jLabel4.setText("结果"); jiSuanButton.setText("计算"); jiSuanButton.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { jiSuanButtonMouseClicked(evt); } }); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(firstNumber)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addGroup(layout.createSequentialGroup() .addComponent(choiceOperator, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(secondNumber, javax.swing.GroupLayout.PREFERRED_SIZE, 72, javax.swing.GroupLayout.PREFERRED_SIZE)) .addComponent(jLabel2)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jLabel3) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jiSuanButton) .addComponent(resultNumber, javax.swing.GroupLayout.PREFERRED_SIZE, 72, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel4)) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel1) .addComponent(jLabel2) .addComponent(jLabel4)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(firstNumber, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(choiceOperator, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(secondNumber, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel3) .addComponent(resultNumber, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(18, 18, 18) .addComponent(jiSuanButton) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); pack(); }// //GEN-END:initComponents private void jiSuanButtonMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jiSuanButtonMouseClicked /* 思路: 1:获取操作数和运算符 2:根据运算符,进行相应的运算 3:把运算的结果赋值给最后一个文本框 */ String firstNumberString = this.firstNumber.getText(); String operatorString = String.valueOf(this.choiceOperator.getSelectedItem()); String secondNumberString = this.secondNumber.getText(); // System.out.println("firstNumberString:" + firstNumberString); // System.out.println("operatorString:" + operatorString); // System.out.println("secondNumberString:" + secondNumberString); //把字符串转换为数据类型 int firstNumber = Integer.parseInt(firstNumberString); int secondNumber = Integer.parseInt(secondNumberString); //定义变量,用于保存运算的结果 int result = 0; switch (operatorString) { case "+": result = firstNumber + secondNumber; break; case "-": result = firstNumber - secondNumber; break; case "*": result = firstNumber * secondNumber; break; case "/": result = firstNumber / secondNumber; break; } //把运算的结果赋值给最后一个文本框 this.resultNumber.setText(String.valueOf(result)); }//GEN-LAST:event_jiSuanButtonMouseClicked /** * @param args the command line arguments */ public static void main(String args[]) { /* Set the Nimbus look and feel */ // /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html */ try { for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { if ("Nimbus".equals(info.getName())) { javax.swing.UIManager.setLookAndFeel(info.getClassName()); break; } } } catch (ClassNotFoundException ex) { java.util.logging.Logger.getLogger(OperatorJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (InstantiationException ex) { java.util.logging.Logger.getLogger(OperatorJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (IllegalAccessException ex) { java.util.logging.Logger.getLogger(OperatorJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (javax.swing.UnsupportedLookAndFeelException ex) { java.util.logging.Logger.getLogger(OperatorJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } // /* Create and display the form */ java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new OperatorJFrame().setVisible(true); } }); } // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JComboBox choiceOperator; private javax.swing.JTextField firstNumber; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3; private javax.swing.JLabel jLabel4; private javax.swing.JButton jiSuanButton; private javax.swing.JTextField resultNumber; private javax.swing.JTextField secondNumber; // End of variables declaration//GEN-END:variables } ================================================ FILE: day25/code/四则运算/src/cn/itcast_02/OperatorJFrame.form ================================================
================================================ FILE: day25/code/四则运算/src/cn/itcast_02/OperatorJFrame.java ================================================ /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package cn.itcast_02; import javax.swing.JOptionPane; /** * * @author fqy */ public class OperatorJFrame extends javax.swing.JFrame { /** * Creates new form OperatorJFrame */ public OperatorJFrame() { initComponents(); } /** * This method is called from within the constructor to initialize the form. * WARNING: Do NOT modify this code. The content of this method is always * regenerated by the Form Editor. */ @SuppressWarnings("unchecked") // //GEN-BEGIN:initComponents private void initComponents() { jLabel1 = new javax.swing.JLabel(); firstNumber = new javax.swing.JTextField(); choiceOperator = new javax.swing.JComboBox(); jLabel2 = new javax.swing.JLabel(); secondNumber = new javax.swing.JTextField(); jLabel3 = new javax.swing.JLabel(); resultNumber = new javax.swing.JTextField(); jLabel4 = new javax.swing.JLabel(); jiSuanButton = new javax.swing.JButton(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); jLabel1.setText("第一个操作数"); choiceOperator.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "+", "-", "*", "/" })); jLabel2.setText("第二个操作数"); jLabel3.setText("="); jLabel4.setText("结果"); jiSuanButton.setText("计算"); jiSuanButton.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { jiSuanButtonMouseClicked(evt); } }); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(firstNumber)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addGroup(layout.createSequentialGroup() .addComponent(choiceOperator, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(secondNumber, javax.swing.GroupLayout.PREFERRED_SIZE, 72, javax.swing.GroupLayout.PREFERRED_SIZE)) .addComponent(jLabel2)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jLabel3) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jiSuanButton) .addComponent(resultNumber, javax.swing.GroupLayout.PREFERRED_SIZE, 72, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel4)) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel1) .addComponent(jLabel2) .addComponent(jLabel4)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(firstNumber, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(choiceOperator, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(secondNumber, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel3) .addComponent(resultNumber, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(18, 18, 18) .addComponent(jiSuanButton) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); pack(); }// //GEN-END:initComponents private void jiSuanButtonMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jiSuanButtonMouseClicked /* 思路: 1:获取操作数和运算符 2:根据运算符,进行相应的运算 3:把运算的结果赋值给最后一个文本框 */ String firstNumberString = this.firstNumber.getText(); String operatorString = String.valueOf(this.choiceOperator.getSelectedItem()); String secondNumberString = this.secondNumber.getText(); //加入数据校验 String regex = "\\d+"; if (!firstNumberString.matches(regex)) { // System.out.println("你输入的数据有误"); //弹出一个框框 // public static void showMessageDialog(Component parentComponent,Object message) JOptionPane.showMessageDialog(this, "第一个操作数不是数字"); this.firstNumber.setText(""); //获得焦点 this.firstNumber.requestFocus(); return; } if (!secondNumberString.matches(regex)) { JOptionPane.showMessageDialog(this, "第二个操作数不是数字"); this.secondNumber.setText(""); //获得焦点 this.secondNumber.requestFocus(); return; } //把字符串转换为数据类型 int firstNumber = Integer.parseInt(firstNumberString); int secondNumber = Integer.parseInt(secondNumberString); //定义变量,用于保存运算的结果 int result = 0; switch (operatorString) { case "+": result = firstNumber + secondNumber; break; case "-": result = firstNumber - secondNumber; break; case "*": result = firstNumber * secondNumber; break; case "/": if (secondNumber == 0) { JOptionPane.showMessageDialog(this, "除数不能为0"); //获得焦点 this.secondNumber.requestFocus(); return; } else { result = firstNumber / secondNumber; } break; } //把运算的结果赋值给最后一个文本框 this.resultNumber.setText(String.valueOf(result)); }//GEN-LAST:event_jiSuanButtonMouseClicked /** * @param args the command line arguments */ public static void main(String args[]) { /* Set the Nimbus look and feel */ // /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html */ try { for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { if ("Nimbus".equals(info.getName())) { javax.swing.UIManager.setLookAndFeel(info.getClassName()); break; } } } catch (ClassNotFoundException ex) { java.util.logging.Logger.getLogger(OperatorJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (InstantiationException ex) { java.util.logging.Logger.getLogger(OperatorJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (IllegalAccessException ex) { java.util.logging.Logger.getLogger(OperatorJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (javax.swing.UnsupportedLookAndFeelException ex) { java.util.logging.Logger.getLogger(OperatorJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } // /* Create and display the form */ java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new OperatorJFrame().setVisible(true); } }); } // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JComboBox choiceOperator; private javax.swing.JTextField firstNumber; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3; private javax.swing.JLabel jLabel4; private javax.swing.JButton jiSuanButton; private javax.swing.JTextField resultNumber; private javax.swing.JTextField secondNumber; // End of variables declaration//GEN-END:variables } ================================================ FILE: day25/code/四则运算/src/cn/itcast_03/OperatorJFrame.form ================================================
================================================ FILE: day25/code/四则运算/src/cn/itcast_03/OperatorJFrame.java ================================================ /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package cn.itcast_03; import cn.itcast.util.MyLookAndFeel; import cn.itcast.util.UiUtil; import cn.itcast_02.*; import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.JOptionPane; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; /** * * @author fqy */ public class OperatorJFrame extends javax.swing.JFrame { /** * Creates new form OperatorJFrame */ public OperatorJFrame() { initComponents(); init(); } private void init() { this.setTitle("模拟四则运算"); UiUtil.setFrameIcon(this, "src\\cn\\itcast\\resource\\jjcc.jpg"); UiUtil.setFrameCenter(this); } /** * This method is called from within the constructor to initialize the form. * WARNING: Do NOT modify this code. The content of this method is always * regenerated by the Form Editor. */ @SuppressWarnings("unchecked") // //GEN-BEGIN:initComponents private void initComponents() { jLabel1 = new javax.swing.JLabel(); firstNumber = new javax.swing.JTextField(); choiceOperator = new javax.swing.JComboBox(); jLabel2 = new javax.swing.JLabel(); secondNumber = new javax.swing.JTextField(); jLabel3 = new javax.swing.JLabel(); resultNumber = new javax.swing.JTextField(); jLabel4 = new javax.swing.JLabel(); jiSuanButton = new javax.swing.JButton(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); jLabel1.setText("第一个操作数"); choiceOperator.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "+", "-", "*", "/" })); jLabel2.setText("第二个操作数"); jLabel3.setText("="); jLabel4.setText("结果"); jiSuanButton.setText("计算"); jiSuanButton.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { jiSuanButtonMouseClicked(evt); } }); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(firstNumber)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addGroup(layout.createSequentialGroup() .addComponent(choiceOperator, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(secondNumber, javax.swing.GroupLayout.PREFERRED_SIZE, 72, javax.swing.GroupLayout.PREFERRED_SIZE)) .addComponent(jLabel2)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jLabel3) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jiSuanButton) .addComponent(resultNumber, javax.swing.GroupLayout.PREFERRED_SIZE, 72, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel4)) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel1) .addComponent(jLabel2) .addComponent(jLabel4)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(firstNumber, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(choiceOperator, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(secondNumber, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel3) .addComponent(resultNumber, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(18, 18, 18) .addComponent(jiSuanButton) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); pack(); }// //GEN-END:initComponents private void jiSuanButtonMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jiSuanButtonMouseClicked /* 思路: 1:获取操作数和运算符 2:根据运算符,进行相应的运算 3:把运算的结果赋值给最后一个文本框 */ String firstNumberString = this.firstNumber.getText(); String operatorString = String.valueOf(this.choiceOperator.getSelectedItem()); String secondNumberString = this.secondNumber.getText(); //加入数据校验 String regex = "\\d+"; if (!firstNumberString.matches(regex)) { // System.out.println("你输入的数据有误"); //弹出一个框框 // public static void showMessageDialog(Component parentComponent,Object message) JOptionPane.showMessageDialog(this, "第一个操作数不是数字"); this.firstNumber.setText(""); //获得焦点 this.firstNumber.requestFocus(); return; } if (!secondNumberString.matches(regex)) { JOptionPane.showMessageDialog(this, "第二个操作数不是数字"); this.secondNumber.setText(""); //获得焦点 this.secondNumber.requestFocus(); return; } //把字符串转换为数据类型 int firstNumber = Integer.parseInt(firstNumberString); int secondNumber = Integer.parseInt(secondNumberString); //定义变量,用于保存运算的结果 int result = 0; switch (operatorString) { case "+": result = firstNumber + secondNumber; break; case "-": result = firstNumber - secondNumber; break; case "*": result = firstNumber * secondNumber; break; case "/": if (secondNumber == 0) { JOptionPane.showMessageDialog(this, "除数不能为0"); //获得焦点 this.secondNumber.requestFocus(); return; } else { result = firstNumber / secondNumber; } break; } //把运算的结果赋值给最后一个文本框 this.resultNumber.setText(String.valueOf(result)); }//GEN-LAST:event_jiSuanButtonMouseClicked /** * @param args the command line arguments */ public static void main(String args[]) { /* Set the Nimbus look and feel */ // /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html */ try { for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { if ("Nimbus".equals(info.getName())) { javax.swing.UIManager.setLookAndFeel(info.getClassName()); break; } } } catch (ClassNotFoundException ex) { java.util.logging.Logger.getLogger(OperatorJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (InstantiationException ex) { java.util.logging.Logger.getLogger(OperatorJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (IllegalAccessException ex) { java.util.logging.Logger.getLogger(OperatorJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (javax.swing.UnsupportedLookAndFeelException ex) { java.util.logging.Logger.getLogger(OperatorJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } // try { //修改皮肤 UIManager.setLookAndFeel(MyLookAndFeel.LIQUIDINF); } catch (ClassNotFoundException ex) { Logger.getLogger(OperatorJFrame.class.getName()).log(Level.SEVERE, null, ex); } catch (InstantiationException ex) { Logger.getLogger(OperatorJFrame.class.getName()).log(Level.SEVERE, null, ex); } catch (IllegalAccessException ex) { Logger.getLogger(OperatorJFrame.class.getName()).log(Level.SEVERE, null, ex); } catch (UnsupportedLookAndFeelException ex) { Logger.getLogger(OperatorJFrame.class.getName()).log(Level.SEVERE, null, ex); } /* Create and display the form */ java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new OperatorJFrame().setVisible(true); } }); } // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JComboBox choiceOperator; private javax.swing.JTextField firstNumber; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3; private javax.swing.JLabel jLabel4; private javax.swing.JButton jiSuanButton; private javax.swing.JTextField resultNumber; private javax.swing.JTextField secondNumber; // End of variables declaration//GEN-END:variables } ================================================ FILE: day25/code/登录注册/build/built-jar.properties ================================================ #Mon, 13 Apr 2015 17:02:10 +0800 C\:\\Users\\fqy\\Documents\\NetBeansProjects\\\u767b\u5f55\u6ce8\u518c= ================================================ FILE: day25/code/登录注册/build/classes/登录注册.txt ================================================ 登录注册: 有哪些类? 用户类 用户描述类 用户操作类 登录窗体 注册窗体 类有哪些成员? 用户类 用户描述类 用户名,密码 用户操作类 登录,注册 类与类的关系? 在登录窗体上点击登录按钮,调用登录功能 在注册窗体上点击注册按钮,调用注册功能 分包: cn.itcast.pojo 用户基本描述类 cn.itcast.dao 用户操作接口 cn.itcast.dao.impl 用户操作具体实现类 cn.itcast.util 工具类 cn.itcast.view 窗体类 ================================================ FILE: day25/code/登录注册/build.xml ================================================ Builds, tests, and runs the project 登录注册. ================================================ FILE: day25/code/登录注册/count.txt ================================================ count=5 ================================================ FILE: day25/code/登录注册/dist/README.TXT ================================================ ======================== BUILD OUTPUT DESCRIPTION ======================== When you build an Java application project that has a main class, the IDE automatically copies all of the JAR files on the projects classpath to your projects dist/lib folder. The IDE also adds each of the JAR files to the Class-Path element in the application JAR files manifest file (MANIFEST.MF). To run the project from the command line, go to the dist folder and type the following: java -jar "____.jar" To distribute this project, zip up the dist folder (including the lib folder) and distribute the ZIP file. Notes: * If two JAR files on the project classpath have the same name, only the first JAR file is copied to the lib folder. * Only JAR files are copied to the lib folder. If the classpath contains other types of files or folders, these files (folders) are not copied. * If a library on the projects classpath also has a Class-Path element specified in the manifest,the content of the Class-Path element has to be on the projects runtime path. * To set a main class in a standard Java project, right-click the project node in the Projects window and choose Properties. Then click Run and enter the class name in the Main Class field. Alternatively, you can manually type the class name in the manifest Main-Class element. ================================================ FILE: day25/code/登录注册/manifest.mf ================================================ Manifest-Version: 1.0 X-COMMENT: Main-Class will be added automatically by build ================================================ FILE: day25/code/登录注册/nbproject/build-impl.xml ================================================ Must set src.dir Must set test.src.dir Must set build.dir Must set dist.dir Must set build.classes.dir Must set dist.javadoc.dir Must set build.test.classes.dir Must set build.test.results.dir Must set build.classes.excludes Must set dist.jar Must set javac.includes No tests executed. Must set JVM to use for profiling in profiler.info.jvm Must set profiler agent JVM arguments in profiler.info.jvmargs.agent Must select some files in the IDE or set javac.includes To run this application from the command line without Ant, try: java -jar "${dist.jar.resolved}" Must select one file in the IDE or set run.class Must select one file in the IDE or set run.class Must select one file in the IDE or set debug.class Must select one file in the IDE or set debug.class Must set fix.includes This target only works when run from inside the NetBeans IDE. Must select one file in the IDE or set profile.class This target only works when run from inside the NetBeans IDE. This target only works when run from inside the NetBeans IDE. This target only works when run from inside the NetBeans IDE. Must select one file in the IDE or set run.class Must select some files in the IDE or set test.includes Must select one file in the IDE or set run.class Must select one file in the IDE or set applet.url Must select some files in the IDE or set javac.includes Some tests failed; see details above. Must select some files in the IDE or set test.includes Some tests failed; see details above. Must select some files in the IDE or set test.class Must select some method in the IDE or set test.method Some tests failed; see details above. Must select one file in the IDE or set test.class Must select one file in the IDE or set test.class Must select some method in the IDE or set test.method Must select one file in the IDE or set applet.url Must select one file in the IDE or set applet.url ================================================ FILE: day25/code/登录注册/nbproject/genfiles.properties ================================================ build.xml.data.CRC32=0cf90b53 build.xml.script.CRC32=f3f7c5ff build.xml.stylesheet.CRC32=8064a381@1.68.1.46 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. nbproject/build-impl.xml.data.CRC32=0cf90b53 nbproject/build-impl.xml.script.CRC32=3bed2163 nbproject/build-impl.xml.stylesheet.CRC32=5a01deb7@1.68.1.46 ================================================ FILE: day25/code/登录注册/nbproject/private/private.properties ================================================ compile.on.save=true user.properties.file=C:\\Users\\fqy\\AppData\\Roaming\\NetBeans\\7.4\\build.properties ================================================ FILE: day25/code/登录注册/nbproject/private/private.xml ================================================ ================================================ FILE: day25/code/登录注册/nbproject/project.properties ================================================ annotation.processing.enabled=true annotation.processing.enabled.in.editor=false annotation.processing.processor.options= annotation.processing.processors.list= annotation.processing.run.all.processors=true annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output build.classes.dir=${build.dir}/classes build.classes.excludes=**/*.java,**/*.form # This directory is removed when the project is cleaned: build.dir=build build.generated.dir=${build.dir}/generated build.generated.sources.dir=${build.dir}/generated-sources # Only compile against the classpath explicitly listed here: build.sysclasspath=ignore build.test.classes.dir=${build.dir}/test/classes build.test.results.dir=${build.dir}/test/results # Uncomment to specify the preferred debugger connection transport: #debug.transport=dt_socket debug.classpath=\ ${run.classpath} debug.test.classpath=\ ${run.test.classpath} # build.classes.dir \u4e2d\u5e94\u4ece\u5206\u53d1 jar \u4e2d\u6392\u9664\u7684\u6587\u4ef6 dist.archive.excludes= # This directory is removed when the project is cleaned: dist.dir=dist dist.jar=${dist.dir}/____.jar dist.javadoc.dir=${dist.dir}/javadoc excludes= includes=** jar.compress=false javac.classpath= # Space-separated list of extra javac options javac.compilerargs= javac.deprecation=false javac.processorpath=\ ${javac.classpath} javac.source=1.7 javac.target=1.7 javac.test.classpath=\ ${javac.classpath}:\ ${build.classes.dir} javac.test.processorpath=\ ${javac.test.classpath} javadoc.additionalparam= javadoc.author=false javadoc.encoding=${source.encoding} javadoc.noindex=false javadoc.nonavbar=false javadoc.notree=false javadoc.private=false javadoc.splitindex=true javadoc.use=true javadoc.version=false javadoc.windowtitle= main.class=cn.itcast.view.LoginJFrame manifest.file=manifest.mf meta.inf.dir=${src.dir}/META-INF mkdist.disabled=false platform.active=default_platform run.classpath=\ ${javac.classpath}:\ ${build.classes.dir} # Space-separated list of JVM arguments used when running the project. # You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. # To set system properties for unit tests define test-sys-prop.name=value: run.jvmargs= run.test.classpath=\ ${javac.test.classpath}:\ ${build.test.classes.dir} source.encoding=UTF-8 src.dir=src test.src.dir=test ================================================ FILE: day25/code/登录注册/nbproject/project.xml ================================================ org.netbeans.modules.java.j2seproject 登录注册 ================================================ FILE: day25/code/登录注册/src/cn/itcast/dao/UserDao.java ================================================ /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package cn.itcast.dao; import cn.itcast.pojo.User; /** * * @author fqy */ public interface UserDao { public abstract boolean isLogin(String username,String password); public abstract void regist(User user); } ================================================ FILE: day25/code/登录注册/src/cn/itcast/dao/impl/UserDaoImpl.java ================================================ /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package cn.itcast.dao.impl; import cn.itcast.dao.UserDao; import cn.itcast.pojo.User; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; /** * * @author fqy */ public class UserDaoImpl implements UserDao { private static File file = new File("user.txt"); static { try { file.createNewFile(); } catch (IOException ex) { ex.printStackTrace(); } } @Override public boolean isLogin(String username, String password) { boolean flag = false; BufferedReader br = null; try { br = new BufferedReader(new FileReader(file)); String line = null; while ((line = br.readLine()) != null) { String[] datas = line.split("="); if (username.equals(datas[0]) && password.equals(datas[1])) { flag = true; break; } } } catch (IOException e) { e.printStackTrace(); } finally { if (br != null) { try { br.close(); } catch (IOException ex) { ex.printStackTrace(); } } } return flag; } @Override public void regist(User user) { BufferedWriter bw = null; try { bw = new BufferedWriter(new FileWriter(file, true)); bw.write(user.getUsername() + "=" + user.getPassword()); bw.newLine(); bw.flush(); } catch (IOException e) { e.printStackTrace(); } finally { if (bw != null) { try { bw.close(); } catch (IOException ex) { ex.printStackTrace(); } } } } } ================================================ FILE: day25/code/登录注册/src/cn/itcast/pojo/User.java ================================================ /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package cn.itcast.pojo; /** * * @author fqy */ public class User { private String username; private String password; public User() { } public User(String username, String password) { this.username = username; this.password = password; } /** * @return the username */ public String getUsername() { return username; } /** * @param username the username to set */ public void setUsername(String username) { this.username = username; } /** * @return the password */ public String getPassword() { return password; } /** * @param password the password to set */ public void setPassword(String password) { this.password = password; } } ================================================ FILE: day25/code/登录注册/src/cn/itcast/util/UiUtil.java ================================================ /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package cn.itcast.util; import java.awt.Dimension; import java.awt.Image; import java.awt.Toolkit; import javax.swing.JFrame; /** * 工具类 * @author fqy */ public class UiUtil { private UiUtil(){} /** * 修改窗体图标 * @param jf */ public static void setFrameIcon(JFrame jf,String imagePath){ //获取工具类 Toolkit took = Toolkit.getDefaultToolkit(); //根据路径获取图片 Image image = took.getImage(imagePath); //设置图标 jf.setIconImage(image); } /** * 设置窗体居中 * @param jf */ public static void setFrameCenter(JFrame jf){ /* 思路: 获取屏幕的宽和高 获取窗体的宽和高 */ //获取工具类 Toolkit took = Toolkit.getDefaultToolkit(); //获取屏幕的宽和高 Dimension screen = took.getScreenSize(); double screenWidth = screen.getWidth(); double screenHeight = screen.getHeight(); //获取窗体的宽和高 int jfWidth = jf.getWidth(); int jfHeight = jf.getHeight(); //设置坐标 int width = (int)(screenWidth-jfWidth)/2; int height = (int)(screenHeight-jfHeight)/2; jf.setLocation(width,height); } } ================================================ FILE: day25/code/登录注册/src/cn/itcast/view/GuessNumberJFrame.form ================================================
================================================ FILE: day25/code/登录注册/src/cn/itcast/view/GuessNumberJFrame.java ================================================ /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package cn.itcast.view; import cn.itcast.util.UiUtil; import java.io.BufferedWriter; import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.util.Properties; import javax.swing.JOptionPane; /** * * @author fqy */ public class GuessNumberJFrame extends javax.swing.JFrame { private int number; // private static File file = new File("count.txt"); // static { // BufferedWriter bw = null; // try { //// file.createNewFile(); // bw = new BufferedWriter(new FileWriter(file)); // bw.write("count=0"); // bw.newLine(); // bw.flush(); // } catch (IOException ex) { // ex.printStackTrace(); // } finally { // if (bw != null) { // try { // bw.close(); // } catch (IOException ex) { // ex.printStackTrace(); // } // } // } // } /** * Creates new form GuessNumberJFrame */ public GuessNumberJFrame() { initComponents(); } public GuessNumberJFrame(String username) { initComponents(); init(username); checkGame(); } private void init(String username) { this.setTitle("欢迎" + username + "光临"); UiUtil.setFrameCenter(this); number = getRandomNumber(); System.out.println("number:" + number); } private int getRandomNumber() { return (int) (Math.random() * 100) + 1; } /** * This method is called from within the constructor to initialize the form. * WARNING: Do NOT modify this code. The content of this method is always * regenerated by the Form Editor. */ @SuppressWarnings("unchecked") // //GEN-BEGIN:initComponents private void initComponents() { jLabel1 = new javax.swing.JLabel(); jtfGuessNumber = new javax.swing.JTextField(); guessButton = new javax.swing.JButton(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); jLabel1.setText("系统已经产生了一个随机数,请输入你要猜的数据(1-100)"); guessButton.setText("我猜"); guessButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { guessButtonActionPerformed(evt); } }); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addComponent(jtfGuessNumber, javax.swing.GroupLayout.PREFERRED_SIZE, 154, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(18, 18, 18) .addComponent(guessButton)) .addComponent(jLabel1)) .addGap(46, 46, 46)) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(46, 46, 46) .addComponent(jLabel1) .addGap(24, 24, 24) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jtfGuessNumber, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(guessButton)) .addContainerGap(36, Short.MAX_VALUE)) ); pack(); }// //GEN-END:initComponents private void checkGame() { Properties prop = new Properties(); try { FileReader fr = new FileReader("count.txt"); prop.load(fr); fr.close(); String countString = prop.getProperty("count"); int count = Integer.parseInt(countString); if (count >= 5) { JOptionPane.showMessageDialog(this, "试玩结束,要想继续玩,请充值"); System.exit(0); } else { count++; prop.setProperty("count", String.valueOf(count)); FileWriter fw = new FileWriter("count.txt"); prop.store(fw, null); fw.close(); } } catch (IOException e) { e.printStackTrace(); } } private void guessButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_guessButtonActionPerformed checkGame(); //获取数据 String guessNumberString = this.jtfGuessNumber.getText().trim(); //判断必须是数字 String regex = "\\d{1,3}"; //判断 if (!guessNumberString.matches(regex)) { JOptionPane.showMessageDialog(this, "你猜的数据不是数字"); this.jtfGuessNumber.setText(""); this.jtfGuessNumber.requestFocus(); return; } //转换为数据 int guessNumber = Integer.parseInt(guessNumberString); if (guessNumber < 0 || guessNumber > 100) { JOptionPane.showMessageDialog(this, "你猜的数字超出范围(1-100)"); this.jtfGuessNumber.setText(""); this.jtfGuessNumber.requestFocus(); return; } if (guessNumber > number) { JOptionPane.showMessageDialog(this, "你猜的数字" + guessNumber + "大了"); this.jtfGuessNumber.setText(""); this.jtfGuessNumber.requestFocus(); } else if (guessNumber < number) { JOptionPane.showMessageDialog(this, "你猜的数字" + guessNumber + "小了"); this.jtfGuessNumber.setText(""); this.jtfGuessNumber.requestFocus(); } else { JOptionPane.showMessageDialog(this, "恭喜你猜中了"); //public static int showConfirmDialog(Component parentComponent,Object message) int choice = JOptionPane.showConfirmDialog(this, "还要玩吗"); //System.out.println("choice:"+choice); if (choice == 0) { number = getRandomNumber(); JOptionPane.showMessageDialog(this, "随机数再次产生,祝玩的开心"); this.jtfGuessNumber.setText(""); this.jtfGuessNumber.requestFocus(); } } }//GEN-LAST:event_guessButtonActionPerformed /** * @param args the command line arguments */ // public static void main(String args[]) { // /* Set the Nimbus look and feel */ // // // /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. // * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html // */ // try { // for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { // if ("Nimbus".equals(info.getName())) { // javax.swing.UIManager.setLookAndFeel(info.getClassName()); // break; // } // } // } catch (ClassNotFoundException ex) { // java.util.logging.Logger.getLogger(GuessNumberJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); // } catch (InstantiationException ex) { // java.util.logging.Logger.getLogger(GuessNumberJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); // } catch (IllegalAccessException ex) { // java.util.logging.Logger.getLogger(GuessNumberJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); // } catch (javax.swing.UnsupportedLookAndFeelException ex) { // java.util.logging.Logger.getLogger(GuessNumberJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); // } // // // // /* Create and display the form */ // java.awt.EventQueue.invokeLater(new Runnable() { // public void run() { // new GuessNumberJFrame().setVisible(true); // } // }); // } // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton guessButton; private javax.swing.JLabel jLabel1; private javax.swing.JTextField jtfGuessNumber; // End of variables declaration//GEN-END:variables } ================================================ FILE: day25/code/登录注册/src/cn/itcast/view/LoginJFrame.form ================================================
================================================ FILE: day25/code/登录注册/src/cn/itcast/view/LoginJFrame.java ================================================ /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package cn.itcast.view; import cn.itcast.dao.UserDao; import cn.itcast.dao.impl.UserDaoImpl; import cn.itcast.util.UiUtil; import javax.swing.JOptionPane; /** * * @author fqy */ public class LoginJFrame extends javax.swing.JFrame { /** * Creates new form LoginJFrame */ public LoginJFrame() { initComponents(); init(); } private void init() { this.setTitle("登录界面"); UiUtil.setFrameIcon(this, "src\\cn\\itcast\\resource\\user.jpg"); UiUtil.setFrameCenter(this); } /** * This method is called from within the constructor to initialize the form. * WARNING: Do NOT modify this code. The content of this method is always * regenerated by the Form Editor. */ @SuppressWarnings("unchecked") // //GEN-BEGIN:initComponents private void initComponents() { jLabel2 = new javax.swing.JLabel(); jLabel1 = new javax.swing.JLabel(); jLabel3 = new javax.swing.JLabel(); jtfUsername = new javax.swing.JTextField(); jpfPassword = new javax.swing.JPasswordField(); loginButton = new javax.swing.JButton(); resetButton = new javax.swing.JButton(); registButton = new javax.swing.JButton(); jLabel2.setText("jLabel2"); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); setResizable(false); jLabel1.setText("用户名:"); jLabel3.setText("密码:"); loginButton.setText("登录"); loginButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { loginButtonActionPerformed(evt); } }); resetButton.setText("重置"); resetButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { resetButtonActionPerformed(evt); } }); registButton.setText("注册"); registButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { registButtonActionPerformed(evt); } }); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(48, 48, 48) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addGroup(layout.createSequentialGroup() .addComponent(loginButton) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 124, Short.MAX_VALUE) .addComponent(resetButton)) .addGroup(layout.createSequentialGroup() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel1) .addComponent(jLabel3)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(jtfUsername) .addComponent(jpfPassword, javax.swing.GroupLayout.DEFAULT_SIZE, 190, Short.MAX_VALUE)))) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(registButton) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(34, 34, 34) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel1) .addComponent(jtfUsername, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(registButton)) .addGap(32, 32, 32) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel3) .addComponent(jpfPassword, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 57, Short.MAX_VALUE) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(loginButton) .addComponent(resetButton)) .addGap(79, 79, 79)) ); pack(); }// //GEN-END:initComponents private void registButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_registButtonActionPerformed RegistJFrame rjf = new RegistJFrame(); // this.setVisible(false); this.dispose(); rjf.setVisible(true); }//GEN-LAST:event_registButtonActionPerformed private void clearData() { this.jtfUsername.setText(""); this.jpfPassword.setText(""); this.jtfUsername.requestFocus(); } private void resetButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_resetButtonActionPerformed clearData(); }//GEN-LAST:event_resetButtonActionPerformed private void loginButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_loginButtonActionPerformed //获取用户名和密码 String username = this.jtfUsername.getText().trim(); // String password = this.jpfPassword.getText().trim(); String password = String.valueOf(this.jpfPassword.getPassword()); //校验数据 //定义规则 String regex = "\\w{6,12}"; //校验用户名 if(!username.matches(regex)) { JOptionPane.showMessageDialog(this, "用户名不满足条件(6~12位字符)"); this.jtfUsername.setText(""); this.jtfUsername.requestFocus(); return; } //校验密码 if(!password.matches(regex)) { JOptionPane.showMessageDialog(this, "密码不满足条件(6~12位字符)"); this.jpfPassword.setText(""); this.jpfPassword.requestFocus(); return; } //调用登录功能 UserDao ud = new UserDaoImpl(); boolean flag = ud.isLogin(username, password); if(flag) { JOptionPane.showMessageDialog(this, "登录成功,可以开始玩游戏了"); GuessNumberJFrame gjf = new GuessNumberJFrame(username); this.dispose(); gjf.setVisible(true); }else{ JOptionPane.showMessageDialog(this, "用户名或者密码有误"); clearData(); } }//GEN-LAST:event_loginButtonActionPerformed /** * @param args the command line arguments */ public static void main(String args[]) { /* Set the Nimbus look and feel */ // /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html */ try { for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { if ("Nimbus".equals(info.getName())) { javax.swing.UIManager.setLookAndFeel(info.getClassName()); break; } } } catch (ClassNotFoundException ex) { java.util.logging.Logger.getLogger(LoginJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (InstantiationException ex) { java.util.logging.Logger.getLogger(LoginJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (IllegalAccessException ex) { java.util.logging.Logger.getLogger(LoginJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (javax.swing.UnsupportedLookAndFeelException ex) { java.util.logging.Logger.getLogger(LoginJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } // /* Create and display the form */ java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new LoginJFrame().setVisible(true); } }); } // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3; private javax.swing.JPasswordField jpfPassword; private javax.swing.JTextField jtfUsername; private javax.swing.JButton loginButton; private javax.swing.JButton registButton; private javax.swing.JButton resetButton; // End of variables declaration//GEN-END:variables } ================================================ FILE: day25/code/登录注册/src/cn/itcast/view/RegistJFrame.form ================================================
================================================ FILE: day25/code/登录注册/src/cn/itcast/view/RegistJFrame.java ================================================ /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package cn.itcast.view; import cn.itcast.dao.UserDao; import cn.itcast.dao.impl.UserDaoImpl; import cn.itcast.pojo.User; import cn.itcast.util.UiUtil; import javax.swing.JOptionPane; /** * * @author fqy */ public class RegistJFrame extends javax.swing.JFrame { /** * Creates new form LoginJFrame */ public RegistJFrame() { initComponents(); init(); } private void init() { this.setTitle("注册界面"); UiUtil.setFrameIcon(this, "src\\cn\\itcast\\resource\\user.jpg"); UiUtil.setFrameCenter(this); } /** * This method is called from within the constructor to initialize the form. * WARNING: Do NOT modify this code. The content of this method is always * regenerated by the Form Editor. */ @SuppressWarnings("unchecked") // //GEN-BEGIN:initComponents private void initComponents() { jLabel2 = new javax.swing.JLabel(); jLabel1 = new javax.swing.JLabel(); jLabel3 = new javax.swing.JLabel(); jtfUsername = new javax.swing.JTextField(); jpfPassword = new javax.swing.JPasswordField(); registButton = new javax.swing.JButton(); cancleButton = new javax.swing.JButton(); jLabel2.setText("jLabel2"); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); jLabel1.setText("用户名:"); jLabel3.setText("密码:"); registButton.setText("注册"); registButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { registButtonActionPerformed(evt); } }); cancleButton.setText("取消"); cancleButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { cancleButtonActionPerformed(evt); } }); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(48, 48, 48) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addGroup(layout.createSequentialGroup() .addComponent(registButton) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 124, Short.MAX_VALUE) .addComponent(cancleButton)) .addGroup(layout.createSequentialGroup() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel1) .addComponent(jLabel3)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(jtfUsername) .addComponent(jpfPassword, javax.swing.GroupLayout.DEFAULT_SIZE, 190, Short.MAX_VALUE)))) .addContainerGap(79, Short.MAX_VALUE)) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(36, 36, 36) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel1) .addComponent(jtfUsername, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(34, 34, 34) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel3) .addComponent(jpfPassword, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(59, 59, 59) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(registButton) .addComponent(cancleButton)) .addContainerGap(77, Short.MAX_VALUE)) ); pack(); }// //GEN-END:initComponents private void goLoginView() { LoginJFrame ljf = new LoginJFrame(); this.dispose(); ljf.setVisible(true); } private void cancleButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cancleButtonActionPerformed goLoginView(); }//GEN-LAST:event_cancleButtonActionPerformed private void registButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_registButtonActionPerformed //获取用户名和密码 String username = this.jtfUsername.getText().trim(); // String password = this.jpfPassword.getText().trim(); String password = String.valueOf(this.jpfPassword.getPassword()); //校验数据 //定义规则 String regex = "\\w{6,12}"; //校验用户名 if (!username.matches(regex)) { JOptionPane.showMessageDialog(this, "用户名不满足条件(6~12位字符)"); this.jtfUsername.setText(""); this.jtfUsername.requestFocus(); return; } //校验密码 if (!password.matches(regex)) { JOptionPane.showMessageDialog(this, "密码不满足条件(6~12位字符)"); this.jpfPassword.setText(""); this.jpfPassword.requestFocus(); return; } //封装对象 User user = new User(); user.setUsername(username); user.setPassword(password); //调用注册功能 UserDao ud = new UserDaoImpl(); ud.regist(user); JOptionPane.showMessageDialog(this, "注册成功"); //返回到登录界面 goLoginView(); }//GEN-LAST:event_registButtonActionPerformed /** * @param args the command line arguments */ // public static void main(String args[]) { // /* Set the Nimbus look and feel */ // // // /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. // * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html // */ // try { // for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { // if ("Nimbus".equals(info.getName())) { // javax.swing.UIManager.setLookAndFeel(info.getClassName()); // break; // } // } // } catch (ClassNotFoundException ex) { // java.util.logging.Logger.getLogger(RegistJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); // } catch (InstantiationException ex) { // java.util.logging.Logger.getLogger(RegistJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); // } catch (IllegalAccessException ex) { // java.util.logging.Logger.getLogger(RegistJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); // } catch (javax.swing.UnsupportedLookAndFeelException ex) { // java.util.logging.Logger.getLogger(RegistJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); // } // // // // /* Create and display the form */ // java.awt.EventQueue.invokeLater(new Runnable() { // public void run() { // new RegistJFrame().setVisible(true); // } // }); // } // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton cancleButton; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3; private javax.swing.JPasswordField jpfPassword; private javax.swing.JTextField jtfUsername; private javax.swing.JButton registButton; // End of variables declaration//GEN-END:variables } ================================================ FILE: day25/code/登录注册/src/登录注册.txt ================================================ 登录注册: 有哪些类? 用户类 用户描述类 用户操作类 登录窗体 注册窗体 类有哪些成员? 用户类 用户描述类 用户名,密码 用户操作类 登录,注册 类与类的关系? 在登录窗体上点击登录按钮,调用登录功能 在注册窗体上点击注册按钮,调用注册功能 分包: cn.itcast.pojo 用户基本描述类 cn.itcast.dao 用户操作接口 cn.itcast.dao.impl 用户操作具体实现类 cn.itcast.util 工具类 cn.itcast.view 窗体类 ================================================ FILE: day25/code/登录注册/user.txt ================================================ adminadmin=adminadmin woaigame=woaigame LoveJava=123456 ================================================ FILE: day25/day25总结.txt ================================================ 1GUI(˽) (1)ûͼν ӦCLI˵ġ (2)֪ java.awt javax.swing (3)һ жܣ 洢 (4)¼() A:¼Դ B:¼ C:¼ D:¼ (5)ģʽ() A:ӿ B: C:ʵ (6) A:HelloWorld B:Ӱť,԰ť¼ C:תư a:ıı b:ļļת D:¼ E:¼ F:˵ a:һ˵ b:༶˵ G:ģ H:¼ע᰸ ================================================ FILE: day25/几句有用的代码.txt ================================================ 1:޸Ƥ UIManager.setLookAndFeel(MyLookAndFeel.LIQUIDINF); 2:޸Ĵͼ Toolkit tk = Toolkit.getDefaultToolkit(); Image i = tk.getImage("src\\cn\\itcast\\resource\\jjcc.jpg"); jf.setIconImage(i); 3:ô Toolkit tk = Toolkit.getDefaultToolkit(); Dimension d = tk.getScreenSize(); double srceenWidth = d.getWidth(); double srceenHeigth = d.getHeight(); int frameWidth = jf.getWidth(); int frameHeight = jf.getHeight(); int width = (int) (srceenWidth - frameWidth) / 2; int height = (int) (srceenHeigth - frameHeight) / 2; jf.setLocation(width, height); } ================================================ FILE: day26/resource/chat_socket_client/.classpath ================================================ ================================================ FILE: day26/resource/chat_socket_client/.project ================================================ chat_socket_client org.eclipse.jdt.core.javabuilder org.eclipse.jdt.core.javanature ================================================ FILE: day26/resource/chat_socket_client/.settings/org.eclipse.jdt.core.prefs ================================================ #Wed Oct 24 13:13:24 CST 2012 eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.compliance=1.6 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.source=1.6 ================================================ FILE: day26/resource/chat_socket_client/src/com/elient/Client.java ================================================ package com.elient; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; import java.net.Socket; import java.net.UnknownHostException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class Client extends Thread{ public Socket c_socket ; private Client_chatFrame c_chatFrame; private Client_enterFrame c_enterFrame; private Client_singleFrame c_singleFrame; public DataInputStream dis = null; public DataOutputStream dos = null; private boolean flag_exit = false; private int threadID; public Map c_singleFrames; public List username_online; public List clientuserid; public String username = null; public String chat_re; //getter, setter public Client_chatFrame getC_chatFrame() { return c_chatFrame; } public Client_singleFrame getC_singlFrame() { return c_singleFrame; } public void setC_singlFrame(Client_singleFrame c_singlFrame) { this.c_singleFrame = c_singlFrame; } public void setC_chatFrame(Client_chatFrame c_chatFrame) { this.c_chatFrame = c_chatFrame; } public Client_enterFrame getC_enterFrame() { return c_enterFrame; } public void setC_enterFrame(Client_enterFrame c_enterFrame) { this.c_enterFrame = c_enterFrame; } public int getThreadID() { return threadID; } public void setThreadID(int threadID) { this.threadID = threadID; } public Client(){ c_singleFrames = new HashMap(); username_online = new ArrayList(); clientuserid = new ArrayList(); // signlechatuse = new ArrayList(); } public static void main(String[] args) { Client client = new Client(); Client_enterFrame c_enterFrame = new Client_enterFrame(client); client.setC_enterFrame(c_enterFrame); c_enterFrame.setVisible(true); } public String login(String username, String hostIp, String hostPort) { this.username = username; String login_mess = null; try { c_socket = new Socket(hostIp, Integer.parseInt(hostPort)); } catch (NumberFormatException e) { login_mess = "ӵķ˿ںportΪ,ȡֵΧΪ1024 rec = new ArrayList(); int i = 0; for (; i < infos.length; i++) { rec.add(0, infos[i++]); } for (i = 0; i < client.username_online.size(); i++) { if (!rec.contains(client.username_online.get(i))) { break; } } String name = client.username_online.get(i); client.username_online.remove(i); try { client.clientuserid.remove(i); } catch (Exception e) { e.printStackTrace(); } if (client.c_singleFrames.containsKey(name)) { client.c_singleFrames.get(name).closeSingleFrame(); client.c_singleFrames.remove(name); } } else { List online = new ArrayList(); for (int i = 0; i < client.username_online.size(); i++) { online.add(0, client.clientuserid.get(i)); } if (online.isEmpty()) { for (int i = 1; i < infos.length; i++) { if ((int) Integer.parseInt(infos[i]) != client .getThreadID()) { client.username_online.add(0, infos[i - 1]); client.clientuserid.add(0, Integer.parseInt(infos[i])); } i++; } } else { for (int i = 1; i < infos.length; i++) { if (Integer.parseInt(infos[i]) != client.getThreadID()) { if (!online.contains(Integer.parseInt(infos[i]))) { client.username_online.add(0, infos[i - 1]); client.clientuserid.add(0, Integer.parseInt(infos[i])); } else { String name = client.username_online .get(client.clientuserid .indexOf(Integer .parseInt(infos[i]))); if (!name.equals(infos[i - 1])) { if (client.c_singleFrames.containsKey(name)) { Client_singleFrame cf = client.c_singleFrames .get(name); cf.setTitle(name); client.c_singleFrames.remove(name); client.c_singleFrames.put(name, cf); cf.setVisible(false); } client.username_online.remove(name); client.clientuserid.remove(new Integer( Integer.parseInt(infos[i]))); client.username_online.add(0, infos[i - 1]); client.clientuserid.add(0, Integer.parseInt(infos[i])); } } } i++; } } } try { for (int i = 0; i < client.username_online.size(); i++) { info[i] = client.username_online.get(i); } } catch (Exception e) { } jlt_disUsers.removeAll(); jlt_disUsers.setListData(info); } } public void closeClient() { JOptionPane.showMessageDialog(this, "ѹر", "ʾ", JOptionPane.OK_OPTION); client.exitClient(); setVisible(false); } @Override public void valueChanged(ListSelectionEvent e) { if (e.getSource() == jlt_disUsers) { } } public void createSingleChatFrame(String name) { Client_singleFrame c_singlFrame = new Client_singleFrame(client, name); client.c_singleFrames.put(name, c_singlFrame); try { c_singlFrame.userThreadID = client.clientuserid .get(client.username_online.indexOf(name)); } catch (Exception e) { } c_singlFrame.setVisible(true); } public void setSingleFrame(String chat_re) { String[] infos = chat_re.split("@single"); try { if (client.c_singleFrames.containsKey(infos[0])) { client.c_singleFrames.get(infos[0]).setDisMess(infos[3]); } else { createSingleChatFrame(infos[0]); client.c_singleFrames.get(infos[0]).setDisMess(infos[3]); } } catch (Exception e) { } } } ================================================ FILE: day26/resource/chat_socket_client/src/com/elient/Client_enterFrame.java ================================================ package com.elient; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import java.awt.Font; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.net.Inet4Address; import java.net.UnknownHostException; import javax.swing.JTextField; import javax.swing.JButton; public class Client_enterFrame extends JFrame implements ActionListener, KeyListener{ public Client_enterFrame(Client client) { this.client = client; try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch (ClassNotFoundException e1) { e1.printStackTrace(); } catch (InstantiationException e1) { e1.printStackTrace(); } catch (IllegalAccessException e1) { e1.printStackTrace(); } catch (UnsupportedLookAndFeelException e1) { e1.printStackTrace(); } setIconImage(Toolkit.getDefaultToolkit().getImage("Images/socket.jpg")); setTitle("\u804A\u5929\u5BA4"); getContentPane().setLayout(null); setSize(296, 249); WinCenter.center(this); setResizable(false); addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { jbt_exit.doClick(); } }); JLabel lblNewLabel = new JLabel("\u7528\u6237\u540D"); lblNewLabel.setFont(new Font("", Font.PLAIN, 14)); lblNewLabel.setBounds(23, 30, 81, 34); getContentPane().add(lblNewLabel); jtf_username = new JTextField(); jtf_username.addKeyListener(this); jtf_username.setBounds(114, 30, 143, 34); getContentPane().add(jtf_username); jtf_username.setColumns(10); JLabel lblNewLabel_1 = new JLabel("\u670D\u52A1\u5668\u5730\u5740"); lblNewLabel_1.setFont(new Font("", Font.PLAIN, 14)); lblNewLabel_1.setBounds(23, 74, 81, 34); getContentPane().add(lblNewLabel_1); jtf_hostIp = new JTextField(); jtf_hostIp.setBounds(114, 74, 143, 34); jtf_hostIp.addKeyListener(this); getContentPane().add(jtf_hostIp); try { String ip = (String)Inet4Address.getLocalHost().getHostAddress(); jtf_hostIp.setText(ip); } catch (UnknownHostException e) { e.printStackTrace(); } jtf_hostIp.setColumns(10); JLabel lblNewLabel_2 = new JLabel("\u7AEF\u53E3\u53F7"); lblNewLabel_2.setFont(new Font("", Font.PLAIN, 14)); lblNewLabel_2.setBounds(23, 118, 81, 34); getContentPane().add(lblNewLabel_2); jtf_hostPort = new JTextField(); jtf_hostPort.addKeyListener(this); jtf_hostPort.setBounds(114, 118, 143, 34); getContentPane().add(jtf_hostPort); jtf_hostPort.setText("5000"); jtf_hostPort.setColumns(10); jbt_enter = new JButton("\u8FDB\u5165\u804A\u5929\u5BA4"); jbt_enter.addActionListener(this); jbt_enter.addKeyListener(this); jbt_enter.setFont(new Font("", Font.PLAIN, 14)); jbt_enter.setBounds(23, 162, 108, 39); getContentPane().add(jbt_enter); jbt_exit = new JButton("\u9000\u51FA\u804A\u5929\u5BA4"); jbt_exit.setFont(new Font("", Font.PLAIN, 14)); jbt_exit.setBounds(144, 162, 113, 39); jbt_exit.addActionListener(this); getContentPane().add(jbt_exit); } /** * */ private static final long serialVersionUID = 1L; private JTextField jtf_username; private JTextField jtf_hostIp; private JTextField jtf_hostPort; private JButton jbt_enter; private JButton jbt_exit; private Client client; @Override public void actionPerformed(ActionEvent e) { if(e.getSource() == jbt_exit){ setVisible(false); client.exitLogin(); } if(e.getSource() == jbt_enter){ String username = jtf_username.getText(); username.trim(); String hostIp = jtf_hostIp.getText(); hostIp.trim(); String hostPort = jtf_hostPort.getText(); hostPort.trim(); if(!username.equals("")){ if(!hostIp.equals("")){ if(!hostPort.equals("")){ String login_mess = client.login(username, hostIp, hostPort); if(login_mess.equals("true")){ this.setVisible(false); client.showChatFrame(username); }else{ JOptionPane.showMessageDialog(this, login_mess); } }else{ JOptionPane.showMessageDialog(this, "Ӷ˿ںŲΪգ"); } }else{ JOptionPane.showMessageDialog(this, "ַΪգ"); } }else{ JOptionPane.showMessageDialog(this, "ûΪգ"); } } } @Override public void keyPressed(KeyEvent arg0) { if(arg0.getKeyCode() == KeyEvent.VK_ENTER){ jbt_enter.doClick(); } } @Override public void keyReleased(KeyEvent arg0) {} @Override public void keyTyped(KeyEvent arg0) {} } ================================================ FILE: day26/resource/chat_socket_client/src/com/elient/Client_singleFrame.java ================================================ package com.elient; import java.awt.BorderLayout; import java.awt.Component; import java.awt.Container; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Date; import javax.swing.BorderFactory; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.JTextField; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; public class Client_singleFrame extends JFrame implements ActionListener, KeyListener{ /** * */ private static final long serialVersionUID = 1L; private static JTextArea jta_disMess; private JTextField jtf_inputMess; private JButton jbt_trans; public int userThreadID = 0; private Client client; public Client_singleFrame(Client client, String title) { this.client = client; init(title); } private void init(String title) { try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch (ClassNotFoundException e1) { e1.printStackTrace(); } catch (InstantiationException e1) { e1.printStackTrace(); } catch (IllegalAccessException e1) { e1.printStackTrace(); } catch (UnsupportedLookAndFeelException e1) { e1.printStackTrace(); } setIconImage(Toolkit.getDefaultToolkit().getImage("Images/socket.jpg")); WinCenter.center(this); setTitle(title); setSize(400, 400); setResizable(false); setContentPane(createContentPanel()); addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { closeSingleFrame(); } }); } private Container createContentPanel() { JPanel jp = new JPanel(); jp.setBorder(BorderFactory.createTitledBorder("Ϣ")); jp.setLayout(new BorderLayout()); jta_disMess = new JTextArea(); jta_disMess.setEditable(false); jp.add(BorderLayout.CENTER, new JScrollPane(jta_disMess)); jp.add(BorderLayout.SOUTH, createInput()); return jp; } private Component createInput() { JPanel jp = new JPanel(); jp.setBorder(BorderFactory.createTitledBorder("Ϣ")); jp.setLayout(new BorderLayout()); jtf_inputMess = new JTextField(); jtf_inputMess.addKeyListener(this); jbt_trans = new JButton(""); jbt_trans.addActionListener(this); jp.add(jtf_inputMess, BorderLayout.CENTER); jp.add(jbt_trans, BorderLayout.EAST); return jp; } @Override public void keyPressed(KeyEvent arg0) { if(arg0.getKeyCode() == KeyEvent.VK_ENTER){ if(arg0.getSource() == jtf_inputMess){ jbt_trans.doClick(); } } } @Override public void keyReleased(KeyEvent arg0) {} @Override public void keyTyped(KeyEvent arg0) {} @Override public void actionPerformed(ActionEvent e) { if(e.getSource() == jbt_trans){ String str = jtf_inputMess.getText(); str.trim(); jtf_inputMess.setText(""); if(str.equals("")){ JOptionPane.showMessageDialog(this, "ϢΪ"); }else{ SimpleDateFormat form = new SimpleDateFormat("yyyy-MM-dd HH:mm"); String date = form.format(new Date()); String mess = client.username + " " + date + "\n" + str; jta_disMess.append(mess + "\n"); jta_disMess.setCaretPosition(jta_disMess.getText().length()); int index = client.username_online.indexOf(this.getTitle()); String info = client.username + "@single" + client.getThreadID() + "@single" + (int)client.clientuserid.get(index) + "@single" + mess + "@single"; try { client.dos.writeUTF(info); } catch (IOException e1) { e1.printStackTrace(); } } } } public void setDisMess(String chat_re) { jta_disMess.append(chat_re + "\n"); jta_disMess.setCaretPosition(jta_disMess.getText().length()); } public void closeSingleFrame(){ client.c_singleFrames.remove(this.getTitle()); setVisible(false); } public void setExitNotify() { jta_disMess.append(this.getTitle() + "....."); jbt_trans.setEnabled(false); } } ================================================ FILE: day26/resource/chat_socket_client/src/com/elient/WinCenter.java ================================================ package com.elient; import java.awt.Dimension; import java.awt.Toolkit; import java.awt.Window; public class WinCenter { public static void center(Window win){ Toolkit tkit = Toolkit.getDefaultToolkit(); Dimension sSize = tkit.getScreenSize(); Dimension wSize = win.getSize(); if(wSize.height > sSize.height){ wSize.height = sSize.height; } if(wSize.width > sSize.width){ wSize.width = sSize.width; } win.setLocation((sSize.width - wSize.width)/ 2, (sSize.height - wSize.height)/ 2); } } ================================================ FILE: day26/resource/chat_socket_server/.classpath ================================================ ================================================ FILE: day26/resource/chat_socket_server/.project ================================================ chat_socket_server org.eclipse.jdt.core.javabuilder org.eclipse.jdt.core.javanature ================================================ FILE: day26/resource/chat_socket_server/.settings/org.eclipse.jdt.core.prefs ================================================ #Wed Oct 24 13:27:56 CST 2012 eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.compliance=1.6 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.source=1.6 ================================================ FILE: day26/resource/chat_socket_server/src/com/server/BroadCast.java ================================================ package com.server; import java.io.IOException; public class BroadCast extends Thread { ClientThread clientThread; ServerThread serverThread; String str; private boolean flag_exit = false; public BroadCast(ServerThread serverThread){ this.serverThread = serverThread; } @Override public void run() { boolean flag = true; while(flag_exit){ synchronized (serverThread.messages) { if(serverThread.messages.isEmpty()){ continue; }else{ str = (String)serverThread.messages.firstElement(); serverThread.messages.removeElement(str); if(str.contains("@clientThread")){ flag = false; } } } synchronized (serverThread.clients) { for(int i=0; i < serverThread.clients.size(); i++) { clientThread = serverThread.clients.elementAt(i); if(flag){ try { //¼ÿһͻ˷Ϣ if(str.contains("@exit")){ serverThread.clients.remove(i); clientThread.closeClienthread(clientThread); clientThread.dos.writeUTF(str); } if(str.contains("@chat") || str.contains("@userlist") || str.contains("@serverexit")){ clientThread.dos.writeUTF(str); } if(str.contains("@single")){ String[] info = str.split("@single"); int id_thread = Integer.parseInt(info[2]); for(int j = 0; j < serverThread.clients.size(); j++){ if(id_thread == serverThread.clients.get(j).getId()){ serverThread.clients.get(j).dos.writeUTF(str); i = serverThread.clients.size(); break; } } } } catch(IOException E){} }else{ String value = serverThread.users.get((int)clientThread.getId()); if(value.equals("@login@")){ flag = true; try { //¼ÿһͻ˷Ϣ clientThread.dos.writeUTF(str); if(str.contains("@exit")){ serverThread.clients.remove(i); clientThread.closeClienthread(clientThread); } } catch(IOException E){} break; } } } } if(str.contains("@serverexit")){ serverThread.users.clear(); flag_exit = false; } } } public void setFlag_exit(boolean b) { flag_exit = b; } public void stopBroadCase() { flag_exit = false; } } ================================================ FILE: day26/resource/chat_socket_server/src/com/server/ClientThread.java ================================================ package com.server; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; import java.net.Socket; import java.text.SimpleDateFormat; import java.util.Date; public class ClientThread extends Thread { public Socket clientSocket; public ServerThread serverThread; public DataInputStream dis; public DataOutputStream dos; public String client_userID; private boolean flag_exit = false; public ClientThread(Socket socket, ServerThread serverThread){ clientSocket = socket; this.serverThread = serverThread; try { dis = new DataInputStream(clientSocket.getInputStream()); dos = new DataOutputStream(clientSocket.getOutputStream()); } catch (IOException e) { e.printStackTrace(); } } @Override public void run() { while(flag_exit){ try { String Message = dis.readUTF(); if(Message.contains("@login")){ String [] userInfo = Message.split("@login"); int userID = Integer.parseInt(userInfo[1]); serverThread.users.remove(userID); if(serverThread.users.containsValue(userInfo[0])){ for(int i = 0; i < serverThread.clients.size(); i++){ int id = (int)serverThread.clients.get(i).getId(); if(serverThread.users.get(id).equals(userInfo[0])){ serverThread.users.remove(id); serverThread.users.put(id, userInfo[0] + "_" + id); break; } } serverThread.users.put(Integer.parseInt(userInfo[1]), userInfo[0] + "_" + userInfo[1]); }else{ serverThread.users.put(userID, userInfo[0]); } Message = null; StringBuffer sb = new StringBuffer(); synchronized (serverThread.clients) { for(int i = 0; i < serverThread.clients.size(); i++){ int threadID = (int) serverThread.clients.elementAt(i).getId(); sb.append((String)serverThread.users.get(new Integer(threadID)) + "@userlist"); sb.append(threadID + "@userlist"); } } String userNames = new String(sb); serverThread.serverFrame.setDisUsers(userNames); Message = userNames; }else{ if(Message.contains("@exit")){ String [] userInfo = Message.split("@exit"); int userID = Integer.parseInt(userInfo[1]); serverThread.users.remove(userID); Message = null; StringBuffer sb = new StringBuffer(); synchronized (serverThread.clients) { for(int i = 0; i < serverThread.clients.size(); i++){ int threadID = (int) serverThread.clients.elementAt(i).getId(); if(userID == threadID){ serverThread.clients.removeElementAt(i); i--; }else{ sb.append((String)serverThread.users.get(new Integer(threadID)) + "@userlist"); sb.append(threadID + "@userlist"); } } } String userNames = new String(sb); if(userNames.equals("")){ serverThread.serverFrame.setDisUsers("@userlist"); }else{ serverThread.serverFrame.setDisUsers(userNames); } Message = userNames; }else{ if(Message.contains("@chat")){ String[] chat = Message.split("@chat"); StringBuffer sb = new StringBuffer(); SimpleDateFormat form = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String date = form.format(new Date()); sb.append(chat[0] + " " + date + "\n"); sb.append(chat[2] + "@chat"); String str = new String(sb); Message = str; serverThread.serverFrame.setDisMess(Message); }else{ if(Message.contains("@single")){ } } } } synchronized (serverThread.messages) { if(Message != null){ serverThread.messages.addElement(Message); } } if(Message.contains("@exit")){ this.clientSocket.close(); flag_exit = false; } } catch (IOException e) {} } } public void closeClienthread(ClientThread clientThread) { if(clientThread.clientSocket != null){ try { clientThread.clientSocket.close(); } catch (IOException e) { System.out.println("server's clientSocket is null"); } } try { setFlag_exit(false); } catch (Throwable e) { e.printStackTrace(); } } public void setFlag_exit(boolean b) { flag_exit = b; } } ================================================ FILE: day26/resource/chat_socket_server/src/com/server/Server.java ================================================ package com.server; public class Server { private ServerFrame serverFrame; private ServerThread serverThread; public ServerFrame getServerFrame() { return serverFrame; } public void setServerFrame(ServerFrame serverFrame) { this.serverFrame = serverFrame; } public Server(){} public void startServer() { try{ serverThread = new ServerThread(serverFrame); }catch(Exception e){ System.exit(0); } serverThread.setFlag_exit(true); serverThread.start(); } public void stopServer(){ synchronized (serverThread.messages) { String str = "@serverexit"; serverThread.messages.add(str); } serverThread.serverFrame.setDisMess("@exit"); serverThread.serverFrame.setDisUsers("@exit"); serverThread.stopServer(); } public static void main(String[] args) { Server server = new Server(); ServerFrame serverFrame = new ServerFrame(server); server.setServerFrame(serverFrame); serverFrame.setVisible(true); } public void close() { if(serverThread != null){ if(serverThread.isAlive()){ serverThread.stopServer(); } } System.exit(0); } } ================================================ FILE: day26/resource/chat_socket_server/src/com/server/ServerFrame.java ================================================ package com.server; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.util.ArrayList; import java.util.List; import javax.swing.BorderFactory; import javax.swing.JFrame; import javax.swing.JButton; import javax.swing.JOptionPane; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.JList; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; public class ServerFrame extends JFrame implements ActionListener { private JButton jbt_start; private JButton jbt_stop; private JButton jbt_exit; private JTextArea jta_disMess; private JList jlt_disUsers; private Server server; public List online_usernames; public List online_usernameids; public ServerFrame(Server server) { this.server = server; online_usernames = new ArrayList(); online_usernameids = new ArrayList(); try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (InstantiationException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (UnsupportedLookAndFeelException e) { e.printStackTrace(); } setTitle("\u670D\u52A1\u5668"); setIconImage(Toolkit.getDefaultToolkit().getImage("Images/socket.jpg")); setSize(449, 301); setResizable(false); WinCenter.center(this); addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent arg0) { jbt_exit.doClick(); } }); getContentPane().setLayout(null); jbt_start = new JButton("\u542F\u52A8\u670D\u52A1\u5668"); jbt_start.setBounds(32, 23, 103, 34); jbt_start.addActionListener(this); getContentPane().add(jbt_start); jbt_stop = new JButton("\u505C\u6B62\u670D\u52A1\u5668"); jbt_stop.setBounds(145, 23, 103, 34); jbt_stop.setEnabled(false); jbt_stop.addActionListener(this); getContentPane().add(jbt_stop); jbt_exit = new JButton("\u9000\u51FA\u670D\u52A1\u5668"); jbt_exit.setBounds(258, 23, 103, 34); jbt_exit.addActionListener(this); getContentPane().add(jbt_exit); JScrollPane scrollPane = new JScrollPane(); scrollPane.setBounds(10, 64, 221, 192); scrollPane.setWheelScrollingEnabled(true); scrollPane.setBorder(BorderFactory.createTitledBorder("Ϣ")); getContentPane().add(scrollPane); jta_disMess = new JTextArea(); scrollPane.setViewportView(jta_disMess); JScrollPane scrollPane_1 = new JScrollPane(); scrollPane_1.setBounds(258, 65, 157, 191); scrollPane_1.setBorder(BorderFactory.createTitledBorder("û")); getContentPane().add(scrollPane_1); jlt_disUsers = new JList(); jlt_disUsers.setVisibleRowCount(4); scrollPane_1.setViewportView(jlt_disUsers); } /** * */ private static final long serialVersionUID = 1L; @Override public void actionPerformed(ActionEvent arg0) { if(arg0.getSource() == jbt_start){ jbt_start.setEnabled(false); jbt_stop.setEnabled(true); server.startServer(); } if(arg0.getSource() == jbt_stop){ int flag = JOptionPane.showConfirmDialog(this, "ǷҪֹͣ", "", JOptionPane.OK_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE); if(flag == JOptionPane.OK_OPTION){ server.stopServer(); jbt_start.setEnabled(true); jbt_stop.setEnabled(false); } } if(arg0.getSource() == jbt_exit){ if(jbt_stop.isEnabled()){ jbt_stop.doClick(); } server.close(); } } public void setDisUsers(String userNames) { if(userNames.equals("@userlist")){ jlt_disUsers.removeAll(); String[] user_null = new String[]{}; jlt_disUsers.setListData(user_null); }else{ if(userNames.contains("@userlist")){ String[] dis = userNames.split("@userlist"); String [] disUsernames = new String[dis.length / 2]; int j = 0; for(int i = 0; i < dis.length; i++){ disUsernames[j++] = dis[i++]; } jlt_disUsers.removeAll(); jlt_disUsers.setListData(disUsernames); } if(userNames.contains("@exit")){ String[] dis = {}; jlt_disUsers.setListData(dis); } } } public void setDisMess(String message) { if(message.contains("@chat")){ int local = message.indexOf("@chat"); jta_disMess.append(message.substring(0, local) + "\n"); jta_disMess.setCaretPosition(jta_disMess.getText().length()); } if(message.contains("@exit")){ jta_disMess.setText(""); } } public void setStartAndStopUnable() { JOptionPane.showMessageDialog(this, "ͬʱ"); jbt_start.setEnabled(false); jbt_stop.setEnabled(false); } } ================================================ FILE: day26/resource/chat_socket_server/src/com/server/ServerThread.java ================================================ package com.server; import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; import java.net.SocketException; import java.util.HashMap; import java.util.Map; import java.util.Vector; public class ServerThread extends Thread { public ServerSocket serverSocket; public Vector messages; public Vector clients; public Map users; public BroadCast broadcast; public int Port = 5000; public boolean login = true; public ServerFrame serverFrame; private boolean flag_exit = false; public ServerThread(ServerFrame serverFrame){ this.serverFrame = serverFrame; messages = new Vector(); clients = new Vector(); users = new HashMap(); try { serverSocket = new ServerSocket(Port); } catch (IOException e) { this.serverFrame.setStartAndStopUnable(); System.exit(0); } broadcast = new BroadCast(this); broadcast.setFlag_exit(true); broadcast.start(); } @Override public void run() { Socket socket; while(flag_exit){ try { if(serverSocket.isClosed()){ flag_exit = false; }else{ try{ socket = serverSocket.accept(); }catch(SocketException e){ socket = null; flag_exit = false; } if(socket != null){ ClientThread clientThread = new ClientThread(socket, this); clientThread.setFlag_exit(true); clientThread.start(); synchronized (clients) { clients.addElement(clientThread); } synchronized (messages) { users.put((int) clientThread.getId(), "@login@"); messages.add(clientThread.getId() + "@clientThread"); } } } } catch (IOException e) { e.printStackTrace(); } } } public void stopServer() { try { if(this.isAlive()){ serverSocket.close(); setFlag_exit(false); } } catch (Throwable e) {} } public void setFlag_exit(boolean b) { flag_exit = b; } } ================================================ FILE: day26/resource/chat_socket_server/src/com/server/WinCenter.java ================================================ package com.server; import java.awt.Dimension; import java.awt.Toolkit; import java.awt.Window; public class WinCenter { public static void center(Window win){ Toolkit tkit = Toolkit.getDefaultToolkit(); Dimension sSize = tkit.getScreenSize(); Dimension wSize = win.getSize(); if(wSize.height > sSize.height){ wSize.height = sSize.height; } if(wSize.width > sSize.width){ wSize.width = sSize.width; } win.setLocation((sSize.width - wSize.width)/ 2, (sSize.height - wSize.height)/ 2); } } ================================================ FILE: 复习/day01review.txt ================================================ 1 չ Ӳ javaԣƽ̨ԣȫ James Gosling:java֮ 2ÿ̨ ̷ ð س뵽ij cd Ŀ¼ cd ༶Ŀ¼ dir ʾĿ¼µļ md Ŀ¼ rd ɾĿ¼ cls exit ˳ 䣺rd -sɾʱѯ rd -q -sֱɾѯ 3JVMJRE,JDKߵ͹ϵ JVM:java֤javaԵĿƽ̨ͣΪͬIJϵͳṩͬJVM JRE:ʱJVMͺ JDK߰JREͿ 4JDKأװж 5 pathΪexeļĿ¼ ʽ (1)ڻpathjavacjavaڵĿ¼ǰ棬жᰴ˳ (2)JAVA_HOMEΪexeĿ¼ڣpath:%JAVA_HOME%\bin;ԭ· classpathΪclassļָĿ¼ 6HelloWorld 7 8 9 10ע עͷࣺ ע // ע /* */ ĵע /** */ ע͵ã ˵ĵߴĿĶ Գ 11ؼ javaбľ⺬ĵ ؼ ע gotoconstjavaеĹؼֱDzδʹ 12ʶ ʶڸ࣬ӿڣķ ɹ ӢĴСдĸ _$ ע ֿͷ ǹؼ ϸִСд ļУڽͬ ȫСд ߽ӿڣÿһĸд(һAPIṩӿ淶) ߱׸Сдд д֮_ ================================================ FILE: 复习/day02review.txt ================================================ 1 Զ峣 ֵ ַ ַ С nullճ 2ת ƣ ƣ0b ˽ƣ0 ʮƣ0x Ƶʮƣ ϵ*^Ȩη֮ ʮƵƣ ȡֱΪ㣬ת 8421룺ת 3зʾ ԭ룺Ʊʾ λ0 λ1 룺ԭһ λΪ1λλȡ 룺ԭһ ɷ1 4 ֣ byte 1 short 2 int 4 long 8 boolean 1 char 2 float 4 double 8 Ĭintdouble longͣĩβlL(Ƽôд) floatͣĩβfF ͣ 飬࣬ӿ 5 ִйֵᷢ仯 6ת ʽת byteshortchar->int->long->float->double longΪʲôתfloat floatײ洢ṹͬ ʾݷΧfloat עӣȼٿռ ӣȿռټ ǿת 7ֵ 8 +-*/% ++ --Լǰ += -= *= /= %= 9ϵ >< == >= <= != 10߼ & | ! ^ && ||ж·Ч ================================================ FILE: 复习/day03review.txt ================================================ 1Ŀ ================================================ FILE: 复习/day19review.txt ================================================ 1쳣 쳣쳣dzֲ ೤гΣ 쳣ࣺ Throwable |---Error |---Exception |---RuntimeException ʱ쳣 ԴҲԲ ҪĴ |---RuntimeException ʱ쳣 봦ͨ 쳣ʽ JVMĬϴķʽ쳣Ϣ̨ Atry...catch...finally... ֱʹãtrycatchfinallyеһʹ finallyص㣺finallyƵ嶼ִ עfinallyƵֻҪJVM˳֮ǰִ Bthrows ܴ쳣׳һmainеõmain JVM 쳣ע JDK7ԣ catch(쳣1 | 쳣2 |... e):쳣 try...catchжcatchʱΧ쳣һ 쳣ֻ׳븸ͬ쳣ڸ쳣쳣 쳣ֻ׳븸ͬ쳣ڸ쳣쳣 û쳣û׳쳣Ҳ׳쳣 Զ쳣 ̳RuntimeExceptionException ׳Զ쳣 public class MyException extends Exception { public MyException() { super(); } public MyException(String message) { super(message);//ϢĹ췽 } } ⣺finalfinalizefinally finalʾյη ࣺ಻ܱ̳ γԱܱд γԱΪ finalizeObjectķڵSystem gc()һ finally쳣try...catch...finallyʹã쳣ǻִ Ĵ throwsthrow throwsϣ׳쳣öŸʾ 쳣Ŀ throw󣬺ֻһ󣬱ʾij־쳣 finallyеreturn֮ǰִ֮ returnص㣬һ· 2File ڱʾļļе 췽 public File(String pathname) public File(String parent,String filename) public File(File file, String name) public File(URI uri):ͳһԴλԴͨ·ļļж Ա ܣ public boolean createNewFile():ļ public boolean mkdir():Ŀ¼ public boolean mkdirs():Ŀ¼ ɾܣ public boolean delete():ɾִļļ ɾص㣺ɾվֱɾ жϹܣ public boolean isDirectory():жǷΪļ public boolean isFile():жǷΪļ public boolean exists():жǷ public boolean canWrite():Ƿд public boolean canRead():Ƿɶ public boolean isHidden():Ƿ ܣ public boolean rename(String dest):·ͬ·ͬ к ȡܣ public String getAbsolutePath(): public String getName(): public String getPath(): public int length():ȡļС public long lastModified():޸ʱĺֵ ߼ȡܣ public String[] list():ַ洢ijĿ¼ļļ public File[] listFile():ļ洢ijĿ¼ļļ ļ public String[] list(fileNameFilter filter): public File[] listFile(fileNameFilter filter): fileNameFilterڲ࣬дaccept new fileNameFilter(){ public boolean accept(File dir,String name){ return new file().isFile() && name.endswit(".jpg"); } } ijĿ¼JPGβļ