JAVA学习(1)

来源:互联网 发布:楼房平面图设计软件 编辑:程序博客网 时间:2024/06/03 22:58

1.main()函数中的String[] args与String args[]:
是主函数的形参,用于编译时传递参数值,比如在cmd中编译一个程 序时,javac abc;java abc want to;传递两个字符串”want”、”to”;或者在Eclipse中编写时,run configurations–>program argument;

2.java没有操作符重载、多继承、自动的重置类型转换:
操作符重载:operator,例如有一个class类person,判断person类中的性别属性全等,用”==”判断,重载操作符”==”,person::operator==();
多继承:一个子类可以有多个父类,有三中继承方式,public、private、protected,java提供了接口来间接的实现多继承;
自动的重置类型转换:若运算操作类型不符,自动强制进行类型转换;

3.Java的分布式处理技术:
分布式:分布式用于多个用户享受同一资源,用于多个计算机处理同一
Java的RMI:远程方法调用,是一种计算机之间相互调用方法函数,启动对方进程的一种机制;

4.命名规则:
类名:首字母大写,多个字母组成,每个单词首字母大写;
方法名:首字母小写,多个字母组成时,后面单词首字母大写;
修饰符分类:访问控制修饰符(public、private、protected default)与非访问控制修饰符(final、abstract、strictfp);

5.变量分类:
局部变量:变量声明和初始化都在方法中,方法结束后,变量自动销毁;访问修饰符不能用于局部变量;没有初始化值,在方法中必须初始化才能调用;局部变量不能声明为static;
成员变量:类之内,方法之外的变量,对象创建时初始化;在静态方法和其他类中访问成员变量需要用完全限定名访问:objectReference.VariableName;(静态方法只能直接调用该类的静态变量和静态类,实例方法和实例类需要间接调用)
类变量:类之内,方法之外的变量,但变量类型为static;

6.类型转换:
不能对boolean类型进行类型转换,把容量大的类型转换成容量小的类型要进行强制转换自动类型转换要满足转换前的数据类型的位数要低于转换后的数据类型的位数;定义浮点型数据,数据后加”f”;定义Long型数据,数据后加”L”;

7.访问控制修饰符:
default:同一包可见;private:同一类可见,类和接口不能声明为private,protected;public:对所有类可见;protected:对同一包内的类及其所有子类可见;
接口中的变量都隐式声明为public static final;接口中的方法都隐式声明为public;
继承:父类中声明为public的方法子类中也必须为public;父类中声明为protected的方法子类中可以声明为protected和public;父类中声明为private的方法子类不能继承;

8.非访问修饰符:
final: final修饰的对象的引用不能指向不同的对象,但是final对象中的数据可以改变;final方法能被子类继承但不能修改;final类不能被继承;
abstract:如果一个方法声明为抽象方法,那么这个类要声明为抽象类;

9.运算符
短路逻辑运算符:当使用与逻辑运算符时,在两个操作数都为true时,结果才为true,所以在执行操作数的运算时,第一个操作数若为false,就不会执行第二个操作符的运算了;
instanceof运算符:检查某对象实例是否为某个特定类型(类类型或接口类型),只要被比较的对象兼容于右侧类型,该运算符仍返回为true;在判断一个实例的引用类型时,使用的实际类型而不是声明类型:vehical a = new car() //a为car类型,而不是vehical类型;

10.循环结构
增强for循环:用来循环数组元素:for(声明语句:表达式){},其中声明语句是新建的局部变量,该变量的类型必须和数组的类型一致、表达式是要访问的数组;

11.分支结构
switch中的case:case后跟的常量或者字面常量的类型必须和switch中接收的数据类型一致;

12.Java Number & Math 类
有什么需要使用对象,而不是内置数据类型,所以java语言为每个内置数据类型都提供了相应的包装类(Integer、Long、Byte、Double、Float、Short),都是抽象类Number的子类;
装箱和拆箱:编译器把会内置数据类型装箱成包装类;相似的,编译器会把一个对象拆箱成内置数据类型;

13.String的两种输出printf()、format()
printf():返回一个PrintStream对象;
format():返回一个String对象;
String类是不可改变的解析:string s=”name”; System.out.println(s); s=”girl”; System.out.println(s); 输出结果为:name girl;看似结果改变了,其实是s只是一个String对象的引用,并不是对象的本身;当执行s=”girl”时,创建了一个新的对象girl,而原来的name对象还在内存中;

14.StringBuffer类和StringBuilder类
与String不同的是,StringBuffer和StringBuilder类的对象能够修改;
StringBuffer类和StringBuilder类不同之处:StringBuilder的方法不是线程安全的(不能同步访问);

原创粉丝点击