「java入门知识点题目」java入门知识点题目及答案
今天给各位分享java入门知识点题目的知识,其中也会对java入门知识点题目及答案进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、作为一个面试官,我会问初级java工程师哪些问题?
- 2、java知识点
- 3、java中的知识点—简答题:谢谢大神来帮忙解答下,回答的全一点
- 4、JAVA程序入门知识点?
- 5、一道java基础理论题
- 6、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入门知识点题目及答案的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-11-22,除非注明,否则均为
原创文章,转载请注明出处。