A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 阿秋 中级黑马   /  2015-7-18 17:24  /  460 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/*标识符*/
注意要点:
        1.标识符是由26个字母,0-9的数字,和_及$组成;
        2.标识符的开头不能用数字,不能用关键字;
        3.总结的规则:
                包名:多单词组成时,所用字母都小写,loveworld;
                类名及接口:多单词组成时,所有单词的首字母都大写,LoveWorld;
                变量名及函数名:多单词组成时,第一个单词小写其余单词首字母大写,qiuRuiGang;
                常量名:多单词组成时,所有字母都大写,并且单词与单词之间用_连接,QIU_RUI_GANG;
/*三目运算符*/
class Q1
{
        public static void (String[] args)
        {
                int s=7;
                s=(s==7?0:1);//从中可以看出三目运算符的最左边是boolean型表达式,所以用==
                System.out.println(s);
        }
}
/*进制特点*/
十六进制的前缀是"0x" 例:System.out.println(0x3c);
/*进制的规定*/
1.八进制必须要以前缀0开头,不能包含除0~7以外的数如字母和8或9.
2.十六进制必须要以前缀0x或0X开头,不能包含0~F其他的数字或字母。
/*进制转换*/
二进制和十进制的转换:
1.十进制转二进制 例:60转二进制方法:
        60用2除,余数分别是0,0,1,1,1,1        那么它的二进制是余数的倒序:111100
2.二进制转十进制 例:111100转十进制方法:
        0*2^0+0*2^1+1*2^2+1*2^3+1*2^4+1*2^5=0+0+4+8+16+32=60
十六进制和八进制转换成十进制方法:
1.十六进制转十进制:
        例如:法一:0x5A转十进制先将其转为二进制,5代表0101,A代表10即1010
                则二进制为0101-1010,计算2+8+16+64=90
                  法二:5*16+10=90
2.十进制转十六进制:
        例如:90用16除,余数是10,5,则其倒序为0x5A
3.八进制转十进制:
        例如:法一:075先转成二进制7表示111,5表示101则为111-101
                        十进制为1+4+8+16+32=61
                  法二:7*8+5=61
4.十进制转八进制:61用8除余数为5,7则倒序为075
/*数据的内存大小*/
        一个字节为8个二进制,例如int x=4,它在二进制的表现形式是0000-0000 0000-0000 0000-0000 0000-0100
int型的数据类型是4个字节即4个八位(8个二进制)
数据类型        大小(字节)        取值范围                                                默认值
byte                        1                        -2的7次方到2的7次方减1                                0
short                2                        -2的15次方到2的15次方减1                        0
int                        4                        -2的31次方到2的31次方减1                        0
long                        8                        -2的63次方到2的63次方减1                        0

float                        4                        -2的128次方到2的128次方                        0.0f
double                8                        -2的1024次方到2的1024次方                        0.0

char                        2                         0到2的16次方减1                                        '/u0000'(空格)

boolean                1                        true或false                                                false

注意:char类型是2个字节,所以char a='秋'是存在的,汉子是2个字节。
/*二进制的负数表现形式*/
例如6的二进制表现形式是110
其准确的表达方式是0000-0000 0000-0000 0000-0000 0000-0110
则根据规则"取反加1"为
1.取反  1111-1111 1111-1111 1111-1111 1111-1001
2.加1为 1111-1111 1111-1111 1111-1111 1111-1010

在代码中的快速将十进制转为二进制的代码为
System.out.println(Integer.toBinaryString(-6))
从中可以得知负数的最高位都是1.
/*变量*/
1.int虽然能代表大多数整数,但byte和short也有其存在的意义,能减少计算机缓存空间。
2.在定义float和double的数据变量时,float定义的变量尾巴必须加一个小写f
        例如:float a=3.2f        //f是不能缺少的
                  double b=3.2
/*类型转换*/
1.小转大无压力,大转小需要强转
        byte a=1;
        a=a+2;//是错误的表达式,因为右边a为byte类型,而2为int型,则左小右大,要想成立左边必须也是int类型。
2.作用一,将double转int类型,保留整数去掉小数。
                强转        double a=3.1415
                int k=(int)a;
/*算术运算符*/
%:表示的是余数,例如:10%3=1
  (面试题)注意的点:当出现负数时,-5%2=-1        2%-5=2余数的符号只看左边,并且与左边一致。
++:自增符号,例如int a=3,b;        b=a++;根据就近法则可知b=3,a因为自增变为4.
                                                        当  b=++a;则b=4,a还是自增变为4。
+:字符连接符,例如:System.out.println("5+5="+5+5),打印出来为5+5=55
/*转义字符*/
转义字符用 \来表示\后面的字符的含义
\n:表示换行,例如System.out.println("阿秋是\n天才");打印出来的为:阿秋是
                                                                                                                                  天才
\b:表示退格,例如System.out.println("阿秋要\b去北京");打印出来的为:阿秋去北京
                        退格表示的是将输出语句退格符的前一个单位去掉再打印出来。
\r\n:按下回车键,也是换行的意思。
\t:制表符,相当于tab,例如:System.out.println("阿秋是\t天才")表示出来的是:阿秋是        天才
题目:"怎样表示带引号的helloworld"
        通过转义字符改变引号的特性,使之能独立存在
        System.out..println("\"helloworld\"")打印出来的为"hello world"
/*特殊运算符*/
(面试题)"s=s+5"与"s+=5"的区别,short s;
左边为2次运算,因为一个是2个字节,一个是4个字节,所以左边会编译失败,丢失精度
右边因为有"+="那么它自身会有一个默认转换过程,不会编译失败
/*逻辑运算符*/
&:与,两边必须都为true结果才为true
|:或,两边有一个true结果就能是true
^:异或,与|差不多,主要区别在于,当true^true时(左右两边相同时),结果为false
&&:双与,A&&B,当A为true时,再判断B,当A为false时,B不用计算,其结果肯定是false。
||:双或,A||B,当A为true时,B不用运算,其结果肯定是true。
/*位运算符*/
>>右移符号,例如6>>2,表示的是6除以2的2次方的取整为1
<<左移符号,例如6<<2,表示的事6乘以2的2次方
>>>无符号右移,它与右移符号>>最大的区别在于无符号右移在最高位用0补,而右移>>则是最高位是什么补什么。
/*负数的位运算*/
负数左右移并没有什么规律,主要是注意0xFFFFFFFFFF这种极端情况为-1。
/*&运算,|运算,^运算*/
1表示true.0表示false,先将要运算的数变为二进制,再进行运算。
其中有特点的是^(异或)运算,一个数异或同一个数两次的结果是原数,例如7^4^4=7;
/*在不用第三方变量的情况下调换2个数的位置*/
/*
class Q1
{
        public static void main(String[] args)
        {
                int m=3.n=4;
                n=n^m;
                m=n^m;
                n=n^m;
                System.out.println("m="+m+",n="n);
        }
}
*/
/*注意在ASCII表中,'A'的值为65*/
那么可以通过这做很多事情,比如打印字母C时的
        System.out.println(char('A'+2));
/*程序流程控制*/
if语句
switch语句,注意要点:1.switch后面可以接数据或者字符,(byte,short,int,char)
class Q1
{
        public static void main(String[] args)
        {
                int a=4,b=7;
                switch(b-a)
                {
                        case 1://case后面是空格加数值。
                                System.out.println("哈哈");
                                break;
                        case 2:
                                System.out.println("huohuo");
                                break;
                        case 4:
                                System.out.println("天才");
                                break;
                        default:
                                System.out.println("就是杆");

                }
        }
}
(面试题)
class Q1
{
        public static void main(String[] args)
        {
                int a=4,b=7;                                                                //当我把两个break去掉后,他的运算顺序是先判断case,如果都没有的话则
                                                                                                        //不再判断case,直接打印语句结果是d,A,X,E
                switch(b-a)
                {
                        default:
                                System.out.println("d");                        //他会直到运行到break或大括号结束
                        case 1://case后面是空格加数值。
                                System.out.println("A");
                                //break;
                        case 2:
                                System.out.println("X");
                                //break;
                        case 4:
                                System.out.println("E");
                                break;
                }
        }
}
















0 个回复

您需要登录后才可以回帖 登录 | 加入黑马