Java语法基础--运算

常量是一些不变的数据,我们用变量的方式把常量给记录下来,变量是内存中一个空间,空间中可以存储某些类型的数据,变量还有一个好处,就是可以给一些常量取名称,方便阅读;

取模运算

就是取余数。模2运算,非0即1,用于切换。

-3%6结果是-3 。 3%-6结果是3 。 负数运算参考左边符号。

对于除号“/”,它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分。

例如:int x=3510;x=x/1000*1000;  x的结果是3.

自增运算 ++

int a=3,b;

(a++ 对a加1再赋值给a,相当于a=a+1,)

b = a++;  //temp=a, a= a+1; b = temp;(运算原理,必须是右边都运算结束后,才可以赋值 给左边。在内存中会临时开辟一个空间temp,将a先存起来。

b = ++a;  //a = a+1; b = a;

赋值运算

符号:

= , +=, -=, *=, /=, %=

示例:

int a,b,c;  a=b=c =3;

int a = 3;   a+=5;等同运算a=a+5;

思考:

short s = 3;

s=s+2;//编译失败(类型自动转换,左边short,右边是int)

s+=2;   //编译通过,赋值运算,具备自动转换。(+=是一个符号,只是一次赋值运算)

有什么区别?

比较运算

判断是否相等   == 两个数是相等的吗?的意思。其他的比较运算符也是这样相比较的意思。

注1:比较运算符的结果都是boolean型,也就是要么是true,要么是false

逻辑运算

是种关系

在做比较运算的时候,比较的数据不是唯一的

1.

int x = 7;

//3<x<6;(Java中无法运算)

//逻辑运算符是用于连接boolean型表达式的。

// x>3 & x<6

System.out.println(x>3 & x<6);

/*

true & false = false;

false & true = false;

false & false = false;

true & true = true;

&:只有两边为true结果为true,否则为false。

或者 只要有一边为false,结果是false。

2.       //x<3 | x>6

true | false = true;

false | true = true;

true | true = true;

false | false  = false;

|:只有两边都为false,结果为false,否则为true。

只要有一边为true,结果是true.

3.异或: ^

true ^ false = true;

false ^ true = true;

false ^ false = false;

true ^ true = false;

^:两边相同为false,不同为true。(可以用来加密)

4.   // 非判断结果的另一面  !   boolean b = !true;

int a = 2;

a>3 & a<6

a>3 && a<6

5.& 和 && 的区别:

&:无论左边结果是什么,两边都参与运算。

&&:当左边为false时,右边不参与运算。

6.| 和 || 的区别:

|:无论左边结果是什么,两边都参与运算。

||:当左边为true时,右边不参与运算。

逻辑运算符用于连接布尔型表达式,在Java中不可以写成3<x<6,应该写成x>3 & x<6 。

“&”和“&&”的区别:

单&时,左边无论真假,右边都进行运算;

双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。

“|”和“||”的区别同理,双或时,左边为真,右边不参与运算。

异或( ^ )与或( | )的不同之处是:当左右都为true时,结果为false。

位运算 (不常用)

是直接对二进制进行运算。

1. 左移   3<<2  3的二进制向左移动2位

空位补0.

3<<4 .  3乘以2的4次幂了. 当一个数想乘以2的次幂的是后可以左移。

2. 右移   6的二进制向右移动一位

快速运算除以2的次幂。

>> : 高位出现空位时,原高位是什么,就补什么。

>>> : 无论高位是什么,都补0.

3.  &与运算 数字写成二进制,0为假,1为真。当两个数相同位上都为1时,结果为真,

为1.

& 与运算可以获取一段二进制中的某段二进制数字

例如:获取0010101101中后四位数字,可以&0000001111

如果想获取00 1010 1101中1010这四位数,可以无符号右移该数>>>0010101101

4. |或运算  有真都为真

5.  ^异或运算

相同为假,异同为真

一个数据异或另一个数两次,结果还是该数。异或运算可以用于加密。

6. ~反码

~6是对6的二进制取反。结果为-7

-6是对6的二进制进行取反再加1

   位运算练习。(不常用)

最有效率的方式算出2乘以8等于几?

2<<3;

对两个整数变量的值进行互换(不需要第三方变量)

int x = 3,y = 5;

int z;//使用第三方变量的方式。

z = x;

x = y;

y = z;

1.      x = x + y;  //x = 3 + 5;

y = x - y;   //y = (3 + 5) - 5; y = 3;

x = x - y;   //x = (3 + 5) - 3; x = 5;

2.     x = x ^ y;  //x = 3 ^ 5;

y = x ^ y;   //y = (3 ^ 5) ^ 5 ; y = 3;

x = x ^ y;    //x = (3 ^ 5) ^ 3 ; x = 5;

三元运算

格式

(条件表达式)?表达式1:表达式2;

如果条件为true,运算后的结果是表达式1;

如果条件为false,运算后的结果是表达式2;

示例:

获取两个数中大数。

int x=3,y=4,z;

z = (x>y)?x:y;//  z变量存储的就是两个数的大数。

//(条件表达式)?表达式1 :表达式2;

int x = 1,y;

y = x>1?100:50;

System.out.println("y="+y); //结果是y=50.

int a,b,max;

max = a>b?a:b;如果a>b则把a赋值给max.

//记住:既然是运算符,运算完都有结果。

时间: 2024-10-26 09:31:19

Java语法基础--运算的相关文章

Java语法基础

Java语法基础 1.  关键字 某些单词对编译器有着特殊的含义,并且不能作为标示符使用,全部是小写字母 Java语言关键字 abstract boolean break byte case catch char class try do default continue double else extends assert final finally float for If implement import instanceof int interface long native new g

java语法基础一

Java语法基础一 Java代码基本格式 Java中所有程序代码都必须存在于一个类中,用class关键字定义类,在class之前可以有一些修饰符.格式如下: 修饰符 class 类名 { 程序代码 } 注:1.Java是严格区分大小写的. 2.Java程序中一句连续的字符串不能分开在两行中写. Java程序的注释 Java里的注释有三种类型: 1.单行注释 在注释内容前面加“//”,格式为: 代码; //注释内容 2.多行注释 以斜杠加星号开头,以星号加斜杠结尾. 3.文档注释 以斜杠加两个星号

JAVA语法基础(课堂ppt问题总结)

一:运行源代码EnumTest.java,分析运行结果. 代码如下: public class EnumTest { public static void main(String[] args) { Size s=Size.SMALL; Size t=Size.LARGE; //s和t引用同一个对象? System.out.println(s==t); // //是原始数据类型吗? System.out.println(s.getClass().isPrimitive()); //从字符串中转换

Java语法基础练习2

---恢复内容开始--- 1.仔细阅读示例:EnumTest.java分析结果 代码: 运行结果: 分析:枚举类型就是一个类,枚举中的常量就是枚举类型中的实例,可把字符串转化为枚举:而且他本身是一个类,所以不是原始数据类型,同时也不能被继承.同时由于s与t引用的不是同一个数据对象,所以不相等.也不是原始数据类型. 2.   原码就是符号位加上真值的绝对值,即用第一位表示符号,其余位表示值.故他的取值范围是[-127, 127].原码是人脑最容易理解和计算的表示方法. 反码:正数的反码是他本身,负

java语法基础(总结)

1,关键字:其实就是某种语言赋予了特殊含义的单词. 保留字:其实就是还没有赋予特殊含义,但是准备日后要使用过的单词. 2,标示符:其实就是在程序中自定义的名词.比如类名,变量名,函数名.包含 0-9.a-z.$._ : 注意: 1),数字不可以开头. 2),不可以使用关键字. 3,常量:是在程序中的不会变化的数据. 4,变量:其实就是内存中的一个存储空间,用于存储常量数据. 作用:方便于运算.因为有些数据不确定.所以确定该数据的名词和存储空间. 特点:变量空间可以重复使用. 什么时候定义变量?只

黑马程序员——Java语法基础

一.关键字 1.定义和特点 定义:被Java语言赋予了特殊含义的单词. 特点:关键字中所有的字母都为小写. 2.分类 (1)用于定义数据类型的关键字:byte.short.int.long.float.double.char.boolean.class.interface.void (2)用于定义数据类型值的关键字:true.false.null (3)用于定义流程控制的关键字:if.else.switch.case.default.for.while.do.continue.break.ret

Java语法基础常见疑惑解答

1. 类是java的最小单位,java的程序必须在类中才能运行 2. java函数加不加static有何不同 java中声明为static的方法称为静态方法或类方法.静态方法可以直接调用静态方法,访问静态变量,但是不能直接访问实例变量和实例方法.静态方法中不能使用this关键字,因为静态方法不属于任何一个实例.静态方法不能被子类的静态方法覆盖.static 表示是静态的,用static修饰的方法在本类可以直接写方法名调用!在其他类里可以用类名.方法名调用!而不用实例化.如果不加static,则一

java语法基础-程序流程控制-选择结构-switch语句

switch(表达式)  //被选择的表达式的值的数据类型只能是byte short int char { case 取值1: 执行语句: break: case 取值2: 执行语句: break: -... default: 执行语句: break:} switch语句特点: 1.switch语句选择的类型只有四种:byte,short,int , char. 2.备选答案没有顺序.但是执行必然从第一个case执行. 3.只有所有的case不匹配,才会执行default. 4.结束特点:遇到b

Java语法基础---变量数据类型--类型转换

Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型.在内存中分配了不同大小的内存空间. 内存中分配内存空间: byte        8位2进制    1个字节 short      16位2进制    2个字节 int        32位2进制    4个字节 long       64位2进制    8个字节 char       16位2进制    2个字节 注意: 1.过大整形时表示长整形的数据long q = 1234567891234L. 后面加标识L,这里才会用8