黑马程序员----JAVA语法基础(一)

来源:互联网 发布:淘宝店铺 不显示所在地 编辑:程序博客网 时间:2024/05/22 02:28

------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------

一、标识符

所有的标识符遵循的原则:

标识符是由字母、数字、下划线(_)和美元符号($)构成的字符序列。

  • 标识符必须以字母、下划线(_)或美元符号($)开头,不能以数字开头。
  • 标识符不能是保留字。
  • 标识符不能是true、false或null。
  • 标识符可以为任意长度
例如,$2、ComputerArea都是合法的标识符,而2A和D+4都是非法的。 

注意:由于Java是区分大小写的,所以area、Area和AREA是完全不同的标识符。

提示:标识符是为了命名变量、常量、方法、类和包。描述性的标识符可提高程序

二、变量及运算符

Java中有两种数据类型:1、基本数据类型;2、引用数据类型

Java使用四种类型的整数:byte、short、int和long。

Java使用两种类型的浮点数:float和double。double型是float型的两倍。所以double型称为双精度(double precision)。float称为单精度(single

 precision)。通常情况下,应该使用double型,因为它比float型更精确。

数值数据类型的运算符包括标准的算术运算符:+、-、*、/和%(求余)

                                                简捷运算符

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

运算符                                        名称                                 举例                                   等价于

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

+=                                      加法赋值运算符                     i+=8                                     i=i+8

-=                                        减法赋值运算符                    i-=8                                      i=i-8

*=                                       乘法赋值运算符                     i*=8                                     i=i*8

/=                                        除法赋值运算符                     i/=8                                      i=i/8

%=                                     求余赋值运算符                     i%=8                                    i=i%8

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

                                        自增和自减运算符

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

运算符                         名称                                       说明                                                                          举例(假设)

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

++var                    前置自增运算符               变量var的值加1且使用var增加后的新值                       int j=++i;

var++                   后置自增运算符                 变量 var的值加1但使用var原来的值                             int j=i++;

--var                      前置自减运算符                变量var的值减1且使用var减少后新值                          int j=--i;

var--                      后置自减运算符              变量var的值减1但使用var原来的值                                int j=i--;

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

数值类型转换:总是可以将一个数值赋给支持更大数值范围类型的变量,例如,可以将long型的值赋给float型变量。但是,如果不进行类型转换,就不能将一个值赋给范围较小类型的变量。

类型转换语法要求目标类型放在括号内,紧跟其后的是要转换的变量名或值。

警告:如果要将一个值赋给一个范围较小的类型的变量,必须进行类型转化。将一个int型变量赋值给short型或者byte型变量,必须显示地使用类型转化。

字符数据类型:char用来表示单个字符,字符型直接量用单引号括住。

String 表示字符串,为引用类型

三、选择

1、 判断结构——if

         if语句的三种格式:

            a)  if(条件表达式)

                 {

                         执行语句;

                 }

            b)  if(条件表达式)

                {

                         执行语句;

                }

                else

                {

                          执行语句;

                }

            c)  if(条件表达式)

                {

                         执行语句;

                }

               else  if (条件表达式)

               {

                        执行语句  

               }

                ……

               else

              {

                        执行语句;

              }

if语句特点:

    a,每一种格式都是单条语句。

       b,第二种格式与三元运算符的区别:三元运算符运算完要有值出现。好处是:可以简化if else代码。

       c,条件表达式无论写成什么样子,最终的结果不是true就是 false

2、 选择结构——switch

        switch语句格式:

                switch(表达式)

                {

                       case取值1:

                             执行语句;

                              break

                       case取值2:

                             执行语句;

                              break

                       …...

                      default:

                             执行语句;

                             break

                }

switch语句特点:

        aswitch语句选择的类型只有四种:byteshortint char

        bcase之间与default没有顺序。先执行第一个case,没有匹配的case执行default

        c,结束switch语句的两种情况:1、遇到break结束;2、执行到switch结尾结束。

        d,如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运行可以执行的语句,直到遇到break或者switch结尾结束。 

注:JDK1.5以后可以接收枚举类型,JDK1.7以后可以接收字符串。

        if和switch语句很像。具体什么场景下,应用哪个语句呢?如果判断的具体数值不多,而且符合byte  short  int  char这四种类型。虽然两个语句都可以使用,建议使用switch语句,因为效率稍高。其他情况:对区间判断,对结果为boolean类型判断,使用if,if的使用范围更广。

四、循环

1、while循环

      while语句格式:

             while(条件表达式)

             {

                 执行语句;

             }

        do while语句格式:

             do

             {

                 执行语句;

             }while(条件表达式);

while和do while的区别:

        while:先判断条件,只有条件满足才执行循环体。

        do while:先执行循环体,再判断条件,条件满足,再继续执行循环体。

简单一句话:do while:无论条件是否满足,循环体至少执行一次。

2、for循环

for语句格式:

            for(初始化表达式;循环条件表达式;循环后的操作表达式)

            {

                 执行语句;

            }

说明:

        a,for里面的连个表达式运行的顺序,初始化表达式只读一次,判断循环条件,为真就执行循环体,然后再执行循环后的操作表达式,接着继续判断循环条件,重复这个过程,直到条件不满足为止。

        b,while与for可以互换,区别在于for为了循环而定义的变量在for循环结束就是在内存中释放。而while循环使用的变量在循环结束后还可以继续使用。  

        c,最简单无限循环格式:while(true){}, for(;;){},对于for来讲,不写条件表达式默认就是ture。无限循环存在的原因是并不知道循环多少次,而是根据某些条件,来控制循环。

五、嵌套循环打印乘法表

public class MultiplicationTable {
/**
* 打印99乘法表

* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(j + "*" + i + "=" + i * j + "\t");
}
System.out.println();
}
}
}

输出结果:


0 0