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取整 */
浙公网安备 33010602011771号