`
shinestarwang
  • 浏览: 42398 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

作大量条件判断哪个效率更高.if和三目运算符等的效率判断--------什么叫效率

J# 
阅读更多
import java.util.ArrayList;
import java.util.List;


public class Testif {
public static void main(String[] args) {
List<String> lsSqlTypeInt =new ArrayList<String>();
for(int i=0;i<10;i++){
lsSqlTypeInt.add(""+i);

}
long tls = System.currentTimeMillis();
for(int j=0; j<1000000000;j++){
String y="1";
y=lsSqlTypeInt.contains("1")?"1":"2";
}
long tls2 = System.currentTimeMillis();

long tif = System.currentTimeMillis();
for(int k=0; k<1000000000;k++){
String z="1";
if(z.equals("1")){
z="1";
}
if(z.equals("2")){
z="2";
}
if(z.equals("3")){
z="3";
}
if(z.equals("4")){
z="4";
}
if(z.equals("5")){
z="5";
}
if(z.equals("6")){
z="6";
}
if(z.equals("7")){
z="7";
}
if(z.equals("8")){
z="8";
}
if(z.equals("9")){
z="9";
}
if(z.equals("0")){
z="10";
}
}
long tif2 = System.currentTimeMillis();

System.out.println(tls2-tls);
System.out.println(tif2-tif);

}
}
输出结果:
62735
169297
我自个测的,目的是判断用list与用if作大量条件判断哪个效率更高

修改一下:
import java.util.ArrayList;
import java.util.List;


public class Testif {
public static void main(String[] args) {
List<String> lsSqlTypeInt =new ArrayList<String>();
for(int i=0;i<10;i++){
lsSqlTypeInt.add(""+i);

}
// long tt1 = System.currentTimeMillis();
// for(int j=0; j<1000000000;j++){
// String sflag="";
// String y="1";
// sflag=lsSqlTypeInt.contains(y)?"1":"2";
// }
// long tt2 = System.currentTimeMillis();



long tif = System.currentTimeMillis();
for(int k=0; k<1000000000;k++){
String sflag2="";
String z=(k%10)+"";
if(z.equals("1")){
sflag2="1";
}else if(z.equals("2")){
sflag2="2";
}else if(z.equals("3")){
sflag2="3";
}else if(z.equals("4")){
sflag2="4";
}else if(z.equals("5")){
sflag2="5";
}else if(z.equals("6")){
sflag2="6";
}else if(z.equals("7")){
sflag2="7";
}else if(z.equals("8")){
sflag2="8";
}else if(z.equals("9")){
sflag2="9";
}else if(z.equals("0")){
sflag2="10";
}else{

}
}
long tif2 = System.currentTimeMillis();


long tls = System.currentTimeMillis();
for(int j=0; j<1000000000;j++){
String sflag="";
String y=(j%10)+"";
sflag=lsSqlTypeInt.contains(y)?"1":"2";
}
long tls2 = System.currentTimeMillis();




System.out.println(tls2-tls);
System.out.println(tif2-tif);

}
}
输出结果:
480359
422484
分享到:
评论
2 楼 liuxincheng 2016-07-06  
为什么两次计算结果不一样?第一次三目效率高,第二次if效率高?
1 楼 chensongIT 2014-02-21  
                                        

相关推荐

    结合短路法和逗号表达式,代替if和三目运算符

    尽管if-else语句和三目运算符在大多数情况下能够满足条件分支的需求,但在一些特殊情况下,程序员可能会寻求更简短或者更符合特定编码风格的方式来实现相同的逻辑判断。这种情况下,短路法和逗号表达式就成为了一种...

    JS中三目运算符和if else的区别分析与示例

    在JavaScript编程语言中,`三目运算符`和`if...else`结构是两种常见的条件判断方式,它们在实现逻辑判断时有所不同。本篇文章通过具体的示例和对比,深入探讨了这两种方法的区别。 首先,`三目运算符`的语法形式...

    iOS中奇妙的三目运算符示例详解

    在iOS开发中,三目运算符(三元运算符)是一种高效、简洁的代码编写方式,尤其在处理条件判断和赋值时。它的符号是 `? :`,用于替代传统的 `if-else` 语句。这篇教程将深入探讨这个运算符在iOS中的应用和一些特殊的...

    对numpy中向量式三目运算符详解

    三目运算符是一种简洁的条件表达式,其格式通常为 x if condition else y,意味着如果条件condition为真,则结果为x,否则为y。numpy.where函数的参数与三目运算符类似,但它接收的是向量形式的参数,使得条件判断...

    Java条件结构2-学习笔记.docx

    与`if`-`else`链相比,`switch`-`case`在处理大量可能的条件时更有效率,因为编译器可以直接跳转到相应的`case`,而不需要逐个检查条件。 自JDK 7.0开始,`switch`-`case`语句增加了对字符串的支持,这使得它在处理...

    02运算符和选择结构.txt

    :`:三目运算符 - **作用**:这些运算符主要用于比较数值的大小、相等性等。 - **示例**:假设我们要比较张三的成绩是否超过98分: ```java if (zhang_score &gt; 98) { System.out.println("奖励一个MP4"); } ...

    计算机 二级 附录一

    根据操作数的数量,运算符可以分为单目运算符、双目运算符和三目运算符。此外,根据运算符的作用不同,它们还被赋予了不同的优先级。理解这些运算符及其优先级对于编写正确的C程序至关重要。 #### 二、运算符的分类...

    c语言选择结构程序设计教案设计.doc

    3. **条件运算符(三目运算符)及条件表达式**: - **条件运算符**是`? :`,它根据一个条件来选择执行两个表达式中的一个。基本形式为 `condition ? expression1 : expression2`,如果`condition`为真,则执行`...

    Java编程详细教程运算符表达式流程控制上PPT教案学习.pptx

    关于运算符的优先级,Java遵循一定的规则,例如,乘法和除法比加法和减法有更高的优先级,关系运算符和逻辑运算符的优先级高于赋值运算符。这决定了表达式的计算顺序。 递增和递减运算符(++,--)在程序中非常常见,...

    C语言中的运算符的优先级

    :`是一种三目运算符,用于实现简单的条件语句。赋值运算符`=`和其变体如`+=`、`-=`等用于将值分配给变量。条件运算符的优先级高于大多数赋值运算符,但低于其他大部分运算符。 ### 八、逗号运算符 最后是逗号...

    推选文档最重要的编程部件──运算符表达式与语句PPT.ppt

    条件表达式(三目运算符 ? :)根据条件选择返回一个值,如a ? x : y,当a为真时返回x,否则返回y。赋值表达式,如+=、-=、*=、/=、%=,提供了更简洁的赋值方式,如范例6-8所示。 表达式的类型转换是编程中的重要...

    Java从入门到精通教程全套

    - **主要内容**:解释三目运算符(条件运算符)的工作原理,以及运算符优先级的概念。 - **学习目标**:学会使用三目运算符简化代码,理解运算符优先级对表达式求值的影响。 10. **if分支语句** - **主要内容**...

    c++入门语法及使用 - c++学习路线(csdn)————程序.pdf

    C++是一种强大的编程语言,广泛应用于系统开发、游戏编程、嵌入式系统和高性能计算等领域。作为初学者,了解其基础语法和使用方法是至关重要的。以下是对C++入门语法和使用路线的详细阐述。 一、C++基础 C++的基础...

    再C语言学习中整理的笔记④

    :`是一种三目运算符,它允许我们用更简洁的方式替代简单的`if-else`结构。语法为 `操作数1 ? 操作数2 : 操作数3`。如果`操作数1`的值为真(非零),则结果是`操作数2`,否则结果是`操作数3`。使用时需确保保持代码的...

    Javascript高级程序设计---笔记.pdf

    条件运算符,即三目运算符(条件?表达式1:表达式2),是简洁的条件判断方式,根据条件的真假返回不同的表达式结果。 赋值运算符=用于给变量赋予值,同时还有复合赋值运算符如+=、-=等,它们可以简化代码。程序流...

    校园地图的最小路径问题(弗洛伊德算法)(数据结构课程设计)

    三目运算符在C语言中是一种简洁的条件表达方式,它可以替代if...else语句,使得代码更紧凑。在计算最小路径时,可能用到三目运算符来判断当前路径是否比已知的最短路径更优。 最后,关于数据结构课程设计,这个项目...

    20151910042-刘鹏-C实验03-选择结构程序设计1

    另一种更简洁的方法是利用条件表达式(三目运算符),这使得代码更紧凑且易于理解。 第二个任务包含了一个示例程序,该程序中存在一些可能导致混淆的if语句。程序的执行结果取决于逻辑判断的顺序和条件,通过分析和...

    JavaScript 入门&#183;JavaScript 具有全范围的运算符

    三目运算符(?:),也称为条件运算符,是if-else语句的简洁表示形式,它根据条件表达式的真假来选择两个操作数中的一个。 delete运算符用于从对象中删除属性。如果成功删除属性,返回true;如果删除失败(例如,...

    浅谈Java三目运算

    Java中的三目运算符是一种简洁的条件表达方式,它允许开发者在一行代码内完成条件判断并根据结果赋值。这种运算符的语法结构是 `x?y:z`,其中 `x` 是一个布尔表达式,`y` 和 `z` 是两个可以执行的表达式。如果 `x` ...

Global site tag (gtag.js) - Google Analytics