
Java
暑假自学JAVA的笔记和总结
Alan_Lowe
世上没有白走的路,每一步都算数!——狂神
展开
-
Java自学|异常
Java自学|异常1.概念异常指的是程序运行中出现的不期而至的各种状况,如:文件找不到、网络连接失败、非法参数等异常放生再程序运行期间,它影响了正常的程序执行流程2.简单分类检查性异常:最具有代表的检查性异常时用户错误或问题引用的异常,这是程序员无法预见的,例如要打开一个不存在的文件时,一个异常就发生了,这些异常在编译时不能被简单的忽略。运行时异常:运行时异常是可能被程序员避免的异常。与检查性异常相反,运行时异常可以在编译时被忽略。错误:错误不是异常,而是脱离了程序员控制的问题。错误在原创 2021-07-11 22:13:32 · 106 阅读 · 0 评论 -
Java自学|内部类
Java自学|内部类1.概念内部类可以直接方法外部类的属性和方法可以通过外部类来实例化内部类2.实例先定义一个Outer类,它有一个私有属性age和共有方法out,还有一个内部类Inner:public class Outer { private int age; public void out(){ System.out.println("out"); } //内部类 class Inner{ public voi原创 2021-07-11 21:48:28 · 130 阅读 · 0 评论 -
Java自学|接口
Java自学|接口1.概念接口的本质是契约,就像法律一样,指定好了以后大家必须去遵守接口中的所有定义都是抽象的定义的关键字是interface接口都需要有实现类不能被实例化2.实例我们先定义了一个接口:public interface UserServise { //接口中所有定义都是抽象的 public abstract int add(int a,int b); int sub(int a,int b); int mul(int a,int b);原创 2021-07-11 21:06:52 · 170 阅读 · 0 评论 -
Java自学|抽象类
Java自学|抽象类1.概念加上关键字abstract知识声明了,而没有完成交给它的子类的完成抽象类中可以写普通方法抽象方法只能在抽象类中2.实例我们定义了一个Person类:public abstract class Person {}我们在它的子类中去new它,会发现会报错:public class Student extends Person{ new Person();}世上没有白走的路,每一步都算数!跟上狂神说Java!每个牛B的人背后都有段苦原创 2021-07-11 20:43:30 · 127 阅读 · 0 评论 -
Java自学|static详解
Java自学|static详解1.静态属性我们线定义一个Person类,他有一个静态属性age和一个和非静态属性name:public class Person{ private static int age; //静态属性 private String name; //非静态属性 public static void main(String[] args) { System.out.println(age); //直接用静态属性,正常原创 2021-07-11 20:32:24 · 160 阅读 · 6 评论 -
Java自学|instanceof和类型转换
Java自学|instanceof和类型转换1.概念instanceof关键字可以去判断两个类之间是否有父子关系如果一个对象时某个特定类或者时该特定类的子类的一个实例那么就返回真不能对两个没有直接向上关系的类进行如此操作(编译直接报错)格式:实例 instanceof 类 Person person = new Person(); System.out.println(person instanceof Person);2.实例我们先定义一个Person类//基类public原创 2021-07-11 17:37:35 · 185 阅读 · 2 评论 -
Java自学|多态
Java自学|多态1.概念动态编译,可扩展性同一方法可以根据发送对象的不同而采用多种不同的行为方式一个对象的实际类型是确定的,但可以指向对象的引用的类型有很多多态存在的条件:有继承关系子类重写父类方法父类引用指向子类对象多态是方法的多态,属性没有多态2.实例我们先定义一个Person类,它有一个print方法://基类public class Person { public void print(){ System.out.println("f原创 2021-07-11 13:41:45 · 111 阅读 · 2 评论 -
Java自学|this和super
Java自学|this和super1.概念this指的是当前对象super指的是父类2.实例同样,我们定义一个基类Person,有一个属性name://基类public class Person { String name = "Hello";}其次,定义一个子类Student,继承基类Person,并且子类也有一个属性是name://子类public class Student extends Person{ String name = "World";原创 2021-07-10 21:31:27 · 218 阅读 · 2 评论 -
Java自学|继承
Java自学|继承1.概念继承的本质时对某一批类的抽象,从而实现对现实世界更好的建模关键字:extendsJava中只有单继承,没有多继承继承时类和类之间的一种关系,除此之外还有依赖、组合、聚合等关系。继承关系的两个类,一个为子类(派生类),一个为父类(基类)。子类继承父类,用关键字extends来表示2.实例我们先定义一个Person类作为我们的基类,它有私有属性name和age,有public方法用来获取name和age://基类public class P原创 2021-07-10 21:01:56 · 311 阅读 · 2 评论 -
Java自学|封装详解
Java自学|封装详解1. 该露的露,该藏的藏程序设计要求“高内聚,低耦合”,就是类的内部数据操作细节自己完成,不允许外部干涉,仅暴露少量的方法供用户使用。打个比方,一台电视机,内部的构造和集成是已经完成了的,电视机被封装起来,只留下了几个开关键提供给用户去使用。2.属性类型、封装之前我们了解到的类的属性都是直接定义一个类型,前面没有加上修饰符,这样的话,我们可以直接通过一个对象访问到它的属性这样访问时没有任何问题的,但是如果我们将demo01这个类的name属性加上private修饰符的话原创 2021-07-10 20:23:43 · 151 阅读 · 0 评论 -
Java自学|构造器详解
Java自学|构造器详解一个类就算我们什么都不写,也会存在一个构造方法(与类名相同并且没有返回值的方法)类似于C++的构造函数在new一个对象的时候,这个构造方法会自动调用,如图中例子,对象demo的name就会自动被赋值为DEMO使用new关键字,本质就是在调用构造器,用来对对象进行初始化alt+insert可以自动生成构造器。世上没有白走的路,每一步都算数!跟上狂神说Java!每个牛B的人背后都有段苦逼的岁月,只要像sb一样的坚持,终将牛B!...原创 2021-07-10 18:48:29 · 120 阅读 · 0 评论 -
Java自学|面向对象编程,方法调用
Java自学|面向对象编程,方法调用1.什么是面向对象面向对象编程就是以类的方式组织代码,以对象的组织数据。三大特征:封装继承多态从认识论角度考虑是先有对象后有类,对象是具体的事物,类是对象的抽象从代码运行角度考虑是先有类后有对象,类是对象的模板2.方法的调用如果方法的类型是静态的,那么可以在另一个类中,通过该类类名直接调用:如果我们把print方法改为非静态,那么是不能通过demo01类名直接访问的,会出现报错:那么我们怎么样可以调用非静态的方法呢,可以把类实例化,然后再原创 2021-07-10 18:19:42 · 323 阅读 · 0 评论 -
Java自学|Arrays类及数组内容补充
Java自学|Arrays类及数组内容补充需要导入Arrays包 import java.util.Arrays;这里列举了几个常用的import java.util.Arrays;public class selfStudy { public static void main(String[] args) { int[] x = {1,50,20,10,100}; System.out.println(Arrays.toString(x)); //打印原创 2021-07-10 15:18:21 · 104 阅读 · 0 评论 -
Java自学|递归
Java自学|递归C++学过的话,肯定会非常熟悉了,就是自己调用自己。这里就随便写一个斐波那契的求解吧。import java.util.Scanner;public class selfStudy { public static void main(String[] args) { System.out.println("请输入你要求斐波那契的第几项:"); Scanner scanner = new Scanner(System.in);原创 2021-07-10 14:19:59 · 91 阅读 · 0 评论 -
Java自学|方法
Java自学|方法1.何为方法C++的函数内容,语句的集合,它们在一起执行一个功能,是一个功能块。import java.util.Scanner;public class selfStudy { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int a = scanner.nextInt(); print(a);原创 2021-07-10 14:09:13 · 119 阅读 · 0 评论 -
Java自学|交互Scanner
Java自学|交互Scanner1.Scanner对象java.util.Scanner是Java5得新特征,我们可以通过Scanner类来获取用户得输入基本语法: Scanner scanner = new Scanner(System.in);通过Scanner类得next和nextLine方法获取输入得字符串,在读取前可以使用hasNext和hasNextLine方法来判断是否有输入数据:import java.util.Scanner;public class selfStudy原创 2021-07-10 12:21:30 · 90 阅读 · 0 评论 -
Java自学|Doc
Java自学|Doc文档注释根据前面讲到的文档注释即/**加上回车/** * @author Alan_Lowe *///整个类的文档注释public class selfStudy { public static void main(String[] args) { int x = 1; } int a = 1; /** * @param a * @return */ //func方法的文档注释原创 2021-07-09 23:02:52 · 108 阅读 · 0 评论 -
Java自学|包机制
Java自学|包机制使用import带入包假如我们要使用java中的Scanner类,我们可以进行如下操作:import java.util.Scanner;public class selfStudy { public static void main(String[] args) { Scanner s = new Scanner(System.in); int a = s.nextInt(); }}第一行即导入了Scanner类。我们如原创 2021-07-09 21:41:02 · 114 阅读 · 0 评论 -
Java自学|运算符及一些常用问题补充
Java自学|运算符及一些常用问题补充1.直接进行进制转换public class selfStudy { static final double PI = 3.14; public static void main(String[] args) { int a = 100; String s = Integer.toBinaryString(a); //二进制串 System.out.println("二进制:" + s);原创 2021-07-09 21:27:16 · 214 阅读 · 0 评论 -
Java自学|Markdown语法详解
Java自学|Markdown语法详解写了很久的博客了,但是一直没有总结过Markdown(可能是因为上手很简单的原因?),这里我跟着狂神来总结一下。1.标题:#加一个空格,1-6个#代表了标题的等级,分别表示1到6级的标题。一级二级。。。。六级2.字体:Hello 前别分别两个*表示加粗Hello 前后分别一个*表示斜体Hello 前后分别三个*表示斜体加粗Hello 前后分别两个~加删除线3.引用引用了狂神说Java一个<符号就可以了4.分割线可以是原创 2021-07-09 13:28:54 · 712 阅读 · 0 评论 -
Java自学第三讲|利用boolean数组100以内筛素
Java自学第三讲|利用boolean数组100以内筛素前面忘记提到的一个函数: int a = (int)(Math.random()*36) + 1;表示生成一个1-36的数字赋值给a。public class ZX1{ public static void main(String[] args) { boolean[] a = new boolean[105]; for(int i = 2;i <= 100;++i) if(a[i] == false) fo原创 2021-07-08 23:07:39 · 506 阅读 · 0 评论 -
Java自学第三讲|数组
Java自学第三讲|数组1.一维数组的声明方式package zixue;public class ZX1{ public static void main(String[] args) { int[] a; //声明,方括号可以写到后面,像C++一样 double[] b; Student[] c; //对象数组 }}class Student{ int age; public void sayHello() { System.out.println("Hello!"原创 2021-07-08 22:54:41 · 173 阅读 · 0 评论 -
Java自学第三讲|流程控制语句
Java自学第三讲|流程控制语句1.简单语句 System.out.print("Hello World!"); a = 3 + b; b = a > 0 ? a : -a;Java没有表达式语句这个概念:"x+y"是不合法的。2.分支语句分支和C++类似if-else int a = 1; if(a % 2 == 1) System.out.println("a is a odd num"); else System.out.println("a is a even原创 2021-07-08 21:31:05 · 134 阅读 · 0 评论 -
Java自学第三讲|数据运算
Java自学第三讲|数据运算1.数据类型、变量与常量Java中的数据类型分为两大类:基本数据类型和引用类型。其中基本数据类型包括:整数类型(byte,short,int,long),浮点类型(float,double),字符型(char),布尔型(boolean)。引用数据类型包括:类(class),接口(interface),数组(1) 逻辑型boolean只允许取值true或false,不可以用整数进行赋值 boolean a = true; //不报错 boolean b = 1;原创 2021-07-08 16:55:51 · 165 阅读 · 2 评论 -
Java自学第二讲|简单的Java程序
Java自学第二讲|简单的Java程序1.Java程序的类型与基本构成分为Application和Apple程序前者是独立的程序,需要执行器(调用虚拟机)来运行;后者是嵌在HTML网页中的非独立的程序。Application程序中要点有:class是主体,public类名与文件同名,main()的写法是固定的,System.out.print及println及printfpublic class hellojava{ public static void main(String args[])原创 2021-07-08 14:16:34 · 144 阅读 · 4 评论 -
Java自学第一讲|前述
Java自学第一讲|前述Java语言的历史和特点官方网站:java.sun.comJava语言是一种面向对象的编程语言,它的语法结构与C和C++极为相似,所用的语法十分简单。Java语言有简单易学,面向对象,平台无关性,安全稳定,支持多线程等特点,有着丰富的库。Java可以理解为C+±-:无直接指针操作,自动内存管理,数据类型长度固定,不用头文件,不包含结构和联合,不支持宏,不用多重继承,无类外全局变量,无GOTO。面向对象程序设计对象(object)对象具有两方面的含义:在现实世界中是原创 2021-07-08 12:42:44 · 136 阅读 · 0 评论