java又一白痴问题。。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java又一白痴问题。。相关的知识,希望对你有一定的参考价值。

class susu

public static void main(String srgs[])
int x,y=10;
if(((x=0)==0)||((y=20)==20))
System.out.println("现在y的值是:"+y);

int a,b=10;
if(((a=0)==0)|((b=20)==20))
System.out.println("现在b的值是:"+b);



编译出来结果是:现在y的值是:10
现在y的值是: 20
问题是:哪位大虾能帮我解释一下为什么得出这个结果。。越详细越好。
比如这句:
if(((x=0)==0)||((y=20)==20))
谁能帮我把其中的过程讲一次给我听听?谢谢了。!!!!

|和||都是位运算中的或运算,即在相同位上的相同即为0 ,否则为1,就像题中的,0与1 为1,1 与1为0,0与0 为0
||和|都是在前后两个判断中有一个是true则结果就为true,否则是false
||和|的区别再于一个在检查前半部分得到true后就直接整体定位为true,不再执行后半部分,另一个即使发现前半部分为true后还是会继续执行一下后半部分。
x=0将x赋值为0.,然后(x=0)==0)判断==前后的两个值是否相等,这里都为1,相等,返回true。不相等返回false。后面的((y=20)==20)一样的。明显这里相等返回true
参考技术A 因为你用的是||
如果你该成 | 试试 结果就是 y=10 b=20了
|| 比较前面后如果成立 后面的不比较了
| 比较前面后不管成立与否 对面的都要比较
参考技术B DK(Java Development Kit )是一切java应用程序的基础,可以说,所有的java应用程序是构建在这个之上的。它是一组API,也可以说是一些java Class。目前已经正式发布的最新版本是JDK1.3。考虑到我对linux不熟悉,而且大多数都是在MS系统下,所以,在这里我用的是win2000。

二、下载,安装

下载地址为JAVA官方站点:java.sun.com,国内也到处都是。

Windows下,直接运行.exe文件,安装到一个目录,我这里用F:\jdk13作为例子。

三、配置

桌面上选择“我的电脑”(右键)

高级

环境变量

在“系统变量”--->“新建”

在变量名中输入:CLASSPATH,变量值中输入:

F:\JDK13\LIB\dt.JAR;F:\JDK13\LIB\TOOLS.JAR;F:\JDK13\BIN;然后确定;

好了,配置完了,要重新启动计算机后,环境变量才能有效的。

四、测试

(1)用文本编辑器写一个简单的java程序:

public class HelloWorld

public static void main(String args[])

System.out.println("Hello World!");





这个例子就是著名的“Hello World”,它的功能就是显示“Hello World”。

注意:该文件名称必须为“HelloWorld.java”,大小写也区分。细心的朋友会注意到就是和public class后的名字一样的。

(2)编译:在dos命令提示符下执行:(注意大小写)

javac HelloWorld.java

如果正常的话,将生成HelloWorld.class文件。

(3)运行:在dos命令提示符下执行:(注意大小写)

java HelloWorld

这里有一个java初学者很有可能遇到的问题(不怕笑话,我也是)就是输入:

java HelloWorld.class

多了后面的.class,一定要注意,否则会出现下面的错误:

Exception in thread "main" java.lang.NoClassDefFoundError:HelloWorld/class

(本人猜想,是不是java翻译“.”的时候换成了“/”,或者是其他的本人不知道的原因)

好了,运行java HelloWorld应该会出现伟大的“Hello World”了。

到这一步,你已经成功配置好了JDK,可以开始漫长而痛苦(对于象我一样的,以前不懂java的朋友来说,可以用“痛苦”来形容,不理解的概念,不熟悉的java api...,不过,不要急,我将和大家一起慢慢入门,慢慢提高... ...)的Java过程了。
参考技术C 其实这个很简单的,只要你记得一个词“短路”
例如,if(((x=0)==0)||((y=20)==20))
或语句只要满足了前面的条件,后面就不会再执行
而如果是与语句,只要前面不满足条件,后面就不会再执行,
这就是所谓的短路。
参考技术D ||是短路或,只要前面一个值是对,则不用判断后面的值的对错。而&&是短路与,只要前面的值是错的,则不用执行后面的判断。|是逻辑或,需要执行两个值都要判断,而&是逻辑与,一样是执行判断两个值的 第5个回答  2011-04-18 if(((x=0)==0)||((y=20)==20)),只执行了前半部分,后半部分的没有执行,所以Y的值还是10。

卧槽!!又一款Java面试神器

临近秋招,又到了“金九银十”面试求职高峰期,在金三银四时也参与过不少面试,2020都说工作不好找,也是对开发人员的要求变高。前段时间自己有整理了一些Java后端开发面试常问的高频考点问题做成一份PDF文档(1000道高频题),同时也整理一些图文解析及笔记,今天在这免费分享给大家,希望大家在即将的十月面试做好复习,长期的积累和短期的突击让自己能找到一个满意的工作!


针对这些的同学,在这分享总结的Java面试的高频面试题(包括了Java集合,JVM,并发与多线程,Spring,MyBaits,微服务,Dubbo,Kakfa,中间件,Redis,数据库,设计模式等),进行了整理,免费分享给大家,希望大家能带着这些问题和答案解析,能让你进行有针对性行的学习,对面试做到知己知彼,百战百胜。

网Java 工程师面试题

内容涵盖: Java、 MyBatis、ZooKeeper、Dubbo、Elasticsearch. Memcached、Redis、MySQL、 Spring、 Spring Boot、Spring Cloud、RabbitMQ、 Kafka、Linux等技术栈

MyBatis面试题

ZooKeeper面试题

卧槽!!又一款Java面试神器

Dubbo面试题

卧槽!!又一款Java面试神器

Redis面试题

卧槽!!又一款Java面试神器

MySQL面试题

卧槽!!又一款Java面试神器

微服务面试题

卧槽!!又一款Java面试神器Spring面试题

卧槽!!又一款Java面试神器

Spring Cloud面试题

卧槽!!又一款Java面试神器

RabbitMQ面试题

卧槽!!又一款Java面试神器

除了这套pdf文档我还为大家准备了一套体系化的架构师学习资料包以及BAT面试资料,供大家参考及学习,文末有免费领取方式

卧槽!!又一款Java面试神器

卧槽!!又一款Java面试神器

pdf文档+bat面试题需要加我QQ群免费领取

我已经把这些面试题和 pdf文档,放在我的Java架构技术资源群里,群里会各种书籍,也有资深HR可以推荐工作,大牛相互交流技术,捣乱和发广告的勿加。

↙↙点击 “阅读原文” 直接领 PDF文档+面试资料

以上是关于java又一白痴问题。。的主要内容,如果未能解决你的问题,请参考以下文章

白痴问题: Prescott系列处理器是指啥啊?

问个jquery的白痴问题:如何输出object的值

分析 php,有人可以指出我的白痴指南吗?

卧槽!!又一款Java面试神器

Java技术图谱!字节大牛耗时八个月又一力作

又一次认识java ---- 万物皆对象