java知识
Ⅰ java基础知识有那些
基础语法:
jdk的安装和环境配置,
变量和常量,
条件判断语句,
循环语句,
循环控制语句
方法和数组:
方法的定义和调用,
方法的重载和递归操作,
数组的定义和初始化,
数组的遍历和常见的方法调用
面向对象:
类的定义和对象的创建,
对象的实例化流程,
抽象,
封装,
继承,
多态思想,
接口的设计和实现
异常和常用类:
异常机制和异常体系,
try-catch语句,
throw和throws关键字,
自定义异常,
String,
StringBuffer,
StringBuilder类,
System,
Runtime类,
Math,
Random,
BigDecimal类
多线程:
并行和并发,
进程和线程,
线程的启动方式,
线程安全的处理方式,
同步锁和死锁的概述,
线程的生命周期和状态,
联合线程和后台线程,
线程优先级和线程礼让和定时器
集合框架:
ArrayList和LinkedList,
HashSet和TreeSet,
LinkedHashSet,
Comparable接口和Comparator接口,
HashMap和TreeMap,
LinkedhashMap,
泛型的定义和使用
IO和网络编程:
File类的基本使用,
FilenameFilter接口的使用,
IO流的体系结构,
字节流和字符流的使用,
缓冲流,标准流,打印流,转换流,数据流,管道流,对象流,
对象序列化和发序列化,
字符编码和解码,
Properties类加载资源,
RandomAccessFile类,
NIO操作,
网络概述和分层模型,
网络三要素,
TCP和UDP协议和编程
Ⅱ java基础知识有哪些
对于Java开发学习者来说,基础掌握的知识点有以下几种:
1. Java面向对象的优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统更加灵活、更加易于维护。
2. Java虚拟机的概念,任何一种可以运行Java字节码的软件均可看成是Java的虚拟机(JVM)
3. JDK顾名思义它是给开发者提供的开发工具箱,是给程序开发者用的。它除了包括完整的JRE(Java Runtime Environment),Java运行环境,还包含了其他供开发者使用的工具包。
4. JRE的概念,普通用户而只需要安装JRE(Java Runtime Environment)来运行Java程序。而程序开发者必须安装JDK来编译、调试程序。
5. Java中覆盖(Override)是指子类对父类方法的一种重写,子类只能抛出比父类更少的异常,且访问权限不能比父类的小。被覆盖的方法不能是 private 的,否则只是在子类中重新定义了一个方法。
Java中重载(Overload)表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相同。
Ⅲ java的基础知识有哪些
根据我当初学习的资料整理了一下:
变量、运算符和表达式、扫描仪和随机器、判断语句、循环语句、数组、面向对象、封装、继承、多态、抽象类和接口、内部类、异常、包装类和String、堆栈、集合、Swing图形界、IO流、序列化、多线程、数据库。
Ⅳ java知识重点
J2SE 是手机那方面的
你如果去面试 应该是J2EE方向
如果面试 很少问及servlet这样的问题
一般公司 都用主流点的SSH
把那个部分好好看看就行
在外面参加培训 就像个辅导班 能提前学到东西
有的 还能推荐工作 如果想自学 必须你自己搞出个
SSH做的东西 论坛什么都可以 必须懂那些流程
笔试 基本是JAVA基础部分的东西。
Ⅳ java都包含哪些知识
Java基础包括:语言语法基础
面向对象设计
日期和时间
文件路径IO
反射
数据结构
网络
......
这只是入门知识,还有很多很多。
Ⅵ java基础知识
1. PATH环境变量。
作用是指定命令搜索路径,在命令行下面执行命令如javac编译java程序时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序。我们需要把jdk安装目录下的bin目录增加到现有的PATH变量中,bin目录中包含经常要用到的可执行文件如javac/java/javadoc等待,设置好PATH变量后,就可以在任何目录下执行javac/java等工具了。
CLASSPATH环境变量。
作用是指定类搜索路径,要使用已经编写好的类,前提当然是能够找到它们了,JVM就是通过CLASSPATH来寻找类的。我们需要把jdk安装目录下的lib子目录中的dt.jar和tools.jar设置到CLASSPATH中,当然,当前目录“.”也必须加入到该变量中。
2、public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int sum=0;//设定一个变量,求和的值
for(int i=1;i<=100;i++){
sum=sum+i;
}
System.out.println("1+2+3+....+100的和:"+sum);
}
}
3、import java.util.Arrays;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int str[]={1,3,9,5,4,8,2};
Arrays.sort(str);
System.out.println("数组中最大数:"+str[str.length-1]);
}
}
4、public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String str="abc.java.txt";//定义一个变量设置文件名称
System.out.println(str.substring(str.lastIndexOf(".")+1));
}
}
5、public class Student {
private String name;//姓名
private int age;//年龄
private double score;//成绩
public Student(String name,int age,double score){
this.name=name;
this.age=age;
this.score=score;
}
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;
}
public double getScore() {
return score;
}
public void setScore(double score) {
this.score = score;
}
}
6、我就不贴代码了。你自己创建借个对象。然后把五个对象的成绩放在一个数组中,直接调用Arrays.sort(数组名) 这个方法排序输出就ok了。
7、方法:可以使用文件流来读写。楼主可根据文件的类型选择是字节流还是字符流来实现。如果楼主还需要,可以把代码写出来
8、TCP(Transmission Control Protocol,传输控制协议)是基于连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠的连接。一个TCP连接必须要经过三次“对话”才能建立起来,其中的过程非常复杂,我们这里只做简单、形象的介绍,你只要做到能够理解这个过程即可。我们来看看这三次对话的简单过程:主机A向主机B发出连接请求数据包:“我想给你发数据,可以吗?”,这是第一次对话;主机B向主机A发送同意连接和要求同步(同步就是两台主机一个在发送,一个在接收,协调工作)的数据包:“可以,你什么时候发?”,这是第二次对话;主机A再发出一个数据包确认主机B的要求同步:“我现在就发,你接着吧!”,这是第三次对话。三次“对话”的目的是使数据包的发送和接收同步,经过三次“对话”之后,主机A才向主机B正式发送数据。
TCP协议能为应用程序提供可靠的通信连接,使一台计算机发出的字节流无差错地发往网络上的其他计算机,对可靠性要求高的数据通信系统往往使用TCP协议传输数据。
面向非连接的UDP协议
“面向非连接”就是在正式通信前不必与对方先建立连接,不管对方状态就直接发送。这与现在风行的手机短信非常相似:你在发短信的时候,只需要输入对方手机号就OK了。
UDP(User Data Protocol,用户数据报协议)是与TCP相对应的协议。它是面向非连接的协议,它不与对方建立连接,而是直接就把数据包发送过去!
UDP适用于一次只传送少量数据、对可靠性要求不高的应用环境。比如,我们经常使用“ping”命令来测试两台主机之间TCP/IP通信是否正常,其实“ping”命令的原理就是向对方主机发送UDP数据包,然后对方主机确认收到数据包,如果数据包是否到达的消息及时反馈回来,那么网络就是通的。例如,在默认状态下,一次“ping”操作发送4个数据包(如图2所示)。大家可以看到,发送的数据包数量是4包,收到的也是4包(因为对方主机收到后会发回一个确认收到的数据包)。这充分说明了UDP协议是面向非连接的协议,没有建立连接的过程。正因为UDP协议没有连接的过程,所以它的通信效果高;但也正因为如此,它的可靠性不如TCP协议高。QQ就使用UDP发消息,因此有时会出现收不到消息的情况。
TCP协议和UDP协议各有所长、各有所短,适用于不同要求的通信环境。
9、<form id="register" name="register" method="post" action="">
<table width="380" border="0">
<tr>
<td width="93" height="37">用户名:</td>
<td width="271">
<input type="text" name="username" id="username" />
</td>
</tr>
<tr>
<td height="30">密码:</td>
<td><input type="password" name="pwd" id="pwd" /></td>
</tr>
<tr>
<td height="26">确认密码:</td>
<td><input type="password" name="confirmpwd" id="confirmpwd" /></td>
</tr>
<tr>
<td height="33">性别:</td>
<td>
<input type="radio" name="sex" value="女" />
男
<input type="radio" name="sex" value="男" />
女</td>
</tr>
<tr>
<td>城市:</td>
<td>
<select name="city" id="city">
<option value="" selected="selected"></option>
<option value="深圳市">深圳市</option>
<option value="上海市">上海市</option>
</select>
</td>
</tr>
<tr>
<td>兴趣爱好:</td>
<td><label>
<input type="checkbox" name="hobby" id="mountain" value="mountain" />
爬山
<input type="checkbox" name="hobby" id="basketball" value="basketball" />
篮球
<input type="checkbox" name="hobby" id="swimming" value="swimming" />
游泳</label></td>
</tr>
<tr>
<td>简介:</td>
<td>
<textarea name="introce" cols="30" id="introce" rows="3"></textarea>
</td>
</tr>
<tr>
<td></td>
<td><label>
<input type="button" name="Submit" value="提交" onclick="check()"/>
</label></td>
</tr>
</table>
</form>
10、我给你写个js,你在代码中调用这个方法
<script language="javascript" type="text/javascript">
function check(){
//判断用户名
var username=document.getElementById("username").value;
//定义正则表达式,用户名必须是字母数字或下划线, 不能以数字开头
var regex1=/^[A-Za-z_][0-9A-Za-z_]$/
var s=document.getElementById("username").value;
alert(regex1.test(s));
return;
if(regex1.test(username)){
alert("用户名必须是字母数字或下划线, 不能以数字开头");
return;
}
//判断密码
//定义正则表达式,密码必须6-16位字母数字下划线
var regex2=/^[0-9A-Za-z_]{6,16}$/
var pwd=document.getElementById("pwd").value;
if(regex2.test(pwd)==false){
alert("密码必须6-16位字母数字下划线");
return;
}
//判断确认密码
var confirmpwd=document.getElementById("confirmpwd");
if(pwd.value!=confirmpwd.value){
alert("两次密码输入不一致,请重新输入!");
return;
}
//判断性别、城市、爱好、简介
var sex=document.getElementsByName("sex");
var city=document.getElementById("city");
var hobby=document.getElementsByName("hobby");
var introce=document.getElementById("introce");
var t=0;
for(var i=0;i<sex.length;i++){
if(sex[i].checked==true){
t++;
}
}
if(t==0){
alert("请选择性别!");
return;
}
t=0;
for(var i=0;i<hobby.length;i++){
if(hobby[i].checked==true){
t++;
}
}
if(t==0){
alert("请选择爱好!");
return;
}
if(city.value==""){
alert("城市不能为空,请选择城市");
return;
}
if(introce.value==""||introce.value.length==0){
alert("个人简介不能为空");
return;
}
}
</script>
以上有不对的地方尽请指出,谢谢
Ⅶ 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基础知识——<>的意义
首先你要理解面向对象编程。
“Everything is Object”——“万物皆对象”。语出Java之父,那个急死你·搞死你说的。
意思就是其实啥玩意你都可以看成一个对象,或者一个类。
类是对一类事物的抽象定义,对象是这个类具体的实现实例。
“人”是一种类,而“刘德华”就是人这个类的具体对象。
从这个理念出发,扩展出反射的概念。那么,其实,我们能将“人”这个类本身,也视为一个对象。
Class c2 = boolean.class,实际上定义了一个“类对象”,这个对象中有这个类的相关属性方法(这里有点绕)。
具体来说就是“boolean”这个类的一些性质。从底层上来说,boolean.class是boolean这种数据结构的字形码。
用我的例子来说, Class c = 人.class,我们得到的就是“人”这个类的类对象,也就是他的字节码。我们可以通过这个字节码,去构造一个新的人。这就是Java的反射机制了。
考虑如下情形:你是一个架构层的开发员(你的客户就是Java程序员),你在指定任何一套供人扩展的框架时,肯定会定义很多底层操作。比如 新建一个类。但是你不知道这个类的类名,方法名什么的(你不知道你的客户会写出什么类名)。
那么如何能实现这个需求呢。这时候只能使用反射,拿到这个类的字节码(类对象),通过反射机制,去得到这个类的实例。
任何类名都可以通过 类名.class 点出它的类对象(字形码),也可以通过该类的某个实力 o.getClass()方法得到这个字形码。就是你写的这两个例子所代表的含义。
Ⅸ JAVA知识
我这里定义了一个dog类和一个cat类,然后再主类中调用打印出来。以后不必这么麻烦了,可以创建一个 动物 父类就OK。建议楼主先找本书看看
class dog{
String su="狗的速度是5m/s";
String daxiao="我比猫大";
String color="我是黄色的";
void zou(){
System.out.println("狗走5m/s");
}
void ting(){
System.out.println("狗停了");
}
void run(){
System.out.println("狗跑15m/s");
}
void jiao(){
System.out.println("狗叫的声音是wangwang");
}
}
class cat{
String su="猫的速度是6m/s";
String daxiao="我比狗小";
String color="我是一只白猫";
void zou(){
System.out.println("猫走6m/s");
}
void ting(){
System.out.println("猫停了");
}
void run(){
System.out.println("猫跑17m/s");
}
void jiao(){
System.out.println("猫叫的声音是miaomiao");
}
}
public class chuji {
/**
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成方法存根
dog a1=new dog();
cat a2=new cat();
System.out.println(a1.su+"\t"+a1.daxiao+"\t"+a1.color);
a1.zou();a1.ting();a1.run();a1.jiao();
System.out.println(a2.su+"\t"+a2.daxiao+"\t"+a2.color);
a2.zou();a2.ting();a2.run();a2.jiao();
}
}
Ⅹ 关于java类的知识
老实说我看不懂你写的东西:
1,包名用中文????
2,你在第二个类中你说的赋值??你这是写了一个构造方法啊,然后你又去调用了第一个类的set方法;
个人觉得你完全没必要这么麻烦,你可以在第一个类中写一个带参数的构造方法,这样子不管你在哪一个类中想给X赋值直接实例化第一个类就出来了;
如果你非要在第二个类中赋值,那就在二个类去赋值,然后在第三个类中拿到第二个类的实例,然后再拿到里面你自己实例化的第一个类的实例,调用get方法;建议不要这样麻烦死了