基于《狂神说Java》Java基础--学习笔记

前言:

本笔记参考于学友:Estella1024 ;本笔记仅做学习与复习使用,不存在刻意抄袭。

------------------------------------------------------------------------------------------------------------

给各位学友强烈推荐《遇见狂神说》他的整套Java学习路线使我获益匪浅!!!

点击跳转至遇见狂神说哔哩哔哩首页

如果你也是狂神的小迷弟,可以加我好友一起探讨学习。


目录

前言:

Java流程控制

用户交互Scanner

循环结构

面向对象

封装

继承

多态

抽象类(abstract)

接口(interface)

内部类

 异常

 简单分类

异常体系结构​编辑

 Error

 运行时异常

 捕获和抛出异常

 自定义异常


本篇文章,不阐述基础doc,jdk等,我们直接上代码!

Java流程控制

用户交互Scanner

  • Java给我们提供了一个工具类Scanner,可以获取用户的输入(java学习基础阶段,开发者与机器的人机交互,今后使用会很少)。
  • java.util.Scanner是Java5的新特征,我们通过Scanner类来获取用户的输入。
  • 基本语法
Scanner sc = new Scanner(System.in); 
  • 通过Scanner类的 next()与 nextLine()方法获取用户的字符串,
  • 读取前一般用hasNext()与hasNextLine()判断是否还有输入的数据。
package com.example.demo1.demo;

import java.util.Scanner;

/**
 * @author liar
 */
public class ScannerTest {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("使用next方法接收:");
        //判断用户有没有输入字符串
        if(scanner.hasNext()){//还有输入
            //使用next方式接收
            String sstr = scanner.next();
            System.out.println("输出的内容为:"+sstr);
        }
        //凡是属于IO流的类如果不关闭会一直占用资源,要养成好习惯,用完就关掉
        scanner.close();

    }

}

其运行结果为:

 输入kuangshen  666

根据以上例子可总结:

  1. 一定要读取到有效字符才可以结束输入
  2. 对输入有效字符之前遇到的空白,next()方法会将其去掉
  3. 只有输入有效字符后才将其后面输入的空白作为结束符
  4. next()不能得到带有空格的字符串

nextLine()

  public static void main(String[] args) {
        //从键盘接收数据
        Scanner scanner = new Scanner(System.in);
        System.out.println("使用nextLine方法接收:");
        //判断用户有没有输入字符串
        if(scanner.hasNextLine()){//还有输入
            //使用next方式接收
            String sstr = scanner.nextLine();
            System.out.println("输出的内容为:"+sstr);
        }
        //凡是属于IO流的类如果不关闭会一直占用资源,要养成好习惯,用完就关掉
        scanner.close();
    }

输入kuangshen  666

根据以上例子可总结:

  1. Enter作为结束符,即返回输入回车之前所有的字符
  2. nextLine()可以获取空白

这里不再多说Scanner,进入下一个知识点。

循环结构

  • while循环
package com.example.demo1.demo;

/**
 * @author liar
 */
public class WhileTest {
    public static void main(String[] args) {
        //使用while计算1+2+3+......+100的结果
        //自定义一个i,与while(i < 100)结合使用,其目的是循环100次
        int i = 0;
        //定义一个count用来保存每次的计算结果
        int count = 0;
        //循环从i到100,直到i!<100时停止循环
        while(i < 100){
            //让i自增,现在i的值已经是1了
            i++;
            //count = count + i 的缩写
            count+=i;
        }
        //输出计算结果
        System.out.println("count:"+count);
    }
}

我们来看看结果

do while 与while的区别,实质上就是,while先判断,条件成立后才执行代码,而do while无论如何都会先执行代码一次再进行判断。这里不再阐述do while.

  • for循环
//(初始化;条件判断;迭代)
for(int i = 0;i <100;i++){
	i++;
	sum+=i;
}
for(;;){...}//死循环
  • 增强for循环
int[] numbers = {10,20,30,40,50};//定义一个数组
        for(int x:numbers){
            System.out.println(x); //遍历数组的元素10 20 30 40 50
        }
        //相当于
        for(int i = 0;i < 5;i++){
            System.out.println(numbers[i]);
        }

这里简述一下与循环类似的递归,说着相似,其实质是不同的,递归的核心是自己调用自己,这里用汉诺塔来简述一下递归。

package com.example.demo1.demo;
import java.util.Scanner;
public class TowersOfHanoi {
    static int m =0;//标记移动次数
    //实现移动的函数
    public static void move(int disks,char N,char M)
    {
        System.out.println("第" + (++m) +" 次移动 : " +" 把 "+ disks+" 号圆盘从 " + N +" ->移到->  " + M);
    }
    //递归实现汉诺塔的函数
    public static void hanoi(int n,char A,char B,char C)
    {
        if(n == 1) {//圆盘只有一个时,只需将其从A塔移到C塔
            TowersOfHanoi.move(1, A, C);//将编b号为1的圆盘从A移到C
        }
        else
        {//否则
            hanoi(n - 1, A, C, B);//递归,把A塔上编号1~n-1的圆盘移到B上,以C为辅助塔
            TowersOfHanoi.move(n, A, C);//把A塔上编号为n的圆盘移到C上
            hanoi(n - 1, B, A, C);//递归,把B塔上编号1~n-1的圆盘移到C上,以A为辅助塔
        }
    }
    public static void main(String[] args) {
        Scanner imput = new Scanner(System.in);
        char A = 'A';
        char B
  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 狂神是Java培训领域中的知名人物,他所开设的Java课程备受关注和好评。在Java学习过程中,配套笔记是至关重要的。狂神所说的Java配套笔记,就是他自己编写的一份针对Java初学者的笔记。这份笔记内容详实,包括Java基础语法、面向对象编程、数据库操作等多个方面。并且,狂神还会根据学员的反馈及时修改和完善这份笔记Java配套笔记对于Java学习的初学者来说,是一份非常好的辅助资料。通过这份笔记,初学者可以系统地学习Java编程涉及到的各个方面,同时也可以在学习过程中及时记录下重要的知识点,方便日后复习和查询。同时,这份笔记编写者是一位经验丰富的Java教育者,他对Java的理解和知识点的讲解都非常到位和深入浅出。 总之,Java配套笔记是一份非常重要的学习资料,它不仅可以帮助初学者更好地学习Java编程,还可以对Java学习者在日后的实际工作中提供有效的参考和帮助。如果你想学好Java,一份好的Java配套笔记绝对是必不可少的。 ### 回答2: 狂神说Java配套笔记是非常好的学习资料,对于刚学习Java的初学者来说尤其有用。这些笔记详细介绍了Java编程的一些基础知识,例如数据类型、变量、循环结构、方法等。而随着学习的深入,笔记也逐渐开始讲解Java中的高级特性,例如面向对象编程、异常处理等。 狂神说Java配套笔记的另一个优点是非常易于理解和学习。这些笔记使用了简单易懂的语言和生动的示例来阐述概念,使得学习者可以快速入门。此外,笔记中还包含了大量的练习题,可以帮助学习者巩固所学知识和加深理解。 除了配合视频课程使用,狂神说Java配套笔记也可以作为一个独立的学习资料来使用。学习者可以通过自学的方式来学习Java编程,掌握Java编程的基础知识和实践技能。 总之,狂神说Java配套笔记是一份非常优秀的学习资料,无论是初学者还是有一定Java基础学习者都可以从中受益。学习者只需要按照笔记的步骤一步一步地学习,就可以轻松掌握Java编程的基础知识。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值