Memoryizz

java -02/运算符.注释。。

1byte=8bit    1字节 =8位

1KB = 1024byte

1M = 1024k

1G = 1024M

1T = 1024G

1P =1024T

关键字:

[数据类型]:

class          :类

interface   :接口

int             :整型 4

long          :长整型 8

float          :浮点型  4

double       :双精度浮点  8

char          :字符   2

Boolean    :布尔型  true  or  false

void           :空  输出值

 

【数据类型值】:

true           :

false          :

null            :

 

[流程]:

if           else           :如果

swith     case         :  开关

default                   :默认,缺省

while                     :循环

do       for               :循环     

break                     :中断

continue                :继续,继续下一个循环

return                   :返回,再函数中返回

 

【权限修饰符】:

public                  :公共的

private                 :私有的

protected              :受保护的

 

 

【函数,变量,类的修饰符】:

anstract                                   :抽象的

final                                         :最终的

static                                        :静态的  只需要通过类访问

synchronized                            :同步

 

【类与类之间的修饰】

extends                                      :继承

implement                                  :实现

 

【创建对象】

new                          :新建

this                             :这个

super                          :父代

instanceof                   :谁的实例

 

【异常】

try                     :尝试

catch               :捕获

finally               :最终

 

throw                :抛

throws               :抛

【包】

package           :包

import                :导入  导入一个类

native                :本地

【常量】

100

123.5

true

false

'abc'

十进制 0-9

int  age =100

八进制 0-7

int age = 144

十六进制

int  age = 0X64

 

负数取反

+3

          0000   0011

取反   1111    1100

+1      1111    1101  = -3

 byte :-128~127

 

【变量】

【基本数据类型:】 取值范围              占字节数

byte             1 :-128~127                   8

short            2:   -2^15 ——(2^15-1)   16

int                4   -2^31 ——(2^31-1)     32

long             8   -2^63——(2^63-1)     64

float             4       ___________        32

double         8       ___________       64

char             2    \u 0000——  \u ffff   16

Boolean      1     true                false   8

【引用类型】

class

interface

[]

 

————————————————————————————

 

 

class demonumber{
public static void main (String[] args){
byte b = 100;
short s =100;
int age = 100;
long l = 100L;
float f = 3.12f;
double d =121.5;
char c = '\''; //为字符赋值
char cc = '\r'; //换行\r 换行不回车\n return
char cc2 = '\n';//line
boolean i = true;

System.out.println("age = " + age + "\r\n");
System.out.println("b = " + b);
System.out.println("short = " + s);
System.out.println("long = " + l);
System.out.println("float = " + f);
System.out.println("double = " + d);
System.out.println("char = " + c);
System.out.println("char = " + cc);
System.out.println("char = " + cc2);
System.out.println("boolean = " + i);


//从其他数值类型转换为char类型时,必须进行强制转换。将char类型转换为其他数值类型时,
//除了byte、short必须强制转换之外,int、long、float、double都不用强制转换。
//byte型,short型和char的值是被提升到int型
byte bb = 100; //自动转换 字节型
int i2 = bb;
System.out.println("强制转换" +i2);

byte bb2 =(byte) i2;//强制转换,当降级的时候就用强制类型转换 整型
System.out.println("强制转换" +bb2);

short s1 = 100;
char cc3 = 97;//asccid 码字符a对应的是97

//字符串连接 +
System.out.println("字符串连接"+ b + cc +3000);
System.out.println(10.0 / 3*3);
//取模=取余数
System.out.println(3 % 5);

//比较运算
Boolean bool =2>=2;
System.out.println(bool);
System.out.println(1<=2);
System.out.println(1!=2);

//逻辑运算
byte b1 = 2;
byte b2 = 3;
System.out.println(b1 & b2);
System.out.println(b1 | b2);
System.out.println(b1 ^ b2);

byte b5 =127; //移位b5 << 1 (需要移动的数字)<<(移动的次数)
System.out.println((byte) (b5 << 1));
System.out.println(-1 >>> 1);
System.out.println(-1 >> 1);
}

}

// ++ a=2; b=++a; a=3 b=3 先加减在赋值
// a=2; b=a++; a=3 b=2 先赋值在加减
// -- a=2; b=--a; a=1 b=1
// -- a=2; b=a--; a=1 b=2

//& x>3 & x<6 x值首先为Boolean值
//& 单个&时,左边无论真假,右边都计算
//&& 双个&时,如果左边为真,右边参与计算,如果为假,那么右边不参与计算
//| 单个|时,左边无论真假,右边都计算
//|| 双个||时,如果左边为真,右边不参与计算
//


/* 1.与运算符
与运算符用符号“&”表示,其使用规律如下:
两个操作数中位都为1,结果才为1,否则结果为0,例如下面的程序段。
public class data13
{
public static void main(String[] args)
{
int a=129;
int b=128;
System.out.println("a 和b 与的结果是:"+(a&b));
}
}
运行结果
a 和b 与的结果是:128
下面分析这个程序:
“a”的值是129,转换成二进制就是10000001,而“b”的值是128,转换成二进制就是10000000。根据与运算符的运算规律,只有两个位都是1,结果才是1,可以知道结果就是10000000,即128。
*/


/* 2.或运算符
或运算符用符号“|”表示,其运算规律如下:
两个位只要有一个为1,那么结果就是1,否则就为0,下面看一个简单的例子。
public class data14
{
public static void main(String[] args)
{
int a=129;
int b=128;
System.out.println("a 和b 或的结果是:"+(a|b));
}
}
运行结果
a 和b 或的结果是:129
下面分析这个程序段:
a 的值是129,转换成二进制就是10000001,而b 的值是128,转换成二进制就是10000000,根据或运算符的运算规律,只有两个位有一个是1,结果才是1,可以知道结果就是10000001,即129。

 


3.非运算符
非运算符用符号“~”表示,其运算规律如下:

如果位为0,结果是1,如果位为1,结果是0,下面看一个简单例子。
public class data15
{
public static void main(String[] args)
{
int a=2;
System.out.println("a 非的结果是:"+(~a));
}
}

 


4.异或运算符
异或运算符是用符号“^”表示的,其运算规律是:
两个操作数的位中,相同则结果为0,不同则结果为1。下面看一个简单的例子。
public class data16
{
public static void main(String[] args)
{
int a=15;
int b=2;
System.out.println("a 与 b 异或的结果是:"+(a^b));
}
}
运行结果
a 与 b 异或的结果是:13
分析上面的程序段:a 的值是15,转换成二进制为1111,而b 的值是2,转换成二进制为0010,根据异或的运算规律,可以得出其结果为1101 即13。 */


//移位

/* 3 << 2
  首先把3转换为二进制数字0000 0000 0000 0000 0000 0000 0000 0011,然后把该数字高位(左侧)的两个零移出,其他的数字都朝左平移2位,最后在低位(右侧)的两个空位补零。则得到的最终结果是0000 0000 0000 0000 0000 0000 0000 1100,则转换为十进制是12。
数学意义:
在数字没有溢出的前提下,对于正数和负数,左移一位都相当于乘以2的1次方,左移n位就相当于乘以2的n次方。
*/
/*
11的二进制形式为:0000 0000 0000 0000 0000 0000 0000 1011,然后把低位的最后两个数字移出,因为该数字是正数,所以在高位补零。则得到的最终结果是0000 0000 0000 0000 0000 0000 0000 0010。转换为十进制是2。
数学意义:
右移一位相当于除2,右移n位相当于除以2的n次方。


c语言中移位运算只能用于整数,整数A左移1位得到的结果为A*2,右移1位为A/2取整 */


c语言中移位运算只能用于整数,整数A左移1位得到的结果为A*2,右移1位为A/2取整 */

 

posted on 2018-11-12 17:38  Memoryizz  阅读(160)  评论(0)    收藏  举报

导航