「java入门知识点题目」java入门知识点题目及答案

博主:adminadmin 2022-11-22 21:59:09 60

今天给各位分享java入门知识点题目的知识,其中也会对java入门知识点题目及答案进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

作为一个面试官,我会问初级java工程师哪些问题?

初级java工程师多数是刚毕业或者工作1,2年的新人。对于新人,面试中基础问题会问道很多,因为先要考察这个人的基础。

关于基础类的题目,我在面试初级java工程师的时候一般会问下面两大类问题,每类5个题目,这样下来我就基本可以了解这位工程师的程度了。

java基础类

面向对象基础类

java基础类

1.描述一下java的访问修饰符,和它们之间的区别?

回答:如果可以回到出public,private,protected,就算是ok;回答出default的,加分。

2. int和Integer 区别?

回答:如果回答出Integer是int的包装类,就算ok;回答出其他的基本类型和它们相应的包装类,加分。

3.如何定义一个单精度浮点类型的变量?

回答:float 变量名=1.2f ;回答出不加最后的f为双精度浮点类型,加分

4. equals和==的区别?

回答: equals是值比较(一般处理java开发都会这么说,算是ok的)而==是引用比较(或者对象比较);回答equals是可以自定义的,加分

5.将一个数组作为参数传递到一个方法中,在方法中,数组内的元素值被改变了,那么在方法外部,这个数组内的元素是否也被改编了?

回答:是,因为java方法中传递的是引用,就ok。如果回答中,将引用说明了自己的理解,加分。

面向对象基础类

1.重载和重写的区别?

回答:这个看个人理解,理解没有什么大的偏差就ok;回答出多态相关的,加分。

2.构造方法能不能重载?

回答:可以重载,ok;回答构造方法时不能继承的,所以如果要调用指定父类构造器就必须重写子类构造方法,加分。

3.抽象方法(abstract)是否可以被final、static、native修饰?

回答:都不可以,因为抽象方法是必须子类实现的,final方法时不可以被重写的,static是父类必须实现的方法,native是本地语言实现的方法。回答出封装和继承相关的,加分

4.当父类引用指向子类对象的时候,子类重写了父类方法和属性,那么当访问属性的时候,访问是谁的属性?调用方法时,调用的是谁的方法?

回答:访问的是父类的属性,调用的是子类的方法,ok;如果可以画图解释的话,加分

5.抽象类和接口有什么异同?

回答:一些类定义上的区别,ok;回答在应用过程中,如何根据业务定义接口,加很多分

最后,如果前面问题回答的不错,会补充两个编程习惯问题。

1.在你写过的代码中,你写过超过2层的循环吗,怎么实现的?

回答:没有,就算ok;如果回答有,听一下实现,如果原因说不出来,扣分。

2.在你写过的代码中,if语句最多嵌套了几层,最多有多少分支,怎么实现的?

回答:3层以下,就算ok;如果回答3层以上,听一下实现,如果原因说不出来,扣分。

4,5个分支,就算ok;如果回答5个分支以上,听一下实现,如果原因说不出来,扣分。

最后两个题其实比较陷阱,但是正是一个反向的思考才能了解面试者之前的工作状态。

如果面试者在平日里就有好的习惯,自然不用担心。

java知识点

Java 基本知识点概要

1. 了解Java语言的特征,掌握JDK(Java开发工具包)的安装、目录层次、

环境变量配置,Java程序的实现过程

a).J2SE 1.6( JDK1.5)的安装:(推荐路径)

Jdk路径: C:\Soft\JDK1.6

Jre路径: C:\program files\Java\jre1.6.0\...

b).环境变量配置:

我的电脑--〉右击属性--〉高级--〉环境变量--〉新建

变量名

变量值

Java_Home

C:\Soft\JDK1.6

Path

%Java_Home%\bin

ClassPath

%Java_Home%\jre\lib\rt.jar;.

c).编写Java源文件(Xxx.java)

==编译成字节码 (javac Xxx.java)

==执行字节码文件 java Xxx

2.Java语言基础

a). 数据类型:

8种基本类型:byte,char,short,int,long,float,double,boolean

引用类型: 数组, 类,接口

b).结构化语句: if,if--else ,if--else if ,switch--case,while,do--while,for

c).数组

int num[]={1,2,3,4,5}; == int []num={1,2,3,4,5};

int num[]=new int[size];

int num[]=new int[]{1,2,3,4,5};

3.面向对象的基础

a).类:具有相同属性和行为的一组对象的集合

b).对象:客观存在的或可被描述的抽象对象,具有特定属性和行为的实体。

c).类是对象的模板(原型),对象是类的具体实例

d).抽象、封装、继承,多态(重载,重写,接口多实现)

e).构造方法(默认构造器/参数化构造器)

f).限制访问修饰符: private,缺省(默认),protected,public

g).附加修饰符:final,static,abstract

h).接口

4.Java 基础包

a). java.lang :

包装类(Byte,Character,Short,Integer,Long,Float,Double,Boolean)

其它类:String,StringBuffer,Math,Class,Object

b). java.util

随机类:Random

日期类:Date,Calender

集合框架体系:Collection,List,Set,ArrayList,LinkedList,Vector,HashMap

c). java.io

文件类:File

字节流:FileInputStream,FileOutputStream

字符流:FileReader,FileWriter,BufferedReader,BufferedWriter

二进制流:(了解) DataInputStream,DataOutputStream

构造键盘流:BufferedReader input=

new BufferedReader(new InputStreamReader(System.in));

d). java.swt /javax.swing

容器类组件:JFrame,JPanel,JScrollPane

组件: JLabel,JTextField,JPasswordField,JTextArea,JComboBox,

JRadioButton,JCheckBox,JMenuBar,JMenu,JMenuItem

5.JDBC 数据库连接

数据库的连接步骤:

1). 加载数据库驱动类: Class.forName(driver)

2). 通过驱动程序管理器获取连接: DriverManager.getConnection(url,user,password)

3). 基于连接对象建立处理器对象/预处理器对象

Statement stmt=conn.createStatement();

PreparedStatement stmt=conn.prepareStatement("insert into student values(?,?,?,?,?)");

4). 处理器执行SQL命令(Select/Insert/Update/Delete)

executeQuery(Select)

==返回查询的结果集(ResultSet, ResultSet.getXXX(列编号,从1开始))

executeUpdate(Insert/Update/Delete) ==返回执行命令影响的记录行(int)

5). 关闭各个对象

导入java.sql包

一、加载要连接数据库的驱动程序 Class.forName(driver)

注:Class.forName()方法将给定的类加载到JVM,如果系统中不存在给定的类,

则会引发异常

二、通过驱动程序管理器得到连接实例

Connection conn=DriverManager.getConnection(url,user,pwd);

注1:DriverManager类跟踪已注册的驱动程序,通过getConnection(URL)方法,

找到一个能够连接至URL中指定的数据库驱动程序,它接收三个参数,

分别表示: 数据源的名称(类型) 、用户名(可选)、 密码(可选)

注2: 1). localhost 表示本机,也可以用127.0.0.1

如果你连的不是本机,可能通过 机器名 或 IP(192.111.113.100) 来连接

2). 1433是端口号,SQL server默认是1433 , 自己可以手工的改动它

3). databasename后面跟你的数据库的名称,表示你要连接的数据库是哪个

4). 最后是用户名及密码, 当前可以访问该数据库的用户及密码

注3:基于不同连接方式和不同类型的数据源连接字符串如下:

1. Jdbc-Odbc桥 (SQLServer/Microsoft Access )数据库

1.1 加载驱动程序: Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

1.2 建立数据源(控制面板中配置数据源,MyDataSource是数据源名称)

conn=DriverManager.getConnection("jdbc:odbc:MyDataSource");

2. 直连SQLServer 驱动程序:

-- SQLServer 2000:

2.1 Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");

2.2 conn=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;dataBaseName=DBName","sa","");

-- SQLServer 2005:

3.1 Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

3.2 conn=DriverManager.getConnection("jdbc:sqlserver://localhost:1433; dataBaseName=DBName","sa","");

-- 直连Access 驱动程序:

4.1 加载驱动程序: Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

4.2、不建立数据源 ,直接写连接字符串

conn=DriverManager.getConnection("jdbc:odbc:;Driver=Microsoft Access Driver (*.mdb);DBQ=Test.mdb");

注: 1). DBQ后面指定的是要连接的Access 数据库

2). Microsoft Access driver (*.mdb) 中的空格不能省略

java中的知识点—简答题:谢谢大神来帮忙解答下,回答的全一点

可以,中文双字节

equals可以用来对比类内的属性值是否相等,而==只可以对比两个实例的内存地址

heap是堆,stack是栈。前者先进先出,后者先进后出

启动一个线程是start,run只不过是调用它里面的run方法罢了。不会开启新线程

String是final类,不可以继承。

JAVA程序入门知识点?

看看java最简单的计算器

使用applet编写(自己研究一下吧)

import Java.applet.*;

import java.awt.*;

import java.awt.event.*;

import java.lang.*;

import java.applet.Applet;

import javax.swing.*;

import javax.swing.border.*;

public class Calculator extends JApplet implements ActionListener

{

private final String[] KEYS={"7","8","9","/","sqrt",

"4","5","6","*","%",

"1","2","3","-","1/x",

"0","+/-",".","+","="

};

private final String[] COMMAND=;

private final String[] M=;

private JButton keys[]=new JButton[KEYS.length];

private JButton commands[]=new JButton[COMMAND.length];

private JButton m[]=new JButton[M.length];

private JTextField display =new JTextField("0");

// public JTextField setHorizontalAlignment(int alignment);

// private JTextField display.setHorizontalAlignment(JTextField.RIGHT)=new JTextField("0");

private void setup()

{

display.setHorizontalAlignment(JTextField.RIGHT);

JPanel calckeys=new JPanel();

JPanel command=new JPanel();

JPanel calms=new JPanel();

calckeys.setLayout(new GridLayout(4,5,3,3));

command.setLayout(new GridLayout(1,3,3,3));

calms.setLayout(new GridLayout(5,1,3,3));

for(int i=0;iKEYS.length;i++)

{

keys[i]=new JButton(KEYS[i]);

calckeys.add(keys[i]);

keys[i].setForeground(Color.blue);

}

keys[3].setForeground(Color.red);

keys[4].setForeground(Color.red);

keys[8].setForeground(Color.red);

keys[9].setForeground(Color.red);

keys[13].setForeground(Color.red);

keys[14].setForeground(Color.red);

keys[18].setForeground(Color.red);

keys[19].setForeground(Color.red);

for(int i=0;iCOMMAND.length;i++)

{

commands[i]=new JButton(COMMAND[i]);

command.add(commands[i]);

commands[i].setForeground(Color.red);

}

for(int i=0;iM.length;i++)

{

m[i]=new JButton(M[i]);

calms.add(m[i]);

m[i].setForeground(Color.red);

}

JPanel panel1=new JPanel();

panel1.setLayout(new BorderLayout(3,3));

panel1.add("North",command);

panel1.add("Center",calckeys);

JPanel top=new JPanel();

top.setLayout(new BorderLayout());

display.setBackground(Color.WHITE);

top.add("Center",display);

getContentPane().setLayout(new BorderLayout(3,5));

getContentPane().add("North",top);

getContentPane().add("Center",panel1);

getContentPane().add("West",calms);

}

public void init()

{

setup();

for(int i=0;iKEYS.length;i++)

{

keys[i].addActionListener(this);

}

for(int i=0;iCOMMAND.length;i++)

{

commands[i].addActionListener(this);

}

for(int i=0;iM.length;i++)

{

m[i].addActionListener(this);

}

display.setEditable(false);

}

public void actionPerformed(ActionEvent e)

{

String label=e.getActionCommand();

// double zero=e.getActionCommand();

if(label=="C")

handleC();

else if(label=="Backspace")

handleBackspace();

else if(label=="CE")

display.setText("0");

else if("0123456789.".indexOf(label)=0)

{handleNumber(label);

// handlezero(zero);

}

else

handleOperator(label);

}

private boolean firstDigit=true;

private void handleNumber(String key)

{

if(firstDigit)

display.setText(key);

else if((key.equals("."))(display.getText().indexOf(".")0))

display.setText(display.getText()+".");

else if(!key.equals("."))

display.setText(display.getText()+key);

firstDigit=false;

}

//private void handlezero(String key)

//{

// if(!((double)display.setText(key))

// display.setText(0);

// }

private double number=0.0;

private String operator="=";

private void handleOperator(String key)

{

if(operator.equals("/"))

{

if(getNumberFromDisplay()==0.0)

display.setText("除数不能为零");

else

{

number/=getNumberFromDisplay();

long t1;

double t2;

t1=(long)number;

t2=number-t1;

if(t2==0)

display.setText(String.valueOf(t1));

else

display.setText(String.valueOf(number));

}

}

else if(operator.equals("1/x"))

{

if(number==0.0)

display.setText("零没有倒数");

else

{

number=1/number;

long t1;

double t2;

t1=(long)number;

t2=number-t1;

if(t2==0)

display.setText(String.valueOf(t1));

else

display.setText(String.valueOf(number));

}

}

else if(operator.equals("+"))

number+=getNumberFromDisplay();

else if(operator.equals("-"))

number-=getNumberFromDisplay();

else if(operator.equals("*"))

number*=getNumberFromDisplay();

else if(operator.equals("sqrt"))

{

number=Math.sqrt(number);

}

else if(operator.equals("%"))

number=number/100;

else if(operator.equals("+/-"))

number=number*(-1);

else if(operator.equals("="))

number=getNumberFromDisplay();

long t1;

double t2;

t1=(long)number;

t2=number-t1;

if(t2==0)

display.setText(String.valueOf(t1));

else

display.setText(String.valueOf(number));

operator=key;

firstDigit=true;

}

private double getNumberFromDisplay()

{

return Double.valueOf(display.getText()).doubleValue();

}

private void handleC()

{

display.setText("0");

firstDigit=true;

operator="=";

}

private void handleBackspace()

{

String text=display.getText();

int i=text.length();

if(i0)

{

text=text.substring(0,i-1);

if(text.length()==0)

{

display.setText("0");

firstDigit=true;

operator="=";

}

else

display.setText(text);

}

}

public static void main(String args[])

{

JFrame f=new JFrame();

Calculator Calculator1=new Calculator();

Calculator1.init();

f.getContentPane().add("Center",Calculator1);

f.setVisible(true);

f.setBounds(300,200,380,245);

f.setBackground(Color.LIGHT_GRAY);

f.validate();

f.setResizable(false);

f.addWindowListener(new WindowAdapter()

{

public void windowClosing(WindowEvent e)

{

System.exit(0);

}

});

f.setTitle("计算器");

}

}

一道java基础理论题

对于写文件的操作,如果文件不存在,则会自动创建。

如PrintWriter out = new PrintWriter(new FileWriter(“abc.txt”),true);的解释:

public FileWriter(File file)

throws IOException

根据给定的 File 对象构造一个 FileWriter 对象。

抛出:

IOException -

如果指定文件存在,但它是一个目录,而不是一个常规文件;或者该文件不存在,但无法创建它;抑或因为其他某些原因而无法打开它。

所以文件不存在,可以创建的情况下,是不会报错的。

如OutputStreamWriter out = new OutputStreamWriter(new FileOutputStream(“abc.txt”));的解释:

public FileOutputStream(String name)

throws FileNotFoundException

创建一个向具有指定名称的文件中写入数据的输出文件流。创建一个新 FileDescriptor 对象来表示此文件连接。

抛出:

FileNotFoundException

- 如果文件存在,但它是一个目录,而不是一个常规文件;或者该文件不存在,但无法创建它;抑或因为其他某些原因而无法打开它 。

所以文件不存在,可以创建的情况下,是不会报错的。

对于读文件的操作,如果文件不存在,则会报异常。

如BufferedReader breader=new BufferedReader(new FileReader("abc.txt"));的解释:

public FileReader(String fileName)

throws FileNotFoundException

在给定从中读取数据的文件名的情况下创建一个新 FileReader。

抛出:

FileNotFoundException

- 如果指定文件不存在,或者它是一个目录,而不是一个常规文件,抑或因为其他某些原因而无法打开进行读取。

所以文件不存在,是会报错的。

如FileInputStream fin = new FileInputStream(“abc.txt”);的解释:

public FileInputStream(String name)

throws FileNotFoundException

通过打开一个到实际文件的连接来创建一个 FileInputStream,该文件通过文件系统中的路径名 name 指定。创建一个新 FileDescriptor 对象来表示此文件连接。

抛出:

FileNotFoundException - 如果该文件不存在,或者它是一个目录,而不是一个常规文件,抑或因为其他某些原因而无法打开进行读取。

所以文件不存在,是会报错的。

所以最后答案是bd

Java基础有哪些知识点?

java开发技术学习基本上有下边几个阶段的主要内容,大家可以参考一下:

第一阶段:java基础

本阶段除了JavaSE中要求大家必会的java基础知识外,重点加强了数据结构思想、集合源码分析、jdk9-11新特性的学习。

第二阶段:数据库

本阶段主要学习MySQL数据库知识,通过层层递进,让大家掌握开发使用的数据是如何存储和处理的。并且逐步深入学习到索引和优化、锁机制、存储过程等。

第三阶段:web网页技术

本阶段以项目案例为驱动,采用所学即所用的方式指导大家学习,在边学边练过程中,可深入掌握Web开发技术,具备与之匹配的实战能力。

第四阶段:框架学习

本阶段主要是学习市面上流行的框架技术来提升自己的开发能力,再辅以Linux命令以及Linux服务器的使用等内容让新手学到技术,让老手学到思想,让高手学到境界。

第五阶段:互联网高级技术

主要讲解分布式管理系统、Keepalived+Nginx主备、微服务架构技术、消息中间件技术、MySQL调优、高并发技术、性能优化、内存和GC等。

第六阶段:企业项目

本阶段主要是通过让学员学习企业流行的项目,在动手实操的过程中加深前面知识的认识,并且增加学员企业项目开发经验。

关于java入门知识点题目和java入门知识点题目及答案的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-11-22,除非注明,否则均为首码项目网原创文章,转载请注明出处。