美文网首页
java_小结

java_小结

作者: 她与星河皆遗憾 | 来源:发表于2019-04-02 19:36 被阅读0次

Java的特点

跨平台:一次编译,到处运行
半编译半解释:JVM把 .java编译成一种中间格式的字节码文件 .class(半编译),这些字节码文件在JVM上运行,JVM在将其逐行翻译给底层平台(半解释)
面性对象四大特性:

继承:也称泛化,一个类可以从一个现有的类中派生出来,派生出来的类称为子类,原有的类称为父类,子类拥有父类所有的属性和方法,除了构造器和私有成员,继承是代码重用的一种重要手段,也是实现开闭(对拓展开放,对修改关闭)原则的基础

封装:用不同的访问权限修饰符(public,protected,默认的,private),将代码组织到一个类中的过程,控制其访问范围

多态:是一种编程策略,要满足三个前提:有泛化关系,有父类引用指向子类对象,有方法的重写,多态的作用是解耦(高内聚,低耦合),提高维护性,节约成本
多态存在的三个必要条件:
1.要有继承,或实现
2.要有重写
3.父类引用指向子类对象

抽象:将事物抽象成概念模型,类,抽象类,接口,属性都是抽象的体现

标识符和变量常量

类名:每个单词首字母大写,其余字母小写
包名:全部小写
变量和方法名:第一个单词小写,其余单词首字母大写,其余字母小写
常量:全大写

数据类型
一.基本数据类型:

整型:byte(1),short(2),int(4),long(8)
浮点型:float,double
字符型:char(2)加 ' '
布尔值:boolean

二.引用数据类型:

类
数组
接口

运算符

+(除了运算还能拼接字符串),-,,/(整型与整型相除,结果取整)
+=,-=,
=,/=,%=;
++,--;
表达式1?表达式2:表达式3
&&(与),||(或),!(非)
&,|,^,<<,>> a<<b = a*2^b

经典题目:
①交换两个变量;
②判断闰年、平年;
③int x=0;
for(int i=0;i<100;i++){x=x++;}
结果:x=0
④按位与或(和)逻辑与或区别?
逻辑与或有短路
按位与或能参与位运算

循环

while,do...while,for
经典题目:
①while与do...while的区别?do...while至少执行一次,因为是条件
②重点:2.一小球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?

Double height=100,long=100,h=0;
   For(i=1;i>=10;i++){
       height=height/2;
}
For(j=1;j>10;j++){
h=100+h+long;
       long=long/2;
}
System.out.println(“第十次高度为:”+height);
System.out.println(“十次的距离为:”+h);

③1+2+3+....+10的和
④1!+2!+3!+....+10!的和
⑤冒泡排序
⑥100以内所有质数

通过下标访问数组

arr[0],长度为n的数组,下标最大值为n-1
常见的异常:ArrayIndexOutOfBoundsException
栈内存中保存的引用 (引用数据类型可以赋值为null),元素都保留在堆中
遍历:

int arr[]={1,2,3,4,5};
for(int num : arr){
   System.out.println(num);
}
int arr1[][]={{1,2,3},{4,5,6},{7,8,9}};
for(int i=0;i<arr1.length;i++){
    for(int j;j<arr1[i];j++){
        Sysotem.out.println(arr1[i][j]);
    }    
}

方法

public,private,默认,protected

public int getNum(){
    return 1;}
方法调用
Demo d = new Demo();
d.getNum();

构造器:
Demo1 d = new Demo1();
方法名必须和类名必须一致
没有返回值这一概念
重载:同个类中,同名不同参的方法

类和对象:
Scanner scan = new Scanner(System.in);
int num = scan.nextInt();

Demo d[] = new Demo()[3];
static
属性,方法,方法块能够直接用类名调用
静态方法只能调用静态的成员
单例模式
私有构造器

继承 extends

public class Father{}
public class Son extends Father{}
main (){ Son s = new Son();}
   子类的实例化过程,子类构造器会默认先调用父类的无参构造器先生成父类对象,然后再创建子类 对象,
若父类没有无参构造器,会编译出错,父类可以补无参构造器,或在子类构造器中用super调用父类有参构造器

重写:子类中与父类方法同名同参同返回值类型

多态

接口:interface,不能实例化抽象方法 implements
抽象类:adstract,不能实例化,可以有抽象方法

public abstract class demo{
    public adstract void test(); }

包装类:
Integer Character
包装类.ValueOf(String)
包装类.parse XXXX
String,StringBuffer,StringBuilder
Math:random,ceil,floor
Date:Date date = new Date(); date.getTime();//从1970年到现在所经历的毫秒数
SimpleDateFormat

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    sdf.format(Date);  //Date转Sring类型
    sdf.parse(String);  //S听转Date类型

经典题目:①查单词:(substring,indexOf)②两日期字符串间隔多少天

集合

colliction
        List
              ArrayList
              lenkedList
              Vector
        Set
              HashSet
add()
Map:键值对
        HashMap       允许null作为键值        线程不安全
        HashTable     不允许                  线程安全
put()

相关文章

  • java_小结

    Java的特点 跨平台:一次编译,到处运行半编译半解释:JVM把 .java编译成一种中间格式的字节码文件 .cl...

  • Java书籍资料整理

    http://en.wikipedia.org/wiki/Template:Java_%28software_pl...

  • 雪花算法

    雪花算法的原理和实现Java_雨夜青草的博客-CSDN博客_雪花算法 64 = 1 41 10 12

  • alibaba-nacos-config 阿里的nacos

    参见:SpringBoot使用Nacos作为配置中心服务和服务注册中心_java_牧竹子-CSDN博客 手册参见:...

  • java_多线程

    java_多线程 线程创建方式;join用法; sleep和wait区别; 线程安全和不安全的java集合; St...

  • Java 调用jni方法

    两种实现方式 Java_包名类名方法名 RegisterNatives方法 native 方法如下 第一种方式:在...

  • java_集合

    参考https://www.cnblogs.com/NextNight/p/6972172.html 关系图 Ha...

  • JAVA_代理

    代理是一种常用的设计模式,其目的就是为其他对象提供一个代理以控制对某个对象的访问。通过代理,可以实现对目标对象的间...

  • java_容器

    能根据情况选择适合的容器 知道每一种容器的:新建、存数据、改数据、取单个数据、取全部数据 存单个值的容器3种,存键...

  • Java_接口

    1、在Java中,最小的单元是类,接口就是一个特殊的类; Java的接口规范:用于定义一组抽象方法,表示某一类事物...

网友评论

      本文标题:java_小结

      本文链接:https://www.haomeiwen.com/subject/stgtvqtx.html