
程序设计语言基础
文章平均质量分 82
程序设计语言基础
python,java,C++
大法师安东尼ds
这个作者很懒,什么都没留下…
展开
-
b-day1 C++ 基本语法
由于 a.k 和 a.u 共享内存,赋值给 a.k 会影响到 a.u.x,而不会影响 a.u.y 和 a.u.z。这表明 a.u.x 和 a.k 占用的是相同的内存位置,而 a.u.y 和 a.u.z 占用的是不同的内存位置。a.u.x 的值为 0,这是因为 a.k 被赋值 0,它覆盖了 a.u.x 所在的内存位置。a.u.y 和 a.u.z 的值依然为 5 和 6,这些值是之前赋的值。上半部分的菱形:打印一个顶部宽度逐渐增加的菱形。下半部分的菱形:打印一个底部宽度逐渐减小的菱形。原创 2024-08-06 17:42:16 · 190 阅读 · 0 评论 -
C++ 拾遗
宏是在预处理阶段进行文本替换的,即在代码被编译之前。宏通常是简单的字符串替换,它将代码中的宏名称替换为宏定义的文本。宏的替换是简单的文本替换,不进行类型检查。这可能导致一些问题,因为宏不关心数据类型,可能引入潜在的错误。由于是文本替换,宏可能会生成较大的代码。每次使用宏时,都会复制宏的内容,可能导致代码膨胀。宏不涉及函数调用,因此不需要调用栈。宏只是简单地进行文本替换。inline。原创 2024-01-02 22:22:49 · 818 阅读 · 0 评论 -
C++ 拾遗 2
在整个程序生命周期内都是有效的,在定义位置之后的任意函数中都能访问。全局变量在主程序退出时由系统收回内存空间。在函数或语句块使用在函数或语句块外部是不可用的。局部变量在函数返回或语句块结束时由系统收回内存空间。用static修饰的局部变量,并且只会被初始化一次。其,当定义它的函数或语句块结束时,其作用域随之结束。当程序想要使用全局变量的时候应该先考虑使用static考虑到数据安全性。全局变量和静态局部变量自动初始化为0。原创 2024-01-13 17:06:50 · 890 阅读 · 0 评论 -
C++ 单例模式
使用饿汉模式实现单例是十分简单的,并且有效避免了线程安全问题,因为将该单例对象定义为static变量,程序启动即将其构造完成了。原创 2024-01-13 17:01:38 · 672 阅读 · 0 评论 -
C++ 智能指针
⾸先,说⼀下为什么要使⽤智能指针:智能指针其作⽤是管理⼀个指针,避免咋们程序员申请的空间在函数结束时忘记释放,造成内存泄漏这种情况滴发⽣。然后使⽤智能指针可以很⼤程度上的避免这个问题,因为智能指针就是⼀个类,当超出了类的作⽤域是,,析构函数会⾃动释放资源。所以智能指针的作⽤原理就是在函数结束时⾃动释放内存空间,不需要⼿动释放内存空间。内存泄漏举例。原创 2024-01-13 16:02:25 · 1018 阅读 · 0 评论 -
Java-Ch 11:集合
1.集合框架概述/*** 一、集合框架的概述** 1.集合、数组都是对多个数据进行存储操作的结构,简称Java容器。* 说明:此时的存储,主要指的是内存层面的存储,不涉及到持久化的存储(.txt,.jpg,.avi,数据库中)** 2.1 数组在存储多个数据方面的特点:* > 一旦初始化以后,其长度就确定了。* > 数组一旦定义好,其元素的类型也就确定了。我们也就只能操作指定类型的数据了。* 比如:String[] a...原创 2021-09-10 08:37:43 · 231 阅读 · 0 评论 -
Java-Ch 10: 枚举类、注解
1 定义和适用范围/*** 一、枚举类的使用* 1.枚举类的理解:类的对象只有有限个,确定的。我们称此类为枚举类* 2.当需要定义一组常量时,强烈建议使用枚举类——属性亦为常量* 3.如果枚举类中只有一个对象,则可以作为单例模式的实现方式。** 二、如何定义枚举类* 方式一:jdk5.0之前,自定义枚举类* 方式二:jdk5.0,可以使用enum关键字定义枚举类*** @author shkstart* @create 2019 上午 10:17...原创 2021-09-02 15:38:34 · 173 阅读 · 0 评论 -
Java-Ch 9: 比较器Comparable接口
1 两种排序/** * 一、说明:Java中的对象,正常情况下,只能进行比较:== 或 != 。不能使用 > 或 < 的 * 但是在开发场景中,我们需要对多个对象进行排序,言外之意,就需要比较对象的大小。 * 如何实现?使用两个接口中的任何一个:Comparable 或 Comparator * * 二、Comparable接口与Comparator的使用的对比: * Comparable接口的方式一旦一定,保证Comparable原创 2021-08-30 22:55:36 · 222 阅读 · 0 评论 -
Java-Ch 9: 常用类(日期时间API,东西多用的时候再查)
1 java.util.Date类 |---java.sql.Date类package com.lee.java;import org.junit.Test;import java.util.Date;/** * @author Lee * @create 2021-08-25 10:15 */public class DateTimeTest { /* java.util.Date类 ...原创 2021-08-27 21:27:38 · 420 阅读 · 0 评论 -
Java Trick:IDEA 导入工程
1.复制module到要导入的Project文件目录下。如 JavaSenior下的day012.点击最右边的按键3.modules里面点击加号,然后一路next原创 2021-08-27 17:51:38 · 206 阅读 · 0 评论 -
Java-Ch 9: 常用类(字符串)
1 跟字符串相关的类:String类1.1 特性不可变性体现:1.当对字符串重新赋值时,需要重写指定内存区域赋值,不能使用原有的value进行赋值。 2. 当对现有的字符串进行连接操作时,也需要重新指定内存区域赋值,不能使用原有的value进行赋值。 3. 当调用String的replace()方法修改指定字符或字符串时,也需要重新指定内存区域赋值,不能使用原有的value进行赋值。/*String:字符串,使用一对""引起来表示。1.String声明为fi.原创 2021-08-24 17:20:17 · 248 阅读 · 0 评论 -
Java-Ch 8 : 多线程 2 (synchronized)
1. 线程的生命周期1.1 全流程(框图)1.调用start()先启动不一定先输出,因为不一定先被cpu执行2.yield()释放执行权,自己可能再抢到2 线程的同步2.1 安全问题A线程阻塞期间,B线程进去,减了两次2000*单例模式-懒汉式:给对象赋值时,如果有多个线程可能new多次2.2 买票问题(休眠:出现错票——>安全问题)what?package com.lee.java;/** * @author Le...原创 2021-08-20 20:05:59 · 193 阅读 · 0 评论 -
Java-Ch 8:多线程 1 (基础概念,创建方式)
1. 程序、进程、线程1.1 概念程序:一段静态代码。进程:运行中的程序,有生命周期。线程 (thread) (室友+厨房):一个进程里面可以有多个线程,并行执行。main就对应一个线程。1.2 单核CPU和多核CPU单核:主频高,轮流执行各个线程,伪多线程。多核:根据不同业务启动不同的核。并行与并发:1.3 多线程优点(单核为何需要多线程?)1.4 何时需要多线程?1.5 辨析1(能拿一条线画出来就不是多线程)1.6代码示例...原创 2021-08-16 22:04:42 · 481 阅读 · 1 评论 -
Java 面向对象(下 2)
1 接口1.1 定义/** 接口的使用* 1.接口使用interface来定义* 2.Java中,接口和类是并列的两个结构* 3.如何定义接口:定义接口中的成员* * 3.1 JDK7及以前:只能定义全局常量和抽象方法* >全局常量:public static final的.但是书写时,可以省略不写* >抽象方法:public abstract的* ...原创 2021-07-12 22:50:47 · 224 阅读 · 1 评论 -
Java 面向对象(下 1)
1 static/** static关键字的使用** 1.static:静态的* 2.static可以用来修饰:属性、方法、代码块、内部类** 3.使用static修饰属性:静态变量(或类变量)* 3.1 属性,按是否使用static修饰,又分为:静态属性 vs 非静态属性(实例变量)* 实例变量:我们创建了类的多个对象,每个对象都独立的拥有一套类中的非静态属性。当修改其中一个对象中的* 非静态属性...原创 2021-06-17 11:03:44 · 165 阅读 · 0 评论 -
Java 面向对象(中)2 —— Object类、包装类
1 Object类1.1 面试题: == 和 equals() 区别/** 一、回顾 == 的使用:* == :运算符* 1. 可以使用在基本数据类型变量和引用数据类型变量中 —— 两种变量都适用* 2. 如果比较的是基本数据类型变量:比较两个变量保存的数据是否相等。(不一定类型要相同)* 如果比较的是引用数据类型变量:比较两个对象的地址值是否相同.即两个引用是否指向同一个对象实体* 补充: == 符号使用时,必须保证符号左右两边的变量类型一致。* 二、equa...原创 2021-06-15 10:22:12 · 529 阅读 · 0 评论 -
Java 3 —— 数组
1 一维数组1.1 数组的基础知识package com.seuer.java;/** * * @author LF * */public class ArrayTest { public static void main(String[] args) { int[] ids;//声明 //1.1 静态初始化:数组初始化+元素赋值同时操作 ids = new int[]{101,102,103,104}; //1.2 动态初始化:分开进行 String原创 2021-05-22 17:49:34 · 329 阅读 · 0 评论 -
Java 2 —— 基本语法
1 关键字和保留字2 标识符2.1 命名规范3 变量public class VariableTest{ public static void main(String[] args){ int myAge = 12; int myNumber; myNumber = 1001; System.out.println(myNumber); }}3.1 变量的作用域通常是一个大括号内3.2 变量的类型(8种)...原创 2021-05-16 18:32:28 · 789 阅读 · 0 评论 -
Java 面向对象(上)1 —— 类
1 面向对象的三条主线Java类及类的成员:属性、方法、构造器;代码块、内部类面向对象的三大特征:封装、继承、多态其他关键字:this、super、static、final、abstract、interface、package、import1.1 面向对象和面向过程人把大象装进冰箱面向过程:强调的是功能行为,以函数为最小单位,考虑怎么做把冰箱打开、抬起大象塞进冰箱、关门面向对象:强调具备了功能的对象,以类/对象为最小单位,考虑谁来做 *人{ * 打开(冰箱){原创 2021-05-28 10:54:12 · 1053 阅读 · 0 评论 -
Java 4 面向对象(上)2 —— 封装
1 封装和隐藏/** 面向对象的特征一:封装与隐藏 3W:what? why? how?* 一、问题的引入:* 当我们创建一个类的对象以后,我们可以通过"对象.属性"的方式,对对象的属性进行赋值。这里,赋值操作要受到属性的数据类型和存储范围的制约。除此之外,没有其他制约条件。但是,在实际问题中,我们往往需要给属性赋值加入额外的限制条件。这个条件就不能在属性声明时体现,我们只能通过方法进行限制条件的添加。(比如:setLegs())* 同时,我们需要避免用户再使用"对象.属...原创 2021-06-04 15:39:14 · 232 阅读 · 0 评论 -
Java 项目2 —— MVC设计模式 (科班大一水平,非科班转行必看!最好能利用我给的模板独立完成!)
1 java.bean (5min)/** * */package bean;/** * @Description * @author LF E-mail:ljjrichard@163.com * @version * @date 2021年6月3日下午2:48:25 */public class Customer { private String name; //客户姓名 private char gender; //性别 private int age;...原创 2021-06-04 15:36:10 · 273 阅读 · 3 评论