第一篇:黑马程序员基础测试题
黑马程序员基础测试题
1、已知一个int数组, 编程从数组中获取最大数.2、编写一个方法(名字自定,但要符合Java编码规范),方法内打印一字符串,并在main()方法内调用它。
3、环境变量path和classpath的作用是什么?
系统环境 path 为了更方便应用java 开发工具 将要执行命令的所在路径给系统、让系统去寻找 方便执行、必须是可执行文件先找当前路径再找path 路径 临时配置方式 通过set 命令完成、设置查看环境变量的值 在path环境变量的基础上添加新的目录 在任意目录下执行java 执行程序 专门给类文件设置路径 将class 文件所在目录 告诉系统,让系统去寻找 虚拟机先从classpath 寻找
4、UDP协议与TCP协议有什么不同?
5、编写一个类Person,为Person类定义年龄、姓名两个属性,并且定义一个SayHello方法,方法执行时输出“我是***我的年龄是***”;定义一个Chinese类从Person类继承。
6、创建一个包含有private的属性和private方法的类。然后创建一个内部类,它有一个方法可用来修改外部类的属性,并调用外部类的方法。在外部类的另一个方法中,创建此内部类的对象,并且调用它的方法。
7、用控制台程序输出九九乘法表;输出结果按下图所示:
1*1=1
1*2=22*2=4
1*3=32*3=63*3=9
.........8、编写程序拷贝一个文件, 尽量使用效率高的方式.9、编写HTML注册表单, 需要字段: 用户名, 密码, 确认密码, 性别(单选), 城市(下拉列表), 兴趣爱好(多选), 个人简介(文本域).10、定义一个学生类, 需要有姓名, 年龄, 考试成绩三个成员属性,创建5个对象, 属性可为任意值.编程对这5个对象按成绩排序,并将结果输出。(提示,用TreeSet和Comparator实现)
第二篇:【黑马程序员】Java基础总结
【黑马程序员】Java基础总结
黑马程序员的javaEE课程主要分为2个部分:java基础+java就业。今天就简单的给大家总结一下咱们java基础的知识。
注:Java采用Unicode符号集,每个字符占2个字节,无论英文还是中文还是其他字符。
标识符
为变量、类或方法起的名称 以字母,下划线、或者$符号开头 由字母、数字、下划线或者$符号开头 区分大小写,没有长度限制,不能使用关键字 尽量取得容易辨识,见名知意
如:identifier、userName、user_Name、_sys_varl、$change
基本数据类型
Java定义了8中基本数据类型
[AppleScript] 纯文本查看 复制代码
?
/**
* @author 传智播客 1 */ 2 布尔值----boolean(只有true和false两种类型)3 字符-------char(16 位的Unicode字符 用单引号('')标注;'a'表示字母4 a
't' 表示制表符
'u'中?用确切的代替
申明5 并且初始化: char c = 'A'
申明变量 char ch1,ch2)6 整数--------byte(8位)short(16)int(32)long(64)【以0开7 头表示八进制 ;以0x开始表示16进制】 浮点型-----float double
变量
必须在类的内部【可以在方法外也可以在方法类】 在方法类定义的变量叫做局部变量,需要显示的初始化
黑马程序员合肥中心 编著
成员变量和类变量【对象】自动初始化【数字初始化为0,对象初始化为null】
常量
在程序运行中,其值保持不变的量
不同数据类型间的相互转换【封装Wrapper类】 Java中类的定义:
[AppleScript] 纯文本查看 复制代码
? /**
2* @author 传智播客
3*/ 4 <修饰符> Class <类名>{ <属性申明>;6
<构造器申明>;7
<方法申明>;8 }
成员变量申明:
[AppleScript] 纯文本查看 复制代码
? <修饰符> <类型> <名称>;修饰符:
[AppleScript] 纯文本查看 复制代码
? /** 2
* @author 传智播客 3
*/ 4 final:修饰常量,常量的值不能被修改【例如 final int CONSTANT = 50;】 5 static:申明静态变量[类变量] static int nCount;方法的申明:
[AppleScript] 纯文本查看 复制代码
? /** 2
* @author 传智播客
黑马程序员合肥中心 编著
3*/ 4 <修饰符> <返回值类型> <名称>[参数列表]{ 5
语句;6 }
方法参数的传递方式:
1、值传递:形参是基本数据类型,方法调用时,实际参数把值传递给形式参数,形式参数只是用实际参数的值初始化自己的存储单元内容;是两个不同的存储单元,所以方法执行中,形式参数值的改变不会影响实际参数的值。
2、引用传递:形参类型是引用数据类型【传递地址】,方法调用时,实际参数是对象或者数组,这时,形式参数和实际参数指向的是同一地址,方法执行中,对形式参数的操作实际上是对实际参数的操作,这个结果在方法结束后被保留了下来,所以对形式参数的操作实际上就是对实际参数的操作。构造器申明:
[AppleScript] 纯文本查看 复制代码
?
/** 1 * @author 传智播客 2 */ 3 <修饰符> <类名>[参数列表]{ 4
语句;5 } 6 注释:构造器没有返回值,void也不行;如果有返回值,方法会被当做普通函7 数执行; 构造器函数特点:
1、作用:完成对类对象的初始化
2、名称必须和类名相同
3、不能有返回值,不能有 return 语句
4、一般申明为Public类型 构造器的使用:
黑马程序员合肥中心 编著
1、不能现实的调用
2、在创建一个类的对象时,系统自动调用构造器为该对象初始化
3、构造器只能和new关键字一起使用
格式:
类名 对象名 = new 构造函数名称(成员变量的初始值);
默认构造器:
1、每个类至少有一个构造器
2、如果不编写构造函数,系统自动添加默认的构造函数【默认构造函数不带参数,默认构造函数函数体为空】
3、不必编写构造函数就能使用new XXX()
创建实例
对象创建格式:
<对象名> = new <类名>(实参)
对象的清除:
对象为null时,Java自动调用垃圾回收机制清除对象,释放对象占用的内存空间 手动编写finalize()方法撤销对象--不提倡
对象的内存模型:
栈内存:方法中定义的变量(基本类型和引用类型)。超过变量的作用域,自动释放变量的内存
堆内存:new 创建的对象(包括数组),由系统自动回收
类的继承【仅支持单继承】
[AppleScript] 纯文本查看 复制代码
? /**
2* @author 传智播客
3*/ 4 <修饰符> class <名称> extends <父类>{ 申明;6 }
黑马程序员合肥中心 编著
子类可以继承父类中非private的方法和属性;子类可以添加新的属性和方法;【程序代码重,减少冗余】 方法的重载(overload):
1、一个类中有多个同名的方法
2、条件:参数的个数不同;参数的类型不同
3、如果两个方法只有返回值不一样,不是重载,会报错
方法的覆盖(override):
1、子类可以修改父类继承过来的行为
2、子类可以创建和父类的方法不同功能的方法,但是下面必须相同:【方法名、返回值、参数列表】
super关键字:
往往在覆盖方法时,真正不目的不是代替现有的行为,而是在某些方面扩展那些行为; 类中使用super关键字指向父类的成员 包括数据和方法; 3中使用方法:
super.方法名([参数表]);----调用父类的方法 super.成员变量名;----访问父类的成员变量 super([参数表]);----调用父类的构造函数
构造函数不能被继承:
子类从父类继承所有的方法和变量 子类不能继承父类的构造函数
有两种方式可以获取构造函数:
1、使用默认的构造函数
2、编写1个或者多个构造函数
调用父类的构造函数:
要调用父类的构造函数,必须在子类构造函数的第一行使用super关键字
黑马程序员合肥中心 编著
要调用特定的父类的构造函数,必须为super提供参数
如果没有this或者super调用,编译器会插入一个对父类无参数构造函数的隐式调用: super();
变量的多态:
类型为X的参考变量,指向的对象类型既可以是X,也可以是X的子类; 如: Employee x = new Manager();Employee y = new Employee();
实例方法能够被覆盖,静态(static)方法不能被覆盖 原因:
静态方法在编译时候,根据调用该方法的类或者对象所属的类决定 实例方法在运行时根据对象所属的类决定
如:Super s = new Sub();编译时候S是Super类的对象,运行时 S 指向Sub类的对象;
instanceof操作符:
可以根据对象所属的类进行不同的处理 抽象类:只能被继承,不能被实例化的类 定义格式:
[AppleScript] 纯文本查看 复制代码
? /**
2* @author 传智播客
3*/ 4 abstract class 类名{ abstract 返回值类型
方法名[参数列表];6
...7 } 说明:
抽象类中可以包含抽象方法和非抽象方法,也可以不包含抽象方法和非抽象方法;只要有一个抽象方法,就属于抽象类;
[AppleScript] 纯文本查看 复制代码
黑马程序员合肥中心 编著
?
01 /** 02
* @author 传智播客 03
*/ 04 abstract class Animal{ 05
public abstract void eat();06
} 07
class Dog extends Animal{ 08
public void eat(){System.out.println(“狗吃骨头”);} 09
} 10class Cat extends Animal{ 12
public void eat(){System.out.println(“猫吃老鼠”);} 13 } 115 class Wolf extends Animal{ 16
public void eat(){System.out.println(“狼吃羊”);} 17 } 说明:不能创建抽象类的对象,即不能被实例化;
使用时,必须用起创建子类
子类可以定义自己的成员变量和方法,但是必须将父类的所有抽象方法代码写完;
如果子类只是实现了部分抽象的方法,那么,该类仍然是抽象类; 最终类:
final 类不能被子类化;如Java.lang.String 是final 类,这样做是基于安全的考虑; 标记为final的方法不能被覆盖;处于安全的考虑,如果方法的实现不应改变,而且对对象的一致性要求比较高,则可以创建一个final方法。
标记为final的变量代表常量,只能一次赋值; 接口:
使用interface关键字申明,可以支持多重继承 接口中只能包含: 抽象方法;
黑马程序员合肥中心 编著
常量(默认为 public static final)【用得较少】 说明:
1、接口本身只是提供定义,使用时,必须通过类实现接口(implements)实现接口时,必须实现所有的方法。否则该类还是抽象类(abstract class)。
2、一个雷尅实现多个接口。
3、扩展子句(extends)必须在实现子句(implements)之前
包:
package <顶层包名>[.<子包名>]*;
如:package shipping.domain;说明:
1、如果有包申明,必须在源文件开始处申明。他的前面只能有空白和注释,不能有其他语句;
2、每个源文件只能有一个包申明;
3、如果没有包申明,则该类属于“默认”包(没有名称的包)
4、包的名称有层次,且用.分开;
import语句: 基本语法:
import <包名>[.<子包名>].<类名> 或者import <包名>[.<子包名>].*;
其实在学习java过程中基础还是比较容易,如果大家想学习java基础的知识,欢迎大家可以去传智播客官网http://www.xiexiebang.com/去了解java基础知识!
黑马程序员合肥中心 编著
第三篇:【黑马程序员】Java基础 : Java语句笔记
【黑马程序员】Java基础 : Java语句笔记
摘要: Java基础—java语句这些是黑马程序员java基础入门的一个很重要的内容。今天主要给大家简单讲解一下Java基础—java语句,以后会慢慢讲解黑马程序员的课程内容!
关键语句介绍
一、while 语句 一般形式:
whi l e(条件表达式){ 语句体 ……… } 执行过程:
条件表达式为真,执行语句体。否则,退出!
二、do while 语句 一般形式: do { 语句体 …….} while(条件表达式);执行过程:
先执行一次语句体,判断 条件表达式是否为真,为真再执行do语句中的语句体。为假,退出。
需要注意:与whi l e语句区别
黑马程序员合肥中心 编著
1.while(条件表达式)后面有分号;2.不管条件表达式是否为真,语句体均会执行一次。
三、for 语句 一般形式:
for(子句 1;子句 2;子句 3){ 语句体 …… } 执行过程:
四、break、cont inue 语句 break 退出所在循环 : int stopHere = 5;for(int i=1;i<8;i++){ if(i == stopHere){ break;} System.out.println(“i = ” + i);
黑马程序员合肥中心 编著
} //打印结果:5,6,7,8均没有打印出来。
需要注意的一个问题: int stopHere = 5;for(int i = 1;i < 8;i + +){ if(i = = stopHere){ / /语句体 } break;System.out.println(“i = ” + i);} 这个时候编译器会报错:无效的 System.out 输出语句。冷静分析一下:
break 语句会结束循环,所以不会再去执行 System.out 输出语句。编译会认为你在多此一举,sorry 报个错!
continue 退出本次循环,不会退出整个循环: int skipHere = 5;for(int i = 1;i < 8;i + +){ if(i = = skipHere){ continue;}
黑马程序员合肥中心 编著
System.out.println(“i = ” + i);} / /打印结果:除了5没有打印出来。
i = 1 i = 2
五、switch 语句 一般形式: switch(常量){ case 表达式1:语句体1;break;case 表达式2:语句体2;break;.....default : 语句体n;break;}
执行过程: 执行过程:
case 根据自己的表达式看是否匹配常量,如果匹配就执行语句体,否则执行 default 语句。
case 执行类似于并行操作,不是顺序操作。所以各个表达式的值不可以相同。
黑马程序员合肥中心 编著
哪个 case 匹配常量就会执行自己的语句体,不会再去寻找其他 case 语句。注意:
<1> case 穿透:省去break关键字
[AppleScript] 纯文本查看 复制代码 ?
01 /**
02 * @author 传智播客 03 */
04 int i = 10;05 switch(i){ 06 case 10:
07 System.out.println(“ A”);08 //break;09 case 5: System.out.println(“ B”);11 //break;12 case 7: System.out.println(“ C”);14 //break;15 default : System.out.println(“ error”);17 break;18 }//打印结果:A B C error
<2> 在 Java 编程中 switch 括号中的常量的数据类型只可以为 int 类型或者是 byte、char、short(因为 byte、char、short 可以自动提升为 int),常量类型不可以是 long、float 和 double 等数据类型。<3> 多个 case 可以合并 , 相当于 “ 或 ”,例如下面 i 等于 10、5、7 都可以执行打印语句。
[AppleScript] 纯文本查看 复制代码 ?
01 /**
02 * @author 传智播客 03 */
04 int i = 5;05 switch(i){ 06 case 10: 07 case 5: 08 case 7:
09 System.out.println(“ C”);10 break;11 default : System.out.println(“ error”);13 break;
黑马程序员合肥中心 编著 }//打印结果:C <4> default 语句可以省,但是不推荐,他后面的 break 可省 <5> case 或者 default 子句中可以写多条语句 case 7: System.out.println(“ C”);if(i == 5){ System.out.println(“ i = ” +i);} break;<6> case 或者 default 子句中还可以嵌套 switch 或者其他语句
六、return 语句
终止方法的运行并指定要返回的数据。两种形式:
<1> return 表达式;
<2> return ;没有任何数据直接返回,结束函数(方法)的执行。
七、if 语句
一般形式:
1.if(条件表达式){ 语句体} 2.if(条件表达式){ 语句体} else{语句体 } 3. if(条件表达式1){ 语句体} else if(条件表达式2){语句体 } else {语句体 }
特别注意:形式3,else与其最近的上个if 配对。例子:
[AppleScript] 纯文本查看 复制代码 ?
黑马程序员合肥中心 编著
01 /**
02 * @author 传智播客 03 */
04 public class TestIF {
05 public static void main(String[] args){ 06 int i = 30;07 if(i < 20){
08 System.out.println(“<20”);09 } else if(i < 50){ System.out.println(“<50”);11 } else if(i < 80){ System.out.println(“<80”);13 } else System.out.println(“>=80”);15 System.out.println(“黑马程序员!”);16 }
如果大家想学习java基础的知识,欢迎大家可以去传智播客官网http://www.xiexiebang.com/去了解java基础知识!
黑马程序员合肥中心 编著
第四篇:黑马程序员自荐信
自荐信_XXX_151********
姓名:XXX
电话:151********
邮箱:********n2009@126.com
尊敬的老师:
你好,我叫XXX,今年24岁,就读于XXXX,XXXX专业,将于2012年毕业。性格稍内向,善于交流,看待事情能够理性认识,善于思考,有团队合作精神。在学校的这三年多的时间里,由于专业需要,对计算机接触较多。在开设的课程中学过C语言、C#、java等编程语言,对编程语言有一定的了解。在接触java程序语言和J2ME手机游戏开发的学习中,对java产生了强烈的兴趣,并对java学习有了一定的基础。通过“黑马程序员训练营”的官网,我了解到了javaee+3G课程体系所包含的知识面广,是经过对java前景分析和现在就业所需技术要求而制定的,对我们这些即将参加就业、想参加java方面工作的人来说是最好的强心剂。课程安排科学合理,有助于学员深化对java的学习,使学员掌握到真正前沿的技术。我深信,“黑马程序员训练营”的讲师是java培训和开发方面最棒的,这也是我钟情于“黑马程序训练营”的原因之一。由于家里生活拮据,不想让父母操心、给家里增加经济负担,是“黑马程序员”给了我一个机会、给了我一份保证。
作为一名理科生,我有着很强的求知欲,勤奋,有上进心,对于坚信的事情能够坚持到底。在平时学习过程中,善于独立思考,遇到问题会尝试各种方法去解决(网络、老师、同学都是我的获得知识的途径)。平时喜欢看一些和自己专业的书籍,乐于了解一些最前沿的科技和未来的发展趋势。注重的基础知识的同时,喜欢探索新知识,在收获知识的同时也收获着乐趣。学习是一辈子的事情,也是一件乐事,就算将来学校的生活结束了,学习也永远不会落下。
我非常期待能成为“黑马程序员训练营”的一员,如果这个愿望能实现,我将以最大的热情投入到“黑马程序员训练营”的学习中去,用自己的努力去实现的自身价值,用自己的成绩回报“黑马程序员训练营”。我坚定工作后的第一件事就是努力工作,用工资偿还培训期间的费用,绝不辜负“黑马程序员训练营”对我的信任和老师的培养!请给我一份信任,我将以自己的自己的行动去回报。
择是我的期望,给我一次机会还你一份惊喜。
非常感激你能在百忙之中翻阅我的自荐信。祝你工作顺利,事业蒸蒸日上!
此致
敬礼
自荐人:XXX
2012年02月17号
第五篇:黑马程序员:PHP零基础同学如何学习
零基础大学生们该如何学习php?
我们都知道,php语言作为一种专业建站的语言,没有华而不实,而是经受住了时间考验,成为一种值得学习的语言。现在国内众多的php学校也说明,php语言在当今有着广泛的市场需求。那么零基础的大学生们如何学习php呢?
对于零基础的大学生们来说,学习php肯定是非常需要毅力的。任何语言的学习都不可能一蹴而就,而是需要花大量时间,消耗大量精力才能学会的。也并不是报了某个班就一定能够学会。这绝不是打消想立志从事php从业的同学的积极性。想想学会php,要接触的东西实在是太多,不仅html标记,div+css,js这些前台知识需要懂得,而且php语言,samrty模版,ajax,jquery,mysql,linux等等也都需要学习和了解,就是应用工具如框架,也不是一天两天就能够掌握的。
学php难吗?难!但是任何一门技术,如果轻易就能够让人学会,那也不会称作为技术,因为那样,工作的可替代性太强了。技术,只有难学才会更有价值。学php有没有技巧,当然有,这也是我在这篇文章想说明的。
php学习第一要点:心态。虽然目前php语言市场火爆,而且php语言相对于其他的语言来说也更容易学习,但是千万别把php想的太简单,不要全信培训学校的宣传,仿佛零基础的人也能够随随便便就将php学会。失败的案例肯定不少。当然我们也不要把php想的太难,既然你想从事这方面的工作,那么就要准备全力以赴,破釜沉舟。4个月学会不会,那就坚持到5个月,5个月还不会,那就坚持到6个月。总有一天,你会全面掌握php知识,拿到自己满意的薪酬。
php学习的第二要点:就是学习方法。在这里,建议大家还是报一个班。一个人学习php,太难,如果说有一群人一起来学习,就能够营造出一种学习php的氛围,有老师教,学习php碰到的问题也可以得到解决。在这里,就会碰到一个问题,那就是一个班,有零基础的,有从事过这方面工作的,php水平可谓是参差不齐,如果是一个零基础的同学学习php,你如何跟上学校的讲课进度? 这里就是我要讲的学习方法,在我们报班前,可以先去网上下载php学习的相关视频,比如网上非常流行的韩顺平的php系列视频(声明:韩老师没给我啥好处费,我也不是托,隔着大老远,我连他老兄的面都没见过的说-_-),就讲的非常好。韩老师的视频讲的很深入、生动,而且有笔记可供下载学习。如果我们把韩老师的视频都看了一两遍再去报班学习php,效果肯定和没看视频效果不一样。
php学习的第三要点:那就是坚持坚持再坚持。抵御诱惑,ASP/PHP/JSP/.NET的对比也许会让我们新手无所适从,也许学了一半PHP,我们又开始打C#的主意,或者有人说JAVA很强,这个时候的我们绝对不能动摇,哪怕我们真想学,也得学会了PHP,然后再学。见异思迁是最不可取的,狗熊掰玉米就是这个道理,如果经常中途放弃,只能是一无所获,还浪费了N多的时间和经历。当我们花费了大量精力后却又放弃了php,相信我们的心里面会很难过,对未来又会陷入到迷茫中。如果不想有这种体验,那就坚持学会php吧。