Java1.5语言新特性简单总结

1. 自动装箱与拆箱 对应C#
 例1.1
  Integer i = 10;
  int j = i;
  
2. 更优化的for循环 对应就C#---foreach循环
 例2.1
  String[] names = {"BadBoy","GoodBoy","HappyGirl","sadGirl"};
  for(String option: names) {
   System.out.println(option);
  }
 例2.2 加泛型 对应C++模板
  import java.util.*;
  
  ArrayList<String> animals = new ArrayList<String>();
  animals.add("Dog");
  animals.add("Cat");
  animals.add("Chick");
  animals.add("Cow");
  for(String option : animals) {
   System.out.println(option);
  }
  
3.参数可变的方法和printf
 例3.1
  定义:
  public int sum(int... n) {  //传过来n为一个int型数组
   int tempSum;
   for(int option : n) {
    tempSum+=option;
   }
   /*
   for(int i = 0; i < n.length; i++) {
    tempSum+=n[i];
   }
   */
   return tempSum;
  }
  调用1: sum(1);
  调用2: sum(1,2);
  调用3: sum(1,2,3,4);
 例3.2 printf方法,  对应c语言的printf
  int x = 10;
  int y = 20;
  int sum = x + y;
  System.out.printf("%d + %d = %d",x,y,sum);
4. 枚举
 例4.1
  public enum MyColors {
   red,
   black,
   blue,
   green,
   yellow
  }
  
  MyColors color = MyColors.red;
  for(MyColors option : color.values()) {
   System.out.println(option);
  }

/**不能在switch语句里这样写case MyColors.red:
 *这样编译器不会让你通过*/
switch(color) {
 case red:
  System.out.println("best color is "+red);
  break;
 case black:
  System.out.println("NO " + black);
  break;
 default:
  System.out.println("What");
  break;
}

5.静态引用
 例5.1
  1.5版本以前的写法是:
 
    import java.lang.Math; //程序开头处
  
    ...
  
    double x = Math.random();
  1.5版本中可以这样写
   import static java.lang.Math.random; //程序开头处
   
   ...
    
   double x = random(); 

时间: 2024-08-24 18:50:01

Java1.5语言新特性简单总结的相关文章

C++11的新特性简单汇总介绍 (二)_C 语言

1. 范围for语句 C++11 引入了一种更为简单的for语句,这种for语句可以很方便的遍历容器或其他序列的所有元素 vector<int> vec = {1,2,3,4,5,6}; for(int x: vec) { cout<<x<<endl; } 2. 尾置返回类型 要想引入尾置类型,我们还得从复杂的类型声明说起.如果我们需要定义一个含有10个int元素的数组,一般是这样的: int arr[10] = {0}; 如果要定义指向这个数组的指针呢: 复制代码 代

C++11的新特性简单汇总介绍 (一)_C 语言

什么是C++11 C++11是曾经被叫做C++0x,是对目前C++语言的扩展和修正,C++11不仅包含核心语言的新机能,而且扩展了C++的标准程序库(STL),并入了大部分的C++ Technical Report 1(TR1)程序库(数学的特殊函数除外). C++11包括大量的新特性:包括lambda表达式,类型推导关键字auto.decltype,和模板的大量改进. 1. 概述 最近在看C++ Primer5 刚好看到一半,总结一下C++11里面确实加了很多新东西,如果没有任何了解,别说自己

《Visual C++ 2012 开发权威指南》——第2章 Visual C++2012语言新特性2.1 Visual C++2012的语言新特性(1)

第2章 Visual C++2012语言新特性 Visual C++ 2012 开发权威指南 有一种新的C++标准就有一种新版本的Visual C++,新的版本Visual C++将更加符合C++标准!在其发展过程中新的C++标准被(乐观)称为C++0x.它最后被发布在2011年,现在称为C++11. 对于Visual C++,它有三个不同版本的数字,有不同的内部版本和编译器版本(cl.exe和_MSC_VER宏-显示不同,因为我们C++编译器早在Visual C++中的"可视化").

《Visual C++ 2012 开发权威指南》——2.2 Visual C++2012的语言新特性(2)

2.2 Visual C++2012的语言新特性(2) Rvalue引用:N1610"Rvalues类对象的初始化的澄清"是早期尝试启用无rvalue引用move 语意. 这些新规则还没有完全实现VC11开发者预览中. Rvalue引用v3.0添加自动生成的构造函数和移动赋值运算符在一定条件下的新规则.这不会进行中VC11,还将继续遵循的永远不会自动生成move构造函数/移动页本页的行为. 移动语义 Rvalue引用支持移动语义的实现,可以显著提高应用程序的性能.移动语义使能够调用资源

《Visual C++ 2012 开发权威指南》——2.3 Visual C++2012的语言新特性(3)

2.3 Visual C++2012的语言新特性(3) 在VC12(Visual C++2012),我们打算完全支持C++11标准库,但实施编译器功能可以自定义(另外,VC12不会完全实现C99标准库,已经通过引用纳入C++11标准库.注意本页和VC12已经有).这里是我们不断的变化的非详尽列表: 新头文件:......和. 进驻:根据需要由C++11,我们已经实现了emplace()/emplacefront()/emplace_back()/ emplace hint()/emplace_a

iOS - Swift Swift 语言新特性

1.Swift 2.0 带来哪些新变化 常规变化: 1.OS X 10.11.iOS 9 和 watchOS 2 SDK 采纳了一些 Objective-C 的特性用来提高 Swift 的编程体验, 如可空性.类型化集合和一些别的特性. 2.编译器对冗余的协议一致性,未被使用的绑定值以及可以设为常量的变量这些情况目前会给予警告或报错. 3.修复了跨文件协议遵循时符号不可见或者重复的错误. 4.Swift 语言的调用约定更加智能,能够理解 API 所发生的变化和 Swift 所给出的警告. 5.便

PHP 7的一些引人注目的新特性简单介绍_php技巧

1. ?? 运算符(NULL 合并运算符)把这个放在第一个说是因为我觉得它很有用.用法: $a = $_GET['a'] ?? 1; 它相当于: <?php $a = isset($_GET['a']) ? $_GET['a'] : 1; 我们知道三元运算符是可以这样用的: $a ?: 1 但是这是建立在 $a 已经定义了的前提上.新增的 ?? 运算符可以简化判断. 2. 函数返回值类型声明官方文档提供的例子(注意 ... 的边长参数语法在 PHP 5.6 以上的版本中才有): <?php f

php7.1新特性简单介绍

Allow specifying keys in list() Square bracket syntax for array destructuring assignment 下面这个支持效果,还是不错的 list($a, $b) = array($b, $a); [$a, $b] = [$b, $a];   foreach ($points as ["x" => $x, "y" => $y]) {     var_dump($x, $y); } 这个

iOS - OC 语言新特性

前言 相对于 Java,OC 语言是一门古老的语言了,而它又是一门不断发展完善的语言.一些新的编译特性,为 OC 语言带来了许多新的活力.在 Xcode7 中,iOS9 的 SDK 已经全面兼容了 Objective-C 的一些新特 性和新功能.这些功能都只作用于编译期,对程序的运行并没有影响,因此,它可以很好的向下进行兼容,无缝的衔接低版本的 iOS 系统,如果可以将这些新特性都应用于开发,开发效率和代码质量,相比之前会有一个很大的提升. 1.可选类型检测 在 swift 语言中,通过 ! 和