当前位置: 首页 > news >正文

做网站必须学php吗如何制作一个二维码

做网站必须学php吗,如何制作一个二维码,网站建设电话营销话术,江苏科技大学新校区建设网站一、编译原理和开发效率 编译速度#xff1a; C# #xff08;约大于等于#xff09; JAVA Python python的编译原理 前提#xff1a;python 3.6 python不会直接编译源码 而是把源码直接扔给解释器#xff0c;这种方式 使得python非常灵活#xff0c;让它的开发效…一、编译原理和开发效率 编译速度 C# 约大于等于 JAVA Python python的编译原理 前提python 3.6 python不会直接编译源码 而是把源码直接扔给解释器这种方式 使得python非常灵活让它的开发效率非常高。 它非常适合数据分析、脚步编写和web开发当然缺点就是它比编译语言慢因为它是逐行解释的代码的 Java的编译原理 前提jdk8 首先java源代码被编译成字节码.class文件)运行时由jvm(Java虚拟机执行将其转换成机器码由于java里面使用JIT(即时编译在执行之前动态编译关键的字节码所以Java的运行速度相对比Python快2-4倍。 其次Java8及以上默认开启了分层编译一般有client编译器和server编译器两种编译器混合编译以达到最高的性能 C#的编译原理 前提net core 3.0 由RoslynC# 和 Visual Basic编译器进行编译成IL(也就是中间语言),然后(.netcore clr)运行时会对其进行编译并将其执行。当然.net平台也使用的分层编译的机制对IL进行相关优化。 **开发效率 Python C# JAVA ** 至于为啥开发效率会是这样主要是它们的语法灵活性导致的后面我将对比它们的一些基础语法。 二、常用的数据类型 1.python里常用数据类型 2.java里常用数据类型 3.C#里常用数据类型 讲讲Tuple C#和Python里面有 它是一组类型不同的数据集合不可变的 List Set 是在python 、c#、JAVA里面都有的 这个出现了个Dictionary 也就是字典 在JAVA的表现形式略有不同它用的Map其实功能都是差不多的 都是存放键值对的 然后我们来看看 python里面 List Set Dictionary 是怎么取值的 在Python和C#里面 List 和 Tuple 使用的索引(下标-index) list.[index] 取值/赋值 Dictionary 使用的索引key) dict.[key] 取值和赋值 在JAVA里面 List 和 Set 使用的索引(下标-index) get(index) 取值和赋值 Dictionary 使用的索引key) get(key) 取值和赋值 4.小结: 1.Python最灵活毕竟是弱类型语言,约束性低,当然排查错误很难是它最大的缺点对于List Set Map(Dictionary)来说Java的init方式设计的并不好Java的获取值和设置值需要使用get()/set()/put()记忆api并不友好像python/c#里面它的形式是[index/key],很像我们是掉同一个api 三、foreach循环 python # Tuple 元组tuple1 (123, 10 5j, Hello Python)# 元组的取值 按索引下标取值(不能修改for item in tuple1:#item 999print(item)# Listlist1 [123, 10 5j, Hello Python]# list的取值 按索引下标取值for item in list1:print(item)#Dictionary#dict1 {}dict1 {one: 123, two: 10 5j, three: 123}#形式一 获取实际值for key in dict1:print(%s_%s % (key, dict1[key]))# 形式二 dict_itemfor (key,item) in dict1.items():print(%s_%s %(key,item))# Set#set1 {,}set1 {123, 10 5j, Hello Python,123}for item in set1:print(item) java //List ListString list new ArrayListString(); list.add(123); list.add(10 5j); list.add(Hello Python);for (String s : list) {System.out.println(s); }//Map MapString,String map new HashMap(); map.put(one,123); map.put(two,10 5j); map.put(three,Hello Python); SetMap.EntryString, String entries map.entrySet(); //SetString strings map.keySet();for (Map.EntryString, String entry : entries) {System.out.println(entry.getKey()_entry.getValue()); }map.forEach((key,value)-{System.out.println(key_value); });//Set SetString set new HashSet(); set.add(123); set.add(10 5j); set.add(Hello Python);for (String s : set) {System.out.println(s); }C# IEnumerableint emum1 Enumerable.Range(0,10);foreach (var item in emum1){Console.WriteLine(item);}#region /* Tuplestring, string, string tuple1 Tuple.Create(123, 10 5j, Hello Python);*///Tuple Array//简化的方式string[] array1 { 123, 10 5j, Hello Python };foreach (var item in array1){Console.WriteLine(item);}#endregion#region Tuple/* Tuplestring, string, string tuple1 Tuple.Create(123, 10 5j, Hello Python);*///Tuple//简化的方式(string, string, string) tuple1 (123, 10 5j, Hello Python);/* for (int i 0; i tuple1.Count; i){}*/#endregion#region ListIListstring list new Liststring { 123, 10 5j, Hello Python };foreach (var item in list){Console.WriteLine(item);}#endregion#region DictionaryIDictionarystring,string dict new Dictionarystring, string {{one,123 },{two,10 5j },{three,Hello Python },};//KeyValuePairString,Stringforeach (var item in dict){Console.WriteLine(item.Key_item.Value);}#endregion#region SetISetstring set new HashSetstring {123, 10 5j, Hello Python};foreach (var item in set){Console.WriteLine(item);}// Set是无序的 所以不能直接用下标取值#endregion四、数据切片 java //非常简单的切分//Object[] objs2 Arrays.copyOf(objs, 3);//Object[] objs3 Arrays.copyOfRange(objs, 3,8);//ListObject objects list.subList(1, 4);MapString,String map new HashMap();map.put(name,Java);map.put(birth,1991);Object[] objs {1, 2, 3, 4, 5, 6, 7,map};ListObject list new ArrayList(Arrays.asList(objs));ListObject segData list.stream().skip(3).limit(5).collect(Collectors.toList());//segData Arrays.stream(objs).skip(3).limit(5)// .collect(Collectors.toList());for (Object segDatum : segData) {System.out.println(segDatum);}//物理分页// BufferedReader bufferedReader Files.newBufferedReader(Paths.get(D:\\Desktop\\battle内容.txt)); // bufferedReader.skip(100); // String read bufferedReader.readLine(); // System.out.println(read);//并行流 》list.parallelStream(); // IntStream objectStream IntStream.range(0, 200); // //原始迭代器 // Spliterator originSp objectStream.spliterator(); // //对半切分 // while (originSp.estimateSize()1){ // Spliterator sp1 originSp.trySplit(); // System.out.println(originSp剩余数量 originSp.estimateSize()); // }C# IListobject list new Listobject{1, 2, 3, 4, 5, 6, 7,new Dictionarystring,string{ { name ,1998 },{ birth, 1998 } }};//使用Linq (比较万能)IEnumerableobject enumerable list.Skip(4).Take(5);foreach (var item in enumerable){Console.WriteLine(item);}//使用Range C#8 仅对数组有效)int[] arr { 13, 12, 39, 81,2 }; var slice1 arr[1..3];//获取第2项-到第四项不包括var slice2 arr[1..^2];//截止为len-2 从尾部计算var slice3 arr[^1];//获取最后一项// RuntimeHelpers.GetSubArray(arr, Range.EndAt(3));foreach (var item in enumerable){Console.WriteLine(item);}//使用Span//Spanint span arr.AsSpan().Slice(1, 3);//var arraySpan new Spanbyte(list);// 将日志数据转换为字节数组 byte[] logBytes File.ReadAllBytes(D:\Desktop\battle内容.txt);// 使用Span处理日志数据Spanbyte logSpan new Spanbyte(logBytes);// 在Span中查找特定关键词string keyword error;byte[] keywordBytes Encoding.UTF8.GetBytes(keyword);int keywordCount 0;for (int i 0; i logSpan.Length - keywordBytes.Length; i){if (logSpan.Slice(i, keywordBytes.Length).SequenceEqual(keywordBytes)){keywordCount;}}Console.WriteLine($匹配次数:{keywordCount});python ## 切片支持 string list set tuple dictionary var1 1,2,3,4,5,6,7,hello,Python var1 (1, 2, 3, 4, 5, 6, 7, hello, Python) var1 [1,2,3,4,5,6,7,{name:Python,birth:1989}] segeme_var var1[4:8] print(segeme_var)优雅性 Python C# Java 相对性能 C# Java Python 五、对IO流如何关闭 java //方式一 try-finally (jdk8以前)BufferedReader bufferedReader1 null;try {bufferedReader1 Files.newBufferedReader(Paths.get(D:\\Desktop\\battle内容.txt));//coding} catch (IOException e) {e.printStackTrace();}finally {if(bufferedReader1!null){try {bufferedReader1.close();} catch (IOException e) {e.printStackTrace();}}}//方式二 try-resource (jdk8)try( BufferedReader bufferedReader2 Files.newBufferedReader(Paths.get(D:\\Desktop\\battle内容.txt))) {//coding} catch (IOException e) {e.printStackTrace();}C# //方式一 try-finallyFileStream fileStream1 null;try{fileStream1 File.OpenRead(D:\\Desktop\\battle内容.txt);}catch (Exception){}finally{fileStream1?.Close();}//方式二 usingusing ( FileStream fileStream2 File.OpenRead(D:\\Desktop\\battle内容.txt) ){}python #!/usr/bin/python3 # -*- coding: utf-8 -*-fr None# region 方式一 try-finally try:fr open(D:\\Desktop\\battle内容.txt, r)var1 1/0 finally:if fr is not None:print(已关闭)fr.close()pass # endregion# # region 方式二 with # with open(D:\\Desktop\\battle内容.txt, r) as fr2: # var1 1/0 # # endregion 六、关于它们的继承不同 java 支持单一继承 多个实现 public class Particle {//转动public void turn(){System.out.println(可以转动);} }public class Wave {//扩散的public void diffuse(){System.out.println(可以扩散);} } //单个继承 public class Light extends Particle{public static void main(String[] args) {Light light new Light();light.diffuse();light.turn();} }C# 支持单一继承 多个实现 namespace NetCore_Demo.inherit {public class Particle { //粒子public void Turn() { //转动System.Console.WriteLine(可以转动);}}public class Wave{ //波 public void Diffuse(){//扩散的System.Console.WriteLine(可以扩散);}}public class Light:Wave{static void Main(string[] args){Light light new Light();light.Diffuse();}} } python 支持多个继承 无接口实现 class Particle: # 粒子classmethoddef turn(self):print(可以转动)class Wave: # 波classmethoddef diffuse(self):print(可以扩散)class Light(Particle,Wave): # 光passif __name__ __main__:light1 Light()light1.turn()light1.diffuse() 七、关于它们的重载不同 java √1.跟返回值类型无关只跟参数列表有关 √2.不支持关键字和参数默认值 public class MyOverload {public void learn(){System.out.println(正在文化课的学习);}public void learn(String course){System.out.println(String.format(正在%s的学习, course));}/*** param course 课程名称 举个例子 舞蹈 跆拳道* param learnTime 时间学习时长* return 是否完成学习时长*/public boolean learn(String course,float learnTime){float totalTime 3f;System.out.println(String.format(正在%s的学习学习时长:%s小时, course,learnTime));return totalTimelearnTime;}public static void main(String[] args) {MyOverload myOverload new MyOverload();myOverload.learn();myOverload.learn(舞蹈);bool f myOverload.learn(舞蹈,1);System.out.println(是否完成学习任务f);} }C# √1.跟返回值类型无关只跟参数列表有关 √2.支持关键字和参数默认值 using System; namespace NetCore_Demo.overload {public class MyOverload{public void learn(){Console.WriteLine(正在文化课的学习);}public void learn(string course){Console.WriteLine($正在{course}的学习);}/// param namecourse课程名称 举个例子 舞蹈 跆拳道/param/// param namelearnTime时间学习时长/param/// returns是否完成学习时长/returnspublic bool learn(string course, float learnTime){float totalTime 3f;Console.WriteLine($正在{course}的学习学习时长:{learnTime}小时);return totalTime learnTime;}static void Main(string[] args){MyOverload myOverload new MyOverload();myOverload.learn();myOverload.learn(舞蹈);bool f myOverload.learn(舞蹈, 1);Console.WriteLine(是否完成学习任务 f);// 关键词参数 参数默认值}} }python √python 在类里面只有覆盖没有重载 class MyOverload:def learn(self, course舞蹈, learnTime3):print(f正在{course}的学习,学习时长:{learnTime}小时)return learnTime 3if __name__ __main__:myOverload MyOverload()myOverload.learn()myOverload.learn(course跆拳道)八、函数式接口 1、python是天然的函数式接口 2.c#里面用于委托这个可以多播可以实现函数的回调 public delegate void Action(); public delegate void Actionin T1(T1 arg1); public delegate void Actionin T1, in T2, in T3, in T4, in T5, in T6(T1 arg1, T2 arg2, T3 arg3, T3 arg4, T3 arg5, T3 arg6);public delegate TResult Funcout TResult(); public delegate TResult Funcin T1, out TResult(T1 arg1);... public delegate TResult Funcin T1, in T2, in T3, in T4, in T5, in T6, out TResult (T1 arg1,T2 arg2,T3 arg3,T4 arg4,T5 arg5,T6 arg6)public delegate bool Predicatein T(T obj)3.java8里面使用函数式接口FunctionInterface) //无返回值类型 FunctionalInterface public interface ConsumerT {void accept(T t);//...... } 》BiConsumerT, U//一个入参 一个返回值 FunctionalInterface public interface FunctionT, R {R apply(T t);//...... } 》BiFunctionT, U, R//一个入参 返回值是布尔类型 FunctionalInterface public interface PredicateT {//对给定的参数求值boolean test(T t); } 》BiPredicateT, U九、相关视频链接: https://www.bilibili.com/video/BV1Cw411V78V https://www.douyin.com/user/self?modal_id7315770090534882570
http://www.pierceye.com/news/371210/

相关文章:

  • 做网站是学什么专业的电子商务网络营销方式
  • 东莞电商网站公司goz建站
  • 深圳石岩建网站权威发布李建
  • 大连哪家公司做网站比较好网页搜索的快捷键
  • 怎样建个小公司的网站濮阳网络电视直播
  • 台州低价网站建设阆中做网站
  • 兰州网站运营诊断学校网站报价方案
  • 宿迁做网站大公司现在企业做网站一般用什么框架
  • 企业如何建自己的网站自己网站的登录api怎么做
  • 专业的网站建设企业微信小程序服务器一年多少钱
  • 关于网站建设的句子苏州实力做网站公司有哪些
  • 网页制作与网站建设》在线作业 答案wordpress信息量几百万
  • 代刷网站系统怎么做wordpress数据库连接
  • 邢台网站改版开发开封美食网站建设规划
  • 网站建设佰金手指科杰二五国内网站推广
  • wordpress 多站点 用户天津经济持续恢复
  • 做网站邯郸怎样建立平台
  • 网站中捕获鼠标位置mip wordpress 评论
  • 室内设计资料网站discuz是什么东西
  • 网站建设方向论文提纲网页作品制作的一般过程
  • 生道网站建设平台高端商品网站
  • 网站维护计划商标注册号查询入口官网
  • 个人怎样申请网站网站整站html
  • 网站规则购房网官网
  • 苏州市吴江区住房和城乡建设局网站西安市今天发生的重大新闻
  • 网站需求建设关系书赚钱软件学生
  • 长春做网站4435怎么做手机网站
  • 电子政务网站系统微信扫码登录wordpress
  • 设计网站一般要多少钱方维服务公司服务范围
  • 济南外贸网站制作做网站推广每天加班