java代码逻辑取值 java实现逻辑运算

java 逻辑运算

在Java中,逻辑运算有And、Or、Not三种,其中And、Or又分为普通逻辑运算和短路逻辑运算两种。其中普通逻辑运算And用“”表示,“|”表示或者关系。短路逻辑运算的时候,“”表示短路与,“||”表示短路或。

成都创新互联2013年至今,是专业互联网技术服务公司,拥有项目成都做网站、网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元兴国做网站,已为上家服务,为兴国各地企业和个人服务,联系电话:028-86922220

1、一般逻辑运算需要在逻辑运算符两侧的逻辑表达式,都参与逻辑运算,其表达式的值进行比较,依次计算出最后的值。

2、短路逻辑运算符需要首先计算最左边的表达式,如果最左边的表达式成立,则不再进行整个表达式的判断,直接取最左边的表达式为整个表达式的值。

下面的例子虽然输出的值一样,但是运算的方式不一样:

private void testAnd(boolean on ,boolean

tw){

System.out.println("truefalse = "+

(truefalse));

System.out.println("falsefalse = "+

(falsefalse));

System.out.println("falsetrue = "+

(falsetrue));

System.out.println("truetrue = "+

(truetrue));

System.out.println(" ");

System.out.println("truefalse = "+ (truefalse));

System.out.println("falsefalse = "+

(falsefalse));

System.out.println("falsetrue = "+ (falsetrue));

System.out.println("truetrue = "+ (truetrue));

System.out.println(" ");

System.out.println("true||false = "+ (true||false));

System.out.println("false||false = "+

(false||false));

System.out.println("false||true = "+ (false||true));

System.out.println("true||true = "+

(true||true));

System.out.println(" ");

System.out.println("true|false = "+ (true|false));

System.out.println("false|false = "+

(false|false));

System.out.println("false|true = "+ (false|true));

System.out.println("true|true = "+

(true|true));

}

输出结果为:

短路或“”只有在左边的表达式值为true时,才会考虑右边表达式的值,否则直接取左边的值为整个表达式的值;

truefalse = false

falsefalse = false

falsetrue = false

truetrue =

true

//全部计算表达式两面的值,然后取值运算;

truefalse = false

falsefalse = false

falsetrue = false

truetrue =

true

短路或“||”只有在左边的表达式值为false时,才会考虑右边表达式的值,否则直接取左边的值为整个表达式的值;

true||false =

true

false||false = false

false||true = true

true||true = true

普通或"|"全部计算表达式两面的值,然后得出结果

true|false = true

false|false = false

false|true = true

true|true = true

适用短路运算的条件

1)、表达式前后的逻辑条件有明显的顺序关联关系,顺序条件早的在表达式的左边;

2)、逻辑运算符比较少,不会有嵌套或者短路与非短路逻辑混合的情况;

3)、使用短路运算,必须清楚的明白所要判断的逻辑值的具体细节;

4)、如果""和"||"混用,则不考虑使用短路运算;

java 赋值取值

第一:因为B类中的cDCost方法是新建的A类,而默认的A类中的a,b是未赋值的,int默认值为0,所以结果才会显示为0

第二:因为A类中的aBCost方法本身会输出"A类中的成本=某值"

第三:B要基于你的A类,可以构造B时,给B中的A赋值。如下:

public class B {

// 其他不变,添加下面这个变量

private A a;

// 删除原构造函数,添加新构造函数

public B(A a) {

this.a = a;

}

// 修改cDCost函数如下

public int cDCost() {

int cCost = c*10;

int dCost = a.aBCost();

// 下同

}

}

java问题 1,2,3 8,9,4 7,6,5 这种逻辑通过java代码怎么实现,怎么写

代码:

package com.ufotable.test;

public class Test30 {

private static int l,r,u,d;//定义上下左右边界

private static int[][] a=new int[0][0];//数组

private static int y=0,x=0;//初始化坐标

private static int step,temp;//步长,上一个数组的值

private static void add(int y,int x){

temp+=step;a[y][x]=temp;

}

private static void left(){

while(xl)add(y, --x);//未遇到左边界

if(yu){//遇到左边界且未遇到上边界

l++;up();

}

}

private static void right(){

while(xr)add(y, ++x);//未遇到右边界

if(yd){//遇到右边界且未遇到下边界

r--;

down();

}

}

private static void up(){

while(yu)add(--y, x);//未遇到上边界

if(xr){//遇到上边界且未遇到右边界

u++;

right();

}

}

private static void down(){

while(yd)add(++y, x);//未遇到下边界

if(xl){//遇到下边界且未遇到左边界

d--;

left();

}

}

private static void fun(int start,int step,int length){//产生数组(起始值,步长,矩阵边长)

Test30.step=step;

l=u=0;r=d=length-1;

a=new int[length][length];

a[0][0]=temp=start;

up();

}

public static void print(){//输出矩阵

for(int i=0;ia.length;i++){

for(int j=0;ja.length;j++){

System.out.print(a[i][j]+"\t");

}System.out.println();}

}

public static void main(String[] args) {

fun(0,1,10);//测试

print();

}

}

输出结果:

java如何从List中取值

要从一个List中取值,可以使用get()方法来获取指定索引位置的元素。在你提供的代码中,generatePonits()方法返回的是一个String类型的List,包含多个由随机生成的坐标组成的字符串。

如果你想要在另一个方法中分别提取出两个随机数,可以先通过get()方法获取对应索引位置的坐标字符串,然后再将其解析为数字。具体步骤如下:

```java

// 获取generatePonits()方法随机生成的第一个坐标字符串,并将其解析为数字

String point1Str = generatePonits().get(0);

int x1 = Integer.parseInt(point1Str.substring(1, point1Str.indexOf(",")));

int y1 = Integer.parseInt(point1Str.substring(point1Str.indexOf(",") + 1, point1Str.length() - 1));

// 获取generatePonits()方法随机生成的第二个坐标字符串,并将其解析为数字

String point2Str = generatePonits().get(1);

int x2 = Integer.parseInt(point2Str.substring(1, point2Str.indexOf(",")));

int y2 = Integer.parseInt(point2Str.substring(point2Str.indexOf(",") + 1, point2Str.length() - 1));

```

以上代码假设你想要获取generatePonits()方法随机生成的第一个和第二个坐标,并将它们包含的x和y坐标分别解析为整数。这里使用了String类的substring()方法来截取坐标字符串中的x和y坐标部分,并用Integer类的parseInt()方法将它们解析为整数。需要注意的是,由于坐标字符串的格式是"(x,y)",因此在使用substring()方法时需要去掉开头的"("和结尾的")"。

当然,如果你仅仅只是想在generatePonits()方法和另一个方法之间传递生成的随机数,也可以考虑将它们定义为类成员变量,而不是在generatePonits()方法内部声明。这样就可以在不同的方法之间共享这些随机数了。


网站题目:java代码逻辑取值 java实现逻辑运算
分享地址:http://scyanting.com/article/dohgoci.html