动/静态语言、强/弱类型语言、编译型/解释形语言的区别
动/静态语言、强/弱类型语言、编译型/解释形语言的区别动态类型语言和静态类型语言的区别 动态语言/动态类型语言 理解:在编程时不会给变量定义类型,运行期间才会做数据类型的检查,语言会在该变量第一次赋值时判断该值的类型,并将数据类型记录下来。python就是典型的动态类型语言。 静态语言/静态类型语言 理解:与动态类型语言恰好相反,在编程中定义变量时就要声明该变量的数据类型,在编译期间检查。C、C++、Java就是典型的静态类型语言。 强类型语言和弱类型语言的区别 强类型语言/强制数据类型定义语言 理解:变量定义了数据类型后,如果不经过强转,数据就不能转换为别的数据类型,此语言是数据 安全的语言。C、C++、Java就是强类型语言 弱类型语言 理解:变量可赋不同类型的语言,也就是说此语言常常会隐式转换数据,JavaScript就是弱类型语言 注意: 强弱类型语言并没有非常明确的定义 因为强类型语言需要对每个变量类型做判断,所以强类型语言在速度上要比弱类型略逊一筹,换言之强类型语言带来的严谨性能够避免在变量类型及...
千锋JavaDay02
Day02一、Hello的扩展1.详解代码1234567891011121314151617181920212223242526272829/** 编写人:千锋彭于晏 时间:2022/12/29 版本:1.0*///公有的类叫做Hellopublic class Hello{ //公有的静态的无返回值的方法叫做main public static void main(String[] args){ //系统输出打印语句("打印内容"); System.out.println("HelloWorld...1"); System.out.println("HelloWorld...2"); System.out.println("HelloWorld...3"); }}/* public - 公有的 class - 类 Hello - 类名 static - 静态的 void - 无返回值的 main - 方法名 String - 字符串类型(ps:&q...
深入乱码
什么是字符集和字符编码? **字符:**在计算机和电信技术中,一个字符是一个单位的字形、类字形单位或符号的基本信息。即一个字符可以是一个中文汉字、一个英文字母、一个阿拉伯数字、一个标点符号等。 **字符集:**多个字符的集合。例如GB2312是中国国家标准的简体中文字符集,GB2312收录简化汉字(6763个)及一般符号、序号、数字、拉丁字母、日文假名、希腊字母、俄文字母、汉语拼音符号、汉语注音字母,共 7445 个图形字符。 **字符编码:**把字符集中的字符编码为(映射)指定集合中的某一对象(例如:比特模式、自然数序列、电脉冲),以便文本在计算机中存储和通过通信网络的传递。 **字符集和字符编码的关系 **字符集是书写系统字母与符号的集合,而字符编码则是将字符映射为一特定的字节或字节序列,是一种规则。通常特定的字符集采用特定的编码方式(即一种字符集对应一种字符编码(例如:ASCII、ISO-8859-1、GB2312、GBK都是即表示了字符集又表示了对应的字符编码,但Unicode不是,它采用现代的模型)),因此基本上可以将两者视为同义词。 为什么乱码是问号不是其他符号呢...
方法
一.方法二.普通的方法语法结构: 案例:声明一个方法,打印5行三角形 三.带有参数的方法语法结构: 案例1:声明一个方法,打印指定行的三角形 案例2:声明一个方法,打印指定行和符号的三角形 四.带有返回值的方法语法结构: 案例1:声明一个方法,传入两个int类型的数字,返回之和 案例2:声明一个方法,传入三个int类型的数字,返回最大值 案例3:声明一个方法,传入三个int类型的数字,返回最小值 五.方法的重载应用场景: 条件:
命名规范资料
命名规范分类 匈牙利命名法 基本原则是:变量名=属性+类型+对象描述 ps:int g_int_age = 18;(g_ 全局变量/c_ 常量/m_ 局部变量/s_ 静态变量) 下划线命名法 基本原则是:单词与单词之间用下划线隔开,UNIX/LIUNX环境下普遍使用 ps: String file_name = “波多野结衣.avi”; 驼峰命名法(小驼峰命名法) 基本原则是: 第一个单词以小写字母开始,后续单词首字母都采用大写字母 作用:方法、变量 ps:String fileName = “波多野结衣.avi”; 帕斯卡命名法(大驼峰命名法) 基本原则是: 每个单词首字母都采用大写字母 作用:类、接口 ps:public class UserController 总结:不管使用什么命名法,命名最好有意义,起到见名知意的作用
数组
数组前言数据结构分类 数据结构中数据按逻辑结构分为:线性结构、非线性结构 常用的线性结构有:线性表(顺序存储、链式存储)、栈、队列、双端队列、串(一维数组); 常见的非线性结构有:二维数组、多维数组、矩阵、散列表、树、堆、图。 线性结构的特征 集合中必存在唯一的一个”第一个元素”; 集合中必存在唯一的一个”最后的元素”; 除最后元素之外,其它数据元素均有唯一的”后继”; 除第一元素之外,其它数据元素均有唯一的”前驱”。 线性结构作为最常用的数据结构,其特点是数据元素之间存在一对一的线性关系。 如(a0,a1,a2,…..,an),a0为第一个元素,an为最后一个元素,此集合为一个线性结构的集合。 非线性结构,其逻辑特征是一个节点元素可能有多个直接前驱和多个直接后继。 线性数据结构存储方式 顺序存储结构:顺序表 链式存储结构:链表 常用线性数据结构 常用的线性结构有:线性表(顺序存储、链式存储)、栈、队列、双端队列、串(一维数组)。 线性表(Linear List)就是数据排成像一条线一样的结构,数据只有前后两个方向。 线性表分为顺序存储和链式存储。 ...
数组的查找
数组的查找线性查找概念 线性查找也叫顺序查找,这是最基本的一种查找方法,从给定的值中进行搜索,从一端开始逐一检查每个元素,直到找到所需元素的过程。 元素序列的排列可以有序,也可以无序。 代码实现12345678910111213141516171819202122232425262728293031323334353637383940public class Test01 { public static void main(String[] args) { //线性查找 int[] arr = {45, 62, 15,62, 78, 30}; int index = sequentialSearch01(arr, 62); System.out.println("指定元素首次出现的下标位置:" + index); List<Integer> indexList = sequentialSearch02(arr, 62); System.out.println("指定元素出现...
数据的排序
数组的排序前言排序概念 排序是将一组数据,依据指定的顺序进行排列的过程。 排序是算法中的一部分,也叫排序算法。算法处理数据,而数据的处理最好是要找到他们的规律,这个规律中有很大一部分就是要进行排序,所以需要有排序算法。 常见的排序算法分类 排序分为:内部排序和外部排序。 内部排序:是将需要处理的所有数据加载到内存中进行排序; 外部排序:当数据量过大,无法全部加载到内存中,需要借助外部存储(文件、磁盘等)进行排序。 交换排序(冒泡排序、快速排序) 选择排序(选择排序、堆排序) 插入排序(插入排序、希尔排序) 归并排序 桶排序、 计数排序、基数排序 算法稳定性 假设在数列中存在a[i]=a[j],若在排序之前,a[i]在a[j]前面;并且排序之后,a[i]仍然在a[j]前面,则这个排序算法是稳定的。 如何分析算法分析算法的执行效率 最好、最坏、平均情况时间复杂度。 时间复杂度的系数、常数和低阶。 比较次数,交换(或移动)次数。 分析排序算法的稳定性 概念:如果待排序的序列中存在值相等的元素,经过排序之后,相等元素之间原有的先后顺序不变。 稳定性重...
面向对象
面向对象概念 现实生活: 类:抽象的概念,把具有相同特征和操作的事物归为一类 先有实体,再有类的概念 代码世界: 类:抽象的概念,把具有相同属性和方法的对象归为一类 编写顺序:先有类,再创建对象 类的作用:类相当于一个模板,刻画出具有相同属性和方法的对象 类 类中只有属性和方法 属性也叫做全局变量,属性分为成员变量和静态变量 方法分为成员方法和静态方法 1234567891011121314151617public class 类名{ //属性也叫做全局变量,分为成员变量和静态变量 //成员变量 数据类型 变量名; //静态变量 static 数据类型 变量名; //方法分为成员方法和静态方法 //成员方法 访问修饰符 返回值类型 方法名([参数]){} //静态方法 访问修饰符 static 返回值类型 方法名([参数]){}} 对象 创建对象的语法:类名 对象名 = new 类名...
回顾
标识符 含义:给类、变量、方法、接口取名字的时候使用到的字符序列 组成:大小写字母 、数字、$、_、中文 注意事项: 不能以数字开头 区分大小写字母 不能使用除了$和_以外的特殊符号 不能使用Java的关键字 考虑到编码问题不要使用中文 关键字 含义:Java给我们提供的具有特殊意义的单词 经验:不用记,后续会逐一学习每个关键字到底是怎么使用的 ps:public(公有的)、static(静态的)、void(无返回值) 变量 含义:在程序执行过程中,可以发生改变的量 基本数据类型 byte(字节型):1字节 short(短整型):2字节 int(整型):4字节 long(长整型):8字节 float(单精度浮点型):4字节 double(双精度浮点型):8字节 char(字符型):2字节 boolean(布尔型):4字节 注意: boolean单独使用时是4个字节,boolean数组中元素是占用1字节 char的数据是使用单引号括起来 取值范围 byte:-128~127 int:-21亿~21亿 char:0~65535 基本数据类型的转换 自动转型...









