- 博客(20)
- 收藏
- 关注
原创 Random
Random类用来生成随机数字。使用起来也是三个步骤:导包import java.util.Random;创建Random r=new Random(); //小括号当中留空即可使用获取一个随机的int数字(范围是int所有范围,有正负两种):int num=r.nextInt();获取一个随机的int数字(参数代表了范围,左闭右开区间):int num=r.nextInt(3);实际上代表的含义是:[0,3),也就是0~2;例如:package 包名;import java.ut
2020-06-05 17:27:15 197
原创 Scanner
什么是Scanner类一个可以解析基本类型和字符串的简单文本扫描器。例如,以下代码使用户能够从 System.in中读取一个数:Scanner sc=new Scanner(System.in);int i=sc.nextInt();备注:System.in系统输入指的是通过键盘录入数据。引用类型使用步骤导包使用import关键字导包,在类的所有代码之前导包,引入要使用的类型。只有java.lang包下的所有类无需导入,其他的包都需要import语句。如果需要使用的目标类,和当前类位于
2020-06-05 17:08:50 115
原创 static
如果一个成员变量使用了static关键字,那么这个变量不再属于自己,而是属于所在的类,多个对象共享同一份数据。public class Student{ private int id; //学号 private String name; //姓名 private int age; //年龄 static String room; //所在教室 private static int idCounter=0; //学号计数器每当new一个新对象时,计数器++ pub.
2020-06-05 17:02:26 154 1
原创 super
super关键字的三种用法在子类的成员方法中,访问父类的成员变量。在子类的成员方法中,访问父类的成员方法。在子类的构造方法中,访问父类的构造方法。
2020-06-05 16:54:44 237
原创 二维数组
二维数组:二维数组就是存储一维数组(内存地址/引用)的数组二维数组的初始化:int intA[][]={{1,2},{2,3},{3,4,5}};int [][] intB=new int[3][5]; int []intC []=new int[3][]; intC[0]=new int[2]; intC[1]=new int[]{1,2,3}; intC[2]=new int[5];二维数组的遍历:public class TestArray3 { pu
2020-06-03 17:24:30 205
原创 类的练习
定义定义一个类,用来模拟“手机”事物属性:品牌、价格、颜色行为:打电话、发短信对应到类当中:成员变量(属性):String brand;//品牌double price;//价格String color;//颜色成员方法(行为):public void call (String who)} //打电话public void sendMessage() {} //群发短信public class Phone{ //成员变量 String brand;//品牌 doubl
2020-06-03 17:21:31 272
原创 类
类的定义事物与类的对比现实世界的一类事物:属性:事物的状态信息。行为:事物能够做什么。Java中用class描述事物也是如此:成员变量:对应事物的属性成员方法:对应事物的行为类的定义格式public class ClassName {//成员变量//成员方法}定义类:就是定义类的成员,包括成员变量和成员方法成员变量:和以前定义变量几乎是一样的。只不过位置发生了改变。在类中,方法外。成员方法:和以前定义方法几乎是一样的。只不过把 static去掉。类的使用通常情况下
2020-06-02 19:40:53 120
原创 构造方法
构造方法是专门用来创建对象的方法,当我们通过关键字new来创建对象时,其实就是在调用构造方法格式:public 类名称(参数类型 参数名称){ 方法体}new的时候使用的就是构造方法,定义一个空的构造方法,new的时候就相当于执行了这个方法的方法体注意事项构造方法的名称必须和所在的类名称完全一样,就连大小写也要一样构造方法不要写返回值类型,连void都不写构造方法不能return一个具体的返回值如果没有编写任何构造方法,那么编译器将会默认赠送一个构造方法,没有参数、方法体,
2020-06-02 19:32:55 426
原创 方法的重载
对于功能类似的方法来说,因为参数列表不一样,却需要记住那么多不同的方法名称,太麻烦。方法的重载(Overload):多个方法的名称一样,但是参数列表不一样。好处:只需要记住唯一一个方法名称,就能实现类似的多个功能。方法重载与下列因素相关:参数个数不同参数类型不同参数的多类型顺序不同方法重载与下列因素无关:与参数的名称无关与方法的返回值无关例如:public class Demo01MethodOverload{public static void main(String[
2020-06-02 19:27:21 146
原创 局部变量和成员变量的区别
局部变量和成员变量定义的位置不一样局部变量:在方法的内部。成员变量:在方法的外部,直接写在类当中。作用范围不一样局部变量:只有方法当中才可以使用,出了方法就不能再用成员变量:整个类全都可以通用。默认值不一样局部变量:没有默认值,如果要想使用,必须手动进行赋值。成员变量:如果没有赋值,会有默认值,规则和数组一样。内存的位置不一样局部变量:位于栈内存。成员变量:位于堆内存。生命周期不一样局部变量:随着方法进栈而诞生,随着方法出栈而消失。成员变量
2020-06-02 11:30:21 96
原创 抽象类
抽象的概念抽象方法和抽象类的定义抽象方法:就是加上abstract关键字,然后去掉大括号,直接分号结束。抽象类:抽象方法所在的类,必须是抽象类才行。在class之前写上abstract即可。public abstract class Animal{//这是一个抽象方法,代表吃东西,但是具体吃什么(大括号的内容)不确定。public abstract void eat();//这是普通的成员变量public void normalMethod(){ } }抽象方法和抽象类
2020-05-23 14:47:23 149
原创 标准的类
一个标准的类通常要拥有下面四个组成部分:所有的成员变量都要使用 private(私有化)关键字修饰为每一个成员变量编写一对儿 Getter/Setter方法编写一个无参数的构造方法编写一个全参数的构造方法这样标准的类也叫做Java Bean例如:public class Student{private String name;//姓名private int age;//年龄//全参构造public Student(String name, int age) { this
2020-05-23 14:42:07 282
原创 二维数组
二维数组:二维数组就是存储一维数组(内存地址/引用)的数组二维数组的初始化:– “java int intA[][]={{1,2},{2,3},{3,4,5}}; “– “java int [][] intB=new int[3][5]; “– “java int []intC []=new int[3][]; intC[0]=new int[2]; intC[1]=new int[]{1,2,3}; intC[2]=new int[5]; “二维数组的遍历:“`javapublic cla
2020-05-23 14:37:11 139
原创 方法
概述我们在学习运算符的时候,都为每个运算符单独的创建一个新的类和main方法,我们会发现这样编写代码非常的繁琐,而且重复的代码过多。能否避免这些重复的代码呢,就需要使用方法来实现就是将一个功能抽取出来,把代码单独定义在一个大括号内,形成一个单独的功能。当我们需要这个功能的时候,就可以去调用。这样即实现了代码的复用性,也解决了代码冗余的现象。方法的定义定义格式:修饰符 返回值类型 方法名称 (参数类型 参数列表,…) { 方法体 return 返回值; }定义格式解释:
2020-05-23 14:35:02 575
转载 帮你彻底搞懂JS中的prototype、__proto__与constructor(图解)
1. 前言本文旨在帮助大家理清它们之间的关系并彻底搞懂它们。这里说明一点,proto__属性的两边是各由两个下划线构成(这里为了方便大家看清,在两下划线之间加入了一个空格: _ proto ,读作“dunder proto”,“double underscore proto”的缩写),实际上,该属性在ES标准定义中的名字应该是[[Prototype]],具体实现是由浏览器代理自己实现,谷歌浏览器的实现就是将[[Prototype]]命名为__proto_,大家清楚这个标准定义与具体实现的区别即可(名字有所
2020-05-23 14:26:40 247
原创 Java代码块
在java中用{}括起来的称为代码块,代码块可分为以下四种:普通代码块:类中方法的方法体相当于建立了一个作用域(里面定义的外面不能访问,外面定义的里面可以访问),然后执行。代码的执行顺序和书写顺序一致。public class Test{ public static void main(String[] args){{int i=3;System.out.println(“普通代码块”);}//可以重新定义i,如果不定义则访问不到代码块里的iint i=1;System.out
2020-05-23 14:14:49 640
原创 多态
多态概述:代码当中提现多态性,其实就是一句话:父类引用指向子类对象。多态的格式与使用代码:父类名称 对象名 =new 子类名称();定义父类:public class Fu{public void method(){System.out.println(“父类方法”);}public void methodFu(){System.out.println(“父类特有方法”);} }定义子类:public class Zi extends Fu{@Ove
2020-05-23 14:08:10 125
原创 引用类型转换
引用类型转换分为向上转型和向下转型两种;向上转型:多态本身是子类类型向父类类型向上转换的过程,这个过程是默认的;当父类引用指向一个子类对象时,便是向上转换; 使用格式:父类类型 变量名 = new 子类类型();向下转型:父类类型向子类类型向下转换的过程,这个过程时强制;一个已经向上转型的子类对象,将父类引用转为子类引用,可以使用强制转换的格式,便是向下转换; 使用格式:子类类型 变量名 = (子类类型) 父类变量名;转型的目的: 当使用多态方式调用方法时,首先检查
2020-05-23 13:54:01 436
原创 内存划分
Java的内存需要划分成为5个部分:栈(Stack):存放的都是方法中的局部变量局部变量:方法的参数,或者是方法{}内部的变量作用域:一旦超出作用域,立刻从栈内存当中消失。堆内存(Heap):凡是new出来的东西,都在堆当中。堆内存里面的东西都有一个地址值:16进制堆内存里面的数据,都有默认值。规则: 如果是整数 默认0 如果是整数类型,那么默认为0; 如果是浮点类型,那么默认为0.0; 如果是字符类型,那么默认为’\u0000′; 如果是布尔类
2020-05-23 13:32:00 120
原创 常见的异常类型
类型间转换不兼容:ClassCastException是JVM在检测到两个类型间转换不兼容时引发的运行时异常。此类错误通常会终止用户请求。在执行任何子系统的应用程序代码时都有可能发生ClassCastException异常。原因:一个类是数字类,而由于误操作,错误的将数字类向数字类转换改写成了数字类向字符串类的转换,从而产生了异常。大部分原因是因为强制转换或者是SQL映射时发生了这个异常。解决:用 instanceof 关键字,给引用变量做类型的校验或者修改为正确的类型。...
2020-05-23 13:20:53 235
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人