![](https://img-blog.csdnimg.cn/5a5f2ebb56154eedbc55d00e1c4b01d1.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java学习基础
Java基础知识学习专栏,上课笔记。
芝麻干
python是世界上最好的语言.java
展开
-
JAVA学习Day1 MarkDown语法详解
Typora中文网站:Typora 官方中文站 (typoraio.cn)表格生成需要点击下方启动源代码格式把中间的空行删除即可生成源代码格式:也可右键插入原创 2022-05-12 14:03:43 · 125 阅读 · 0 评论 -
计算机硬件及冯诺伊曼结构
一、冯·诺依曼体系结构的构成 冯·诺依曼奠定了现代计算机的硬件结构,它规定了计算机应该具有五大硬件单元。(输入设备、输出设备、存储器、运算器、控制器) 截止目前,我们所认识的计算机,都是由一个个的硬件组件组成。输入单元:包括键盘、鼠标、扫描仪、写字板等。中央处理器(CPU):含有运算器和控制器等。输出单元:显示器、打印机等。二、对冯·诺依曼体系的理解这里的存储器指的是内存。 不考虑缓存情况,这里的CPU能且只能对内存进行读写,不能访问外设(输入或...原创 2022-05-12 14:57:56 · 3270 阅读 · 0 评论 -
Java学习Day1 基本Dos命令
一. 打开cmd(1)Win+R键(2)在指定文件位置打开cmd在文件路径前+ cmd 空格二、基本dos命令(1)磁盘切换(2)查看目录 dir(3)切换磁盘 /d+磁盘:(4)清理屏幕 cls(clean screen)(5)打开应用计算机: calc 画图:mapoint 记事本: notepad(6)进入文件夹 cd 路径名(7)返回上一级目录 cd..(8) 创建文件夹 md+文件夹名...原创 2022-05-12 16:26:26 · 163 阅读 · 0 评论 -
Java学习Day1 安装开发环境
三个概念:JDK:Java Development Kit (java开发工具)JRE: Java Runtime Environment( Java运行环境)JVM: Java Virtual Machine( java虚拟机)其实,想要运行java文件,只需要jre即可附上一张图:JDK包含所有,所以只要下载jdk即可。运行环境安装:下载JDKJava Archive Downloads - Java SE 8 (oracle.com)(JDK8yyds)可能需要原创 2022-05-12 17:27:48 · 102 阅读 · 0 评论 -
Java学习第二天 开始入门 Hello World详解
前提:运行环境已经安装完成。即JDK。首先创建一个Java文件,右键——新建——随便选个记事本,名字改成xxx.java点击是,java文件就生成了接下来就是编写一个最简单的java程序,helloworld(每个程序员都是HelloWorld 开始的)程序如下public class Hello{ public static void main(String[]args){ System.out.print("Hello World"); }}接下来就是运.原创 2022-05-13 16:25:16 · 181 阅读 · 0 评论 -
Java学习第二天 入门:注释
注释?先上图:首先,要知道,注释本身是不会被执行的,当代码量比较少的时候,我们还可以看得懂自己写的代码,但如果代码行数较多,时间一久,就十分容易忘记自己写了啥,这个时候就需要注释。注释分为三种:单行注释、多行注释和文档注释。上图:单行注释:两条杆多行注释:/**/文档注释不多用不做解释。还有,注释在IDEA开发工具中是可以改颜色的:点击左上角file——setting——Editor——java——comment写注释是一个好习惯,要坚持哦!.原创 2022-05-13 17:37:42 · 867 阅读 · 0 评论 -
Java学习第二天 标识符和关键字
首先搞懂概念标识符:java所有组成部分都需要名字,类名、变量名以及方法名都是标识符关键字:用来标识文件中各个记录的特定数据项目的值。标识符有如下规则:1. 标识符只能以字母(A-Z或者a-z),美元符号$或下划线_开始2.$美元符号、_下划线和数字可以自由组合3.不可使用关键字作为标识符4.标识符大小写敏感。5.可以使用中文或拼音...原创 2022-05-13 18:11:35 · 99 阅读 · 0 评论 -
Java学习第二天 数据类型
首先要知道,Java是一种强类型语言,就是所有变量必须定义后才能使用。那么,什么是变量?变量就是可以定义的量!Java变量是程序中最基本的存储单元,包含变量名、变量类型和作用域。基本格式如下图:少一个都会报错。接下来就可以介绍数据类型了:数据类型包含基本类型和引用类型。基本类型就是我们平时用的,数字(整数,小数)字符、字符串 和 boolean类型引用类型后面可以学到,包含:接口、类、数组上图:重点理解基本数据类型。Java中有八大数据类型,简单做个分类.原创 2022-05-13 19:04:40 · 90 阅读 · 0 评论 -
Java学习Day3 数据类型的扩展
一、整数型扩展整数型扩展无非包含4种进制:二进制、十进制、八进制和十六进制。在Java语言中 二进制在数字开头加0b表示,八进制在数字开头加0表示,十六进制在数字开头加0x表示。如图:输出结果如下:其中,十六进制用0-9,A-F表示。二、浮点数扩展先看一个例子:f1和f2都是等于0.1其中f1==f2是判断f1和f2是否相等,输出结果为fasle。原因是因为浮点数类型能表现的字长数是有限的,离散的,浮点数中一般都会存在一种叫做舍入误差的东西,即没法精确的表示一..原创 2022-05-14 14:21:27 · 211 阅读 · 0 评论 -
Java学习第三天 类型转换
由于Java是强类型语言,运算中,要将不同类型的数据转换为同一类型进行运算,所以当我们进行某些运算的时候,需要使用类型转换。类型转换中,是有根据数据类型的容量大小(即字节大小)进行排序的,且小数优先级大于整数,直接上图:根据优先级不同,类型转换又分为强制类型转换(高到低)和自动类型转换(低到高)看个栗子:这个就是一种强类型转换,从高转到低,格式为:(类型)变量名但由于我特意加了内存溢出问题,即上述代码byte类型最大值只有127,所以输出结果为:这里内存溢出在数据类型转换原创 2022-05-14 15:14:15 · 96 阅读 · 0 评论 -
Java学习第三天 变量、常量、作用域
变量是什么?顾名思义,就是可以变化的量!还是那句话,java是一种强类型语言,每个变量都必须声明类型。三个注意事项:每个变量都有类型,可以是基本类型,也可以是引用类型。变量必须是合法的标识符变量是必须是一条完整的语句,因此每一个声明以分号结束。栗子:这些都是变量。二、变量作用域(重点)变量作用域可以分为:类变量、实例变量和局部变量。首先先看一个简单的Java程序:(1)实例变量实例变量是写在方法外的,从属于对象,默认值为0或0.0,且除..原创 2022-05-14 16:28:21 · 112 阅读 · 0 评论 -
Java学习第四天 基本运算符
算术运算符,很好理解,平时算数中的加减乘除,这里特别注意。%是求余的意思赋值运算符和关系运算符不多描述,记住一点:java中相等的意思是两个等于号==,不相等是!=逻辑运算符:&&是与(and),||是或(or),!是非的意思(是或不是)后面三个了解下,后面会深入。看个栗子(基本运算符):这里在运算时要注意数据类型,我们这里是int类型,所以a/b自动向下取整取0了。再看一个栗子:输出结果为这里就要提到一个规律了:当数值相加是...原创 2022-05-15 14:06:51 · 154 阅读 · 0 评论 -
Java学习第四天 JavaDos生成文档
它可以生成我们Java文件的Api文档附上JDKbang'z原创 2022-05-15 17:01:07 · 150 阅读 · 0 评论 -
Java学习第五天 java流程控制01 Scanner
Scanner是Java语言提供的一个工具类,我们可以通过Scanner类来获取用户的输入。基本语法:Scanner s =new Scanner(System.in);且有两种方式来获取数据:next(),nextLine()。使用next()获取数据:package scanner;import java.util.Scanner;public class Demo01 { public static void main(String[] args) {//原创 2022-05-16 15:07:44 · 203 阅读 · 0 评论 -
Java学习第五天 java流程控制02 顺序结构和选择结构
目录一、顺序结构二、选择结构1、if单选择结构2、if双选择结构:3、if多选择结构:4、if嵌套:5、switch选择结构:一、顺序结构在Java语言中,任何一种语句都离不开结构。顺序结构:Java最基本的结构就是顺序结构,除非特别指明,否则一步一步往下执行。这个就是最基本的顺序结构(一步一步运行下来的):public class ShunXuDemo{ public static void main(String[]args){原创 2022-05-16 20:45:00 · 134 阅读 · 0 评论 -
Java学习第六天 给自己创建一个BUG合集
今天遇到了一个bug,突发奇想写个bug合集,直接写:BUG1:2022.5.17:今天学了switch,想写一个最基本的switch结构(如下):这是一个正确的修改后的代码。package struct;import java.util.Scanner;public class SwitchDemo01{ public static void main(String[] args) { Scanner scanner = new Scanner(Sys原创 2022-05-17 15:03:12 · 260 阅读 · 2 评论 -
Java学习第六天 循环结构
Java语言中,循环结构分为三种:while、do...while和for循环。一、while循环:上图:看个基本的while循环例子(输出1-100的数):package struct;public class WhileDemo01 { public static void main(String[] args) {// 输出1~100的数的和 int i=0; while (i<100){原创 2022-05-17 20:13:43 · 80 阅读 · 0 评论 -
Java学习第六天 练习本
练习1:分别计算1-100里奇数和偶数的和使用while循环:package struct;public class WhileDemo02 { public static void main(String[] args) { int i =0;// 定义奇数和 double sum1=0;// 定义偶数和 double sum2=0; while(i<100){原创 2022-05-17 20:28:51 · 75 阅读 · 0 评论 -
Java学习第七天:增强for循环和break、continue
一、增强for循环:(1)这里我只和他见一面,做个了解,后面数组重点使用通过增强for循环遍历数组:public class ForDemo06 { public static void main(String[] args) {// 定义了一个数组 int[]number = {10,20,30,40,50};// for循环遍历数组 for (int i = 0; i <=5; i++) {原创 2022-05-18 17:55:57 · 1371 阅读 · 0 评论 -
Java学习第八天 方法的定义、调用和重载
一、何谓方法?Java方法是语句的集合,它们在一起执行一个功能。方法是解决一类问题的步骤的有序组合 方法包含于类或对象中 方法在程序中被创建,在其他地方被引用我们平时使用的 System.out.println() 就是一个方法 。System是一个类,out是一个对象,println就是方法。设计方法的原则:方法的本意是功能块,就是实现某个功能的语句块的集合。我们设计方法的时候,最好保持方法的原子性,就是一个方法只完成1个功能,这样利于我们后期的扩展。二、方法...原创 2022-05-19 13:06:53 · 106 阅读 · 0 评论 -
Java学习第八天 命令行传参和可变参数
写一个如上程序来进行命令行传参便于理解我们的main方法:package methods;public class Demo03 { public static void main(String[] args) { for (int i = 0;i<=args.length;i++){ System.out.println("args["+i+"]"+args[i]); } }}因为main方法参数为空,所以需..原创 2022-05-19 14:01:45 · 457 阅读 · 0 评论 -
Java学习第九天 递归
递归就是:A方法调用A方法,就是自己调用自己利用递归可以用简单的程序来解决一些复杂的问题。 它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的能力在于用有限的语句来定义对象的无限集合。递归包括两个部分:递归头:什么时候不调用自身方法。如果没有头,将陷入死循环。 递归体:什么时候需要调用自身方法。来看一个经典的递归例子:求n的阶层(n!)packag...原创 2022-05-20 17:06:46 · 129 阅读 · 0 评论 -
Java学习第九天 数组(定义、声明和创建)、三种初始化和内存分析
一、数组什么是数组?数组的声明和创建:(官方格式)声明:创建:上代码:package array;public class Demo01 { public static void main(String[] args) { int []number; //1.声明了一个数组 number=new int[10];//2.创建了一个数组// 3.给数组元素赋值 number[0]=..原创 2022-05-20 18:54:42 · 99 阅读 · 0 评论 -
Java学习第九天 数组的应用
1.打印数组的所有元素:package array;public class Demo02 { public static void main(String[] args) { int[] a = {1,2,3,4,5,6};// 打印所有数组元素 for (int i = 0; i < a.length; i++) { System.out.println(a[i]); } }}原创 2022-05-21 13:54:23 · 138 阅读 · 0 评论 -
Java学习第十天 多维数组
多维数组可以看成是数组的数组,比如二维数组就是一个特殊的一维数组,其每一个元素都是一个一维数组。二维数组:int a [] [] = new int[2][5];一个二维数组的结构大致可以看成这个样子:三维四维数组同理。看下代码: package array;public class Demo04 { public static void main(String[] args) {// 多维数组 int [][] array= {{1原创 2022-05-21 14:29:09 · 230 阅读 · 0 评论 -
Java学习第十天 稀疏数组
什么是稀疏数组?当一个元素中的大部分元素都为0,或者为同一数值时,可以用稀疏数组来保存。稀疏数组格式:第一行:原始数组有几行、几列、有效值个数第二行存放第一个有效值:在第几行、第几列、值为多少第三行存放第二个有效值:在第几行、第几列、值为多少以此类推。。。。可以参考下图:(左边数原始数组,后面是稀疏数组)该原始数组 6行 7列 8个有效值,放在稀疏数组第一行,第二行就是第一个有效值,在第0行第3列,值为22,后面依次存放++个有效值 。做个例子(写成代码):.原创 2022-05-21 20:00:55 · 143 阅读 · 0 评论 -
Java学习第十天 Array类的应用和冒泡排序
Array类:(1)数组的工具类java.util.Arrays(2)由于数组对象本身并没有什么方法可以供我们调用,但API中提供了一个工具类Arrays供我们使用,从而可以对数据对象进行一些基本的操作。(3)不懂可以查看JDK帮助文档(4)Arrays类中的方法都是static修饰的静态方法,在使用的时候可以直接使用类名进行调用,而"不用"使用对象来调用(注意:是"不用”而不是“不能")(5)具有以下常用功能:给数组赋值:通过fill方法。对数组排序:通过s...原创 2022-05-21 20:17:31 · 132 阅读 · 0 评论 -
Java学习第十一天 面向对象01 认识面向对象及回顾方法的定义和调用
面向对象编程(Object-Oriented Programming, OOP)面向对象编程的本质就是:以类的方式组织代码,以对象的组织(封装)数据。它本身是抽象的且具有三大特性:封装 继承 多态 Java的核心思想就是面向对象,简称oop。首先先分清楚面向过程和面向对象的区别:面向过程思想:步骤清晰简单,第一步做什么,第二步做什么.... 面对过程适合处理一些较为简单的问题。面向对象思想:物以类聚,分类的思维模式,思考问题首先会解决问题需要哪些分类,然后对这些分.原创 2022-05-22 15:34:33 · 196 阅读 · 1 评论 -
Java学习第十一天 面向对象02:类和对象
类是一种抽象的数据类型,它是对某一类事物整体描述/定义,但是并不能代表某一个具体的事物。动物、植物、手机、电脑....Person类、Pet类、 Car类等, 这些类都是用来描述/定义某一类具体的事物应该具备的特点和行为。对象是抽象概念的具体实例张三就是人的一个具体实例,张三家里的旺财就是狗的一个具体实例。 能够体现出特点,展现出功能的是具体的实例,而不是一个抽象的概念. 创建和初始化对象 :先创建一个学生类:package com.oop.demo02;//学生类.原创 2022-05-22 18:39:29 · 109 阅读 · 0 评论 -
Java学习第十一天 面向对象03:构造器
类中的构造器也称为构造方法,是在进行创建对象的时候必须要调用的。并且构造器有以下俩个特点:1. 必须和类的名字相同2. 必须没有返回类型,也不能写void我们仍然创建一个主方法和一个类:先实例化Person类 ,new,发现仍然能运行。这个时候调出Person的.class文件,发现里面有个方法:这说明了,1.一个类即使什么也没有,也会生成一个构造方法。2.new的本质就是调用了构造方法构造器可以初始属性值:运行结果:上面定义的都是无参构造方法..原创 2022-05-22 19:31:01 · 133 阅读 · 0 评论 -
Java学习第十二天 创建对象内存分析、简单小结类与对象
先创建一个类,和一个主方法:Application(存放主方法): public static void main(String[] args) { Pet dog = new Pet(); dog.name="旺财"; dog.age = 3; dog.shot(); System.out.println(dog.name); System.out.println(dog.age); }原创 2022-05-23 19:47:01 · 75 阅读 · 0 评论 -
Java学习第十三天 封装和继承
封装,顾名思义就是把数据包装起来,做到该露的露,该藏的藏。记住一句话就够了:属性私有,get/set。它的特点:高内聚,低耦合。高内聚就是封装起来的内部数据操作细节自己完成,不允许外部干涉。低耦合就是仅暴露少量的方法给外部使用。为什么要进行封装?提高程序安全性,保护数据 隐藏代码实现的细节 统一接口 系统可维护性增加直接看代码:Main方法:package com.oop.demo04;public class demo01 { public stati原创 2022-05-24 21:24:30 · 105 阅读 · 0 评论 -
Java学习第十三天 super关键字
super说到底就是调用父类的东西,只能在继承关系中使用,关键还是对比this关键字来看。看代码:调试类:package com.oop.demo05;public class Demo { public static void main(String[] args) { Student student = new Student(); System.out.println("===================================")原创 2022-05-24 22:29:16 · 113 阅读 · 0 评论 -
Java学习第十四天 方法重写
重写的前提也必须是继承。废话不多说,直接上代码:主方法:package com.oop.demo06;public class Demo { public static void main(String[] args) { A a = new A(); a.test();// 父类引用的方法指向了子类 B b = new A(); b.test(); }}A类:package com.o原创 2022-05-25 19:11:07 · 84 阅读 · 0 评论 -
Java学习第十五天 多态
即同一方法可以根据发送对象的不同而采用多种不同的行为方式。一个对象的实际类型是确定的(new Student()、new Person() ),但可以指向对象的引用的类型有很多。多态存在的条件有继承关系 子类重写父类方法 父类引用指向子类对象直接看代码:Application(主类):package com.oop.demo07;public class Application { public static void main(String[] args) {//原创 2022-05-26 21:54:06 · 86 阅读 · 0 评论 -
Java学习第十六天 Instanceof和类型转换
instanceof 的作用就是判断一个对象是什么类型。直接看代码:Application(主类):public class Application { public static void main(String[] args) {// Object>Person>Student// Object>Person>Teacher// Person>String Object student = new S原创 2022-05-27 17:27:27 · 142 阅读 · 0 评论 -
Java学习第十七天 static补充
直接看代码:定义了一个Student类:package com.opp.demo09;public class Student extends Person{// 静态变量 private static String name = "芝麻干";// 非静态变量 private int age = 18;// 静态方法 public static void run(){ System.out.println("跑");原创 2022-05-28 14:22:18 · 120 阅读 · 0 评论 -
Java学习第十八天 抽象类和接口的定义与实现
abstract修饰符可以用来修饰方法也可以修饰类如果修饰方法那么该方法就是抽象方法;如果修饰类,那么该类就是抽象类。抽象类中可以没有抽象方法,但是有抽象方法的类一定要声明为抽象类。抽象方法,只有方法的声明,没有方法的实现,它是用来让子类实现的。子类继承抽象类,那么就必须要实现抽象类没有实现的抽象方法, 否则该子类也要声明为抽象类。来看代码:Action(抽象类):package com.opp.demo10;// 抽象类:类:extend 单继承// 抽象类就原创 2022-05-28 14:50:08 · 366 阅读 · 0 评论 -
Java学习第十八天 异常
目录什么是异常?异常体系结构:Error和Exception的区别:异常处理五个关键字:throw 和throws:什么是异常?软件程序在运行过程中,非常可能遇到刚刚提到的这些异常问题,我们叫异常,英文是:Exception,意思是例外。这些例外情况,或者叫异常,怎么让我们写的程序做出合理的处理。而不至于程序崩溃。异常指程序运行中出现的不期而至的各种状况,如:文件找不到、网络连接失败、非法参数等。异常发生在程序运行期间,它影响了正常的程序执行流程。简单分类原创 2022-05-29 18:37:20 · 79 阅读 · 0 评论