您的位置:首页 > 编程语言 > Java开发

java 关键字,标识符,运算符

2012-10-23 23:52 204 查看
 

java标识符
      其实就是在程序中自定义的一些名称,由英文字母,数字,_和$组成,不能以数字开头,不能使用关键字,严格区分大小写

      main不是关键字,JVM把它当做程序的入口

       
java命名规范:

      包名:多单词组成时所有字母都小写 xxxyyyzzz

      类名接口名:多单词组成时,第一个单词首字母小写,以后每个单词首字母大写 xxxYyyZzz

      常量名:所有字母大写,多单词组成时,每个单词之间用_连接 XXX_YYY_ZZZ

       常量表示不能改变的数值

       java中常量的分类:

       1.整数常量.所有整数

       2.小树常量.所有小数

       3.布尔型常量.true false

       4.字符常量.将一个数字,字母或者符号用单引号('')标识

       5.字符串常量.将一个或者多个字符用双引号标识

       6.null常量.null

进制:

 对于整数:java有三种表现形式

   十进制:0-9

  八进制:0-7,满8进1,用0开头表示

  十六进制:0-9,A-F,满16进1,用0x开头表示

 计算机内的数据都是用二进制存储的

 一个字节是由8个二进制位组成,所以一个字节最大就是255

  用01的不同排列组合代表生活中的数据

  比如:010...001----代表A

  就形成了编码表,ASCII,GBK,gb2312

  二进制的表现形式太长,太繁琐,为了更方便的表示数据

  于是,把二进制中的数据,3位代表1位,这样出现了八进制,可是还是太长

  于是,把二进制中的数据,4位代表1位,这样出现了十六进制.

  十进制转二进制:

  "除2取余,逆序排列"

  用2去除十进制的数,得到一个商和余数,再用2去除商,又会得到一个商和余数,如此进行,直到商为0时为止,把余数到过来写

   二进制转十进制

   转化成十进制要从右到左用二进制的每个数去乘以2的相应次方,不过次方要从0开始

   例如:13的二进制是1101

    转换十进制就是:1*2的3次幂+1*2的2次幂+0*2的1次幂+1*2的0次幂

   八进制和十六进制转换,都是先将十进制转成二进制,在分别3位表示一位,4位代表一位

  

    负数二进制:

       正数的二进制取反+1

        

 变量:就是将不确定的数据进行存储,需要在内存中开辟空间 

      通过1.明确数据类型 2.变量名称 3.数据 来完成开辟空间

  

   byte b = 2;//-128~127;

  byte b1 = 128;//报错

  short s = 30000;

  long l = 3l;//加一个L标识一下

  float f = 2.3;//编译报错,小数默认都是double型的,整数默认是int类型

  float f1 = 2.3f;//加f标识一下,标识单精度的小数

  char ch = '4';//单引号

  char c = '我';//一个汉字是两个字节,

         类型转换:

  byte b = 3;

  b = b+2;

  System.out.println(b);   //编译报错,

  b = (byte)(b+2); //强制类型转换

  b+=2;  //

  System.out.println('a'+1); //=98,char类型可以进行运算的,ASCII编码表中有对应的数字,所有系统都支持ASCII表

  java运算符:

   1.算术运算符
    +, -, *, /, %(取模), ++, --, +(字符串相加,字符串数据和任何数据使用+都是相连接,最终都会变成字符串)

   2.赋值运算符
   =, +=, -=, *=, /=, %=

   int a,b,c;

   a=b=c=5; //编译通过

   short s = 4;

   s = s + 2; //编译报错,s会被提升为int类型

   s+=2;  //编译可以通过,+=是一次运算,它在给s赋值时,会自动完成强制类型转换动作

   3.比较运算符
     运算后的结果是boolean型,true或false

   ==, !=, <, >, <=, >=, instanceof(检查是否是类的对象)
   4.逻辑运算符
     用于连接boolean类型的表达式,运算后的结果也是boolean类型的值

   & (AND与):     false&false --> false  两边都为true,结果为true,有一个为false,就为false

   | (OR或):      false|true -->true   两边都为false,结果为false,有一个为true,就为true,

   ^ (XOR异或):   true^false -->true   两边相同结果为false,两边不同位true

   ! (Not非):     !true -->false

   && (AND短路与):false&&false -->false

   || (OR短路或): false||true -->true

   5.位运算符
   位运算是直接对二进制进行运算,是最快的运算

   << (左移):其实就是乘以2的移动的位数次幂

      例如:3<<3-------->=3*2的3次幂

        把3的二进制数,向左移3位,右边补0;左移变大

        2*8  2<<3

   >> (右移):就是除以2的移动的位数次幂

      例如:6>>2-------->=6/2的2次幂

        把6的二进制数,想右移2位,正数,左边补0;负数,左边补1;右移变小

   >>>(无符号右移):

       例如:6>>>2

         把6的二进制数,向右移2位,不管正还是负数,左边都补0

   & (与运算):

     例如:6&3    0代表false,1代表true

       0000-0000 0000-0000 0000-0000 0000-0110

      &0000-0000 0000-0000 0000-0000 0000-0011

      --------------------------------------------------------------

       0000-0000 0000-0000 0000-0000 0000-0010 =2

   | (或运算):

        例如:6|5

         0000-0000 0000-0000 0000-0000 0000-0110

        |0000-0000 0000-0000 0000-0000 0000-0101

        ---------------------------------------------------------------

         0000-0000 0000-0000 0000-0000 0000-0111 =7

   ^ (异或运算):

         例如:6^5

         0000-0000 0000-0000 0000-0000 0000-0110

        ^0000-0000 0000-0000 0000-0000 0000-0101

        --------------------------------------------------------------

         0000-0000 0000-0000 0000-0000 0000-0011 =3

         一个数异或同一个数两次还是第一个数(6^5^5 = 6)

         互换两个整数的值(不借助第三方变量)

         int m = 8,n = 3;

          1. 如果m和n的值非常大,容易超出int范围

             m = m + n;  11 = 8 + 3;

             n = m - n;  3 = 11 - 8; 

             m = m - n;  8 = 11 - 3;

          2.

             m = m^n;

             n = m^n; // (m^n)^n

             m = m^n; // n^(n^m)

   ~ (反码):

     例如:~6

     ~0000-0000 0000-0000 0000-0000 0000-0110

      --------------------------------------------------------------

       1111-1111 1111-1111 1111-1111 1111-1001 =-7

   6.三元运算符
   if else 结构 简写格式: 变量 = (条件表达式)?表达式1:表达式2;

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

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

   好处:可以简化if else代码。

   弊端:因为是一个运算符,所以运算完必须要有一个结果。

 

  java转义字符: 通过\ 来转变后面字母或符号的含义

    八进制转义序列:\ + 1到3位5数字;范围'\000'~'\377'

      \0:空字符

      Unicode转义字符:\u + 四个十六进制数字;0~65535

      \u0000:空字符

     

    \b:退格,相当于backspace

    \t:制表符,相当于tab键

    \n,换行

    \r,回车,相当于Enter,windows系统,回车符是由\r\n两个字符表示

    \f:走纸换页

    \':单引号

    \":双引号

    \\:反斜杠

   

    点的转义:. ==> u002E

   美元符号的转义:$ ==> u0024

   乘方符号的转义:^ ==> u005E

   左大括号的转义:{ ==> u007B

   左方括号的转义:[ ==> u005B

   左圆括号的转义:( ==> u0028

   竖线的转义:| ==> u007C

   右圆括号的转义:) ==> u0029

   星号的转义:* ==> u002A

   加号的转义:+ ==> u002B

   问号的转义:? ==> u003F

   反斜杠的转义: ==> u005C

 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐