黑马程序员—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>、期待与您交流! ----------------------
相关文章推荐
- 黑马程序员--------------java基础语法(—)------常量,变量,数据类型和运算符
- 黑马程序员——Java语言基础:常量、变量、运算符
- 黑马程序员--Java语言基础组成 —运算符
- 黑马程序员——Java基础语法(一)---关键字、常量、变量、运算符
- 黑马程序员——Java语言基础——02.java语言基础组成(1)关键字、标识符运算符等
- 黑马程序员——java第二天:基础语法(关键字、标示符、进制转换、变量类型、运算符)
- 黑马程序员--Java基础语法之关键字、常量、变量、运算符
- 黑马程序员--Java基础学习(运算符知识)第二天
- 黑马程序员——Java基础——关键字、常量、变量、运算符
- 黑马程序员——Java基础语法(一)—关键字、标识符、数据类型、运算符
- 黑马程序员_Java基础(环境搭建,常量变量,类型转换,运算符,控制语句)
- 黑马程序员——java基础之那些让人纠结的运算符
- 黑马程序员——java基础知识篇——>标识符、关键字、常量、进制表示、数据类型、运算符等
- 黑马程序员——Java基础语法(二)—运算符、流程控制
- 黑马程序员_java基础学习笔记01_变量,数据类型,运算符
- 黑马程序员——Java基础知识——关键字、标识符、常量、变量、运算符、转义字符
- 黑马程序员_Java基础[3]_运算符
- 黑马程序员——Java基础---变量、运算符、语句总结
- 黑马程序员_java基础一(标识符,关键字,基本数据类型,运算符)
- 黑马程序员-Java基础知识预备之Java数据类型和运算符