java与操作
❶ java 逻辑操作(&,|,^)与条件操作(&&,||)有啥区别
(&,|,^)是卫运算符 主要用于二进制的操作
条件操作(&&,||)是对常规类型判断
❷ JAVA中&&和||是什么意思怎么用
JAVA中&&意思是“条件与”逻辑操作符,使用方法是x&&y,功能描述:x和y均为true,取值是true,否则取值是false。
JAVA中||意思是“条件或”逻辑操作符,使用方法是x||y,功能描述:x和y有一个为true,取值是true,否则取值是false。
(2)java与操作扩展阅读:
JAVA语言中进行逻辑表达式求值运算时,不但要注意逻辑运算符本身的运算规则,而且还必须从最左边一个计算部分开始,按照逻辑运算的规则计算该部分的值。每计算完一个部分就与该部分右边紧靠着的逻辑运算符根据真值表进行逻辑值判断。
在逻辑表达式的求解过程中,任何时候只要逻辑表达式的值已经可以确定,则求解过程不再进行,求解结束。
参考资料来源:
网络——&&
网络——||
❸ java中&和&&的区别
java中的&&具有“短路”现象,也就是说,当&&左边的表达式为假时,就不再计算版剩余的&&右边的值是否为权真。而&则不同,就算&&左边的表达式是假,它还是会计算&右边的表达式。
而||和|也是一样道理的。
希望我的回答能给你点帮助。谢谢
❹ java中&和&&是怎么运算的
& 和 && 相同点:
都表示“与”操作。这里的“与”和数学中的“与或非”中的“与”意义相同,都遵循“一假必假”原则。即“与”符号两边的元素只要有一个为假,"与"操作执行后的结果就为假。
& 和 && 的区别:
1)& 表示“按位与",这里的”位“是指二进制位(bit)。
例:十进制数字8 转化为二进制是:1000 ;数字9 转化为二进制是1001 。
则如有以下程序:
public class Test {
public static void main(String[] args) {
System.out.println(9 & 8);
}
}
输出结果应该是:8
原因:1001 & 1000 = 1000 。 计算机中一般1表示真,0表示假。最左边一位1&1=1,最右边一位1&0 = 0.
2) && 表示逻辑”与“ ,即java中的boolean值才可以存在于&&符号的左右两侧。
true && false = false ,true && true = true , 依旧是"一假必假"。
值的注意的是:&& 符号有所谓的“短路原则”,当 A && B 出现时,如果A经判断是假,那么B表达式将不会获得执行或被判断的机会。直接结果就为假。
注:关于十进制与二进制的转换,简单的说每四位可以遵循”8421“原则,1001即8+1=9,1011即8+2+1=11
❺ JAVA中的“>>”和“>>>”运算符
1、>>:右移运算复符,num >> 1,相当制于num除以2。
按二进制形式把所有的数字向右移动对应位数,低位移出(舍弃),高位的空位补符号位,即正数补零,负数补1。符号位不变。
如:-1在32位二进制中表示为:11111111 11111111 11111111 11111111,-1>>1:按位右移,符号位不变,仍旧得到11111111 11111111 11111111 11111111,因此值仍为-1
2、>>>:二进制右移补零操作符,左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充,如value>>>num中,num指定要移位值value移动的位数。
(5)java与操作扩展阅读
“>>”和“>>>”等移位运算符的运算规则:
1、无符号右移,忽略符号位,空位都以0补齐。
value>>>a,a是要移位值value移动的位数。
无符号右移的规则只记住一点:忽略了符号位扩展,0补最高位无符号右移运算符>>>只是对32位和64位的值有意义。
2、右移位运算符>>,若操作的值为正,则在高位插入0;若值为负,则在高位插入1。
右移补零操作符>>>,无论正负,都在高位插入0。
❻ java中逻辑操作与条件操作的区别
if(1==2&2==2)程序执行时即便1=2是false了,但是还会比较2==2
if(1==2&&2==2),1==2是false,就不会比较2==2了
❼ java中的点操作符怎么调用属性和方法
new 是创建对象专用。它唯一的作用就是创建对象,没别的用途了。
语法是 new 构造方法(...) 或者 new 数组名[长度],new 数组名[长度][长度](可以是多维的数组,数组也是对象)。
点是用来访问一个对象的成员的(包括成员属性、成员方法),例如 对象.成员属性 或者 对象.成员方法()
点也可以作用于类,可以访问类属性 和 类方法。例如 类名.类属性 或者 类.类方法()
--------------------------------------------------
提醒楼主及时处理问题,有满意答案请点赞,没有请及时补充问题或追问。此外我不太欢迎匿名提问,这种问题又不涉及隐私,完全没有匿名的必要。
❽ java是怎样实现与操作平台无关的
主要是说与操作系统无关,Java源代码都先编译为.class文件,这种文件格式是与操作系统无关的,但它需要在虚拟机(JVM)上运行,而虚拟机是和平台有关的,也就是说Linux上、winxp 或 win7 64位的虚拟机是不同的,你可以从oracle网站上看到不同的JRE, JDK,它带的JVM不一样。
但是.class文件一样,所以你带着一份.class文件,就可以在任何安了JVM的机器上运行,不管它上面是哪种操作系统。
❾ java程序与操作系统API的关系
JAVA的JDK和API的区别是:
1、Java好比房子,API好比土地,JDK好比开发商的关系。
2、 JDK与API都是为了JAVA,互依互存,又各自独立,只有共同才能创造价值。
一、全称:
1、JDK:Java Development Kit 。
2、API:Application Programming Interface 。
二、概念:
1、Java:是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
2、JDK:
(1)、JDK是Sun Microsystems针对Java开发员的产品。JDK本身使用了Java语言编写。简单的说JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境。SDK是Software Development Kit 一般指软件开发包,可以包括函数库、编译程序等。
(2)、 自从Java推出以来,JDK已经成为使用最广泛的Java SDK(Software development kit)。
3、API:
(1)、API是应用程序编程接口。
(2)、 是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
三、作用:
1、JDK:
(1)、jdk是 Java 语言的软件开发工具包。主要用于移动设备、嵌入式设备上的java应用程序。
(2)、JDK 是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。
(3)、不论什么Java应用服务器实质都是内置了某个版本的JDK。
2、API:
(1)、运行Java程序时,虚拟机装载程序的class文件所使用的Java API class文件。
(2)、ava API在Java安全性模型方面也有贡献。当Java API的方法进行任何有潜在危险的操作(比如进行本地磁盘写操作)之前,都会通过查询访问控制器来检验是否得到了授权。访问控制器是一个类,该类用来执行栈检验,已决定是否允许某种操作。
四、其它:
1、JDK:
(1)、JDK包含的基本组件包括:javac – 编译器、jar – 打包工具、javadoc – 文档生成器、jdb – debugger-查错工具、java – 运行编译后的java程序、appletviewer-小程序浏览器、Javap-Java反汇编器、Jconsole: Java进行系统调试和监控的工具等。
(2)、jdk1.8新特性:
(1)、Java 8允许我们给接口添加一个非抽象的方法实现,只需要使用 default关键字即可。
(2)、新增lambda表达式
(3)、提供函数式接口
(4)、Java 8 允许你使用 :: 关键字来传递方法或者构造函数引用
(5)、我们可以直接在lambda表达式中访问外层的局部变量。
2、API:组成及特点:
(1)、所有被装载的class文件(包括从应用程序中和从Java API中提取的)和所有已经装载的动态库(包含本地方法)共同组成了在Java虚拟机上运行的整个程序。
(2)、在一个平台能够支持Java程序以前,必须在这个特定平台上明确地实现API的功能。
(3)、为访问主机上的本地资源,Java API调用了本地方法。
(4)、由于Java API class文件调用了本地方法,Java程序就不需要再调用它们了。
(5)、通过这种方法,Java API class文件为底层主机提供了具有平台无关性、标准接口的Java程序。
(6)、对Java程序而言,无论平台内部如何,Java API都会有同样的表现和可预测的行为。
(7)、正是由于在每个特定的主机平台上明确地实现了Java虚拟机和Java API,因此,Java程序自身就能够成为具有平台无关性的程序。
❿ Java:二进制的按位与操作怎么做求助大神!
//先用链接中的方法,把Stringa,b分别转换成byte[]数组data_a和data_b
byte[]data_a=hex2byte(a);
byte[]data_b=hex2byte(b);
byte[]data_c=newbyte[a.length];//结果串
//逐个直接进行位与运算()
for(inti=0;i<a.Length;i++){
data_c[i]=data_a[i]&data_b[i];
}
//此时data_c中就是按位与结果,再转换成字符串
Stringc=byte2hex(data_c);
//c便是结果字符串。