自己总结的一些Java的部分笔记

来源:互联网 发布:植物转录因子数据库 编辑:程序博客网 时间:2024/06/04 19:15

1.1 自动类型转换

 

 

 

 

  所有数值类型都可以自动转换为double类型。

除了double类型,其他的数值类型都可以自动转换为float类型。

所有整型(int)都可以自动转换为long类型。

Eg:public class 自动转换{

public static void main(String arg[]){

double d=3;//3默认是int类型,自动转换为double类型

float ff=2;

float f=’\u0078’;//’\u0078’是char型,char型可以自动转换为float类型。

}

}

 

低类型   ----- 自动转换----》     高类型

 

 

 

 

1.2 强制类型转换(强转)

类型  ------  强制转换----》    低类型

 

Eg:  double d=3;

 char c=(char) d;//d原本是double类型,强制转换为char类型

 

 

1.3 for循环

For(初始化语句;返回Boolean的表达式;每次循环执行完后的代码)

Eg:(int i=0;i<10;i++)

if(返回boolean值的表达式)

While(返回boolean类型)如果没有花括号,则执行到第一个分号

Do{}while{}先执行在判断

结构有:顺序、分支、循环、

For(数值类型 变量名:数值/集合)

 

 

 

 

1.4类变量,实例变量

static修饰的类叫做静态类,类方法只能调用类方法,不能调用实例方法。

实例方法可以调用类方法或实例方法。

 

1.5 方法重载、方法重写

(1)方法重载是指方法名相同,参数的个数或者参数的类型不一样。

(2)方法重写:子类继承父类的方法,子类的方法名,形参都和父类的  一样。

一大:子类的访问权限比父类的访问权限大。

两小:子类方法中抛出的异常比父类抛出的异常小或者相等。

  子类返回类型和父类的相等或更小。

 

1.6 this的作用

1This引用:在构造器中,this代表构造器正在初始化这个对象,在方法     中this调用该方法的实例。this.

2This调用:this调用当前类中另一个重载的构造器。this()

 

this 调用例子:

//构造器的重载

public Tiger(Stringname,double weight){

this.name =name;

this.weight =weight*2;

}

public Tiger(Stringname,double weight,int age){

/*this.name = name;

this.weight = weight;*/

this(name,weight);//此次就是this调用

this.age =age;

}

 

 

1.7 super的作用

Super限定,强制访问父类的方法。

Super调用必须出现在构造器的第一行,this调用也是一样的。默认情况下子类构造器会调用父类的无参构造器。This调用和super调用不能同时出现。

 

 

1.8 Hashset LinkedHashset

LinkedHashSet<String>hashset = new LinkedHashSet<>();

hashset.add("猪八戒");

hashset.add("孙悟空");

hashset.add("牛魔王");

hashset.add("白骨精");

System.out.println(hashset);

打印出来的结果是:

是安装顺序打印的。

 

HashSet<String> hashset =new HashSet<>();

hashset.add("猪八戒");

hashset.add("孙悟空");

hashset.add("牛魔王");

hashset.add("白骨精");

System.out.println(hashset);

打印出来的结果是:

 

是不安装顺序打印的。

 

HashSet的迭代:

HashSet<String> hashset =new HashSet<>();

hashset.add("a");

hashset.add("b");

hashset.add("c");

hashset.add("d");

Iterator it =hashset.iterator();

while(it.hasNext()){

System.out.println("Iterator里面的值是:"+it.next());

}

 

打印出来的结果是:

 

也可以用foreach迭代出来:

HashSet<String> hashset =new HashSet<>();

hashset.add("a");

hashset.add("b");

hashset.add("c");

hashset.add("d");

for(Stringel : hashset){

System.out.println(el);

}

打印的结果是:

LinkedHashSet多了一个列表,就可以知道添加顺序了。

1.9 equal”==”的区别

==比较的是对象的地址,也就是是否是同一个对象;

equal比较的是对象的值。

Integer r1 = new Integer(900);//定义r1整型对象
Integer r2 = new Integer(900);//定义r2整型对象
System.out.println(r1==r2);//返回false
System.out.println(r1.equal(r2));//返回true

 

2.0 Mathceil/round/floor

Math.ceil就是向上取值,例如2.4,向上取值就是3.0。在例如1.6向上取值就是2.0

Math.floor就是向下取值,例如2.4,向下取值就是2.0。再例如1.6向下取值就是1.0

Mah.round算法比较复杂,算法为:Math.floor(x+0.5),例如1.6,1.6+0.5=2.1,再向下取值就是2.0了,再例如1.2,1.2+0.5=1.7,再向下取值就是1.0了。

 

2.1 switch

Switchexp1)中,exp1只能是一个整数表达式或者枚举常量,整数表达式可以是int基本类型或Integer包装类型,byte/short/char都可以转换为int类型,所以也是可以的。

注:在jdk1.7以后就可以用string了。

Switch(返回类型byteshortcharint、枚举类型)

 

 

2.2 向上转型

 

public class A {

int count = 20;

}

 

public class Bextends A {

int count = 300;

 

}

 

public class ABTest {

public static void main(Stringagr[]){

A a =new A();

B b =new B();

System.out.println("a的count的值为:"+a.count);

System.out.println("b的count的值为:"+b.count);

A ab =b;//向上转型,取决于改应用的变量声明时的类型,比如这里声明的是“A”所以取A里面的count

System.out.println(ab.count);

}

 

}

 

2.3 TCPUDP

 TCP:传输控制协议,提供的是面向连接的、可靠的字节流服务。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才可以传输数据。TCP提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。

UDP:用户数据报协议,是一个简单的面向数据报的运输层协议。UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。由于UDP在传输数据报前不用再客户和服务器之间建立一个连接,并且没有超时重发等机制,故而传输速度很快。

2.4 Scanner和BufferedReader的区别

Scanner一个简单文本扫描器使用分隔符模式将其输入分解为标记BufferedReader从字符输入流中读取文本,缓冲各个字符,以指定缓冲区的大小,或者可使用默认的大小。 

 

2.5 String与StringBuffer的区别

StringBuffer对象的内容可以修改;而String对象一旦产生后就不可以被修改,重新赋值其实是两个对象。StringBuffer在进行字符串处理时,不生成新的对象,在内存使用上要优于String类。所以在实际使用时,如果经常需要对一个字符串进行修改,例如插入、删除等操作,使用StringBuffer要更加适合一些。

  2.6 jdk环境变量配置

    JAVA_HOME : jdk的安装目录;

Path :%JAVA_HOME%\bin;jdkbin目录

CLASSPATH.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;

 2.7 tomcat环境变量配置

CATALINA_HOME : tomcat的安装路径;

2.8对Hibernate的理解

Hibernate是一个开放源码的ORM框架(对象关系映射)它对JDBC进行了轻量级封装,你不用写JDBC代码,仅仅是调用一个save方法,就可以将对象保存到关系数据库中,仅仅是调用一个get方法,就可以从数据库中加载出一个对象。

2.9对Struts的理解

struts是一个按MVC模式设计的Web层框架,其实它就是一个大大的servlet,这个Servlet名为ActionServlet,或是ActionServlet的子类。Struts有丰富的标签库,支持i18n,有良好的Ajax支持。


3.0 final

Final修饰类,则该类不能被继承;final修饰的方法,则该方法不能被重写;final修饰属性,则该属性不能再被修改;final修饰变量,则该变量为常量。

 

 

 

 

 

 

 

 

0 0
原创粉丝点击