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

有了页游源代码如何做网站做面包有哪些网站知乎

有了页游源代码如何做网站,做面包有哪些网站知乎,网站接入查询,如何创建自己的网站文章目录 概览泛型增强for循环自动装箱与拆箱字符串拼接枚举类型可变参数内部类try-with-resourcesLambda表达式 概览 语法糖是指编程语言中的一种语法结构#xff0c;它们并不提供新的功能#xff0c;而是为了让代码更易读、更易写而设计的。语法糖使得某些常见的编程模式或… 文章目录 概览泛型增强for循环自动装箱与拆箱字符串拼接枚举类型可变参数内部类try-with-resourcesLambda表达式 概览 语法糖是指编程语言中的一种语法结构它们并不提供新的功能而是为了让代码更易读、更易写而设计的。语法糖使得某些常见的编程模式或操作变得更加简洁和直观但在底层实现上并没有引入新的语言特性或改变语言的表达能力。 尽管语法糖使得代码更加简洁和易读但实际执行时底层代码仍然需要遵循编程语言的基本语法和规则。在编译阶段编译器将使用语法糖编写的高级语法转换为更基础、更原始的语法结构便于生成相应的目标代码如字节码或机器码这就是解语法糖的过程。这个过程确保了最终执行的代码在语义上与原始的语法糖一致同时能够在目标环境中正确运行。Java编译器的desugar()方法负责这个过程这个过程确保了Java语言的高级特性可以在不增加JVM复杂性的情况下实现从而提高了开发效率和代码可读性。 举例来说假设有如下的Java语法糖 ListString list new ArrayList(); list.add(Hello); String s list.get(0);在这段代码中泛型String是语法糖。编译器在编译这段代码时会将其转换为如下的基础语法 List list new ArrayList(); list.add(Hello); String s (String) list.get(0);泛型 泛型允许类、接口和方法在声明时使用参数化类型提供了编译时类型安全检查机制避免了强制类型转换的麻烦。但Java中的泛型只在程序源代码中有效在编译后的字节码中会自动用强制类型转换进行替代。也就是说Java语言中的泛型机制其实就是一颗语法糖 // 泛型示例 ListString names new ArrayList(); names.add(Alice); String first names.get(0);// 解语法糖 List names new ArrayList(); names.add(Alice); String first (String) names.get(0);增强for循环 增强for循环用于遍历数组或集合即要么是一个数组要么实现了Iterable接口与普通for循环相比功能更强并且代码更简洁。 public static void main(String[] args) {String[] params new String[]{hello,world};//增强for循环对象为数组for(String str : params){System.out.println(str);}ListString lists Arrays.asList(hello,world);//增强for循环对象实现Iterable接口for(String str : lists){System.out.println(str);} }// 解语法糖 public static void main(String[] args) {String[] params new String[]{hello, world};String[] lists params;int var3 params.length;//数组形式的增强for退化为普通forfor(int str 0; str var3; str) {String str1 lists[str];System.out.println(str1);}List var6 Arrays.asList(new String[]{hello, world});Iterator var7 var6.iterator();//实现Iterable接口的增强for使用iterator接口进行遍历while(var7.hasNext()) {String var8 (String)var7.next();System.out.println(var8);}}自动装箱与拆箱 自动装箱和自动拆箱是Java中的语法糖用于简化基本数据类型和其对应包装类型之间的转换操作。当将基本数据类型赋值给对应的包装类型时编译器会调用包装类型的valueOf()方法来创建一个包装对象并将基本数据类型的值传递给这个方法。当需要使用包装类型对象中的值进行基本数据类型的操作时编译器会自动调用包装类型对象的xxxValue()方法将包装对象转换为对应的基本数据类型值。 Integer boxedNum 10; // 自动装箱 int num boxedNum; // 自动拆箱// 解语法糖 Integer boxedNum Integer.valueOf(10); int num boxedNum.intValue();字符串拼接 拼接字符串最简单的方式就是直接使用符号“来拼接其实“”是Java提供的一个语法糖。字符串拼接使用”操作符在编译时会被转换为StringBuilder操作。 String message Hello, name !;// 解语法糖 StringBuilder sb new StringBuilder(); sb.append(Hello, ); sb.append(name); sb.append(!); String message sb.toString();枚举类型 枚举类型就是一些具有相同特性的类常量在Java中类的定义使用class枚举类的定义使用enum。但在Java的字节码结构中其实并没有枚举类型枚举类型只是一个语法糖在编译完成后被编译成一个普通的类。这个类继承java.lang.Enum并被final关键字修饰。 public enum Day {MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY }// 解语法糖 public final class Day extends EnumDay {public static final Day MONDAY new Day(MONDAY, 0);public static final Day TUESDAY new Day(TUESDAY, 1);public static final Day WEDNESDAY new Day(WEDNESDAY, 2);public static final Day THURSDAY new Day(THURSDAY, 3);public static final Day FRIDAY new Day(FRIDAY, 4);public static final Day SATURDAY new Day(SATURDAY, 5);public static final Day SUNDAY new Day(SUNDAY, 6);private final String name;private final int ordinal;private Day(String name, int ordinal) {this.name name;this.ordinal ordinal;}public String name() {return name;}public int ordinal() {return ordinal;}public static Day[] values() {return (Day[]) $VALUES.clone();}public static Day valueOf(String name) {return (Day) Enum.valueOf(Day.class, name);}private static final Day[] $VALUES {MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY}; }可变参数 可变参数就是允许方法接受可变数量的参数。使用变长参数有两个条件一是变长的那一部分参数具有相同的类型二是变长参数必须位于方法参数列表的最后面。变长参数同样是Java中的语法糖其内部实现是Java数组。 public void printNumbers(int... numbers) {}// 解语法糖 public void printNumbers(int[] numbers) {}内部类 内部类就是定义在一个类内部的类之所以引入内部类是因为有些时候一个类只在另一个类中引用我们不想让其在另外一个地方被使用。内部类可以在一个类内部定义但在编译时会被转换为独立的类文件并不是真正套在一个类的内部而是分成两个类编译。 class Outer {class Inner {void display() {System.out.println(Inner class method);}} }// 解语法糖 class Outer {class Inner {final Outer outer;Inner(Outer outer) {this.outer outer;}void display() {System.out.println(Inner class method);}} }try-with-resources try-with-resources语句简化了资源管理使得资源在使用后自动关闭这个语法糖就能让代码及其简洁。原理是编译器把它转换成了try-catch-finally。 try (BufferedReader reader new BufferedReader(new FileReader(file.txt))) {String line reader.readLine();System.out.println(line); } catch (IOException e) {e.printStackTrace(); }// 解语法糖 BufferedReader reader null; try {reader new BufferedReader(new FileReader(file.txt));String line reader.readLine();System.out.println(line); } catch (IOException e) {e.printStackTrace(); } finally {if (reader ! null) {try {reader.close();} catch (IOException ex) {ex.printStackTrace();}} }Lambda表达式 Lambda表达式是Java中的一种语法糖它提供了一种简洁地表示匿名函数的方法在语法上的简洁性大大提升了代码的可读性和编写效率。在编译后Lambda表达式会被转换为相应的匿名内部类形式。 Runnable r () - System.out.println(Hello, World!);// 解语法糖 Runnable r new Runnable() {Overridepublic void run() {System.out.println(Hello, World!);} };
http://www.hkea.cn/news/14533697/

相关文章:

  • 一个虚拟主机绑定2个网站专业营销网站开发
  • 网站开发概要设计模板注册营业执照名字查询系统
  • 网站说服力营销型网站策划公司宣传片如何制作
  • 马达加工东莞网站建设网站建设公司怎么开拓业务
  • 手机网站地址天水网站建设惠普
  • 广州机械网站开发建网站的公司大全
  • 游戏网站seo怎么做你做的网站可视区域多少钱
  • 小米路由可以做网站吗怎么看网站是什么程序
  • 张店制作网站app开发公司的联系方式
  • 网站建设平台价格网站建设二级菜单
  • 成都网站建设07fly网站开发周期表
  • 红河州建设局门户网站自适应wordpress博客
  • 自己做的网站怎么取sql数据青岛一点两区救治医院
  • 盐城网站建设app我的页面设计
  • 企业建设网站有什么作用软件开发图片
  • 安徽一方建设招标网站给企业做免费的推广
  • 中国铁路监理建设协会网站wordpress移动端加底部导航栏
  • 哈尔滨的网站建设公司网站建设方案总结语
  • 高碑店网站建设文化建设方面的建议
  • 国家职业技能培训平台企业网站建设与优化
  • 东营网站建设价钱表用爱奇艺会员做视频网站违法吗
  • 郑州 网站建设:微信网站制作系统
  • 一个网站的成功企业解决方案有哪些
  • 佛山免费建站找哪家公司网站定制
  • 网页网站的区别是什么免费的企业网站源码
  • 如何做返利网站外推广音乐网站整站程序
  • wordpress网站做h5分类企业网站 建设 外包
  • 网站设计公司苏州网站做专题
  • 做网站开发的有哪些公司好毕设做网站什么主题比较好
  • wordpress建站费用网站建设的步骤教程