01 2022 档案
摘要:package exer; import java.util.Scanner; public class PayrollSystem { public static void main(String[] args) { Scanner scan=new Scanner(System.in); Sys
阅读全文
摘要:当功能内部一部分实现是确定的,一部分实现是不确定的,这时可以把不确定的部分用抽象方法描述,具体实现留到子类。 package exer; public class TemplateTest { public static void main(String[] args) { SubTemplate
阅读全文
摘要:package exer; public class Exer { public static void main(String[] args) { Person p=new Person(){ public void show(){ System.out.println("这是匿名类非匿名对象")
阅读全文
摘要:JAVA abstract abstract可以用来修饰的结构;类、方法 abstract修饰类:抽象类 此类不能实例化 抽象类中一定有构造器,用于子类实例化时调用 abstract修饰方法:抽象方法 抽象方法只有方法的声明,没有方法体 包含抽象方法的类,一定是抽象类,然而抽象类中可以没有抽象方法。
阅读全文
摘要:final可以用来修饰的结构:类、变量、方法 final 用来修饰一个类: 此类不能被其他类所继承 final 用来修饰方法:表明此方法不能被重写 final用来修饰变量:此时的变量就是一个常量 final修饰属性时:可以考虑的位置有:显式初始化、代码块中初始化、构造器中初始化 final还可以修饰
阅读全文
摘要:对属性可以赋值的位置: 默认初始化 显式初始化 构造器中初始化 有对象以后,通过对象.属性或对象.方法进行赋值 在代码块中赋值 执行的先后顺序:1-2/5-3-4
阅读全文
摘要:代码块的作用:用来初始化类、对象 代码块如果有修饰的话,只能用static 分类:静态代码块和非静态代码块 静态代码块: 内部可以有输出语句 随着类的加载而执行,而且只执行一次 作用:初始化类的信息 静态代码块的执行要优先于非静态代码块的执行 非静态代码块 内部可以有输出语句 随着对象的创建而执行
阅读全文
摘要:设计模式是在大量的实践中总结和理论化之后优选的代码结构、编程风格、以及解决问题的思考方式。 单例设计模式 所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法。如果我们要让类在一个虚拟机中只能产生一个对象,我们首先必须将
阅读全文
摘要:static可以用来修饰:属性、方法、代码块、内部类 使用static修饰属性:静态变量(类变量):多个对象共享同一个静态变量 属性按是否使用static修饰可以分为静态属性(类变量)和非静态属性(实例变量) 静态变量随着类的加载而加载 package exer; import org.junit.
阅读全文
摘要:package exer; import org.junit.Test; public class WrapperTest { @Test public void test1(){ //基本数据类型转换为包装类 Integer i1=new Integer(12); System.out.print
阅读全文
摘要:使用情景:为了避免在向下转型时出现ClassCastException的异常,我们在向下转型之前,先进行instanceof的判断,一旦返回true,就进行向下转型。如果返回false,就不进行向下转型。 package exer; public class AnimalsTest { public
阅读全文
摘要:对象的多态性:父类的引用指向子类的对象 多态的使用:虚拟方法调用:当调用子父类同名同参数的方法时,实际执行的是子类重写父类的方法 有了对象的多态性以后,在编译器,只能调用父类中声明的方法,在运行期,实际执行的是子类重写父类的方法。 多态性的使用前提:1、类的继承关系 2、方法的重写 对象的多态性:只
阅读全文
摘要:Account.java package exer; public class Account { private int id; private double balance; private double annualInterestRate; public Account(int id,dou
阅读全文
摘要:super理解为 父类的 super可以调用属性、方法、构造器 package exer; public class SuperTest { public static void main(String[] args) { Student s=new Student(); s.show(); s.e
阅读全文
摘要:重写:子类继承父类以后,可以对父类中同名同参数的方法,进行覆盖操作 子类重写的方法的方法名和形参列表与父亲被重写的方法的方法名和形参列表相同。 子类重写的方法的权限修饰符不小于父类被重写的方法的权限修饰符。 子类不能重写父类中声明为private权限的方法 父类被重写的方法的返回值类型是void,则
阅读全文
摘要:JAVA 继承性 继承性的格式:class A extends B{} A:子类、派生类、subclass B:父类、超类、基类、superclass 体现: 一旦子类A继承父类B以后,子类A中就获取了父类B中声明的所有的属性和方法。特别的,父类中声明为private的属性和方法,子类继承父类以后,
阅读全文
摘要:CMUtility.java文件 package util; import java.util.*; /** CMUtility工具类: 将不同的功能封装为方法,就是可以直接通过调用方法使用它的功能,而无需考虑具体的功能实现细节。 */ public class CMUtility { privat
阅读全文
摘要:补全代码的声明:alt+/ 快速修复:ctrl+1 批量导包:ctrl+shift+o 使用单行注释:ctrl+/ 使用多行注释:ctrl+shift+/ 取消多行注释:ctrl+shift+\ 复制指定行的代码:ctrl+alt+down或ctrl+alt+up 删除指定行的代码:ctrl+d 上
阅读全文
摘要:一、package关键字的使用 为了更好的实现项目中类的管理,提供包的概念 使用package声明类或接口所属的包,声明在源文件的首行 包,属于标识符,遵循标识符的命名规则、规范(包名多用小写) 每“."一次,就代表一层文件目录
阅读全文
摘要:有以下UML类图 Account类 package exer; public class Account { //余额 private double balance; //构造器 public Account(double init_balance){ this.balance=init_balan
阅读全文
摘要:this可以调用属性和方法 this可以调用构造器 在类的构造器中,可以显式的使用this(参数列表)方式,调用本类中指定的其他构造器 构造器中不能通过this(形参列表)调用自己 如果一个类中有n个构造器,则最多有(n-1)个构造器使用了”this(形参列表) 规定:“this(形参列表)必须声明
阅读全文
摘要:1、+表示public类型,-表示private类型,#表示protected类型 2、方法的写法: 方法的类型(+、-)方法名(参数名:参数类型):返回值类型 3、带下划线的方法为构造器 4、属性部分:”:“前是属性名,”:“后是属性的类型
阅读全文
摘要:JavaBean是一种Java语言写成的可重用组件 所谓JavaBean,是指符合如下标准的Java类: 类是公共的 有一个无参的公共的构造器 有属性,且有对应的get、set方法
阅读全文
摘要:四种权限修饰符:private、缺省、protected、publicJAVA 四种权限修饰符 四种权限修饰符:private、缺省、protected、public 四种权限可以用来修饰类及类的内部结构:属性、方法、构造器、内部类 四种权限可以用来修饰类的内部结构:属性、方法、构造器、内部类 修饰
阅读全文
摘要:封装性的体现之一:将类的属性xxx私有化(private),同时,提供公共的(public)方法来获取(getXxx)和设置(setXxx)此属性的值。 package lll; public class Test { public static void main(String[] args) {
阅读全文
摘要:可变个数形参的格式:数据类型 ...变量名 当调用可变个数形参的方法时,传入的参数个数可以是:0个,1个,2个,,,, 可变个数形参的方法与本类中方法名相同,形参不同的方法之间构成重载 可变个数形参的方法与本类中方法名相同,形参类型也相同的数组之间不构成重载。也就是二者不能共存。 可变个数形参在方法
阅读全文
摘要:重载的概念:在同一个类中,允许存在一个以上的同名方法,只要他们的参数个数或者参数类型不同即可。 package lll; public class Test { public static void main(String[] args) { OverLoad ol=new OverLoad();
阅读全文
摘要:package lll; public class Test { public static void main(String[] args) { int[] arr=new int[]{-11,2,3,23,434,-122,29,7,16}; ArrayUtil util=new ArrayUt
阅读全文
摘要:含义:创建的对象,没有显式的赋给一个变量名,即为匿名对象 注意:匿名对象只能调用一次 package lll; public class Test { public static void main(String[] args) { Phone p1=new Phone(); p1.sendEmai
阅读全文
摘要:package lll; public class Test { public static void main(String[] args) { Student[] stu=new Student[20]; for(int i=0;i<stu.length;i++){ stu[i]=new Stu
阅读全文
摘要:package lll; public class Test { public static void main(String[] args) { Test a=new Test(); a.method(); } public void method(){ for(int i=0;i<10;i++)
阅读全文
摘要:package lll; public class Test { public static void main(String[] args) { Circle c1=new Circle(); c1.radius=2; System.out.println(c1.findArea()); } }
阅读全文
摘要:方法:描述类应该具有的功能 方法的声明: 权限修饰符 返回值类型 方法名(形参列表){ 方法体 } 简单类示范: package lll; public class Test { public static void main(String[] args) { Person p1=new P
阅读全文
摘要:相同点 定义变量的格式相同,数据类型 变量名=变量值 先声明,后使用 都有其对应的作用域 不同点 在类中声明的位置不同 属性:直接定义在类的一对{}内 局部变量:声明在方法内、方法形参、代码块内、构造器形参、构造器内部的变量 关于权限修饰符的不同 属性:可以在声明属性时,指明其权限,使用权限修饰符。
阅读全文
摘要:属性:对应类中的成员变量 行为:对应类中的成员方法 package lll; public class Test { public static void main(String[] args) { Person p1=new Person(); p1.name="lll"; p1.age=11;
阅读全文
摘要:java.util.Arrays:操作数组的工具类,里面定义了很多操作数组的方法 判断两个数组是否相等 package lll; import java.util.Arrays; public class Test { public static void main(String[] args) {
阅读全文
摘要:package lll; public class Test { public static void main(String[] args) { int[] arr=new int[]{-11,-22,-3,0,23,2,4,6}; int temp=0; //需要执行多少轮 for(int i=
阅读全文
摘要:前提:所要查找的数组必须有序 package lll; public class Test { public static void main(String[] args) { int[] arr=new int[]{1,2,3,4,5,6,7,8,9,10}; //要查找的数 int dest=8
阅读全文
摘要:package lll; public class Test { public static void main(String[] args) { String[] str=new String[]{"aa","bb","cc","dd","ee"}; //要查找的字符串dest String de
阅读全文
摘要:package lll; public class Test { public static void main(String[] args) { int[] arr1=new int[]{1,2,3,4,5,6}; int temp=0; //方法一 for(int i=0;i<arr1.leng
阅读全文
摘要:JAVA 数组的复制 package lll; public class Test { public static void main(String[] args) { int[] arr1=new int[10]; int[] arr2; //给arr1赋值并打印 for(int i=0;i<ar
阅读全文
摘要:package lll; public class Test { public static void main(String[] args) { int[] arr=new int[10]; //随机赋值 for(int i=0;i<10;i++){ arr[i]=(int)(Math.rando
阅读全文
摘要:package lll; public class Test { public static void main(String[] args) { //声明一个二维数组 int[][] yangHui=new int[10][]; for(int i=0;i<yangHui.length;i++){
阅读全文
摘要:JAVA 二维数组 二维数组的声明和初始化 package lll; import java.util.Scanner; public class Test { public static void main(String[] args) { //静态初始化1 int[][] num1=new in
阅读全文
摘要:package lll; import java.util.Scanner; public class Test { public static void main(String[] args) { System.out.print("请输入学生个数:"); Scanner scan=new Sca
阅读全文
摘要:一维数组的声明和初始化 package nkc_java; public class ArrayTest { public static void main(String[] args) { //一维数组的声明和初始化 int[] ids;//声明 //静态初始化 ids=new int[]{100
阅读全文
摘要:class Test{ public static void main(String[] args){ boolean isFlag=true; //获取当前时间距1970-1-1 00:00:00的毫秒数 long start=System.currentTimeMillis(); for(int
阅读全文
摘要:JAVA 带标签的break class Test1{ public static void main(String[] args){ label:for(int i=1;i<=10;i++){ for(int j=1;j<=10;j++){ if(j%3==0){ break label; } S
阅读全文
摘要:从键盘上输入year、month和day,要求通过程序输出该日期为该年的第几天 import java.util.Scanner; class Test{ public static void main(String[] args){ Scanner scan=new Scanner(System.
阅读全文
摘要:switch注意事项 switch结构中的表达式,只能是如下的6种数据类型之一: byte、short、char、int、枚举类型(JDK5.0新增)、String类型(JDK7.0新增)
阅读全文
摘要:JAVA基本语法-switch 要求用switch结构,判断学生是否及格,成绩大于60分的,输出“及格”,成绩低于60分的,输出“不及格”。 要求用switch结构,而成绩有0-100分共101种情况,看起来要写101个case,但那样太费力了,我们可以对学生的成绩进行一些处理,比如:将成绩除以10
阅读全文
摘要:JAVA基本语法 获取一个随机数 获取一个随机数:10~99 class Test{ public static void main(String[] args){ int num=(int)(Math.random()*90+10); System.out.println(num); } } Ma
阅读全文
摘要:JAVA基本语法 从键盘输入 import java.util.Scanner;//导入包 class ScannerTest{ public static void main(String[] args){ Scanner scan=new Scanner(System.in);//Scanner
阅读全文
摘要:JAVA基本语法 String String不是基本数据类型,属于引用数据类型 使用方式与基本数据类型一致。例如 String str="abcd"; 一个字符串可以串接另一个字符串,也可以直接串接其他类型的数据。例如 String str="abcd"; str=str+"xyz"; int n=
阅读全文
摘要:JAVA基本语法 基本数据类型之间的运算规则 自动类型提升 结论:当容量小的数据类型的变量与容量大的数据类型的变量做运算时,结果自动提升为容量大的数据类型。 byte、char、short-->int-->long-->float-->double 注意:此时的容量大小指的是,表示数的范围的大和小。
阅读全文
摘要:JAVA基本语法 2.3变量 变量的概念 内存中的一个存储区域 该区域的数据可以在同一类型范围内不断变化 变量是程序中最基本的存储单位。包含变量类型、变量名和存储的值。 变量的作用 用于在内存中保存数据 使用变量注意 java中每个变量必须先声明,后使用 使用变量名来访问这块区域的数据 变量的作用域
阅读全文
摘要:2.1关键字与保留字 关键字的定义和特点 定义:被java语言赋予了特殊含义,用做专门用途的字符串(单词) 特点:关键字中所有字母都为小写 保留字 java保留字:现有java版本尚未使用,但以后版本可能会作为关键字使用。
阅读全文
摘要:2.2标识符 标识符 含义:java对各种变量、方法和类等要素命名时使用的字符序列称为标识符。 定义合法标识符的规则: 由26个英文字母大小写,0-9,_或$组成。 数字不可以开头 不可以使用关键字和保留字,但能包含关键字和保留字 java中严格区分大小写,长度无限制 标识符不能包含空格 java中
阅读全文