【Java学习篇】(三) 程序设计基础语法

本文简单总结下程序语言的基本语法(认识类型与变量、运算符、类型转换和流程控制)。

目录

一、变量与类型

1、变量(Variable)

2、类型(Type)

3、类型转换            

 

二、运算符(Operator)

三、流程控制

1、if…else条件语句         

2、switch条件语句       

3、for循环语句

4、while循环语句

5、break和continue


一、变量与类型

1、变量(Variable)

           ① 概念存储空间的抽象。

           我们编程会对内存中的数据进行访问和修改,引入变量机制就是为了更方便地操纵数据。

           每一个变量都对应一小块内存。

   

            ② 命名规则:数字不能开头,不能有特殊字符,也不能与Java关键字(Keyword)和保留字相同,

            通常以小写字母开头,后面的单词开头大写。这叫作驼峰式命名法(Camel Case)

            ③ 声明(Declare)变量:告诉JVM有一个内存空间叫×××名字,放××类型的数据。

            在方法中声明的变量叫局部变量,声明后会为这个变量配置一块内存空间,但没有默认值。使用会编译错误,这是安全性要求。

          

            ④ 变量可以存储的值。

            在Java中写下一个值,该值称为字面常数(Literal Constant)。

            整数可以用二进制(0b开头)、十进制、八进制(0开头)、十六进制(0x开头)表示。

            浮点数小数和科学记号(e)表示。另外在JDK7以后,整数和浮点数都可以添加下划线表示更清楚。表示。

            字符用单引号表示,如果想表示一些程序语法上的符号又防止被编译,可以使用转义(Escape)符号-反斜杠“\”。这个符号还可以用作Unicode字符编码来表示字符。

             \uxxxx和\xxx表示法可以分别表示十六进制和八进制的字符。

            ④ 布尔就两个值。

2、类型(Type)

         Java可区分为基本类型(Primitive type)和类类型(Class type),类类型也可称为参考/引用类型(Reference type)

         所谓基本类型,就是利用程序语法告诉JVM,然后JVM自动为你在内存中配置与管理。

         八个基本类型:

         ① 整数:字节:byte(占1个字节),short(占2个字节),int(占4个字节),long(占8字节),字节大表示的范围也大。

          ※ 程序写下一个整数默认不超过int类型长度。超过了要用long类型,数值后面加上L

         ② 浮点数:小数数值,float(占4个字节),double(占8个字节),默认都是0.0,float数值后面加f,后者精度更高一些。

         ③ 字符:字符符号,char每个字符占2字节。汉字字符与英文字符均是双字节储存。Java采用Unicode6.2.0编码,JVM结果采用UTF-16

         ④ 布尔:boolean,true与false表示逻辑的真与假

          类型存储的数值范围可用API查阅,不用记忆,如MIN_VALUE或MAX_VALUE,如果储存值超出了类型范围,则溢值(overflow)

3、类型转换            

            ① 强制转换成特定的数据类型。(通过编译,但如果遗失精度导致程序错误自己负责

                两种方法:float x =3.14F,float x=(float)3.14 

            ② 自动提升(Promote)类型

                两个类型运算会以最长的类型进行运算。

                如果操作数都不大于int,则全部自动提升到int运算。也就是说short 1和short 2相加不能等于short 3而是int类型。

            ※ 当不断递增int类型x的值时,x+1 > Integer.MAX_VALUE 永远不成立。因为最大值的x,再加1导致符号位为1变负数。

 

二、运算符(Operator)

            ① 算术运算:+加    -减     *乘     /除    %取余(模数运算)

            ② 比较(Comparison)运算:>大于  <小于  >=大于等于  <=小于等于  ==等于  !=不等于

                 条件(Conditional)运算:条件式?成立返回值:失败返回值

            ③ 逻辑(Logical)运算:&&(AND)、||(OR)、!(NOT),即且、或、非。

            ④ 位运算(Bitwise):位对应运算即逐位运算

                       &(AND):都为1则1,反之为0。可以用于取位操作,如AND 001取二进制的最末位判断奇偶性

                       |(OR):有1则1。可以对特定位强行赋值,如OR 001把最末位变成1,若变成0再减1。

                      ^(XOR):异或。相同为0,不同则为1。可用于加密,两次XOR运算为本身。

                      ~(取反):包括符号位全部按位取反。数值变化:+1取负

                     <<  >>(左移右移):左移指定位数右边补零,右移指定位数左边补上原来的位。>>> 右移左边补零

                                                        1左移可以求2的平方。

            ⑤ 递增递减:++ -- 写在变量前,先运算再返回值;写在变量后,返回值再运算。

            ⑥ 指定运算:=  即赋值。也可以与其他运算符组合。

.

三、流程控制

1、if…else条件语句         

          如果××成立就……,否则……

if(条件式){
     若为true的执行语句
}
else{
     若为false的执行语句
}

          不过Java没有if…else if语法。是省略了else的大括号后的连续条件测试。

if(条件式一){

}
else if(条件式二){

}
else{

}

2、switch条件语句       

          可用于比较整数、字符、Enum,JDK7增加字符串的比较。

switch(变量或表达式){


    case  整数、字符、Enum或字符串:
          描述句;
          break;
    
    ...

    ...
    default:
          描述句;

}

          ※ 特别注意:一旦case匹配了,就会顺序执行,而不管后面的case是否匹配,直到遇见break停止。   

3、for循环语句

        (重复性指令,适合已知次数)

for(初始式;执行结果必须是boolean的重复式;重复式){
    描述句;
    
}

          还可以for循环嵌套,双重循环,比如输出九九乘法表。外层循环执行一次,内层执行一轮。

4、while循环语句

          while循环语句(前测试循环,满足条件式就循环)

while(条件式){
    描述句;
}

          do while循环语句(后测试循环,先执行再判断)

do{

    描述句;

}while(条件式);

5、break和continue

           break可以离开当前switch、for、while、do while的区块,并执行区块后下一个描述句

          continue回到循环区块开头重新循环

          这两个还可以配合标签(代码块)使用。

          break返回到标签处,就不再执行标签的区块直接跳过。

          continue配合标签在双重循环中可以自由跳转任一层循环, 但标签只能在for前面。

 

猜你喜欢

转载自blog.csdn.net/qq_36042506/article/details/83191550