java教程推荐,视频或文档

有哪些java教程推荐,零基础入门,讲得比较详细,通俗易懂,比如视频或为文档

上b站找个教程看完,跟着敲代码,基本就可以了

  • 你可以看下这个问题的回答https://ask.csdn.net/questions/7729937
  • 这篇博客你也可以参考下:java学习笔记3:用记事本写第一个java程序,第一个java程序常见错误总结,第一个java程序详细解析
  • 你还可以看下java参考手册中的 java-学习Java语言 - 描述Java编程语言的基本概念和特点的课程。-类和对象》描述了如何编写创建对象的类,以及如何创建和使用对象。-物品
  • 除此之外, 这篇博客: Java底层知识面试题中的 Java中的强引用,软引用,弱引用,虚引用有什么用? 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 强引用
    之前我们使用的大部分引用实际上都是强引用,这是使用最普遍的引用。比如下面这段代码中的object和str都是强引用

    Object object = new Object();
    String str = "StrongReference";
    

    软引用:
    对象处在有用但是非必须的状态。
    只有当内存空间不足时,GC会回收该引用的对象的内存。
    可以用来实现高速缓存。

    String str = new String("abc"); // 强引用。
    SoftReference<String> softRef = new SoftReference<String> (str); // 软引用
    

    弱引用:
    非必须的对象,比软引用更弱一些。
    GC 时会被回收。
    被回收的概率也不大,因为GC线程的优先级比较低。
    适用于引用偶尔被使用且不影响垃圾收集的对象。

    虚引用:
    不会决定对象的生命周期。
    任何时候都可能被垃圾收集器回收。
    跟踪对象被垃圾收集器回收的活动,起哨兵的作用。(垃圾回收要开始的时候,会先收集这类对象)。
    必须和引用队列Reference Queue 联合使用。

  • 您还可以看一下 郭宏志老师的Java小白修炼手册课程中的 风闻丧胆:Java论就业,谁与争锋?小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    推荐适合零基础学习Java的教程: 1. 零基础学Java,网易云课堂 https://study.163.com/courses-search?keyword=java&searchType=1 2. Java入门课,慕课网 https://www.imooc.com/learn/26 3. 廖雪峰Java教程 https://www.liaoxuefeng.com/wiki/1252599548343744 4. 菜鸟教程Java入门 https://www.runoob.com/java/java-tutorial.html

    针对输入字符串中各个类别字符的个数的问题,可以参考以下代码,先从控制台输入一行字符串,然后统计其中的数字、字母、空格、其他字符数量,并输出。

    import java.util.Scanner;
    
    public class CharCount {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            System.out.println("请输入一行字符串:");
            String str = scanner.nextLine();
    
            int digitCount = 0;
            int letterCount = 0;
            int spaceCount = 0;
            int otherCount = 0;
    
            for (int i = 0; i < str.length(); i++) {
                char ch = str.charAt(i);
                if (Character.isDigit(ch)) {
                    digitCount++;
                } else if (Character.isLetter(ch)) {
                    letterCount++;
                } else if (Character.isSpaceChar(ch)) {
                    spaceCount++;
                } else {
                    otherCount++;
                }
            }
    
            System.out.println("数字个数:" + digitCount);
            System.out.println("字母个数:" + letterCount);
            System.out.println("空格个数:" + spaceCount);
            System.out.println("其他字符个数:" + otherCount);
        }
    }
    

    针对从键盘输入两个数,然后计算它们相除后得到的结果并输出的问题,可以参考以下代码。

    import java.util.Scanner;
    
    public class Div {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
    
            System.out.println("请输入第一个数:");
            float a = scanner.nextFloat();
    
            System.out.println("请输入第二个数:");
            float b = scanner.nextFloat();
    
            if (b == 0) {
                System.out.println("除数不能为0");
                return;
            }
    
            float result = a / b;
            System.out.println(a + " / " + b + " = " + result);
        }
    }
    

    针对被动引用、类的关系和对象的创建问题以及Java反射机制,建议先学习Java基础语法相关内容,并实践相关题目和案例,逐步深入学习Java高级特性和原理。可参考上述推荐的Java学习教程,进行系统学习和实践。