• 【学习笔记】Java 一对一培训(2.2)Java基础逻辑


    【学习笔记】Java 一对一培训(2.2)Java基础逻辑

    • 关键词:Java、Spring Boot、Idea、数据库、一对一、培训、教学
    • 本文主要内容含Java 逻辑运算、Java 循环语句、Java 常见工具类、Java 常见数据结构、Java文件操作、封装继承多态
    • 计划2.5小时完成,请同学尽量提前准备。本部分主要代码实战!
    • 有学习需要请联系:xujian_cq
    • 手把手教学、腾讯会议一对一培训,所有代码都要敲一遍,有问题随时暂停解决
    • 前置内容(【学习笔记】Java 一对一培训(2.1)Java基础语法)链接

    文章导航栏

    (1)Java 一对一培训(第一部分)开发工具介绍和安装
    (2.1)Java 一对一培训(2.1)Java基础语法
    (2.2)Java 一对一培训(2.2)Java基础逻辑
    (3.1)Java 一对一培训(3.1)Spring Boot介绍和基础

    1 Java逻辑运算

    1.1 Java 逻辑运算

    • 常见的有+,-,*,/,%,++,–。
    • 依次理解如下内容
    		int a = 3;
            int b  = 5;
            long c = 8;
            float d = 6.6f;
            double e = 9.321;
            String str = "您好,";
            
            int sum = a + b;
            //重复介绍:System.out.println是在控制台输出内容
            System.out.println(sum);
            
            System.out.println(a + c);
            System.out.println(a / d);
            System.out.println(d * e);
            System.out.println(str + a);
            System.out.println(c % a);
            System.out.println(a ++);
            System.out.println(++ b);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    1.2 Java 逻辑判断

    • bool判断
    • if - else判断
    • switch - case判断
     		//bool判断
            System.out.println(a == a);
            System.out.println(a == b);
            System.out.println(a % b == c);
            //if-else判断
            if(a == 3){
                System.out.println("a是等于3的");
            }else{
                System.out.println("a不是等于3的");
            }
            //switch-case判断
            switch (a){
                case 1:
                    System.out.println("a等于1");
                    break;
                case 2:
                    System.out.println("a等于2");
                    break;
                case 3:
                    System.out.println("a等于3");
                    break;
                default:
                    System.out.println("a不等于1、2、3");
                    break;
            }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25

    2 Java 循环语句

    • for 循环
    • while循环
    • 迭代器(后面数组再讲)
    
            // for循环示例
            for(int i = 0; i < 10; i ++){
                System.out.println("fow循环:" + i);
            }
    
            //while 循环示例
            int i = 10;
            while (i > 0){
                i --;
                System.out.println("while循环:" + i);
            }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    3 常用工具类

    1. 输入输出:
            //获取到扫描器实例
            Scanner input=new Scanner(System.in);
            //等待和接收输入
            String str1 = input.next();
            //讲输入的内容输出到控制台
            System.out.println(str1);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    1. 字符串操作:长度、截取、拼接、大小写转换、对比、与其他类型的转换。
    2. 时间操作:时间格式化、时间计算、时间前后判断。
    3. 基础类型的大写:就行阿拉伯字母有中文大写一样。
    4. 数学计算:Math类
    5. 异常处理。

    4 常见数据结构

    4.1 数组

    
            //定义数组:长度一定
            String[] strs = new String[10];
            //数组赋值
            strs[0] = "hello";
            strs[1] = "world";
            //输出某个内容
            System.out.println(strs[0]);
            //数组循环输出(即迭代器输出)
            for (String s : strs) {
                System.out.println(s);
            }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    4.2 List

            //列表:长度不限
            List<String> list = new ArrayList<>();
            list.add("hello");
            list.add("world");
            System.out.println(list.get(0));
    
    • 1
    • 2
    • 3
    • 4
    • 5

    4.3 Map

    • 键值对
            //Map:键值对
            Map<String,String> map = new HashMap<>();
            //put key-value 进入map
            map.put("key","value");
            map.put("name","徐建");
            //从map中根据key 取得(get) 值
            System.out.println(map.containsKey("name"));
            System.out.println(map.get("name"));
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    4.4 Object

    • 万事万物都是Object

    5 文件操作

    • 使用FileInputStream、FileOutputStream进行文件操作。
    • 为他人提供一个工具类:写一个utils类
    • 文件操作工具类
    
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    
    /**
     *
     * 文件操作工具类
     **/
    public class FileUtils {
    
        /**
         * 读取文件
         * */
        public static String read(String content,String from) throws Exception{
            FileInputStream in = new FileInputStream(from);
            byte[] bs = new byte[in.available()];
            in.read(bs);
            in.close();
            return new String(bs);
        }
    
        /**
         * 写入文件
         * */
        public static void write(String content,String to) throws Exception{
            FileOutputStream out = new FileOutputStream(to);
            out.write(content.getBytes());
            out.flush();
            out.close();
        }
    
        /**
         * 拷贝文件
         * */
        public static void copy(String from,String to) throws Exception{
            //1. 取得输入、输出流
            FileInputStream in = new FileInputStream(from);
            FileOutputStream out = new FileOutputStream(to);
    
            //2.定义一个变量,记住每一个读取的字节
            int len;
    
            //3.获取拷贝文件前系统时间
            long beginTime = System.currentTimeMillis();
    
            //4.读取字节,判断是否到达文件末尾
            while((len = in.read()) != -1) {
                out.write(len);//写入文件
            }
            //5.获取文件拷贝结束时间并输出
            long endTime = System.currentTimeMillis();
            System.out.println("拷贝文件所消耗的时间为:" + (endTime - beginTime) +"毫秒");
    
            //6.关闭输入输出流
            in.close();
            out.close();
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 使用他人的工具(讲Spring Boot的时候再体验)

    6 Java面向对象

    • 面向对象的特征:封装、继承、多态

    6.1 封装

    在面向对象程式设计方法中,封装(英语:Encapsulation)是指一种将抽象性函式接口的实现细节部分包装、隐藏起来的方法。
    封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。
    要访问该类的代码和数据,必须通过严格的接口控制。
    封装最主要的功能在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段。
    适当的封装可以让程式码更容易理解与维护,也加强了程式码的安全性。
    封装的优点

    1. 良好的封装能够减少耦合。
    2. 类内部的结构可以自由修改。
    3. 可以对成员变量进行更精确的控制。
    4. 隐藏信息,实现细节。

    6.2 继承

    • 继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。
    • 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。
    public class Extends {
    
        /**
         * 父类:动物
         * */
        public static class Animal {
            //每种动物都有一个种类名称
            public String kindName;
            //每种动物都有DNA序列
            public String dnaLicense;
    
            //每种动物都具有吃东西的功能(方法)
            public void eat(String sth){
    
            }
        }
    
        /**
         * 子类:狗
         * 狗是一种动物,可以继承动物中共用的属性、方法
         * */
        public static class Dog extends Animal{
    
            //继承:假设有个输出动物信息的方法,则可以使用Animal类中的变量、方法,即继承
            public void info(){
                //输出父类的种类名称
                System.out.println(this.kindName);
                //输出父类的DNA序列
                System.out.println(this.dnaLicense);
                //调用父类的吃方法
                this.eat("baba");
            }
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34

    6.3 多态

    • 即多种形态
    • 子类能具备与父类不同、与兄弟类不同的方法、变量,或者同样的方法具备不同的功能的,就可以理解为多态
    • 再上述封装的基础上,我们再建立“移动”这个功能
    • 子类狗:移动方式是奔跑
    • 子类鱼:移动方式是游泳
    public class Extends {
    
        /**
         * 父类:动物
         * */
        public static class Animal {
            //每种动物都有一个种类名称
            public String kindName;
            //每种动物都有DNA序列
            public String dnaLicense;
    
            //每种动物都具有吃东西的功能(方法)
            public void eat(String sth){
    
            }
    
            public void move(){
                System.out.println("父类移动方法");
            }
        }
    
        /**
         * 子类:狗
         * 狗是一种动物,可以继承动物中共用的属性、方法
         * */
        public static class Dog extends Animal{
    
            //继承:假设有个输出动物信息的方法,则可以使用Animal类中的变量、方法,即继承
            public void info(){
                //输出父类的种类名称
                System.out.println(this.kindName);
                //输出父类的DNA序列
                System.out.println(this.dnaLicense);
                //调用父类的吃方法
                this.eat("baba");
            }
    
            @Override
            public void move() {
                System.out.println("狗的移动方法是奔跑");
            }
        }
        
        /**
         * 子类:鱼
         * 鱼是一种动物,可以继承动物中共用的属性、方法
         * 鱼的移动方法是游泳
         * */
        public static class Fish extends Animal{
    
            @Override
            public void move() {
                System.out.println("狗的移动方法是游泳");
            }
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56

    7 结语

    • 是时候了,慢慢进入状态。
  • 相关阅读:
    C# Winfrom 常用功能整合-1
    ChatGPT角色扮演教程,Prompt词分享
    《500强高管谈VE》-以VE ORIENTED管理为目标
    【备忘录】JavaScript代码段儿
    自动化运维?看看Python怎样完成自动任务调度⛵
    Matlab数值计算(多项式插值)
    SparkSQL的Shuffle分区设定及异常数据处理API(去重、缺失值处理)
    在雷电模拟器9上安装magisk并安装LSPosed模块以及其Manager管理器(一)
    HC32_HC32F072FAUA_FLASH使用
    vue3+ts项目04-国际化
  • 原文地址:https://blog.csdn.net/xujianflying/article/details/132942940