黑马程序员技术交流社区

标题: 送新手java语法小基础了 [打印本页]

作者: 王健辉    时间: 2014-8-4 16:54
标题: 送新手java语法小基础了

以下是本人觉得部分需要巩固的知识点。
1.类名首字母大写,联合的词汇类名,则每个词首字母大写;函数名和变量名如果是联合词汇组成,第一个词首字母小写,后面的词的首字母大写;而包名如果是多词汇组成,所有字母都为小写;常量名所有字母要大写,如果是联合词汇组成,每个单词间加下划线。----------这是规范。
在类名中,数字不能开头,关键字不能做类名-------这是规则。
2.对于整数,JAVA有三种表现形式:八进制、十进制、十六进制。(进制越大,表现形式就越短)
3.二进制转十进制需记:二者相加,逢二进一,原位补0;其他进制相互转换,先转二进制,再转其他进制。
4.负数的二进制表现形式:即原来正数的二进制的“取反加一”。
“取反”:将二进制的1变成0,0变成1,即把两者相互转换。
“加一”:在二进制的末尾加1进行下运算。
(规律:负数的最高位都是1,正数的最高位都是0)
5.变量:用于存储不确定数据用的,也就是将不确定的数据进行存档,需要在内存中开辟一个空间。
(1)数据类型 变量名=初始化值;
(2)为什么需要定义变量:用来不断的存放同一类型的常量,并可以重复使用.**我们要注意(以后学习中会出现):当局部变量调用前没有初始化,编译的时候就会报错!而全局变量未初始化会被赋予默认的初始化值,该程序正确!**
(3)变量命名规则:1.变量必须以字母、“_”、“$”符号开头。
(4)不能使用java语言的关键字。
6.%:取模; 规律:左边大于右边,则值为左边;两边相等取0,右边被模数是正1或负1,结果为0;左边大于右边,可以整除取模为0,不可以则取模为1.
7.任何字符串和任何数据使用“+”相接,最终都会变成字符串。
8.记住赋值运算符“+=”:运算符在给变量赋值时,自动了数据类型的强转操作。
9.位运算符:(左移右移)<<(左移):其实就是乘以2的移动位数次幂;
>>(右移):其实就是除以2的移动位数次幂,最高位补什么,由原有数据的最高位值而定,如果最高位0,右移后,用0补空,如果最高位1,右移后,用1补空。
>>>:无论最高位是什么,右移后,都由0补空。
10.(重点)&和&&的特点:  &:无论左边是true还是false,右边都运算
&&:当左边为false,右边不运算。
|和||的特点:  |:两边都参与运算。 ||:当左边为true,右边不运算。
11.逻辑运算符:用于连接boolean类型的表达式。 "^"(异或):就是和“|(或)”有一点不一样(当true^true=false).特点:两边相同为false,两边不同为true.
12.经典例题:以最有效率的方式算出2乘以8等于几?
答:用二进制法和位运算法。
(1)二进制:8 = 1000                (2)2<<3=2*2sqr(2)=16即0010<<3=10000
           *2 = 0010
          …………………
                0000
               1000
              …………
               10000 =16
13.三元运算符:格式:(条件表达式?)表达式1:表达式2;
*如果条件表达式为true,运算后的结果是表达式1;
*如果条件表达式为false,运算后的结果是表达式2;
14.要获得某个数的下一组几位,即为:将某个数右移几位。
15.流程控制:判断结构,选择结构,循环结构
*判断结构格式(1)if(条件表达式)(2)if(条件表达式)
                                 {                                   {       
                                      执行语句;                      执行语句;               
                                }                                     }                       
(3)if(条件表达式)                             else {                                                                                
          {                                                                 执行语句;
                执行语句;                                     }
        }                                   
        else if(条件表达式)       
        {
           执行语句;
        }
        ……
        else
        {
           执行语句;
        }
(格式(3)整套下来是一个整体,如果没有else,则是分开的if语句)
*选择结构格式:switch(表达式)
             {
                case取值1;
                   执行语句;       
                   break;
                case取值2;
                   执行语句;
                   break;
                ……
                default;
                   执行语句;
                   break;
             }
(说明:case取值大小顺序不要求,它会自动从第一个case开始,最后再读default)
*if和switch: if有顺序要求,可以布尔型;switch不能用布尔型,语句较少时使用方便。
*多重If和Switch:switch结构的条件只能是等值的判断,而且只能是整型或字符型的等值判断,即switch结构只能判断一个整型变量是否等于某个整数值的情况或是一个字符型变量是否等于某个字符的情况,并且每一个case后面的值都不同;而多重if结构既可以判断条件是等值的情况,也可以判断条件是区间的情况。
*循环结构格式:首先 定义初始化表达式;然后走语法                
(1)while(表达式)                (2)do while
   {                             {
        执行语句;                执行语句;
    }                              }while(表达式)

(3)for(初始化表达式;循环条件表达式;循环后的操作表达式)
     {
        执行语句;
     }
(For的执行顺序是初始化,条件表达式,执行语句,操作表达式,后依次再循环)
*for的执行其实就是一个循环体
*do while的特点:条件无论是否满足,循环体至少被执行一次
*(ctrl+c,在命令符中,是强制停止的意思)
*变量有自己的作用域,对于for来讲,如果将用于控制循环的增量定义在for语句中,那么该变量只在for内有效,for语句执行完毕,该变量将在内存中被释放。
*for和while可以进行互换,如果需要定义循环变量,用for更合适。
*用while演示奇数和偶数的个数。
class         WhileDemo{
        public static void main(String[] args){
                /*int x = 1;
                while(x<=10)
                {       
                        System.out.println("x="+x);
                        x+=2;
                }   显示奇数*/
               
                      /*int i = 0;
                while (i <= 10) {
                        i++;
                        if (i % 2 == 0)
                              System.out.println(i);
                }显示偶数*/
        }
}
举例演示:九九乘法表:
一般都是用for嵌套下就能出来:
for(int x =1;x<=9;x++)
{
        for(int y =1;y<=x;y++)
        {
             System.out.print(y+"*"+x+"="+y*x+"\t");
        }
        System.out.println();
}
但是也可以用while和for实现,例:
int x=1;
while(x<=9)
{
               
        for(int y =1;y<=x;y++)
        {
             System.out.print(y+"*"+x+"="+y*x+"\t");
        }
        System.out.println();
        x++;
}

*什么时候使用循环结构: 当要对某些语句执行很多次时。
16.三元运算符和if\else结构的格式可以互换。格式大致为:变量=条件表达式?)表达式1:表达式2;
17.两种无限循环的最简单表现形式(在小面试题中常见)
(1)for( ; ; ){ }        (2)while(true){ }
18.累加思想原理:通过变量记录住循环操作后的结果,即通过循环的形式进行累加动作。
19.break:跳出循环,执行循环体外的结构,应用范围是选择结构和循环结构。
continue:终止本次循环,进入下一次循环,应用循环结构。



作者: tony_ygz    时间: 2014-8-4 21:42
顶一下······
作者: 王一勇    时间: 2014-8-4 22:03
很好~收藏了。
作者: 王健辉    时间: 2014-8-5 08:38
tony_ygz 发表于 2014-8-4 21:42
顶一下······

谢谢…………
作者: 王健辉    时间: 2014-8-5 08:40
王一勇 发表于 2014-8-4 22:03
很好~收藏了。

拿走吧,别客气




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2