- 博客(25)
- 收藏
- 关注
原创 工具类
工具类 包装类(封装类) JDK1.5 版本之后自动拆装包 byte--------Byte short-------Short int----------Integer long--------Long float--------Float double----Double char-------Character boolean---Boolean 1、8个包装类都在java.lang包下,不需要import导包,直接调用 2、6个与数字相关的包装类都继承Number类 public final c
2020-06-11 11:09:50
237
原创 枚举类
枚举类 一个类中有个数有限且固定的对象 通过类名字直接访问对象 private构造方法; public static final属性 = new 对象/常量 JDK1.5版本之后可以直接定义enum类型 定义的枚举类直接继承Enum类(不允许继承其他的类),间接继承Object类 Enum 两个属性: name:表示当前枚举对象的名字 ordinal:枚举对象在类中的顺序(从0开始) 常用方法: valueof():通过给定的name获取对应的枚举对象 values():获取全部枚举对象----->
2020-06-03 21:09:20
954
1
原创 内部类
内部类 可以将一个类定义到另一个类的内部 成员内部类 将一个类直接定义在类的里面,与属性或方法层次一致 和正常的类一样,可以用不同的修饰符 优点: 1、省略一个.java文件 2、可以访问外部类所有的成员(包括私有的) 若想要在内部类中通过对象.调用外部类成员: 外部类.this.外部类成员 内部类存在后,源代码进行编译,产生一个字节码文件 Demo$InnerDemo.class Demo.java package innerclass; public class Demo { private
2020-06-02 20:36:44
183
原创 多态
多态 同一个对象体现出来的多种不同的形态(身份),将一种行为表现出不同的效果 要想实现多态的效果,需要先有继承关系 体现: 通过父类类型的引用指向子类的对象 Person p = new Teacher(); 该引用只能调用父类中的属性或方法 如果父类中方法被子类重写,那么调取方法后执行的结果是子类重写后的方法 如果父类和子类有同名的属性,调用父类的属性 如果想要调用子类中独有的成员,需要造型(铸型),(向下/向上转型) 强制向下造型时,可能会出现ClassCastExceptio
2020-06-01 21:04:40
1180
原创 接口interface
接口interface 什么是接口? 全部都是抽象方法,可以理解为是抽象类中的抽象类 接口也是一个类结构,不能用class修饰,改用interface修饰 接口里有什么? 属性 不能含有一般的属性,公有的静态的常量(public static final……) 方法 不能含有一般的犯法,只能含有公有的抽象的方法(1.8之后可以用default作为权限修饰符修饰一般方法) 块 不能含有一般程序块,也不能含有static块 构造方法 不能含有构造方法 不能创建对象,只能通过子类多实现
2020-06-01 14:48:30
197
原创 设计模式之单例模式、策略模式
设计模式 设计模式是解决某一类问题通用的解决方案 可以让代码跟容易被理解,确保了复用性、可靠性、可拓展性 分为三类: 1.创建型模式(5种): 单例模式 工厂方法模式 抽象工厂模式 建造者模式 原型模式 2.结构型模式(7种): 适配器模式 装饰者模式 代理模式 外观模式 桥接模式 组合模式 享元模式 3.行为型模式(11种): 观察者模式 策略模式 模板模式 责任链模式 解析器模式 迭代子模式 命令
2020-05-31 18:12:53
221
原创 命名规约+权限修饰符+封装+特征修饰符
权限修饰符 可以用来修饰类本身和类中的成员(除程序块) 只有public、默认不写可以用来修饰类 从大到小依次为:public>protected>默认不写>private public (公有的) 同类 同包 子类 当前项目中任意类位置只要有方法都可以调用 protected (保护的) 同类 同包 子类(通过子类范围在子类内部访问,父类本身不可以访问) 默认不写 (默认的) 同类 同包 private (私有的) 同类 封装 Java面向
2020-05-30 08:02:30
216
原创 类的关系--依赖
use-a(need-a)依赖 因为某一件事产生了关系,临时组合在一起,这件事一旦做完关系就解散 java程序体现为:一个类的方法是用到了另一个类的对象 可以在方法中传递参数 可以在方法中自己创建 农夫杀猪案例: Farmer.java package rely; //农民---负责养猪 public class Farmer { //农民养猪 //参数---几个月 返回值---是一头猪 public Pig feedPig(int month){ Pig pig
2020-05-28 21:44:06
245
原创 类的关系---包含
涉及到的类越来越多,需要一个管理类的工具包(package), 一个类中package只可以有一个,并且放在第一行 一个类中import可以有多个 has-a 包含(组合 聚合 关联) 通过一个类的对象当做另一个类的属性来存储 组合–>人和大脑: 整体和部分的关系,不可分割,同时出现或消失 聚合–>车和车轮子: 整体和部分的关系,创建时有可能是分开的 关联–>人和汽车: 整体和部分的关系,可以分割,后来在一起 eg: Wheel.java package contains; //.
2020-05-28 20:56:37
954
原创 类的关系----继承+重写和重载的区别+Object类中的方法+this和super的使用
类与类之间有三种关系 A is-a B 泛化(继承 实现) A has-a B 包含(组合 聚合 关联) A use-a B 依赖 (依赖)need-a 继承 1、子类继承父类,用关键字extends,可以调用父类中的(public protected)属性和方法当做自己的来使用 eg: Animal .java public class Animal { public String name; public void eat(){ System.out.println
2020-05-28 12:12:07
211
原创 Java类方法模拟计算机
Calculator.java import java.util.Scanner; public class Calculator { public float a; public float b; public float add(float a,float b){ return a+b; } public float substact(float a,float b){ return a-b; } public fl
2020-05-26 11:11:13
522
原创 nextLine和nextInt读取方式
nextLine读取方式 是Scanner类中的读取字符串的方法 nextLine读取“回车”之前的所有字符,包括回车,保留回车之前的字符,丢掉回车 读取到字符“优秀张”,读取之后队列里没有元素 nextInt读取方式 是Scanner类中的读取整型的方法 nextInt读取“回车”之前的所有字符,不包括回车 读取到‘1’‘2’‘3’转换成—>123,队列里只剩一个回车 ...
2020-05-26 10:03:31
458
原创 构造方法 + 程序块(代码块) + this关键字
构造方法 构造当前类的对象 通过new关键字调用 若类中没有定义,系统会默认提供一个无参的构造方法;若自己定义,系统中的构造方法会被覆盖 结构: 权限修饰符 与类名一致的方法名(参数列表)【抛出异常】 { 创建一个对象; 返回对象 } 可以重载 Person.java public class Person { //属性---静态描述特点:修饰符 数据类型 属性名 public String name;//全局变量 public int age; public Stri
2020-05-26 07:43:22
210
原创 overload方法重载
overload方法重载 1、概念:一个类中的一组方法具有相同的名字,有不同(参数个数、参数类型、参数顺序)的参数列表。 2、作用:运用一个方法名,实现对不同参数的方法调用。 典型的方法重载: 3、设计重载方法:通过方法参数类型来定位方法;如果传递的时候没有这个类型,会自动进行类型转化 public class Test { public void test(int i){ System.out.println("执行test方法int类型:" + i); } pu
2020-05-25 21:08:45
470
原创 冒泡排序+方法设计
public class Test { //设计一个方法,给数组进行排序(既能升序,又能降序) //如果flag为true就升序,为false就降序 public void OrderArray(int[] array,boolean flag){ for(int i=0;i<array.length-1;i++){//一共要进行总长度减 1 趟 for(int j=array.length-1;j>0;j--){//每一趟要对比长
2020-05-25 20:08:28
262
原创 Java面相对象属性篇
理解面向过程和面向对象 面向过程:按照一定的流程解决问题 面向对象:按照规律来考虑问题,实体是动作的支配者,没有实体就发生不了动作 类和对象 类:具有相同特征行为的一类事物 静态描述特征:属性 动态动作行为:方法 对象:由类中具体的方法和属性引用出来 需要先有一个具体的类,才能由类创建出一个具体的对象来做事 案例 Person.java public class Person { //属性---静态描述特点:修饰符 数据类型 属性名 public String name;//全局变量
2020-05-25 15:58:09
256
原创 运用数组解决问题
给定两个数组,将两个位置元素进行互换 交换数组a{1,2,3,4},b{5,6,7,8} 借助中间量进行交换 public class Test1{ public static void main(String[] args){ int[] a = new int[]{1,2,3,4}; int[] b = new int[]{5,6,7,8}; for(int i=0;i<a.length;i++){ int c = a[i]; a[i] = b[i]; b[i] =
2020-05-24 21:44:30
599
原创 基本数据类型与引用数据类型区别
基本数据类型 基本类型变量空间存储的是值,进行值传递,不改变地址 public class Test{ public static void main(String[] args){ int a = 10;//把常量缓冲区中的值10复制到变量a中 int b = a;//把a中已经存在的值10复制到b中 b = 100;//把常量缓冲区中的100复制到b中 System.out.println(a);//输出a==10 } } ...
2020-05-24 17:09:07
703
1
原创 利用for循环找出100到999的水仙花数
利用for循环找出100到999的水仙花数 /** 水仙花数:一个数的个位十位百位的立方和还等于这个数 */ public class Test{ public static void main(String[] args){ for(int num=100;num<1000;num++){ if(Math.pow(num/100,3)+Math.pow(num/10%10,3)+Math.pow(num%10,3)==num){ System.out.println(num+"是
2020-05-24 15:46:11
2417
原创 利用switch语句判断学生成绩
##利用switch语句判断学生成绩 import java.util.Scanner; public class Test{ public static void main(String[] args){ Scanner input = new Scanner(System.in); System.out.println("请输入分数:"); int score = input.nextInt(); switch(score/10){ case 1: case 2: c
2020-05-24 13:03:27
6460
原创 &和&&的区别+变量a和b交换的三种方法+最有效率的方式计算2*8
&和&&的区别 &可以作为逻辑运算和位运算,&&只可以作为逻辑运算 当两个符号都作为逻辑运算使用时,区别如下: &逻辑与当前后两值都为true,结果为true &&短路与正常情况下和逻辑与执行方式一样,当执行过程中第 一个为false时,发生短路,直接得到最终结果false 变量a和b交换的三种方法 1. 利用第三个空间c进行交换 public class Test{ public static void main(Str
2020-05-24 10:01:25
379
原创 Java运算符 + 十、二、八、十六进制之间的转换 + 源码、反码、补码
Java运算符 按照操作数的数目进行划分 单目 a++ 双目 a+b 三目 (a>b)?x:y 按照运算符功能进行划分 算数运算 +、 -、 *、 /:加、减、乘、除 %:取余、取模 ++:自增 (放在变量前面先加后用;放在变量后面先用后加) –:自减 赋值运算 =:将等号右边的值赋值给等号左边 +=、-=、*=、/=、%=:加等、减等、乘等、除等、取模等 x+=1;相当于x=x+1; 关系运算(比较) <、<=、>、>=、!=、== 逻辑运
2020-05-23 19:52:48
559
原创 Java把常量赋值给float时后面加F/f + 把常量赋值给long时后面要加L/l
赋值原理 常量赋值给float时后面加F/f 计算机默认浮点型为double–>64bit 第一个bit表示符号,2~20个表示整数,后面的表示小数 float–>32bit 第一个bit表示符号,2~10个表示整数,后面的表示小数 常量在计算机中以二进制存储,double转化成float会有数据损失 常量赋值给long时后面加L/l 计算机默认整型为int–>32bit 取值范围:-2147483648~2147483647 long–>64bit 由于2147483647已
2020-05-23 09:04:10
731
原创 Java 基本数据类型
数据类型包括基本数据类型 一、基本数据类型(8个) 4个整型 byte 字节型--------.>8个bit 敏感单元位 1byte==8bit 0 0000000 256种 用第一个bit位置来记录符号 0正数 1负数 数值范围-2的7次方~2的7次方-1 即-128~127(其他整数类型依次乘2) short 2个字节==16个bit 65526种 -32768~32767 int 4个字节==32个bit -2147483648~2147483647 long 8个字节=
2020-05-22 21:50:28
182
原创 Java跨平台机制+搭建运行环境+安装后JDK文件的解释
** Java跨平台机制+搭建运行环境+安装后JDK文件的解释 ** 跨平台机制 JVM Java Virtual Machine虚拟机:将源代码文件.java编译成字节码文件.class JRE Java Runtime Environment运行环境:运行别人写好的程序 JDK Java Development Kit开发工具:javac.exe编译工具 java.exe执行工具 JVM、JRE、JDK三者关系:JRE包含JVM、JDK包含JRE 所以在安装过程中只需要安装JDK即可
2020-05-22 16:15:20
193
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅