您的位置:首页 > 职场人生

黑马程序员—java基础—运算符

2014-04-02 23:27 260 查看
---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Unity开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------

一.标识符

在程序中自定义的一些名称
由26个英文字母,数字0-9,两个符号:_(下划线)及$(美元符号)组成
定义合法标识符的规则:数字不可开头;不可以使用关键字
Java中严格区分大小写。
注意:在起名字时,为了提高阅读性,要尽量有意义。

二.常量与变量
1.常量表示不能改变的数组
2.Java中常量分类
(1)整数常量。所用整数
(2)小数常量。所有小数
(3)布尔型常量。较为特有,只有两个数值 true false
(4)字符常量,将一个数字字母或者符号用单引号标识
(5)字符串常量。将一个或者多个字符用双引号标识
(6)null常量。只有一个数值就是null
3.对于整数:java有三种表现形式
(1)十进制:0-9,满10进1
(2)八进制:0-7,满8进1,用0开头表示
(3)十六进制,0-9,A-F,满16进1,用0x表示。

每个字节(byte):由8个开关组成,也就是八个二进制位
8个二进制位代表一个字节
八进制是二进制的3位代表1位
十六进制是二进制的4位代表1位
进制越大,表现形式越短。
1KB=1024B;   1MB=1024KB;     1GB=1024MB
负数的二进制表现形式
6=110
-6:其实就是6的二进制取反+1
取反:将二进制的1变成0,0变成1
0000-0000  0000-0000  0000-0000  0000-0110
1111-1111  1111-1111   1111-1111  1111-1001
+ 0000-0000  0000-0000  0000-0000  0000-0001
1111-1111  1111-1111   1111-1111  1111-1010=-6
负数的最高位都是1

变量
变量:就是将不确定的数据进行存储。也就是需要在内存中开辟一个空间。
如何开辟内存空间呢?
就是通过明确数据类型,变量名称,数据来完成的
数据类型  变量名= 初始化值  (int x = 4)

三.算术运算符
//算术运算符
//+ -  * / %(取模):其实就是取余数  5%2=1  10%4=2 5%5=0
//1%-5=1   -1%5=-1(如果是负数只看左边,不看右边)
// 5%1=0  1%5=1  2%5=2(规律:左边如果小于右边,结果就是左边)
//++(自增)  --(自减)
//+:字符串连接符
//字符串和任何数据使用+,都是相连接,最终都会变成字符串
/*class Demo
{
public static void main(String[] args)
{
int a = 3,b;
b = a++;//(先赋值,后自增(自增就是加1))
b = ++a;先自增,
b = ++a;先自增,后赋值
System.out.println(b);//b=3
System.out.println(a);//a=4
}
}*/
class Demo
{
public static void main(String[] args)
{
int a = 4, b;
b = a--; //先赋值,后自减
b = --a;  // 先自减,后赋值
// System.out.println(b);//b=4
//System.out.println(a);//a=3
System.out.println("a="+a+",b="+b);
}
}

四.转义字符

class Demo
{
public static void main(String[] args)
{
System.out.print("hello world");//加上ln就是换行的意思
转义字符:通过\来转变后面字母或者符号的意义
\n:就是换行
\b:退格
\r:按下回车键  window系统中,回车符是由两个字符来表示\r\n
\t:制表符 相当于tab键
System.out.println("hello \njava");
System.out.println("\"hello world\"");//打印带有双引号的"hello world"
System.out.println("\\hello\\")//打印带有双引号的\hello world\
char ch = '你';//一个汉字两个字节也就是16个二进制位
//字符型也是16个二进制位
System.out.println(ch);
}
}

五.赋值和比较运算符
//赋值和比较运算符
class Demo
{
public static void main(String[] args)
{
int x =4;把右边的值赋给左边
//+=  -=   *=   /=    %=
x+=4;//相当于x=x+4;把左右两边的和赋给赋给左边
short s = 4;
//s = s+5;这句话编译失败(两次运算)
s+=5;//这句话编译成功(一次运算)
int a,b,c;
a=b=c=3;
//比较运算符
//==(等等于)  !=(不等于)
//>    <       >=    <=
//  instanceof   是......类型
//比较运算符的结果都是boolean型,要么是true,要么是false
}
}

六.逻辑运算符
//逻辑运算符
//&(与)  |(或)
//^(异或)  !(非)
//&&(短路)||(短路)
int x = 4;
//逻辑运算符用于连接boolean类型的表达式
x>3 & x<6
与
true & true = true
true & false = false
false & true = false
false & false = false

//只要两边的boolean表达式,有一个为false,
//那么结果就是false
//只有两边都为true,结果为true

|和||的特点
1.两边都参与运算
2.当左边为true,右边不运算
或
true | true = true;
true | false = true;
false | true = true;
false | false = false;
//只要两边的boolean表达式,有一个为true,
//那么结果就是true
//只有两边都为false,结果为false
异或^:就是和或有点不一样,当 true ^ true = false;
true ^ true = false;
true ^ false = true;
false ^ true = true;
false ^ false = false;
两边相同,结果为 false
两边不同,结果为 true
int a =2;
a>3 && a<6;
&和&&的特点
1.无论左边是true 还是false,右边都运算
2.当左边为false时,右边不运算

七.位运算符
位运算符
>>(右移)  << (左移) >>>(无符号右移)
&(与运算)|(或运算) ^(异或运算) ~(反码)
(位运算符是直接对二进制进行运算)
3<<2=12;     3<<1=6;   3<<3=24
3*4=12       3*2=6     3*8=24

6>>2=1;     6>>1=3;
6/4=1       6/2=3;

<<:左移其实就是乘以2的移动的位数次幂
>>:右移其实就是除以2的移动的位数次幂

>>:最高位补什么由原有数据的最高位值而定
如果最高位是0,右移后,用0补空位
如果最高位是1,右移后,用1补空位

>>>:无论最高位是什么,右移后,都用0补

&         |           ^
6&3=2     6|5=7       6^5=3
110      110        110
&011     |101        101
010=2    111=7      011=3
//0为假,1为真
~(反码)
~6=-7(就是6的取反-1再取反,加上负号)
一个数异或同一个数两次,结果还是那个数。

八.位运算符练习
//1.最有效率方式算出2*8等于几?  2<<3
//2.对两个整数变量的值进行互换

class Demo
{
public static void main(String[] args)
{
int n = 3, m = 8;
//通过第三方变量
//	int x = n;
//	n = m;
//	m = x;

//不通过第三方变量
//n = n+m;//如果n ,m的值非常大
//m = n-m; //  容易超出 int 范围
// n = n-m;
n =  n^m;
m =  n^m;//(n^m)^m
n =  n^m;//n^(n^m)
System.out.println("n="+n+",m="+m);
---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Unity开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐