Other

Java随想1

1If(条件){输出} Else{ }  2Switch确定范围 定值 Switch(i1){ Case 值: 输出 Break   3Do while循环 定值 Do{ 输出 运算 }while(范围)   4For循环 for(常量;范围;运算){ 输出() }  5while循环 While(条件){内容,运算 } 在条件范围内持续执行内容   6数组 Int[]名称={} 数组的for遍历: For(格式 n:数组名称){ 输出或运算 } 注:格式一般与数组相同。  Scanner.next 以空格作为间隔符,遇空格结束 Scanner.nextline 以enter作为间隔符,遇回车结束   学生管理手册中 无法全部排序,只能将最后的综合排序   面向对象,对应关系 注意sum的有无,如果每个后面都加sum,会导致最后的排序只有sum值是按照顺序排的, 不加sum是为了比较之后整体都是按照sum值排的。                    若程序执行到此处,就不再 执行这条语句所在的函数啦,也就是退出本层函数,并且,把return 后边的那个表达式的值带回给“调用本函数”的函数

JAVA 学习打卡 day3

2022-04-25 22:53:16  1.运算符 表达式是由操作数与运算符所组成Java中的语句有很多种形式,表达式就是其中一种形式。表达式是由操作数与运算符所组成,操作数可以是常量、变量也可以是方法,而运算符就是数学中的运算符号,如“+”“-”“*”“/ “%”等。以表达式z+100为例,“z”与“100”都是操作数,而“+”就是运算符     表达式是由操作数与运算符所组成的 Java提供了许多的运算符,这些运算符除了可以处理一般的数学运算外,还可以做逻辑运算、位运算等。根据其所使用的类的不同,运算符可分为赋值运算符、算术运算符、关系运算符、逻辑运算符、条件运算符、括号运算符等     一元运算符         算术运算符     关系运算符       自增与自减运算符    这和a++所代表的意义是不一样的。a++会先执行整个语句后再将a的值加1,而++b则先把b的值加1后,再执行整个语句     逻辑运算符   (1)对于与来说,要求所有的条件都判断,使用短路与如果第一个条件为false,则后面的条件将不再判断。  (2)对于或来说,要求所有的条件都判断,使用短路或如果第一个条件为true,则后面的条件将不再判断。     位操作符

第三章 面向对象编程

第三章 面向对象编程 面向对象3条主线 1) 类和类的成员的研究(memeber) 1) 属性(field) 2) 方法(method) 3) 构造器(constructor) 4) 语句块(block) 5) 内部类(nested class) 2) 面向对象的三大特征 1) 封装(encapsulation) 2) 继承(inheritance) 3) 多态(polymorphism) 3) 其他关键字 this, super, package, import, static, final, native, abstract ..... 面向对象原则 : 1)有现成的对象,直接拿来用 2) 没有现成的对象, 制造一个这样的对象 总而言之就是要通过对象来完成任务 面向对象与面向过程 区别 二者都是一种思想,面向对象是相对于面向过程而言的。面向过程,强调的是功能行为。面向对象,将功能封装进对象,强调具备了功能的对象。 面向对象更加强调运用人类在日常的思维逻辑中采用的思想方法与原则,如抽象、分类、继承、聚合、多态等。 OOP: Object Oriented Programming 面向过程:procedure oriented programming 面向对象的思想概述 程序员从执行者转化成了指挥者。 完成需求时: 先去找具有所需功能的对象来用。 如果该对象不存在,那么创建一个具有所需功能的对象。 这样简化开发并提高复用。 类(class)和对象(object)是面向对象的核心概念。 类是对现实世界事物的描述,是抽象的、概念上的定义 对象是实际存在的该类事物的一个个体,因而也称实例(instance)。 “万事万物皆对象”

实验3 控制语句与组合数据类型应用编程

实验任务1: 1 import random 2 print('用列表存储随机整数: ') 3 ls = [random.randint(1, 100) for i in range(5)] 4 print(ls) 5 print('\n用集合存储随机整数: ') 6 s1 = {random.randint(1,100) for i in range(5)} 7 print(s1) 8 print('\n用集合存储随机整数: ') 9 s2 = set() 10 while(len(s2)<5): 11 s2.add(random.randint(1,100)) 12 print(s2) 问题1:生成的随机整数范围是1-100,包括1和100 问题2:[0,1,2,3,4]不包括5 [1,2,3,4],不包括5问题3:是问题4:是  实验任务2: 1 datas = {'2049777001': ['篮球', '羽毛球', '美食', '漫画'], 2 '2049777002': ['音乐', '旅行'], 3 '2049777003': ['马拉松', '健身', '游戏'], 4 '2049777004': [], 5 '2049777005': ['足球', '阅读'], 6 '2049777006': ['发呆', '闲逛'], 7 '2049777007': [], 8 '2049777008': ['书法', '电影'], 9 '2049777009': ['音乐', '阅读', '电影', '漫画'], 10 '2049777010': ['数学', '推理', '音乐', '旅行']} 11 d1 = set() 12 a1 = [] 13 for x in datas.

Shell流程控制

Shell流程控制 if 判断 基本语法 # 语法一,分号表示一条命令的结束 if [ 条件判断式 ];then 程序;fi # 语法二 if [ 条件判断式 ] then 程序 fi 注意:if 后面必须要有空格 实战 [root@zookeeper1 shell]# age=7 # 如果7<=age<=17则输出ok [root@zookeeper1 shell]# if [ $age -ge 7 ] && [ $age -le 17 ];then echo ok;fi ok # 可以将条件写在一对[]里面,用-a(and)连接也是一样的作用,如果是||则用-o(or)连接 [root@zookeeper1 shell]# if [ $age -ge 7 -a $age -le 17 ];then echo ok;fi ok 多分支语法 if [ 条件判断式 ] then 程序 elif [ 条件判断式 ] then 程序 else 程序 fi 实战

华为od题 第81题 --python

'''程序员小明打了一辆出租车去上班。出于职业敏感,他注意到这辆出租车的计费表有点问题,总是偏大。 出租车司机解释说他不喜欢数字4,所以改装了计费表,任何数字位置遇到数字4就直接跳过,其余功能都正常。 比如: 1. 23再多一块钱就变为25; 2. 39再多一块钱变为50; 3. 399再多一块钱变为500; 小明识破了司机的伎俩,准备利用自己的学识打败司机的阴谋。 给出计费表的表面读数,返回实际产生的费用。 输入描述: 只有一行,数字N,表示里程表的读数。 (1<=N<=888888888)。 输出描述: 一个数字,表示实际产生的费用。以回车结束。 示例1: 输入 5 输出 4 说明 5表示计费表的表面读数。 表示实际产生的费用其实只有4块钱。 示例2: 输入 17 输出 15 说明 17表示计费表的表面读数。 15表示实际产生的费用其实只有15块钱。 示例3: 输入 100 输出 81 说明:100表示计费表的表面读数,81表示实际产生的费用其实只有81块钱'''n = int(input())i =1cs =0num_list = []while i <=100: if '4' not in str(i): num_list.append(str(i)) else: # 把数值里面的4替换成5,再给i赋值为新替换的数 old_str = str(i) new_str = old_str.replace('4','5') num_list.append(new_str) i = eval(new_str) i =i+1new_num_list = [int(x) for x in num_list]#求差数和for i in range(len(new_num_list)-1): if new_num_list[i+1] - new_num_list[i] !

JAVA 学习打卡 day2

2022-04-23 16:43:32  1.字符类型 (1)字符和整型之间的相互转换 给字符变量赋值可以使用数值和字符,它们都可以使程序正确地运行。要注意的是,字符要用一对单引号('')括起 (2)常用转义字符    2.浮点数类型与双精度浮点数类型 使用浮点型数值时,默认的类型是double,在数值后面可加上D或是d,作为double类型的标识。在Java中,D或d是可有可无的。在数据后面加上F或是f,则作为float类型的识别。若没有加上,Java就会将该数据视为double类型,而在编译时就会发生错误,错误提示会告诉设计者可能会失去精确度。  3.基本数据类型的默认值 在Java中,若在变量的声明时没有给变量赋初值,则会给该变量赋默认值   4.数据类型的转换 (1)数据类型的自动转换(扩大转换) 在程序中已经定义好了数据类型的变量,若是想用另一种数据类型表示时,Java会在下列的条件皆成立时,自动做数据类型的转换: 转换前的数据类型与转换后的类型兼容 转换后的数据类型的表示范围比转换前的类型大 值得注意的是,类型的转换只限该行语句,并不会影响原先所定义的变量的类型,而且通过自动类型的转换,可以保证数据的精确度,它不会因为转换而损失数据内容,这种类型的转换方式也称为扩大转换。 任何类型的数据都向String转型 (1)String可以像普通变量那样直接通过赋值的方式进行声明。字符串是使用“”括起来的。两个字符串之间可以使用“+”进行连接。 (2)任何数据类型碰到String类型的变量或常量之后都向String类型转换。             这样的输出结果为12  (2)数据类型的强制转换   因为这种强制类型的转换是直接编写在程序代码中的,所以也称为显式转换 此外,若是将一个超出该变量可表示范围的值赋值给这个变量时,这种转换称为缩小转换。由于在转换的过程中可能会丢失数据的精确度,Java并不会自动做这些类型的转换,此时就必须要做强制性的转换   

简单理解Javascript执行机制

JS是单线程 JavaScript语言的一大特点就是单线程,也就是说,同一个时间只能做一件事。这是因为Javascript这门脚本语言诞生的使命所致一JavaScript 是为处理页面中用户的交互,以及操作DOM而诞生的。比如我们对某个DOM元素进行添加和删除操作,不能同时进行。应该先进行添加,之后再删除。 单线程就意味着,所有任务需要排队,前一个任务结束,才会执行后一个任务。 这样所导致的问题是:如果JS执行的时间过长,这样就会造成页面的渲染不连贯,导致页面渲染加载阻塞的感觉。 同步和异步 为了解决这个问题,利用多核CPU的计算能力, HTML5提出Web Worker标准,允许JavaScript脚本创建多个线程。于是, JS中出现了同步和异步。 同步 前一个任务结束后再执行后一个任务,程序的执行顺序与任务的排列顺序是一致的,同步的。 异步 可以简单地理解为,做某件事的同时,还可以去处理其他的事情 JS执行机制 先执行执行栈中的同步任务 异步任务(回调函数)放入任务队列中 一旦执行栈中的所有同步任务执行完毕,系统就会按次序读取任务队列中的异步任务,于是被读取的异步任务结束等待状态,进入执行栈,开始执行。 什么是事件循环(event-loop) 主线程从任务队列中读取事件,这个过程是循环不断的,所以整个的这种运行机制又称为Event Loop(事件循环)。

查出用户UID最大值的用户名、UID及shell类型

关键命令 cat /etc/passwd | cut -d: -f1,3,7 | sort -t: -k2 -n | tail -n1  说明: 1.先在/etc/passwd/查出用户名、UID及shell类型  2.根据查出的进行sort排序 3.tail -n 1 取出最后1条记录,即为:用户UID最大值的用户名、UID及shell类型  补充: sort参数   

实验三

import random print('用列表存储随机整数: ') ls = [random.randint(1, 100) for i in range(5)] print(ls) print('\n用集合存储随机整数: ') s1 = {random.randint(1,100) for i in range(5)} print(s1) print('\n用集合存储随机整数: ') s2 = set() while(len(s2)<5): s2.add(random.randint(1,100)) print(s2)   datas = {'2049777001': ['篮球', '羽毛球', '美食', '漫画'], '2049777002': ['音乐', '旅行'], '2049777003': ['马拉松', '健身', '游戏'], '2049777004': [], '2049777005': ['足球', '阅读'], '2049777006': ['发呆', '闲逛'], '2049777007': [], '2049777008': ['书法', '电影'], '2049777009': ['音乐', '阅读', '电影', '漫画'], '2049777010': ['数学', '推理', '音乐', '旅行']} a = list(datas.