JAVA程序员笔试例题(9篇)
1.JAVA程序员笔试例题 篇一
一、获取认证的时间和费用
Java的培训可以说是所花时间最少的课程,相应的考前准备时间也会远远少于那些动辄十天二十天的课程,在竞争如此激烈的IT界,时间因素是广大界内人士不得不考虑的问题。费用方面,对于Java认证来说,一般的上班族都还可以承受,特别Java程序员认证可以说是性能价格比很好的认证了(在校大学生一般也能承受)。
二、在国内的普及程度或曰认知度
国内目前的IT国际认证,位于前三甲的应该是微软的MCSE、CISCO的CCNA、Sun的SCJP。但是这三种认证在技术领域上是没有冲突的,Java是有关企业级开发的技术,MCSE是企业内部局域网组网和管理技术,而CCNA主要是基于CISCO公司产品的广域网技术。所以对于欲进入IT界或是IT界内想继续深造的人士来说,在希望取得某种国际认证时,也要仔细分析现在工作需要什么技术,或者将来希望从事哪方面工作,切忌盲目获取自认为最热门的认证。不过,这里提到的三种认证,即使拿到了,也并不能代表就是该领域的专家,可以说这只是一个基础,仅仅是找工作的敲门砖而已,余下的还需要自己到工作中去不断的发现,补充和完善。换句话说,这些认证的含金量,或者说企业对他们的认可度是远远比不上那些培训时间较长,费用较贵的认证类型的,例如Oracle的OCP认证,微软的MCSD认证等等。 Java认证的目的
美国Sun公司提供的关于Java的SCJP/SCJD认证是全球各大企业都认同的行业认证之一,其特点是培训和考试费用高、考试难度较大。那么,为何要进行Java的认证考试呢?其目的主要为:
Java认证是全球各大企业都认可的行业认证,获取该认证表明您有很高水平的Java编程能力,这样就可以拥有更多的找到好的满意的工作的机会,当然,这也同样为您的提升增加了一个很重要的砝码。
Java语言本身很简单,很容易学和使用,但也有很多的一些习惯用法与其它语言不同。获得JSCP认证将使您在Java编程中更具有专业性,同时也能极大地增强您的自信心。
使用Java语言可以编写简短、精确、清晰的一流的程序,但是其认证却是比较困难的考试,不过这却让SCJP考试具有更高的价值。
目前有很多要出国或者移民的人参加该项培训和认证,因为在美国或加拿大,Java编程的需求是非常大的。
三、SUNJAVA认证的内容和认知度
Java技术主要是讲授程序设计方面的知识,它的程序员认证(SCJP)课程可以作为企业级程序设计的入门课程来看待。其实该课程并不是从最基础的程序设计基本概念讲起,但与现在业界使用的其它开发语言比较,java还是比较流行的。而且Java技术是现在大多数企业在从事电子商务开发,企业信息化建设,Web应用开发时的首选技术。考取该认证的以在校大学生,希望移民加拿大的,及IT界中非开发人员希望转行做开发的为多。对于希望凭借自己快速学习的技能找工作的人来说,宁愿自己多花点功夫拿一个流行技术的认证,也不愿为了省事而去学一些没有任何技术资格认证的编程语言,所以它的吸引力还是很大的。 微软公司的MCSD课程也讲授企业级开发技术,但是它的起点比较高,一般学习该课程的同学都是使用了很长时间微软公司的产品,并且在企业级开发技术方面有一定基础的人。与获取Java程序员认证比较,不管是从学习的时间还是从学习费用考虑,MCSD都高于Java,而且要想获取该认证需要花的时间和精力也远远高于Java认证(不仅是Java程序员认证,也包括Java开发员认证SCJD)。
Oracle公司的数据库开发员(DEV)认证也是开发方面的技术资格认证,当然它偏重于数据库方面的企业级开发技能的训练。但是在Oracle的开发技能中Java技术所处的地位也是很重要的,因为从Oracle8i起是完全内嵌Java支持的,懂得Java技术的开发员做这方面的开发工作时会更加得心应手。从这个意义上来说,Java程序员认证也是一个基础(Oracle公司有自己的Java程序员认证课程,不过费用高于Sun公司的)。
Lotus公司的CLP开发员认证也涉及到开发的技术资格证书,该证书代表其所有者的技能能够对Lotus的Notes系统进行二次开发。不过学习该技术的人也最好具有Java基础,因为这其中也有很多编程工作依靠Java语言来完成。当然,该认证的应用范围是比较窄的,不过由于Lotus公司在国内的市场占有率情况不错,所以该认证还是具备一定的竞争力。
另外,微软、Oracle、Lotus也都有自己的网络或数据库管理方面的课程。而Cisco公司的认证则主要涉及广域网的组网技术。他们与Sun公司的Java分别属于不同的技术方向。
从以上叙述可以看出,Java技术作为很多专门技术的基础性技术而存在,这是Java认证得以受到大量人青睐的先决条件。
2.Java笔试题目 篇二
Java笔试题:
一. 选择题
1. 以下属于面向对象的特征的是(C,D)。(两项)
A) 重载
B) 重写
C) 封装
D) 继承
2. 以下代码运行输出是(C)
public class Person{
private String name=”Person”;
int age=0;}
public class Child extends Person{
public String grade;
public static void main(String[] args){
Person p = new Child;
System.out.println(p.name);
}
}
A) 输出:Person
B) 没有输出
C) 编译出错
D) 运行出错
3. 在使用super 和this关键字时,以下描述正确的是(A)
A) 在子类构造方法中使用super()显示调用父类的构造方法,super()必须写在子类构造方法的第一行,否则编译不通过
B) super()和this()不一定要放在构造方法内第一行
C) this()和super()可以同时出现在一个构造函数中
D) this()和super()可以在static环境中使用,包括static方法和static语句块
4. 以下对封装的描述正确的是(D)
A) 只能对一个类中的方法进行封装,不能对属性进行封装
B) 如果子类继承了父类,对于父类中进行封装的方法,子类仍然可以直接调用
C) 封装的意义不大,因此在编码时尽量不要使用
D) 封装的主要作用在于对外隐藏内部实现细节,增强程序的安全性
5. 以下对继承的描述错误的是(A)
A) Java中的继承允许一个子类继承多个父类
B) 父类更具有通用性,子类更具体
C) Java中的继承存在着传递性
D) 当实例化子类时会递归调用父类中的构造方法
6. 以下程序的运行结果是(D)
class Person{
public Person(){
System.out.println(“this is a Person”);
}
}
public class Teacher extends Person{
private String name=”tom”;
public Teacher(){
System.out.println(“this is a teacher”);
super();
}
public static void main(String[] args){
Teacher teacher = new Teacher();
System.out.println(this.name);
}
}
A) this is a Person
this is a teacher
tom
B) this is a teacher
this is a Person
tom
C) 运行出错
D) 编译有两处错误
7. 以下说法错误的是()
A) super.方法()可以调用父类的所有非私有方法
B) super()可以调用父类的所有非私有构造函数
C) super.属性可以调用父类的所有非私有属性
D) this和super关键字可以出现在同一个构造函数中
8. 以下关于final关键字说法错误的是(A,C)(两项)
A) final是java中的修饰符,可以修饰类、接口、抽象类、方法和属性
B) final修饰的类肯定不能被继承
C) final修饰的方法不能被重载
D) final修饰的变量不允许被再次赋值
9. 访问修饰符作用范围由大到小是(D)
A) private-default-protected-public
B) public-default-protected-private
C) private-protected-default-public
D) public-protected-default-private
10. 以下(D)不是Object类的方法
A) clone()
B) finalize()
C) toString()
D) hasNext()
11. 多态的表现形式有(A)
A) 重写
B) 抽象
C) 继承
D) 封装
12. 以下对重载描述错误的是(B)
A) 方法重载只能发生在一个类的内部
B) 构造方法不能重载
C) 重载要求方法名相同,参数列表不同
D) 方法的返回值类型不是区分方法重载的条件
13. 以下(D)添加到ComputerBook中不会出错
class Book{
protected int getPrice(){
return 30;
}
}
public class ComputerBook extends Book{
}
A) protected float getPrice(){}
B) protected int getPrice(int page){}
C) int getPrice(){}
D) public int getPrice(){return 10;}
14. 以下对抽象类的描述正确的是(C)
A) 抽象类没有构造方法
B) 抽象类必须提供抽象方法
C) 有抽象方法的类一定是抽象类
D) 抽象类可以通过new关键字直接实例化
15. 以下对接口描述错误的有(D)
A) 接口没有提供构造方法
B) 接口中的方法默认使用public、abstract修饰
C) 接口中的属性默认使用public、static、final修饰
D) 接口不允许多继承
16. 以下代码,描述正确的有(A)
interface IDemo{
public static final String name;1
void print();2
public void getInfo();3
}
abstract class Person implements IDemo{4
public void print(){
}
}
A) 第1行错误,没有给变量赋值
B) 第2行错误,方法没有修饰符
C) 第4行错误,没有实现接口的全部方法
D) 第3行错误,没有方法的实现
17. 接口和抽象类描述正确的有(B,C)(两项)
A) 抽象类没有构造函数
B) 接口没有构造函数
C) 抽象类不允许多继承
D) 接口中的方法可以有方法体
18. 以下描述错误的有(C)
A) abstract 可以修饰类、接口、方法
B) abstract修饰的类主要用于被继承
C) abstract 可以修饰变量
D) abstract修饰的类,其子类也可以是abstract修饰的
19. 以下描述正确的有(B)
A) 方法的重写应用在一个类的内部
B) 方法的重载与返回值类型无关
C) 构造方法不能重载
D) 构造方法可以重写
20. 以下程序运行结果是(A)
public class Test extends Father{
private String name=”test”;
public static void main(String[] args){
Test test = new Test();
System.out.println(test.getName());
}
}
class Father{
private String name=”father”;
public String getName() {
return name;
}
}
A) father
B) test
C) 编译出错
D) 运行出错,无输出
21. 以下对异常的描述不正确的有(C)
A) 异常分为Error和Exception
B) Throwable是所有异常类的父类
C) Exception是所有异常类父类
D) Exception包括RuntimeException和RuntimeException之外的异常
22. 在try-catch-finally语句块中,以下可以单独与finally一起使用的是(B)
A) catch
B) try
C) throws
D) throw
23. 下面代码运行结果是(B)
public class Demo{
public int add(int a,int b){
try{
return a+b;
}catch(Exception e){
System.out.println(“catch 语句块”);
}finally{
System.out.println(“finally 语句块”);
}
return 0;
}
public static void main(String[] args){
Demo demo = new Demo();
System.out.println(“和是:”+demo.add(9,34));
}
}
A) 编译异常
B) finally语句块 和是:43
C) 和是:43 finally语句块
D) catch语句块 和是:43
24. 以下描述不正确的有(D)
A) try块不可以省略
B) 可以使用多重catch块
C) finally块可以省略
D) catch块和finally块可以同时省略
25. 以下对自定义异常描述正确的是(C)
A) 自定义异常必须继承Exception
B) 自定义异常可以继承自Error
C) 自定义异常可以更加明确定位异常出错的位置和给出详细出错信息
D) 程序中已经提供了丰富的异常类,使用自定义异常没有意义
26. 以下程序运行结果是(D)
public class Test {
public int div(int a, int b) {
try {
return a / b;
}catch(Exception e){
System.out.println(“Exception”);
}catch(NullPointerException e){
System.out.println(“ArithmeticException”);
}
catch (ArithmeticException e) {
System.out.println(“ArithmeticException”);
} finally {
System.out.println(“finally”);
}
return 0;
}
public static void main(String[] args) {
Test demo = new Test();
System.out.println(“商是:” + demo.div(9, 0));
}
}
A) Exception finally 商是:0
B) ArithmeticException finally 商是:0
C) finally商是:0
D) 编译报错
27. 以下对TCP和UDP描述正确的是(D)
A) TCP不能提供数据的可靠性
B) UDP能够保证数据库的可靠性
C) TCP数据传输效率高于UDP
D) UDP数据传输效率高于TCP
28. 在Java中,下面对于构造函数的描述正确的是(D)。(选择一项)
A) 类必须显示定义构造函数
B) 构造函数的返回类型是void
C) 构造函数和类有相同的名称,并且不能带任何参数
D) 一个类可以定义多个构造函数
29. 根据下面的代码,
String s = null;
会抛出NullPointerException异常的有(A,C)。[两项]
A) if( (s!=null) & (s.length()>0) )
B) if( (s!=null) & & (s.length()>0) )
C) if( (s==null) | (s.length()==0) )
D) if( (s==null) || (s.length()==0) )
30. .在Java中,关于HashMap类的描述,以下廉洁错误的是( B )。
A) HashMap使用键/值得形式保存数据
B) HashMap 能够保证其中元素的顺序
C) HashMap允许将null用作键
D) HashMap允许将null用作值
31. 下列选项中关于java中super关键字的说法错误的是( B )
A) super关键字是在子类对象内部指代其父类对象的引用
B) super关键字不仅可以指代子类的直接父类,还可以指代父类的父类
C) 子类可以通过super关键字调用父类的方法
D) 子类可以通过super关键字调用父类的属性
32. 在Java中,以下代码( A )正确地创建了一个InputStreamReader对象。
A) InuptStreamReader(new FileInputStream(“1.dat”));
B) InuptStreamReader(new FileReader(“1.dat”));
C) InuptStreamReader(new BufferReader(“1.dat”));
D) InuptStreamReader (“1.dat”);
33. 在Java中,( D )类提供定位本地文件系统,对文件或目录及其属性进行基本操作。
A) FileInputStream
B) FileReader
C) FileWriter
D) File
34. Java中的集合类包括ArrayList、LinkedList、HashMap等类,下列关于集合类描述错误的是(C)(选择一项)
A) ArrayList和LinkedList均实现了List接口
B) ArrayList的访问速度比LinkedList快
C) 添加和删除元素时,ArrayList的表现更佳
D) HashMap实现Map接口,它允许任何类型的键和值对象,并允许将null用作键或值
35. 在Java中开发JDBC应用程序时,使用DriverManager类的getConnection()方法
建立与数据源的连接语句为:
Connection con = DriverManager.getConnection(“jdbc:odbc:news”);
URL连接中的”n ews”表示的是(C)(选择一项)
A) 数据库中表的名称
B) 数据库服务器的机器名
C) 数据源的名称
D) 用户名
36. 在Java中,JDBCAPI定义了一组用于与数据库进行通信的接口和类,它们包括在(B)包中。
A) java.lang
B) java.sql
C) java.util
D) java.math
37. Java中,以下( B )接口以键_值对的方式存储对象。
A) java.util.Collection
B) java.util.Map
C) java.util.List
D) java.util.Set
38. 以下关于对象序列化描述正确的是( C,D )[两项]
A) 使用FileOutputStream可以将对象进行传输
B) 使用PrintWriter可以将对象进行传输
C) 使用ObjectOutputStream类完成对象存储,使用ObjectInputStream类完成对象读取
D) 对象序列化的所属类需要实现Serializable接口
39. 在Java中,( A )类可用于创建链表数据结构的对象。
A) LinkedList
B) ArrayList
C) Collection
D) HashMap
40. 分析下面这段Java代码,它的运行结果是( C )。
Import java.io.*;
Public class B{
Public static void main(string [] args){
int i=12;
System.out.println(i+=i-=i*=i);}}
A) 100
B) 0
C) -120
D) 程序无法编译
41. 使用JDBC事务的步骤是(C,A,B,D)(多选)
A) 取消Connection的事务自动提交方式
B) 发生异常回滚事务
C) 获取Connection对象
D) 操作完毕提交事务
42. 以下对JDBC事务描述错误的是( B )
A) JDBC事务属于JAVA事务的一种
B) JDBC事务属于容器事务类型
C) JDBC事务可以保证操作的完整性和一致性
D) JDBC事务是由Connection发起的,并由Connection控制
43. 要通过可滚动的结果集更新数据,以下正确的是(A
A) pst=con.prepareStatement(sql, ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE)
B) pst=con.prepareStatement(sql, ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY)
C) pst=con.prepareStatement(sql, Resu ltSet.TYPE_SCROLL_SENSITIVE)
D) pst=con.prepareStatement(sql, ResultSet.CONCUR_UPDATABLE)
44. 存储过程pro有两个参数,第一个为输入参数,第二个为输出参数,以下代码正确的是(C)
A) CallableStatement cst=con.prepareCall(“(call pro(?,?))”);
B) CallableStatement cst=con.prepareCall(“(call pro(?))”);
C) CallableStatement cst=con.prepareCall(“{call pro(?,?)}”);
D) CallableStatement cst=con.prepareCall(“{call pro(?,?,?)}”);
45. 以下描述正确的是(B)
A) CallableStatement是PreparedStatement的父接口
B) PreparedStatement是CallableStatement的父接口
C) CallableStatement是Statement的子接口
D) PreparedStatement是Statement的父接口
46. 要删除book表中书籍(bookName)是”java”的记录,以下代码正确的是(A
String sql=”delete from book where bookName=?”;
PreparedStatement pst=con.preparedStatement(sql);
______________________________
pst.execute();
A) pst.setString(1,”java”);
B) pst.setString(0,”java”);
C) pst.setInt(0,”java”);
D) 以上选项都不正确
47. 获取ResutlSet对象rst的第一行数据,以下正确的是(B)
A) rst.hashNext();
B) rst.next();
C) rst.first();
D) rst.nextRow();
48. 以下可以正确获取结果集的有(AD)(多选)
A) Statement sta=con.createStatement();
ResultSet rst=sta.executeQuery(“select * from book”);
B) Statement sta=con.createStatement(“select * from book”);
ResultSet rst=sta.executeQuery();
C) PreparedStatement pst=con.preparedStatement();
ResultSet rst=pst.executeQuery(“select * from book”);
D) PreparedStatement pst=con.preparedStatement(“select * from book”);
ResultSet rst=pst.executeQuery();
49. 以下负责建立与数据库连接的是(D)
A) Statement
B) PreparedStatement
C) ResultSet
D) DriverManager
50. 使用JDBC连接数据库的顺序是(B,A,D,C,E)(多选)
A) 加载驱动
B) 导入驱动包
C) 发送并处理SQL语句
D) 建立于数据库的连接
3.JAVA程序员笔试例题 篇三
一、问答题(共两题每题5分)
1、在软件开发的形式中,有单独开发和团队开发,请您分析两种开发形式的利弊?
2、除了工资还有什么福利对你具有吸引力?
二、案例分析(共四题每题5分)
1、案例一:项目经理陈经理所在的项目组接到总监分配的一项紧急任务,要求在2天内完成A项目,陈经理马上召集其下属工程师小张和小黄进行工作分配并分析项目要点和各个要点的主要做法,时间已经过去了1天半,工程师小张发现,根据陈经理对项目要点的主要做法行不通,但时间已经所剩不多了。
问题一:如果你是小张,你会怎么做?为什么?
问题二:由于项目做法的问题导致项目的进度无法按总监的要求在2天内完成,总监怪罪下来,你认为这是谁的责任,为什么?
2、案例二:工程师小李和工程师小陈分别在同一个项目组负责软件开发工作,他俩是同时进入公司的,而且被分配在邻座,因此关系非常好。工程师小李最近发现小陈经常在上班时间做一些与本公司业务无关的.工作,并且在一次偶然的机会让小李发现,小陈的薪资比自己的薪资要高一倍多。
问题一:如果你是小李,你会怎么做,为什么?
问题二:如果你是小陈,你发现做的事情被小李发现了,你会怎么做,为什么?
技术题
一、基础题,共十题每题2分
1、GC是什么?为什么要有GC?
2、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?Byte a=1,b=1,bye c=a+b有什么错?Short a=1,b=1,Short c=a+b有什么错(答对一个给0.5分)
3、Java有没有goto?
4、数组有没有length这个方法? String有没有length()这个方法?
5、Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?(答对第一句话即可得满分,或者意思差不多的即可)
6、List, Set, Map是否继承自Collection接口?
7、构造器Constructor是否可被override?
8、当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?
9、当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?(答对第一句即可得满分)
10、EJB中LocalHome的作用是什么?
二、程序测试题(共四小题每题5分)
1、谈谈你对以下程序的看法。
class MyString extends String{
public static int i = 0;
private char[] chars = {‘a’,’b’,’c’};
public MyString(){}
static{
System.out.println( “i = ” + ( i++ ) );
}
public String getString(){
String s = “”;
for( char c : chars ){
s += c;
}
Return s;
}
}
2、请写出以下程序的输出。
class B {
private int radius = 10;
public void draw() {
System.out.println(“B.draw(), radius = ” + radius);
}
public B() {
System.out.println(“B constructor”);
draw();
}
}
public class A extends B {
private int radius = 1;
public void draw() {
System.out.println(“A.draw(), radius = ” + radius);
}
public A(int radius) {
this.radius = radius;
System.out.println(“A constructor”);
}
public static void main(String[] args) {
A a = new A(5);
}
}
3、写出下列程序运行结果,
public class Test {
static Test st=new Test();
static int x ;
static int y=0 ;
public Test(){
x++;
y++;
}
public Test(int x,int y){
this.x=x;
this.y=y;
}
public static Test getInstance(){ return st ;}
static{
int i=0;
System.out.println(“i=”+i);
}
void test() {
Inner inner2 = new Inner2();
inner2.display();
}
public static void main(String[] args) {
Test test1=Test.getInstance();
test1.test();
System.out.println(“test1:x=” + test1.x+”;y=”+test1.y);
Test test2=new Test();
test2.test();
System.out.println(“test2:x=” + test2.x+”;y=”+test2.y);
Test test3=new Test(0,0);
test3.test();
System.out.println(“test3:x=” + test3.x+”;y=”+test3.y);
}
public class Inner {
int a= 1;
void display() { System.out.println(“display: a = ” + a); }
}
public class Inner2 extends Inner {
int a=2;
4.JAVA程序员笔试例题 篇四
成都java程序员培训哪个好?Java前景如何
中国每年有大量的计算机类毕业生进入企业,企业会把那些程序员列入优秀人才加以重视呢?斩获高薪的程序员需要哪些素质呢?
模块化思维能力
经常可以听到一些程序员有这样的抱怨,写了几年程序,变成了熟练工,每天都是重复写 一些没有任何新意的代码,这其实是中国软件人才最大浪费的地方,一些重复性工作变成 了熟练程序员的主要工作,而这些其实是完全可以避免的。
模块化思维就是要程序员在完成任何一个功能模块或函数的时候,要多想一 些,不要局限在完成当前任务的简单思路上,想想看该模块是否可以脱离这个系统存在,是否可以通过简单的修改参数的方式在其他系统和应用环境下直接引用,这样就能极大避免重复性的开发工作,如果一个软件研发单位和工作组能够在每一次研发过程中都考虑到 这些问题,那么程序员就不会在重复性的工作中耽误太多时间,就会有更多时间和精力投 入到创新的代码工作中去。一些好的程序模块代码,即便是70年代写成的,拿到现在放到一些系统里面作为功能模块都能适合的很好,而现在我看到的是,很多小公司软件一升级或改进就动辄全部代码重 写,大部分重复性工作无谓的浪费了时间和精力。四川地处中国大西南,肥沃的土地,丰富的自然资源,悠久的历史和绚烂多彩的少数民族文化,构成了多样性的自然和文化旅游资源。随着社会竞争的日益激烈,在很多大城市中,毕业就意味着失业。在大本生遍地的今天,本科甚至更低学历的毕业证书,早已不是求职的敲门砖了。工作经验和掌握的技术成为现在应届生的求职“利器”,难道要面“对剑未配妥,出门已是江湖”的窘境吗,赶紧抓紧时间,找一个自己感兴趣、适合自己的技术进行学习吧~
一说起it培训,很多人都表示苦不堪言,总有人被虚假信息坑过。很多人表示自己对其一窍不通,实在不知道怎么办才好。别着急,让小编为你奉上这些必备小技巧,带你快速简单的上手。那么,实用的攻略有哪些?一般会选择哪家呢?哪个是最实用呢?下面就随小编来看一看吧~
如何学习学好Java编程,学完后尽快成为一个可以参加工作的Java开发者。如何准备转行学习Java。相信很多初学Java者都在考虑这个问题。
如果你是在校学生,务必要在学好基础(比如计算机系统、算法、编译原理等等)的前提下,再考虑去进行下面的学习。第一部分:对于尚未做过Java工作的同学,包括一些在校生以及刚准备转行Java的同学。
Java基础首先去找一个Java的基础教程学一下,这里推荐国信安基础教学视频,学习Java基础的时候,应该尽量多动手,很多时候,你想当然的事情,等你写出来运行一下,你就会发现不是这么回事儿,不信你就试试。学完以上内容后,你应该对Java有一个基本的了解了,你可以用Java语言写出一些简单的程序,并且你用的是最简单的编辑器,比如记事本。这个时候,不要急于进入下一部分,留下几天好好写一些程序,尽可能熟悉这些基础内容。
java开发等你写上几天程序以后,你往往会比较迷茫,因为你写的东西似乎看起来毫无用处,比如实现一个简单的计算器,读取一个文件等。这个时候你就
应该去学着写一些让你觉得有意思的东西了,所以你应该学习更多的知识。这些内容主要是Web开发相关的内容,包括HTML/CSS/JS(前端页面)、Servlet/JSP(J2EE)以及Mysql(数据库)相关的知识。它们的学习顺序应该是从前到后,因此最先学习的应该是HTML/CSS/JS(前端页面)
你可以试着自己写一些页面,当然,你可以尽你最大的努力让它变得最漂亮。这部分内容对于后端Java来说,理论上不是特别重要,但至少要达到可以自己写出一些简单页面的水平。接下来,你需要学习的是Servlet/JSP(J2EE)部分,这部分是Java后端开发必须非常精通的部分,因此这部分是这三部分中最需要花精力的,而且这个时候,你要学会使用开发工具,而不能再使用记事本了,可以选择eclipse。当你下载安装好eclipse以后,看视频中的教程一步一步去学习,一定要多动手。关于Servlet/Jsp部分视频的选择,业界比较认可王勇老师的Java视频教程,因此推荐给大家。
当你完成开发框架的学习以后,你就该找工作了,在校的找实习,毕业的找全职。与此同时,在找工作的同时,你不应该停下你的学习,准确的说,是你在以后都不能停下学习。上面这些内容你只是囫囵吞枣的学会了使用,你可以逐步尝试着去了解更多的东西,网络是你重要的老师。好了,说了这么多了,就到此为止吧,希望本文可以帮助到作为程序猿或即将成为程序猿的你。
5.java程序员 篇五
很多网友问我学习Java有没有什么捷径,我说“无他,唯手熟尔”。但是我却很愿意将自己学习的一些经验写出来,以便后来者少走弯路,帮助别人是最大的快乐嘛!
要想学好Java,首先要知道Java的大致分类。我们知道,自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。J2SE开发桌面应用软件比起VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。所以现在应用最广泛又最好学的就是J2EE了。J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。
那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。然后你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?还好,SUN提供了Javabean可以把你的JSP中的Java代码封装起来,便于调用也便于重用。接着就是EJB了,EJB就是Enterprise JavaBean,看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail了。
好了,对Java和J2EE有了一些基本概念之后,你就应该编一些程序了,千万不要纸上谈兵哦。最好找一些有实例且带光盘的书来看,这样看到好的程序就可以直接Ctrl+C再Ctrl+V,也不用劳您老大架再亲自把它再输一遍吧,再说直接复制还不用怕出错,何乐而不为呢!还有就是要经常上一些好的Java编程文章,有好的文章要Cut下来,有问题尽管问,只要问题不是太傻,一般高手都会回答你的。下面介绍几个好的Java方面的编程网站:
CSDN论坛 http:///那里Java资料比较全;
java.com.cnhttp://.cn/看这域名就知道有多牛,注册用户快接近一万了,同时在线人数也在一千左右,人气很旺的;
IBM的开发者网络http://IBM永远的蓝色巨人;
那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!你现在最缺的是实际的工作经验,而不是书本上那些
凭空想出来的程序。所以你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他还愿意不厌其烦地教你,这样好象有点难哦!
还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。学Java必读的两个开源程序就是Jive和Pet Store.。Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站http:///去下载,或到同济技术论坛的服务器上ftp://nro.shtdu.edu.cn去下,安装上有什么问题,可以到论坛上去提问。Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要错过了。
你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体“技术”,它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧,让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。关于设计模式的资料,还是向大家推荐banq的网站http:///,他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring(重整)和极限XP编程,相信你又会上一个台阶。
做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧,你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的来了。。。当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?
下面介绍两个好的开源项目网站:
湖北省软件公共开发平台http://gro.clinux.org/
共创联盟http://cosoft.org.cn/
哇,好高兴哦,我终于成为高手了!非也,非也。古人云:“识时务者为俊杰”。你知道计算
机界现在的发展形势吗?你知道微软的.NET蓝图和SUN ONE计划之间的明争暗斗吗?你知道计算机技术将向何处发展吗?其实从各大计算机厂商最近的动作,都可以看出来“Web服务将是下一代互联网应用的制高点”,而微软的.NET蓝图和SUN ONE计划的斗争焦点,也就是Web服务。Web服务就是一个崭新的分布式计算模型,它是一系列标准的综合(XML,SOAP,UDDI,WSDL和WSFL等)。它使得不同语言编写的软件能够轻易的集成起来,使网络资源和Web站点变成一种服务而不是混乱的垃圾场。不远的将来,我们就可以在家里点击一下鼠标,就可以完成出门旅游的全部准备工作,包括定飞机票,定旅游线路,定好房间等。请注意,这所有的一切都是Web站点间自动完成的,再也不用象现在一样,表面上是电子商务,实际上很多环节都是人工操作。也许你会觉得这是天方夜谈,不过就近的说,你也很有可能承接一个项目,要集成两个企业的ERP系统。很有可能上游企业的系统是用Dephi编的,而下游企业的系统是用Java编的。你说你是Java高手,大家都看者你怎么做呢。所以啊,你还得学习新技术,如Web服务,而且你Dephi也要懂一点吧(Dephi6现在已经提供Web服务的控件了)。你编的Java系统,可能要和.NET集成,所以你.NET要懂一点吧?到最后,你可能发现你已经成为Java高手了,但很多时间却在搞别的技术。太极张三丰里说,最厉害的招式就是没有招式,可能就是这个道理吧!
因为刚刚兴起,所以网上Web服务的资料不是很多,我还是给大家推荐几个网站吧: 中国UDDI技术联盟http:///developerWorks/cn/xml/index.shtml?csdnIBM可是Web服务的力推者
6.JAVA程序员简历 篇六
姓名:****性别:*****
民族:*******出生日期:******
学历:******毕业院校:*********
手机:*********邮箱:********
现居地:**********
个人专业技能:
● 熟练掌握基于MVC模式的struts框架,能很好的实现业务的逻辑处理;
● 熟练掌握spring框架,实现了各层的解耦,大大提高了程序的可扩展性,且易于维护;● 熟练掌握hibernate对象关系映射框架,实现了数据的持久性;
● 熟练掌握JSP、Servlet、JavaBean、JDBC等J2EE核心技术;
● 熟练掌握MySQL数据库,熟悉SQL Server 2005,Oracle数据库;
● 熟练使用MyEclipse、MySQL、Dreamweaver 8等开发工具;
● 熟悉使用HTML、javascript、CSS、DIV等来搭建前台页面;
● 熟悉基于JUI的C/S开发;
● 了解XML、、AJAX;
● 了解C、C++语言、数据结构.求职意向:
工作类型:全职期望职位:java软件工程师
期望工作地点:****期望薪资:面议
到岗所需时间:随时期望行业:IT行业
教育经历:
200*/09--20**/06:***********
工作经历:
20**/**--20**/**在******担任研发工程师(在这大家可以编一个)
(1)图书商场(20**/9--20**/2)
开发环境:MyEclipse8.5+Tomcat6.0+Dreamweaver8
开发工具:MyEclipse MySQL TomcatDreamweaver
数 据 库:MySQL Server 5.0
项目描述:
客户购买商品、购物车、商品的搜索、付款等,后台管理员对网站商品、前
台界面显示、员工权限,员工密码,客户密码等信息管理,以及销量统计等。
后台分为四大模块:用户管理,商品管理,类别管理,订单管理。
用户管理:系统用户的增加,删除,修改,查找操作;注册用户的冻结和解冻作。
类别管理:大类别及小类别的添加操作;类别的修改和查找操作。商品管理:商品信息添加操作;商品信息修改,删除,查询操作。订单管理:待审核订单的查看及审核操作;历史订单信息的查询及详细信息的查看。
责任描述:简单的后台页面设计及用户管理(增加、删除、修改、查找)的实现。
这个项目我们用的是基于MVC模式的SSH(struts2.1,spring3.0,hibernate3.3)框
架搭建的。
1>.........2>.......3>.......⑵ 人力资源管理系统(*****公司内部使用)
开发环境:MyEclipse8.5+MySQL Server 5.0 + Tomcat6.0
开发工具:MyEclipseMySQLTomcat
项目描述:这个项目是为了更好的管理企业人员配置及各个部门间工作内容的调度而开发的。该系统包含。了人员管理,部门管理,招聘管理,培训管理,奖惩管理,薪资管理及系统管理等7部门的内容,在每个部门中都依据各个部门的相关要求及内容,由系统提供各项操作,从而帮助部门工作的高效有序开展。
这个项目使用的是以Java为基础,以SSH(struts2.1,spring3.0,hibernate3.3)为框架搭建的。
承担任务:员工管理的设计及实现,包括添加员工,修改员工信息,查询员工信息,删除员工信息等。
1>***************
2>***********
3>******************
个人证书:
*****************
自我评价:
7.JAVA程序员笔试例题 篇七
重庆Java程序员月薪多少
如今依然想要加入到Java开发领域的小伙伴不在少数,小编咨询了一些在扣丁学堂咨询学习Java开发的小伙伴,大家参加Java培训进入Java领域的原因有的是因为觉得Java的发展情景好,还有更多的小伙伴是为了高薪,确实,Java开发工程师的高薪是我们有目共睹的,那么多的人为了高薪想要加入到Java领域也就无可厚非了。下面小编就和大家一下来看一下参加重庆Java培训学习好就业吗以及重庆Java程序员月薪多少?
想要问Java的就业发展前景如何,就要了解软件开发需求大不大。目前来说现在几乎无论什么行业的企业都要通过互联网来提高工作效率,这年头如果一个企业还不懂得利用互联网的话,那么很大几率最后失败。
一般大一点的企业都会需要开发自己的内部软件,而一般企业开发软件一般都是使用Java开发。因为Java具有稳定性、安全性、平台独立性、跨平台等等优点,这也是为什么Java已经一直被人唱衰,可是却一直流行的原因。
所以Java在今后的发展不说会大红大紫但是也绝对不会被快速发展的时代淘汰,Java有其自己独特的开发模式,这是其他语言所不能代替的,因此Java在今后的发展还是非常不错的,毕竟市场的需求在那里。
重庆Java程序员月薪大概是多少呢?关于这个问题要因人而异,如果你是一个没有实际经验刚刚出去实习的话,基本上是五千到七千左右。是不是比预期低?但是你想想实习期间这个工资在重庆算是不错的了,毕竟很多岗位就算转正后也才三四千。
8.JAVA程序员招聘要求 篇八
岗位职责:
1、参与公司项目的设计、开发与维护;
2、具有独立完成模块开发工作的能力;
3、较好的沟通能力,能积极应对工作,具备较好的抗压性;
4、能够快速接受并掌握新知识;敢于面对和克服困难,具有分析和解决问题的能力;
5、做事认真负责,有责任心,有良好的团队合作精神。
岗位要求:
1、学历要求:专科以上学历,计算机及其相关专业毕业。
2、熟练掌握Java基础,Java WEB基础,具备面向对象思想;
3、熟练掌握HTML/XHTML、CSS、JavaScript、AJAX、JSON等Web页面技术;
4、熟练使用MYSQL数据库,熟练使用SQL;
5、熟悉Tomcat服务器,熟悉Linux操作系统;
6、做事认真细心,责任心和服务意识强,积极诚恳;
7、具有团队精神,可以很好的与团队沟通,有学习热情。
月薪:3000-4000 福利待遇:双休、带薪年假、保险、免费中餐 本职位年薪:4-6万
9.JAVA程序员笔试例题 篇九
大家好,最近总结了一下作为Java语言初学者,需要掌握的一些基本知识,和一个Java程序员所具备的基本素质,与大家共同分享,不足之处望大家多提宝贵意见。
1、Java概述
1995年5月23日开始,原名为Oak,最先开始用于一个绿色项目开发(一次编译随处使用),后来更名为Java。
09年SUN公司被Oracle收购,先后经历1.0、1.1、1.2、1.3、1.4、5、6、7、8等版本。 Java SE 标准开发
Java EE 企业级开发
Java ME 移动开发
2、JDK和JRE JDK:Java Development Kit(Java开发工具集)
Java语言与JDK的关系:足球比赛与足球场
JRE:Java Runtime Environment 如果客户要使用Java语言平台开发的软件,就必须安装JRE。
它包含:开发技术、用户界面工具箱、整合类库、基础类库和Java虚拟机 区别:JDK可以给开发者提供开发环境,也可以运行程序;JRE不能开发Java程序,只能运行Java程序,客户通常只安装JRE不安装JDK。 Java平台分为四个部分: 操作系统:Linux、Macintosh、Solaris、Windows,.etc 2 JVM(Java虚拟机)
虚拟的操作系统,不同的操作系统虚拟机也不同,它只能识别class文件.3 JDK(包含JRE、工具程序与API)4 Java语言
几个专有名词解释:
JDBC:Java DataBase Connection(Java数据库连接):将数据库的数据展示到前台页面
JNDI:Java Naming Directory Interface(Java命名目录接口)RMI:Remot Method Invoke(远程方法调用):跨IP、跨进程的调用。
开发者向客户提供自己的ip、端口、方法名称,客户拿到了这些则可以远程访问开发者的服务,最终能够获取到想要的东西。rmi://10.7.210.616712/basketballInfo
3、JVM(了解)
概述:Java Virtual Machine(Java虚拟机):可以通过Java虚拟机来实
磨砺营IT教育版权所有
http://
现跨平台。
我们可以把JVM看做操作系统,他只能运行.class文件
不跨平台:在Windows系统开发的程序无法再其他操作系统上运行,不能实现跨平台。
HelloWorld 0101110 Windows操作系统
0101011 Solaris操作系统
跨平台:一次编译,到处运行。好比一份用当地语言编写的文档(俄文),先翻译成英文,在由英文翻译成客户所在国家的语言
JVM作用过程:源程序—(编译)—> 字节码(.class)—(JVM把字节码进行解释)—> 操作系统能理解的机器语言 了解两点: 他是一个操作系统,专门执行class文件 有了它才能够实现跨平台;不同的操作系统,它的虚拟机不一样。
4、写出第一个Java程序(重点)
步骤:安装jdk配置环境变量(连接用户和操作系统)检查是否配置完成(win+R,输入cmd,输入java –version,能够显示Java版本信息说明安装成功)
编程工具:记事本、写字板、EditPlus、Eclipse等。
输入javac命令:编译程序,使之创建一个.class文件(字节码)输入java命令:解释执行程序(执行jdk文件夹bin目录下的java.exe文件,即请求Java虚拟机来执行某字节码)
5、Java标识符命名规范(掌握)
定义:可以自定义的字符序列叫标识符
类名称也叫作标识符,类名称必须和Java源文件名称前缀保持一致。命名规范: 类名称首字母必须大写,如果有多个单词,每个单词首字母大写; HelloWorld 2 标识符可以使用大小写字母(一般全部用大写字母)开始,也可以使用$(美元符号)或_(下划线)开始; 命名遵循“见名知意”的规则; 命名遵循“驼峰命名法”的规则(即有多个单词时,每个单词首字母大写)。
磨砺营IT教育版权所有
http://
6、注释
单行注释://+内容(放在代码的上面一行)
//定义一个整数类型的变量,其名称为height int height; //给变量赋值:
//使用 =(赋值运算符)给变量赋值
//赋值运算符:将(赋值运算符)右边的数值赋给左边的变量 height = 173;
多行注释/块注释:
注意:行注释只能写在方法里面,用来注释变量、分支、循环
多行注释用来注释类、方法、属性
7、变量(重点)
定义:驻留在内存中的一个存储单元(临时)如何使用变量来完成计算: 1 声明一个变量
语法: 数据类型 变量名;int height;2 给变量赋值
语法:
变量名 = 值;height = 173;3 声明变量和赋值可以放在一行,即:数据类型 变量名 = 值;int weight = 86;注意:变量使用之前,一定要为其赋初始值(初始化)。4 如何向控制台输出变量 System.out.println(height);System.out.println(height);
磨砺营IT教育版权所有
http:// 如何使用变量改变数值 weight = weight + 1;变量有哪些数据类型:
数据类型分为两大类:基本数据类型和引用数据类型。基本数据类型: 1 整数类型:
int(整形): 32bit或者4byte,最大值为2的31次方-1,最小值为负2的31次方
short(短整形): 16bit或者2byte,最大值为2的15次方-1,最小值为负2的15次方
long(长整形): 64bit或者8byte,最大值为2的63次方-1,最小值为负2的63次方
注意:所有整数的默认字面量(在编译器能够知道的数值)都为int类型,所以long类型的变量值需要在后面一定要加上一个“L”(可以用小写,但是规范一般用大写。)
byte(字节类型): 8bit或者1byte,最大值为2的7次方-1,最小值为负2的7次方
注意:定义整数尽量使用int类型,如果空间不够再使用long类型,不要使用short、byte来定义整数。小数类型:
float(单精度浮点型): 32bit或者4byte,科学计数法 float pi = 3.14F;注意:所有小数的默认字面量(在编译器能够知道的数值)都为double类型,所以float类型的变量值需要在后面一定要加上一个“F”(可以用小写,但是规范一般用大写。)
double(双精度浮点型):64bit或者8byte,科学计数法 注意:定义小数优先使用double类型,避免不必要的错误。3字符类型:
char(字符类型): bit16或者2byte,只能存储单个字符(2byte,也可以存储汉字或字母)
char sex = ‘男’;注意:只能存储单个字符,必须以单引号开始,单引号结束。
磨砺营IT教育版权所有
http:// 布尔类型:
boolean(布尔类型):只能存储两个值——true/false boolean bool = true;经常使用的数据类型有:int、long、double、bollean 几乎不用的数据类型有:short、float、char 很少用到的数据类型有:byte(第五周讲)变量的命名规范 变量名只能以大小写字母、下划线、美元符号开头,但是可以有大小写、下划线、美元符号、数字组成; 一般使用小写字母开头来定义变量; 如果有多个单词采用驼峰命名法,从第二个单词开始首字母大写; int tomAge = 18 4 变量名区别大小写; 变量名长度不受限制,但是一般变量名称长度不要超过15个字符。6 如果超过15个字符,去掉元音字母保留辅音字母
7、运算符
1、算数运算符
+-* / % 其中,%叫做取模运算符(取余数运算符)。21 / 5 = 4 21 % 5 = 1 在Java世界中,两个整数相除,结果必然是一个整数
2、赋值运算符
= :将运算符右边的数值赋给左边的变量 注意:右边的数值也可以是变量
3、 比较运算符 > < >= <= == 比较两个数值(是否相等)
磨砺营IT教育版权所有
http://
!= 不等于
比较运算符计算的结果一定是一个boolean数据类型 boolean calcResult = 3 > 5;System.out.println(calcResult);则输出false
4、++--放前面叫前向自增/自减:先计算再赋值 放后面叫后向自增/自减:先赋值再计算
int a = 3;int b = 2;int result =(a++)*(--b)+(--a)/(b ++);输出为3*1+3/1=6
5、逻辑运算符(重点)自增和自减(面试会考察)
逻辑运算符必须要配合boolean数据类型一起使用 && 与:
使用场景:
条件1 && 条件2 多个条件都为真则为真。1 int score1 = 80;int score2 = 90;boolean gift = score1 >80 && score2 >80;System.out.println(gift);2 int score1 = 80;int score2 = 90;boolean result1 = score1 >80;boolean result2 = score2 >80;boolean gift = result1 && restult2;
磨砺营IT教育版权所有
http://
System.out.println(gift);两个例子输入结果均为false。 || 或
使用场景:
条件1 || 条件2 多个条件有一个为真,则为真。!非
使用场景:!条件 非真为假,非假为真。
6、位运算符(重点)
特征:将两个整数转成二进制再针对每个bit位逐个进行上下比较的位运算 & 位与:上下结果都为1则结果是1,否则结果是0 10010 8 01010 10 00010 2 | 位或:上下只要有1个1结果就是1,否则是0 10010 8 01010 10 11010 26 ^ 位异或:上下相同为0,否则为1 10010 8 01010 10
磨砺营IT教育版权所有
http://
11000 24 拓展1: int有32位
00000000 00000000 00000000 00000010 最高位 次高位 次低位 最低位
第32位也叫作符号位,1代表负数,0代表正数。拓展2:
~ 取反 先+1再取反
int value = ~10 则得到-11 00001010 1110101
7、 位移运算符
<< 左位移:左位移多少位,就在最右边补多少个0 将10进制数2,左位移3位 2 << 3 00010则去掉前3位,在后面加3个0,变成了10000 >> 右位移:右位移多少位,就在最右边去掉多少个位
将10进制数17,左位移3位 17 >> 3 10001则去掉后3位,在前面加3个0,变成了00010
【JAVA程序员笔试例题】推荐阅读:
JAVA程序员笔试题目08-14
java程序员求职简历09-03
JAVA程序员面试经验11-05
java程序员职业规划06-22
转行Java程序员应该具备哪些知识08-28
Java程序员的平均薪资水平是多少?09-11
成都Java培训机构哪家好?如何修炼成优秀Java程序员06-16
JAVA三级程序员培训题库(标红为答案)06-24
02_Java初级程序员岗位说明书09-11